diff --git a/src/main/java/refinedstorage/RefinedStorage.java b/src/main/java/refinedstorage/RefinedStorage.java index fe28eda5c..477bf14d4 100755 --- a/src/main/java/refinedstorage/RefinedStorage.java +++ b/src/main/java/refinedstorage/RefinedStorage.java @@ -77,12 +77,13 @@ public final class RefinedStorage { public boolean controllerUsesEnergy; public int wirelessTransmitterBaseRange; + public int wirelessTransmitterRangePerUpgrade; public int rangeUpgradeUsage; public int speedUpgradeUsage; public int craftingUpgradeUsage; public int stackUpgradeUsage; - public int wirelessTransmitterRangePerUpgrade; + public int interdimensionUpgradeUsage; @EventHandler public void preInit(FMLPreInitializationEvent e) { @@ -126,6 +127,7 @@ public final class RefinedStorage { speedUpgradeUsage = config.getInt("speed", "upgrades", 2, 0, Integer.MAX_VALUE, "The additional energy used per Speed Upgrade"); craftingUpgradeUsage = config.getInt("crafting", "upgrades", 5, 0, Integer.MAX_VALUE, "The additional energy used per Crafting Upgrade"); stackUpgradeUsage = config.getInt("stack", "upgrades", 12, 0, Integer.MAX_VALUE, "The additional energy used per Stack Upgrade"); + interdimensionUpgradeUsage = config.getInt("interdimension", "upgrades", 1000, 0, Integer.MAX_VALUE, "The energy used by the Interdimension Upgrade"); config.save(); } diff --git a/src/main/java/refinedstorage/apiimpl/solderer/SoldererRecipeUpgrade.java b/src/main/java/refinedstorage/apiimpl/solderer/SoldererRecipeUpgrade.java index 8f8f223ec..e92266508 100755 --- a/src/main/java/refinedstorage/apiimpl/solderer/SoldererRecipeUpgrade.java +++ b/src/main/java/refinedstorage/apiimpl/solderer/SoldererRecipeUpgrade.java @@ -1,7 +1,5 @@ package refinedstorage.apiimpl.solderer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorageItems; import refinedstorage.api.solderer.ISoldererRecipe; @@ -12,25 +10,11 @@ public class SoldererRecipeUpgrade implements ISoldererRecipe { private ItemStack result; public SoldererRecipeUpgrade(int type) { - ItemStack requirement = null; - - switch (type) { - case ItemUpgrade.TYPE_RANGE: - requirement = new ItemStack(Items.ENDER_PEARL); - break; - case ItemUpgrade.TYPE_SPEED: - requirement = new ItemStack(Items.SUGAR); - break; - case ItemUpgrade.TYPE_CRAFTING: - requirement = new ItemStack(Blocks.CRAFTING_TABLE); - break; - } - this.result = new ItemStack(RefinedStorageItems.UPGRADE, 1, type); this.rows = new ItemStack[]{ - requirement, + ItemUpgrade.getRequirement(type), new ItemStack(RefinedStorageItems.UPGRADE, 1, 0), - requirement + ItemUpgrade.getRequirement(type) }; } diff --git a/src/main/java/refinedstorage/container/ContainerNetworkTransmitter.java b/src/main/java/refinedstorage/container/ContainerNetworkTransmitter.java index f87d364b8..55fb669a4 100755 --- a/src/main/java/refinedstorage/container/ContainerNetworkTransmitter.java +++ b/src/main/java/refinedstorage/container/ContainerNetworkTransmitter.java @@ -11,6 +11,7 @@ public class ContainerNetworkTransmitter extends ContainerBase { super(player); addSlotToContainer(new SlotItemHandler(networkTransmitter.getNetworkCard(), 0, 8, 20)); + addSlotToContainer(new SlotItemHandler(networkTransmitter.getUpgrades(), 0, 187, 6)); addPlayerInventory(8, 55); } diff --git a/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java b/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java index c2ea0f0be..cb3d005cb 100755 --- a/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java +++ b/src/main/java/refinedstorage/gui/GuiNetworkTransmitter.java @@ -8,7 +8,7 @@ public class GuiNetworkTransmitter extends GuiBase { private TileNetworkTransmitter networkTransmitter; public GuiNetworkTransmitter(ContainerNetworkTransmitter container, TileNetworkTransmitter networkTransmitter) { - super(container, 176, 137); + super(container, 210, 137); this.networkTransmitter = networkTransmitter; } diff --git a/src/main/java/refinedstorage/item/ItemUpgrade.java b/src/main/java/refinedstorage/item/ItemUpgrade.java index 921cc7887..6cb10cc12 100755 --- a/src/main/java/refinedstorage/item/ItemUpgrade.java +++ b/src/main/java/refinedstorage/item/ItemUpgrade.java @@ -1,6 +1,8 @@ package refinedstorage.item; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import refinedstorage.RefinedStorage; @@ -12,6 +14,7 @@ public class ItemUpgrade extends ItemBase { public static final int TYPE_SPEED = 2; public static final int TYPE_CRAFTING = 3; public static final int TYPE_STACK = 4; + public static final int TYPE_INTERDIMENSION = 5; public ItemUpgrade() { super("upgrade"); @@ -23,7 +26,7 @@ public class ItemUpgrade extends ItemBase { @Override public void getSubItems(Item item, CreativeTabs tab, List list) { - for (int i = 0; i <= 4; ++i) { + for (int i = 0; i <= 5; ++i) { list.add(new ItemStack(item, 1, i)); } } @@ -38,8 +41,25 @@ public class ItemUpgrade extends ItemBase { return RefinedStorage.INSTANCE.craftingUpgradeUsage; case TYPE_STACK: return RefinedStorage.INSTANCE.stackUpgradeUsage; + case TYPE_INTERDIMENSION: + return RefinedStorage.INSTANCE.interdimensionUpgradeUsage; default: return 0; } } + + public static ItemStack getRequirement(int type) { + switch (type) { + case ItemUpgrade.TYPE_RANGE: + return new ItemStack(Items.ENDER_PEARL); + case ItemUpgrade.TYPE_SPEED: + return new ItemStack(Items.SUGAR); + case ItemUpgrade.TYPE_CRAFTING: + return new ItemStack(Blocks.CRAFTING_TABLE); + case ItemUpgrade.TYPE_INTERDIMENSION: + return new ItemStack(Items.NETHER_STAR); + default: + return null; + } + } } diff --git a/src/main/java/refinedstorage/proxy/ClientProxy.java b/src/main/java/refinedstorage/proxy/ClientProxy.java index 07a2aa23c..315aa0f66 100755 --- a/src/main/java/refinedstorage/proxy/ClientProxy.java +++ b/src/main/java/refinedstorage/proxy/ClientProxy.java @@ -61,7 +61,8 @@ public class ClientProxy extends CommonProxy { new ResourceLocation("refinedstorage:upgrade"), new ResourceLocation("refinedstorage:range_upgrade"), new ResourceLocation("refinedstorage:speed_upgrade"), - new ResourceLocation("refinedstorage:stack_upgrade") + new ResourceLocation("refinedstorage:stack_upgrade"), + new ResourceLocation("refinedstorage:interdimension_upgrade") ); // Items @@ -102,6 +103,7 @@ public class ClientProxy extends CommonProxy { ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_SPEED, new ModelResourceLocation("refinedstorage:speed_upgrade", "inventory")); ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_CRAFTING, new ModelResourceLocation("refinedstorage:crafting_upgrade", "inventory")); ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_STACK, new ModelResourceLocation("refinedstorage:stack_upgrade", "inventory")); + ModelLoader.setCustomModelResourceLocation(RefinedStorageItems.UPGRADE, ItemUpgrade.TYPE_INTERDIMENSION, new ModelResourceLocation("refinedstorage:interdimension_upgrade", "inventory")); // Blocks ModelLoader.setCustomStateMapper(RefinedStorageBlocks.GRID, (new StateMap.Builder()) diff --git a/src/main/java/refinedstorage/proxy/CommonProxy.java b/src/main/java/refinedstorage/proxy/CommonProxy.java index 01f5c5230..22ba02209 100755 --- a/src/main/java/refinedstorage/proxy/CommonProxy.java +++ b/src/main/java/refinedstorage/proxy/CommonProxy.java @@ -438,6 +438,7 @@ public class CommonProxy { RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_RANGE)); RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_SPEED)); RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_CRAFTING)); + RefinedStorageAPI.SOLDERER_REGISTRY.addRecipe(new SoldererRecipeUpgrade(ItemUpgrade.TYPE_INTERDIMENSION)); GameRegistry.addShapedRecipe(new ItemStack(RefinedStorageItems.UPGRADE, 1, ItemUpgrade.TYPE_STACK), "USU", diff --git a/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java b/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java index 3ac3bfbc8..9404e30a8 100755 --- a/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java +++ b/src/main/java/refinedstorage/tile/TileNetworkTransmitter.java @@ -9,10 +9,13 @@ import refinedstorage.RefinedStorage; import refinedstorage.RefinedStorageItems; import refinedstorage.container.ContainerNetworkTransmitter; import refinedstorage.inventory.ItemHandlerBasic; +import refinedstorage.inventory.ItemHandlerUpgrade; import refinedstorage.inventory.ItemValidatorBasic; import refinedstorage.item.ItemNetworkCard; +import refinedstorage.item.ItemUpgrade; public class TileNetworkTransmitter extends TileNode { + private ItemHandlerUpgrade upgrades = new ItemHandlerUpgrade(1, this, ItemUpgrade.TYPE_INTERDIMENSION); private ItemHandlerBasic networkCard = new ItemHandlerBasic(1, this, new ItemValidatorBasic(RefinedStorageItems.NETWORK_CARD)) { @Override protected void onContentsChanged(int slot) { @@ -57,6 +60,7 @@ public class TileNetworkTransmitter extends TileNode { super.write(tag); writeItems(networkCard, 0, tag); + writeItems(upgrades, 1, tag); return tag; } @@ -66,6 +70,7 @@ public class TileNetworkTransmitter extends TileNode { super.read(tag); readItems(networkCard, 0, tag); + readItems(upgrades, 1, tag); } @Override @@ -98,6 +103,10 @@ public class TileNetworkTransmitter extends TileNode { return networkCard; } + public ItemHandlerUpgrade getUpgrades() { + return upgrades; + } + public BlockPos getReceiver() { return receiver; } diff --git a/src/main/resources/assets/refinedstorage/lang/en_US.lang b/src/main/resources/assets/refinedstorage/lang/en_US.lang index f92444ed5..513b87679 100755 --- a/src/main/resources/assets/refinedstorage/lang/en_US.lang +++ b/src/main/resources/assets/refinedstorage/lang/en_US.lang @@ -152,6 +152,7 @@ item.refinedstorage:upgrade.1.name=Range Upgrade item.refinedstorage:upgrade.2.name=Speed Upgrade item.refinedstorage:upgrade.3.name=Crafting Upgrade item.refinedstorage:upgrade.4.name=Stack Upgrade +item.refinedstorage:upgrade.5.name=Interdimension Upgrade item.refinedstorage:storage_housing.name=Storage Housing item.refinedstorage:grid_filter.name=Grid Filter item.refinedstorage:network_card.name=Network Card \ No newline at end of file diff --git a/src/main/resources/assets/refinedstorage/models/item/interdimension_upgrade.json b/src/main/resources/assets/refinedstorage/models/item/interdimension_upgrade.json new file mode 100755 index 000000000..fc8e5350e --- /dev/null +++ b/src/main/resources/assets/refinedstorage/models/item/interdimension_upgrade.json @@ -0,0 +1,6 @@ +{ + "parent": "item/generated", + "textures": { + "layer0": "refinedstorage:items/interdimension_upgrade" + } +} diff --git a/src/main/resources/assets/refinedstorage/textures/gui/network_transmitter.png b/src/main/resources/assets/refinedstorage/textures/gui/network_transmitter.png index 174bfcf7a..02b15cbae 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/network_transmitter.png and b/src/main/resources/assets/refinedstorage/textures/gui/network_transmitter.png differ