Make more stuff + add crafting recipes

This commit is contained in:
Raoul Van den Berge
2016-07-31 02:02:06 +02:00
parent ae80ef0fbb
commit 0fe848f995
6 changed files with 75 additions and 6 deletions

View File

@@ -69,6 +69,9 @@ public final class RefinedStorage {
public int gridUsage; public int gridUsage;
public int craftingGridUsage; public int craftingGridUsage;
public int patternGridUsage; public int patternGridUsage;
public int networkTransmitterUsage;
public float networkTransmitterPerBlockUsage;
public int networkReceiverUsage;
public int controllerCapacity; public int controllerCapacity;
public boolean controllerUsesEnergy; public boolean controllerUsesEnergy;
@@ -109,6 +112,9 @@ public final class RefinedStorage {
gridUsage = config.getInt("grid", "energy", 2, 0, Integer.MAX_VALUE, "The energy used by Grids"); gridUsage = config.getInt("grid", "energy", 2, 0, Integer.MAX_VALUE, "The energy used by Grids");
craftingGridUsage = config.getInt("craftingGrid", "energy", 4, 0, Integer.MAX_VALUE, "The energy used by Crafting Grids"); craftingGridUsage = config.getInt("craftingGrid", "energy", 4, 0, Integer.MAX_VALUE, "The energy used by Crafting Grids");
patternGridUsage = config.getInt("patternGrid", "energy", 3, 0, Integer.MAX_VALUE, "The energy used by Pattern Grids"); patternGridUsage = config.getInt("patternGrid", "energy", 3, 0, Integer.MAX_VALUE, "The energy used by Pattern Grids");
networkTransmitterUsage = config.getInt("networkTransmitter", "energy", 20, 0, Integer.MAX_VALUE, "The base energy used by Network Transmitters");
networkTransmitterPerBlockUsage = config.getFloat("networkTransmitterPerBlock", "energy", 2, 0, Float.MAX_VALUE, "The additional energy per block that the Network Transmitter uses, gets rounded up");
networkReceiverUsage = config.getInt("networkReceiver", "energy", 4, 0, Integer.MAX_VALUE, "The energy used by Network Receivers");
controllerCapacity = config.getInt("capacity", "controller", 32000, 0, Integer.MAX_VALUE, "The energy capacity of the Controller"); controllerCapacity = config.getInt("capacity", "controller", 32000, 0, Integer.MAX_VALUE, "The energy capacity of the Controller");
controllerUsesEnergy = config.getBoolean("usesEnergy", "controller", true, "Whether the Controller uses energy"); controllerUsesEnergy = config.getBoolean("usesEnergy", "controller", true, "Whether the Controller uses energy");

View File

@@ -41,7 +41,7 @@ public class GuiNetworkTransmitter extends GuiBase {
distance = t("gui.refinedstorage:network_transmitter.distance", networkTransmitter.getDistance()); distance = t("gui.refinedstorage:network_transmitter.distance", networkTransmitter.getDistance());
} }
drawString(50, 24, distance); drawString(51, 24, distance);
drawString(7, 42, t("container.inventory")); drawString(7, 42, t("container.inventory"));
} }
} }

View File

@@ -482,6 +482,40 @@ public class CommonProxy {
'P', new ItemStack(Items.PAPER), 'P', new ItemStack(Items.PAPER),
'H', new ItemStack(Blocks.HOPPER) 'H', new ItemStack(Blocks.HOPPER)
); );
// Network Card
GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageItems.NETWORK_CARD),
"EEE",
"PAP",
"EEE",
'E', new ItemStack(RefinedStorageItems.QUARTZ_ENRICHED_IRON),
'P', new ItemStack(Items.PAPER),
'A', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED)
);
// Network Transmitter
GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageBlocks.NETWORK_TRANSMITTER),
"EEE",
"CMD",
"AAA",
'E', new ItemStack(Items.ENDER_PEARL),
'C', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION),
'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
'D', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_DESTRUCTION),
'A', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED)
);
// Network Receiver
GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageBlocks.NETWORK_RECEIVER),
"AAA",
"CMD",
"EEE",
'E', new ItemStack(Items.ENDER_PEARL),
'C', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION),
'M', new ItemStack(RefinedStorageBlocks.MACHINE_CASING),
'D', new ItemStack(RefinedStorageItems.CORE, 1, ItemCore.TYPE_DESTRUCTION),
'A', new ItemStack(RefinedStorageItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED)
);
} }
public void init(FMLInitializationEvent e) { public void init(FMLInitializationEvent e) {

View File

@@ -1,6 +1,7 @@
package refinedstorage.tile; package refinedstorage.tile;
import net.minecraft.inventory.Container; import net.minecraft.inventory.Container;
import refinedstorage.RefinedStorage;
public class TileNetworkReceiver extends TileNode { public class TileNetworkReceiver extends TileNode {
@Override @Override
@@ -9,7 +10,7 @@ public class TileNetworkReceiver extends TileNode {
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {
return 0; return RefinedStorage.INSTANCE.networkReceiverUsage;
} }
@Override @Override

View File

@@ -5,6 +5,7 @@ import net.minecraft.inventory.Container;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.BlockPos;
import refinedstorage.RefinedStorage;
import refinedstorage.RefinedStorageItems; import refinedstorage.RefinedStorageItems;
import refinedstorage.container.ContainerNetworkTransmitter; import refinedstorage.container.ContainerNetworkTransmitter;
import refinedstorage.inventory.ItemHandlerBasic; import refinedstorage.inventory.ItemHandlerBasic;
@@ -24,16 +25,37 @@ public class TileNetworkTransmitter extends TileNode {
} else { } else {
receiver = ItemNetworkCard.getReceiver(card); receiver = ItemNetworkCard.getReceiver(card);
} }
if (network != null) {
network.rebuildNodes();
}
} }
}; };
private ItemHandlerBasic upgrade = new ItemHandlerBasic(1, this); private ItemHandlerBasic upgrade = new ItemHandlerBasic(1, this);
private BlockPos receiver; private BlockPos receiver;
private boolean couldUpdate;
@Override @Override
public void updateNode() { public void updateNode() {
} }
public void update() {
super.update();
if (network != null && couldUpdate != canUpdate()) {
couldUpdate = canUpdate();
network.rebuildNodes();
}
}
@Override
public boolean canConduct() {
return canUpdate();
}
@Override @Override
public NBTTagCompound write(NBTTagCompound tag) { public NBTTagCompound write(NBTTagCompound tag) {
super.write(tag); super.write(tag);
@@ -76,7 +98,7 @@ public class TileNetworkTransmitter extends TileNode {
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {
return 0; return RefinedStorage.INSTANCE.networkTransmitterUsage + (int) Math.ceil(RefinedStorage.INSTANCE.networkTransmitterPerBlockUsage * getDistance());
} }
@Override @Override

View File

@@ -46,9 +46,7 @@ import refinedstorage.container.ContainerGrid;
import refinedstorage.item.ItemPattern; import refinedstorage.item.ItemPattern;
import refinedstorage.network.MessageGridDelta; import refinedstorage.network.MessageGridDelta;
import refinedstorage.network.MessageGridUpdate; import refinedstorage.network.MessageGridUpdate;
import refinedstorage.tile.ISynchronizedContainer; import refinedstorage.tile.*;
import refinedstorage.tile.TileBase;
import refinedstorage.tile.TileCrafter;
import refinedstorage.tile.config.IRedstoneModeConfig; import refinedstorage.tile.config.IRedstoneModeConfig;
import refinedstorage.tile.config.RedstoneMode; import refinedstorage.tile.config.RedstoneMode;
import refinedstorage.tile.externalstorage.ExternalStorage; import refinedstorage.tile.externalstorage.ExternalStorage;
@@ -427,6 +425,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
newNodesPos.add(node.getPosition()); newNodesPos.add(node.getPosition());
if (node.canConduct()) { if (node.canConduct()) {
if (tile instanceof TileNetworkTransmitter) {
BlockPos receiver = ((TileNetworkTransmitter) tile).getReceiver();
if (receiver != null && worldObj.getTileEntity(receiver) instanceof TileNetworkReceiver && checked.add(receiver)) {
toCheck.add(receiver);
}
}
for (EnumFacing facing : EnumFacing.VALUES) { for (EnumFacing facing : EnumFacing.VALUES) {
BlockPos pos = currentPos.offset(facing); BlockPos pos = currentPos.offset(facing);