From 8f7b1603bc4e446e1caeffbccdcc6826014fa768 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Mon, 1 Aug 2016 00:43:29 +0200 Subject: [PATCH] Add Interdimension Upgrade --- .../java/refinedstorage/RefinedStorage.java | 4 +++- .../solderer/SoldererRecipeUpgrade.java | 20 ++-------------- .../ContainerNetworkTransmitter.java | 1 + .../gui/GuiNetworkTransmitter.java | 2 +- .../java/refinedstorage/item/ItemUpgrade.java | 22 +++++++++++++++++- .../refinedstorage/proxy/ClientProxy.java | 4 +++- .../refinedstorage/proxy/CommonProxy.java | 1 + .../tile/TileNetworkTransmitter.java | 9 +++++++ .../assets/refinedstorage/lang/en_US.lang | 1 + .../models/item/interdimension_upgrade.json | 6 +++++ .../textures/gui/network_transmitter.png | Bin 1951 -> 2055 bytes 11 files changed, 48 insertions(+), 22 deletions(-) create mode 100755 src/main/resources/assets/refinedstorage/models/item/interdimension_upgrade.json 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 174bfcf7a13b016ed15d590aac07e683531020b3..02b15cbaebaf0d6a2fbf9e3575d2fba585cae30a 100755 GIT binary patch delta 741 zcmbQw-!8BrgoSG#0|Vba##c@o4@{0@(WuYyba4!+hCJ zOZUS+|MoLQ2|1akozje~E&t0uzL=}Jd%m=9xbUGQ!CRRd{p|1i$-j?}XsNVbyZ-&N z;(O5wTT1?ZzWM4`o@IKi+kdNuNbO#?yI=1Xo%_}E&z0ftEjBL(s|{0y5A0p-dpZ5f z`qYM(^-~`?GB7YK*uCx^Bamh&S%23BNI8^WVtB%SK|EyTkEK^1XmKtOzj;O0_vrK7 zUx`OwF}CclKd1MKJ7h1jTKeQyOw$>b-E}_j-+TVW{recao4PN*`hGyQAzPby!!Kq9 zpE_Q-gb)^mp5yx;=hywP6loAx|E2BJ9meO6mpc3~tQTl_n)y0w`|a=Y?PW|azS-ON z-hUmj_0s!%o3+`Ok5_N!R@n3Z*NezK-(GF6&v`FhQ*O<0=(hg)_xCC{?fJWZHq)Mp zuMd9wcqowfKZ3Qv{QP@)SzEaySM^sjeE4|xM!hn~x6kM5f;`W#w~84Q3RdrPz=84Ns`LtlhJVRES*v_Q?SiBn z`kBnnwwJMh)dGnNmFe6tHbcVi{U>`Jlh$a35R;%r{_xDb=%PzxGIMFk@n1 z$Zz=Jrx68|K3Xmixz{sX`YC%v-R11<7yi9h-M0Ei)5qQvsm#(#mf9aC<+4s@WN)1u iz-|V_T#}}_8-K6|aXqV8F<0#{$XriXKbLh*2~7aQ3_r2} delta 636 zcmZn{n9sitke*p>ieE1W>@!(XYR}5CWS-sss?fLu z<_)iw-dwZ8f$hRwYYqkmh6}~w+(3%Kq5Qo9h&msu1Edm|3-b3reWq;|rgETYef{3z ziT6*u>=#|lKB4aKo_%Ze1HQ88tP{V=s>Rg9vOWCjc?aEwxAqK~AMc7NoPBQpDZcL4 zvudWiXNw(vz2aE#xW0I5{q?O`p$s1R_VzWi?5n>%p8xwl!^^MBrnU4 zt@uv13#$*rzP`2&Bn1XAbzsh)-^xa7V>#I_R8L=dpxpXa{mSNbF3c~Myydbvb37Jo z9!TAnJ4czo>On+D_2l4JUIq>KcKfjIyM575wnSCRK|MG8L89F|E|{tX&-KJ$YzBur zv*!ebH!=Q#M#F3VhI@PcSoht(3ekK&w~V#U*&3+Z9;ydT`|Ue0?Ryy06d5${Z=ZdN zxo3aLdpR#bhMyu|E`3|*Emm-PAJgQ6?7EZZvIhdOyW}i0p8bpwqRYN-&rtCM8SLrm K=d#Wzp$P!>GW06|