From d0fbc2f540337d8e3de667375f6c10ee08e0e3f4 Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Wed, 23 Dec 2015 03:59:39 +0100 Subject: [PATCH] add recipes for most stuff --- .../java/storagecraft/StorageCraftBlocks.java | 2 + .../java/storagecraft/StorageCraftItems.java | 4 + .../block/BlockMachineCasing.java | 33 +++++ src/main/java/storagecraft/item/ItemCore.java | 55 ++++++++ .../storagecraft/item/ItemStorigiumIngot.java | 9 ++ .../java/storagecraft/proxy/CommonProxy.java | 119 ++++++++++++++++++ .../assets/storagecraft/lang/en_US.lang | 6 +- .../storagecraft/textures/items/core0.png | Bin 0 -> 260 bytes .../storagecraft/textures/items/core1.png | Bin 0 -> 261 bytes .../textures/items/storigiumIngot.png | Bin 0 -> 275 bytes 10 files changed, 227 insertions(+), 1 deletion(-) create mode 100644 src/main/java/storagecraft/block/BlockMachineCasing.java create mode 100644 src/main/java/storagecraft/item/ItemCore.java create mode 100644 src/main/java/storagecraft/item/ItemStorigiumIngot.java create mode 100644 src/main/resources/assets/storagecraft/textures/items/core0.png create mode 100644 src/main/resources/assets/storagecraft/textures/items/core1.png create mode 100644 src/main/resources/assets/storagecraft/textures/items/storigiumIngot.png diff --git a/src/main/java/storagecraft/StorageCraftBlocks.java b/src/main/java/storagecraft/StorageCraftBlocks.java index e661e53e3..333985358 100644 --- a/src/main/java/storagecraft/StorageCraftBlocks.java +++ b/src/main/java/storagecraft/StorageCraftBlocks.java @@ -7,6 +7,7 @@ import storagecraft.block.BlockDrive; import storagecraft.block.BlockExporter; import storagecraft.block.BlockGrid; import storagecraft.block.BlockImporter; +import storagecraft.block.BlockMachineCasing; import storagecraft.block.BlockStorageProxy; public class StorageCraftBlocks @@ -19,4 +20,5 @@ public class StorageCraftBlocks public static final BlockImporter IMPORTER = new BlockImporter(); public static final BlockExporter EXPORTER = new BlockExporter(); public static final BlockDetector DETECTOR = new BlockDetector(); + public static final BlockMachineCasing MACHINE_CASING = new BlockMachineCasing(); } diff --git a/src/main/java/storagecraft/StorageCraftItems.java b/src/main/java/storagecraft/StorageCraftItems.java index a7d886f8a..6907e7772 100644 --- a/src/main/java/storagecraft/StorageCraftItems.java +++ b/src/main/java/storagecraft/StorageCraftItems.java @@ -1,10 +1,14 @@ package storagecraft; +import storagecraft.item.ItemCore; import storagecraft.item.ItemStorageCell; +import storagecraft.item.ItemStorigiumIngot; import storagecraft.item.ItemWirelessGrid; public class StorageCraftItems { public static final ItemStorageCell STORAGE_CELL = new ItemStorageCell(); public static final ItemWirelessGrid WIRELESS_GRID = new ItemWirelessGrid(); + public static final ItemStorigiumIngot STORIGIUM_INGOT = new ItemStorigiumIngot(); + public static final ItemCore CORE = new ItemCore(); } diff --git a/src/main/java/storagecraft/block/BlockMachineCasing.java b/src/main/java/storagecraft/block/BlockMachineCasing.java new file mode 100644 index 000000000..6bb55703c --- /dev/null +++ b/src/main/java/storagecraft/block/BlockMachineCasing.java @@ -0,0 +1,33 @@ +package storagecraft.block; + +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; + +public class BlockMachineCasing extends BlockBase +{ + private IIcon icon; + + public BlockMachineCasing() + { + super("machineCasing"); + } + + @Override + public void registerBlockIcons(IIconRegister register) + { + icon = register.registerIcon("storagecraft:generic"); + } + + @Override + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) + { + return icon; + } + + @Override + public IIcon getIcon(int side, int meta) + { + return icon; + } +} diff --git a/src/main/java/storagecraft/item/ItemCore.java b/src/main/java/storagecraft/item/ItemCore.java new file mode 100644 index 000000000..7149cdbba --- /dev/null +++ b/src/main/java/storagecraft/item/ItemCore.java @@ -0,0 +1,55 @@ +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 ItemCore extends ItemBase +{ + public static final int TYPE_CONSTRUCTION = 0; + public static final int TYPE_DESTRUCTION = 1; + + private IIcon constructionIcon; + private IIcon destructionIcon; + + public ItemCore() + { + super("core"); + + setHasSubtypes(true); + setMaxDamage(0); + } + + @Override + public void getSubItems(Item item, CreativeTabs tab, List list) + { + for (int i = 0; i < 2; ++i) + { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public void registerIcons(IIconRegister register) + { + constructionIcon = register.registerIcon("storagecraft:core0"); + destructionIcon = register.registerIcon("storagecraft:core1"); + } + + @Override + public IIcon getIconFromDamage(int damage) + { + switch (damage) + { + case TYPE_CONSTRUCTION: + return constructionIcon; + case TYPE_DESTRUCTION: + return destructionIcon; + default: + return null; + } + } +} diff --git a/src/main/java/storagecraft/item/ItemStorigiumIngot.java b/src/main/java/storagecraft/item/ItemStorigiumIngot.java new file mode 100644 index 000000000..494de5a45 --- /dev/null +++ b/src/main/java/storagecraft/item/ItemStorigiumIngot.java @@ -0,0 +1,9 @@ +package storagecraft.item; + +public class ItemStorigiumIngot extends ItemBase +{ + public ItemStorigiumIngot() + { + super("storigiumIngot"); + } +} diff --git a/src/main/java/storagecraft/proxy/CommonProxy.java b/src/main/java/storagecraft/proxy/CommonProxy.java index 0001994f2..ddde1cf0a 100644 --- a/src/main/java/storagecraft/proxy/CommonProxy.java +++ b/src/main/java/storagecraft/proxy/CommonProxy.java @@ -6,12 +6,16 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; import storagecraft.StorageCraft; import storagecraft.StorageCraftBlocks; import storagecraft.StorageCraftItems; import storagecraft.gui.GuiHandler; import storagecraft.item.ItemBlockCable; import storagecraft.item.ItemBlockGrid; +import storagecraft.item.ItemCore; import storagecraft.network.MessageCompareUpdate; import storagecraft.network.MessageDetectorAmountUpdate; import storagecraft.network.MessageDetectorModeUpdate; @@ -65,9 +69,124 @@ public class CommonProxy GameRegistry.registerBlock(StorageCraftBlocks.IMPORTER, "importer"); GameRegistry.registerBlock(StorageCraftBlocks.EXPORTER, "exporter"); GameRegistry.registerBlock(StorageCraftBlocks.DETECTOR, "detector"); + GameRegistry.registerBlock(StorageCraftBlocks.MACHINE_CASING, "machineCasing"); GameRegistry.registerItem(StorageCraftItems.STORAGE_CELL, "storageCell"); GameRegistry.registerItem(StorageCraftItems.WIRELESS_GRID, "wirelessGrid"); + GameRegistry.registerItem(StorageCraftItems.STORIGIUM_INGOT, "storigiumIngot"); + GameRegistry.registerItem(StorageCraftItems.CORE, "core"); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.STORIGIUM_INGOT, 4), + "II", + "IQ", + 'I', new ItemStack(Items.iron_ingot), + 'Q', new ItemStack(Items.quartz) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.MACHINE_CASING), + "SSS", + "S S", + "SSS", + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION), + new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + new ItemStack(Items.gold_ingot), + new ItemStack(Items.glowstone_dust) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_DESTRUCTION), + new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + new ItemStack(Items.quartz), + new ItemStack(Items.glowstone_dust) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.CONTROLLER), + "SDS", + "DRD", + "SDS", + 'D', new ItemStack(Items.diamond), + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + 'R', new ItemStack(Blocks.redstone_block) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftBlocks.DRIVE), + new ItemStack(StorageCraftBlocks.MACHINE_CASING), + new ItemStack(Blocks.chest) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.CABLE, 6, 0), + "SSS", + "GGG", + "SSS", + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + 'G', new ItemStack(Blocks.glass) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftBlocks.CABLE, 1, 1), + new ItemStack(StorageCraftBlocks.CABLE, 1, 0), + new ItemStack(Items.redstone) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.GRID, 1, 0), + "SCS", + "GMG", + "SDS", + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + 'G', new ItemStack(Blocks.glass), + 'C', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION), + 'D', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_DESTRUCTION), + 'M', new ItemStack(StorageCraftBlocks.MACHINE_CASING) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftBlocks.GRID, 1, 1), + new ItemStack(StorageCraftBlocks.GRID, 1, 0), + new ItemStack(Blocks.crafting_table) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftItems.WIRELESS_GRID), + "PCP", + "PGP", + "PDP", + 'P', new ItemStack(Items.ender_pearl), + 'C', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION), + 'D', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_DESTRUCTION), + 'G', new ItemStack(Blocks.glass) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.STORAGE_PROXY), + "SCS", + "HMH", + "SDS", + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + 'H', new ItemStack(Blocks.chest), + 'C', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION), + 'D', new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_DESTRUCTION), + 'M', new ItemStack(StorageCraftBlocks.MACHINE_CASING) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftBlocks.IMPORTER), + new ItemStack(StorageCraftBlocks.MACHINE_CASING), + new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_CONSTRUCTION) + ); + + GameRegistry.addShapelessRecipe(new ItemStack(StorageCraftBlocks.EXPORTER), + new ItemStack(StorageCraftBlocks.MACHINE_CASING), + new ItemStack(StorageCraftItems.CORE, 1, ItemCore.TYPE_DESTRUCTION) + ); + + GameRegistry.addRecipe(new ItemStack(StorageCraftBlocks.DETECTOR), + "SCS", + "RMR", + "SRS", + 'S', new ItemStack(StorageCraftItems.STORIGIUM_INGOT), + 'R', new ItemStack(Items.redstone), + 'C', new ItemStack(Items.comparator), + 'M', new ItemStack(StorageCraftBlocks.MACHINE_CASING) + ); + + // @TODO: Recipe for storage cells } 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 e06389dad..69341cff6 100644 --- a/src/main/resources/assets/storagecraft/lang/en_US.lang +++ b/src/main/resources/assets/storagecraft/lang/en_US.lang @@ -59,10 +59,14 @@ block.storagecraft:storageProxy.name=Storage Proxy block.storagecraft:importer.name=Importer block.storagecraft:exporter.name=Exporter block.storagecraft:detector.name=Detector +block.storagecraft:machineCasing.name=Machine Casing item.storagecraft:storageCell.0.name=1k Storage Cell item.storagecraft:storageCell.1.name=4k Storage Cell item.storagecraft:storageCell.2.name=16k Storage Cell item.storagecraft:storageCell.3.name=64k Storage Cell item.storagecraft:storageCell.4.name=Creative Storage Cell -item.storagecraft:wirelessGrid.name=Wireless Grid \ No newline at end of file +item.storagecraft:wirelessGrid.name=Wireless Grid +item.storagecraft:storigiumIngot.name=Storigium Ingot +item.storagecraft:core.0.name=Construction Core +item.storagecraft:core.1.name=Destruction Core \ No newline at end of file diff --git a/src/main/resources/assets/storagecraft/textures/items/core0.png b/src/main/resources/assets/storagecraft/textures/items/core0.png new file mode 100644 index 0000000000000000000000000000000000000000..22752566fa704e3d2a996d39e49f754e8a2d13f2 GIT binary patch literal 260 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$@hV3NA yz&8(*HdT%4C%HT(T0DylFU)XEX6ya$S;_FA{DO8-Rl6_H0Sun5elF{r5}E+|C0L9A literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/storagecraft/textures/items/core1.png b/src/main/resources/assets/storagecraft/textures/items/core1.png new file mode 100644 index 0000000000000000000000000000000000000000..ddea34efb8eb662add64e7a34c821d572d33cbbd GIT binary patch literal 261 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$~;{hLoEE4o{C zO;j~;yCC7XSSwXrVz;YuLd5Hf748{Z90#LT=By}Z;C1rt33 zJ+nVO$@hV3T0C7GLoEESPB_TfV8G+LJLmkoT@BVHjZMlNv4>`A+0PKVe4#`9K P?qTqB^>bP0l+XkKBHCV! literal 0 HcmV?d00001