From 6d8321f2ce8a3edfcdd5de85b6a8c377c2f759b5 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Wed, 23 Dec 2015 15:19:59 +0100 Subject: [PATCH] recipes for storage parts --- .../java/storagecraft/StorageCraftItems.java | 2 + .../storagecraft/item/ItemStorageCell.java | 16 ++-- .../storagecraft/item/ItemStoragePart.java | 50 +++++++++++ .../java/storagecraft/proxy/CommonProxy.java | 85 +++++++++++++++++- .../assets/storagecraft/lang/en_US.lang | 6 +- .../textures/items/storagePart0.png | Bin 0 -> 268 bytes .../textures/items/storagePart1.png | Bin 0 -> 266 bytes .../textures/items/storagePart2.png | Bin 0 -> 269 bytes .../textures/items/storagePart3.png | Bin 0 -> 267 bytes 9 files changed, 152 insertions(+), 7 deletions(-) create mode 100644 src/main/java/storagecraft/item/ItemStoragePart.java create mode 100644 src/main/resources/assets/storagecraft/textures/items/storagePart0.png create mode 100644 src/main/resources/assets/storagecraft/textures/items/storagePart1.png create mode 100644 src/main/resources/assets/storagecraft/textures/items/storagePart2.png create mode 100644 src/main/resources/assets/storagecraft/textures/items/storagePart3.png diff --git a/src/main/java/storagecraft/StorageCraftItems.java b/src/main/java/storagecraft/StorageCraftItems.java index 0243cbc33..d045fe472 100644 --- a/src/main/java/storagecraft/StorageCraftItems.java +++ b/src/main/java/storagecraft/StorageCraftItems.java @@ -5,6 +5,7 @@ import storagecraft.item.ItemProcessor; import storagecraft.item.ItemSilicon; import storagecraft.item.ItemStorageCell; import storagecraft.item.ItemQuartzEnrichedIron; +import storagecraft.item.ItemStoragePart; import storagecraft.item.ItemWirelessGrid; public class StorageCraftItems @@ -15,4 +16,5 @@ public class StorageCraftItems public static final ItemCore CORE = new ItemCore(); public static final ItemSilicon SILICON = new ItemSilicon(); public static final ItemProcessor PROCESSOR = new ItemProcessor(); + public static final ItemStoragePart STORAGE_PART = new ItemStoragePart(); } diff --git a/src/main/java/storagecraft/item/ItemStorageCell.java b/src/main/java/storagecraft/item/ItemStorageCell.java index 49268e7fd..762dff703 100644 --- a/src/main/java/storagecraft/item/ItemStorageCell.java +++ b/src/main/java/storagecraft/item/ItemStorageCell.java @@ -15,6 +15,12 @@ import storagecraft.storage.CellStorage; public class ItemStorageCell extends ItemBase { + public static final int TYPE_1K = 0; + public static final int TYPE_4K = 1; + public static final int TYPE_16K = 2; + public static final int TYPE_64K = 3; + public static final int TYPE_CREATIVE = 4; + private IIcon[] icons = new IIcon[5]; public ItemStorageCell() @@ -89,15 +95,15 @@ public class ItemStorageCell extends ItemBase { switch (cell.getItemDamage()) { - case 0: + case TYPE_1K: return 1000; - case 1: + case TYPE_4K: return 4000; - case 2: + case TYPE_16K: return 16000; - case 3: + case TYPE_64K: return 64000; - case 4: + case TYPE_CREATIVE: return -1; } diff --git a/src/main/java/storagecraft/item/ItemStoragePart.java b/src/main/java/storagecraft/item/ItemStoragePart.java new file mode 100644 index 000000000..67eba2010 --- /dev/null +++ b/src/main/java/storagecraft/item/ItemStoragePart.java @@ -0,0 +1,50 @@ +package storagecraft.item; + +import java.util.List; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +public class ItemStoragePart extends ItemBase +{ + public static final int TYPE_1K = 0; + public static final int TYPE_4K = 1; + public static final int TYPE_16K = 2; + public static final int TYPE_64K = 3; + + private IIcon[] icons = new IIcon[4]; + + public ItemStoragePart() + { + super("storagePart"); + + setHasSubtypes(true); + setMaxDamage(0); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) + { + for (int i = 0; i <= 3; ++i) + { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public void registerIcons(IIconRegister register) + { + for (int i = 0; i <= 3; ++i) + { + icons[i] = register.registerIcon("storagecraft:storagePart" + i); + } + } + + @Override + public IIcon getIconFromDamage(int damage) + { + return icons[damage]; + } +} diff --git a/src/main/java/storagecraft/proxy/CommonProxy.java b/src/main/java/storagecraft/proxy/CommonProxy.java index 966ba3b79..218d8f4f3 100644 --- a/src/main/java/storagecraft/proxy/CommonProxy.java +++ b/src/main/java/storagecraft/proxy/CommonProxy.java @@ -17,6 +17,8 @@ import storagecraft.item.ItemBlockCable; import storagecraft.item.ItemBlockGrid; import storagecraft.item.ItemCore; import storagecraft.item.ItemProcessor; +import storagecraft.item.ItemStorageCell; +import storagecraft.item.ItemStoragePart; import storagecraft.network.MessageCompareUpdate; import storagecraft.network.MessageDetectorAmountUpdate; import storagecraft.network.MessageDetectorModeUpdate; @@ -86,6 +88,7 @@ public class CommonProxy GameRegistry.registerItem(StorageCraftItems.CORE, "core"); GameRegistry.registerItem(StorageCraftItems.SILICON, "silicon"); GameRegistry.registerItem(StorageCraftItems.PROCESSOR, "processor"); + GameRegistry.registerItem(StorageCraftItems.STORAGE_PART, "storagePart"); // Processors SoldererRegistry.addRecipe(new SoldererRecipePrintedProcessor(ItemProcessor.TYPE_PRINTED_BASIC)); @@ -234,7 +237,87 @@ public class CommonProxy 'P', new ItemStack(StorageCraftItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED) ); - // @TODO: Recipe for storage cells + // Storage Cell Parts + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_1K), + "EPE", + "SRS", + "ESE", + 'R', new ItemStack(Items.redstone), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON), + 'P', new ItemStack(StorageCraftItems.SILICON), + 'S', new ItemStack(Blocks.glass) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_4K), + "EPE", + "SRS", + "ESE", + 'R', new ItemStack(Items.redstone), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON), + 'P', new ItemStack(StorageCraftItems.PROCESSOR, 1, ItemProcessor.TYPE_BASIC), + 'S', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_1K) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_16K), + "EPE", + "SRS", + "ESE", + 'R', new ItemStack(Items.redstone), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON), + 'P', new ItemStack(StorageCraftItems.PROCESSOR, 1, ItemProcessor.TYPE_IMPROVED), + 'S', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_4K) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_64K), + "EPE", + "SRS", + "ESE", + 'R', new ItemStack(Items.redstone), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON), + 'P', new ItemStack(StorageCraftItems.PROCESSOR, 1, ItemProcessor.TYPE_ADVANCED), + 'S', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_16K) + ); + + // Storage Cells + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_1K), + "GRG", + "RPR", + "EEE", + 'G', new ItemStack(Blocks.glass), + 'R', new ItemStack(Items.redstone), + 'P', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_1K), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_4K), + "GRG", + "RPR", + "EEE", + 'G', new ItemStack(Blocks.glass), + 'R', new ItemStack(Items.redstone), + 'P', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_4K), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_16K), + "GRG", + "RPR", + "EEE", + 'G', new ItemStack(Blocks.glass), + 'R', new ItemStack(Items.redstone), + 'P', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_16K), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORAGE_CELL, 1, ItemStorageCell.TYPE_64K), + "GRG", + "RPR", + "EEE", + 'G', new ItemStack(Blocks.glass), + 'R', new ItemStack(Items.redstone), + 'P', new ItemStack(StorageCraftItems.STORAGE_PART, 1, ItemStoragePart.TYPE_64K), + 'E', new ItemStack(StorageCraftItems.QUARTZ_ENRICHED_IRON) + ); } public void init(FMLInitializationEvent e) diff --git a/src/main/resources/assets/storagecraft/lang/en_US.lang b/src/main/resources/assets/storagecraft/lang/en_US.lang index cfa259394..1faab2cbe 100644 --- a/src/main/resources/assets/storagecraft/lang/en_US.lang +++ b/src/main/resources/assets/storagecraft/lang/en_US.lang @@ -79,4 +79,8 @@ item.storagecraft:processor.2.name=Printed Advanced Processor item.storagecraft:processor.3.name=Basic Processor item.storagecraft:processor.4.name=Improved Processor item.storagecraft:processor.5.name=Advanced Processor -item.storagecraft:processor.6.name=Printed Silicon \ No newline at end of file +item.storagecraft:processor.6.name=Printed Silicon +item.storagecraft:storagePart.0.name=1k Storage Part +item.storagecraft:storagePart.1.name=4k Storage Part +item.storagecraft:storagePart.2.name=16k Storage Part +item.storagecraft:storagePart.3.name=64k Storage Part \ No newline at end of file diff --git a/src/main/resources/assets/storagecraft/textures/items/storagePart0.png b/src/main/resources/assets/storagecraft/textures/items/storagePart0.png new file mode 100644 index 0000000000000000000000000000000000000000..17b317f0d8adfdc83c36f0327e43a1c10d2fdf97 GIT binary patch literal 268 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV3YCT;XLoEEy_HX1ppuod2)7Z9D?SzSs!$FRjr!R`|<^_EHz1P-HS_^SKb|11at_4r>mdK II;Vst0Dn|n=Kufz literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/storagecraft/textures/items/storagePart1.png b/src/main/resources/assets/storagecraft/textures/items/storagePart1.png new file mode 100644 index 0000000000000000000000000000000000000000..f4eaaab54ca23112b349e6c0f0d6b96229397684 GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV3sy$sCLoEEy_HX2EFyLX?o0HXcia~=_* zQ9niC$&JFMnJq{1?^rM4&$DI<*VB`qYy`k+C^Q&v8megdiWB{GP;OXk;vd$@? F2>=*=U;_XE literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/storagecraft/textures/items/storagePart2.png b/src/main/resources/assets/storagecraft/textures/items/storagePart2.png new file mode 100644 index 0000000000000000000000000000000000000000..e36ee0b0e7b102c4a8f08a66c75b103f1336b2b3 GIT binary patch literal 269 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL5ULAh?3y^w370~qEv>0#LT=By}Z;C1rt33 zJ+nVO$@hV3>O5T>LoEEy_HX1ppuoctInC;H3bWdR6C5*7pY*QemKN^3uw=)hx8D^f zb?6B4rE|0|nBrV?PbB3&<6VXYGMq}CoKH44s0wj%0#LT=By}Z;C1rt33 zJ+nVO$@hV3YCK&WLoEEy_HX2EFyLX?o0HXcibYeRQTN8t7v0;FjyrN?YOJgHTraq2 zRrHeMqL-9ce7zFH$81@4pnyRmy~*bh(@&j*&J?CYXJ7BwdU}SZ&xQTRHlE52xb)fB z@sGV1N6{OLgFa4=%=6|nY?#8Cbe(mRF2hU(pza9gr;MLjuNrLgtKk8