From 21cc50c34e30e89ba6568b15976b52d6fff885b3 Mon Sep 17 00:00:00 2001 From: Fluid1C3 Date: Fri, 14 Aug 2015 19:08:58 -0500 Subject: [PATCH] Items added and crafting handler --- src/main/java/nmd/primal/energy/Energy.java | 49 ++++++++++-------- .../nmd/primal/energy/block/ModBlocks.java | 14 +++++ .../nmd/primal/energy/block/SMBBlock.java | 19 +++++++ .../nmd/primal/energy/client/ClientProxy.java | 1 + .../nmd/primal/energy/common/CommonProxy.java | 9 +++- .../nmd/primal/energy/common/ModInfo.java | 4 +- .../energy/crafting/CraftingHandler.java | 28 ++++++++++ .../primal/energy/crafting/ModCrafting.java | 34 ++++++++++++ .../java/nmd/primal/energy/item/ModItems.java | 26 ++++++++++ .../nmd/primal/energy/item/SChiselItem.java | 37 +++++++++++++ .../nmd/primal/energy/util/CustomTab.java | 15 +++--- .../resources/assets/energy/lang/en_US.lang | 9 +++- .../energy/textures/blocks/SMBBlock.png | Bin 0 -> 868 bytes .../energy/textures/items/saxleItem.png | Bin 0 -> 290 bytes .../energy/textures/items/schiselItem.png | Bin 0 -> 319 bytes .../energy/textures/items/sgearItem.png | Bin 0 -> 518 bytes .../energy/textures/items/swheelItem.png | Bin 0 -> 530 bytes 17 files changed, 211 insertions(+), 34 deletions(-) create mode 100644 src/main/java/nmd/primal/energy/block/SMBBlock.java create mode 100644 src/main/java/nmd/primal/energy/crafting/CraftingHandler.java create mode 100644 src/main/java/nmd/primal/energy/item/SChiselItem.java create mode 100644 src/main/resources/assets/energy/textures/blocks/SMBBlock.png create mode 100644 src/main/resources/assets/energy/textures/items/saxleItem.png create mode 100644 src/main/resources/assets/energy/textures/items/schiselItem.png create mode 100644 src/main/resources/assets/energy/textures/items/sgearItem.png create mode 100644 src/main/resources/assets/energy/textures/items/swheelItem.png diff --git a/src/main/java/nmd/primal/energy/Energy.java b/src/main/java/nmd/primal/energy/Energy.java index dbb72ea..bdcc434 100644 --- a/src/main/java/nmd/primal/energy/Energy.java +++ b/src/main/java/nmd/primal/energy/Energy.java @@ -2,6 +2,8 @@ package nmd.primal.energy; import nmd.primal.energy.common.CommonProxy; import nmd.primal.energy.common.ModInfo; +import nmd.primal.energy.crafting.CraftingHandler; +import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; import cpw.mods.fml.common.Mod.Instance; @@ -11,34 +13,35 @@ import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @Mod(modid = ModInfo.MOD_ID, name = ModInfo.MOD_NAME, version = ModInfo.MOD_VERSION) -public class Energy -{ - - @SidedProxy(clientSide = ModInfo.CLIENT_PROXY, serverSide = ModInfo.COMMON_PROXY) - public static CommonProxy proxy; - - @Instance - public static Energy instance = new Energy(); - - @EventHandler - public void preinit(FMLPreInitializationEvent event) - { - Energy.proxy.preInit(event); +public class Energy { + + @SidedProxy(clientSide = ModInfo.CLIENT_PROXY, serverSide = ModInfo.COMMON_PROXY) + public static CommonProxy proxy; + + @Instance + public static Energy instance = new Energy(); + + @EventHandler + public void preinit(FMLPreInitializationEvent event) { + Energy.proxy.preInit(event); // some example code - //System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); - } - - @EventHandler - public void init(FMLInitializationEvent event) - { + // System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); + } + + @EventHandler + public void init(FMLInitializationEvent event) { + + FMLCommonHandler.instance().bus().register(new CraftingHandler()); + // some example code - //System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); - } - + // System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); + } + @EventHandler public void postInit(FMLPostInitializationEvent e) { System.out.println("U want some Body Massage?"); - //RenderingRegistry.registerEntityRenderingHandler(EntityShit.class, new RenderSnowball(ModItems.itemShit)); + // RenderingRegistry.registerEntityRenderingHandler(EntityShit.class, + // new RenderSnowball(ModItems.itemShit)); } } diff --git a/src/main/java/nmd/primal/energy/block/ModBlocks.java b/src/main/java/nmd/primal/energy/block/ModBlocks.java index df29a03..126b98f 100644 --- a/src/main/java/nmd/primal/energy/block/ModBlocks.java +++ b/src/main/java/nmd/primal/energy/block/ModBlocks.java @@ -1,5 +1,19 @@ package nmd.primal.energy.block; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import cpw.mods.fml.common.registry.GameRegistry; + public class ModBlocks { +public static Block SMBBlock; + + + + public static final void init() { + + GameRegistry.registerBlock(SMBBlock = new SMBBlock("SMBBlock", Material.iron), "SMBBlock"); + + //GameRegistry.registerBlock(mineralBlock = new MineralBlock("mineralBlock", Material.rock), "mineralBlock"); + } } diff --git a/src/main/java/nmd/primal/energy/block/SMBBlock.java b/src/main/java/nmd/primal/energy/block/SMBBlock.java new file mode 100644 index 0000000..5ef422b --- /dev/null +++ b/src/main/java/nmd/primal/energy/block/SMBBlock.java @@ -0,0 +1,19 @@ +package nmd.primal.energy.block; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import nmd.primal.energy.common.ModInfo; +import nmd.primal.energy.util.CustomTab; + +public class SMBBlock extends Block{ + + protected SMBBlock(String unlocalizedName, Material material) { + super(material); + this.setBlockName(unlocalizedName); + this.setBlockTextureName(ModInfo.MOD_ID + ":" + unlocalizedName); + this.setCreativeTab(CustomTab.NMDEnergyTab); + this.setHardness(1.0F); + this.setResistance(6.0F); + this.setStepSound(soundTypeStone); + } +} diff --git a/src/main/java/nmd/primal/energy/client/ClientProxy.java b/src/main/java/nmd/primal/energy/client/ClientProxy.java index 9e1682b..b57a4c9 100644 --- a/src/main/java/nmd/primal/energy/client/ClientProxy.java +++ b/src/main/java/nmd/primal/energy/client/ClientProxy.java @@ -7,6 +7,7 @@ import cpw.mods.fml.common.event.FMLPreInitializationEvent; public class ClientProxy extends CommonProxy{ + @Override public void preInit(FMLPreInitializationEvent event) { super.preInit(event); diff --git a/src/main/java/nmd/primal/energy/common/CommonProxy.java b/src/main/java/nmd/primal/energy/common/CommonProxy.java index 05c706a..3a2e5c7 100644 --- a/src/main/java/nmd/primal/energy/common/CommonProxy.java +++ b/src/main/java/nmd/primal/energy/common/CommonProxy.java @@ -1,7 +1,10 @@ package nmd.primal.energy.common; -import nmd.primal.energy.util.CustomTab; +import nmd.primal.energy.block.ModBlocks; +import nmd.primal.energy.crafting.ModCrafting; +import nmd.primal.energy.item.ModItems; import nmd.primal.energy.tileents.TileRegistry; +import nmd.primal.energy.util.CustomTab; import cpw.mods.fml.common.event.FMLInitializationEvent; import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; @@ -11,7 +14,9 @@ public class CommonProxy { public void preInit(FMLPreInitializationEvent event) { CustomTab.NMDEnergyTab(); - + ModItems.registerItems(); + ModBlocks.init(); + ModCrafting.init(); } public void init(FMLInitializationEvent event) diff --git a/src/main/java/nmd/primal/energy/common/ModInfo.java b/src/main/java/nmd/primal/energy/common/ModInfo.java index 7d0d75e..3a06076 100644 --- a/src/main/java/nmd/primal/energy/common/ModInfo.java +++ b/src/main/java/nmd/primal/energy/common/ModInfo.java @@ -2,7 +2,7 @@ package nmd.primal.energy.common; public class ModInfo { - public static final String MOD_ID = "NMDEnergy"; + public static final String MOD_ID = "energy"; public static final String MOD_NAME = "NMD Energy"; public static final String MOD_PREFIX = "nmd"; public static final String MOD_CHANNEL = "nmd-energy"; @@ -10,4 +10,6 @@ public class ModInfo { public static final String COMMON_PROXY = "nmd.primal.energy.common.CommonProxy"; public static final String CLIENT_PROXY = "nmd.primal.energy.client.ClientProxy"; + + public static final int SMBBlock_ID = 201; } diff --git a/src/main/java/nmd/primal/energy/crafting/CraftingHandler.java b/src/main/java/nmd/primal/energy/crafting/CraftingHandler.java new file mode 100644 index 0000000..7cccafd --- /dev/null +++ b/src/main/java/nmd/primal/energy/crafting/CraftingHandler.java @@ -0,0 +1,28 @@ +package nmd.primal.energy.crafting; + +import net.minecraft.item.ItemStack; +import nmd.primal.energy.item.ModItems; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.PlayerEvent; + +public class CraftingHandler { + + @SubscribeEvent + public void onItemCrafting(PlayerEvent.ItemCraftedEvent event){ + + for (int i = 0; i < event.craftMatrix.getSizeInventory(); i++) { // Checks all the slots + + if (event.craftMatrix.getStackInSlot(i) != null) { + ItemStack j = event.craftMatrix.getStackInSlot(i); + + if (j.getItem() != null && j.getItem() == ModItems.schiselItem) { + ItemStack k = new ItemStack(ModItems.schiselItem, 2, (j.getItemDamage() + 1)); + if (k.getItemDamage() >= k.getMaxDamage()) { + k.stackSize--; + } + event.craftMatrix.setInventorySlotContents(i, k); + } + } + } + } +} diff --git a/src/main/java/nmd/primal/energy/crafting/ModCrafting.java b/src/main/java/nmd/primal/energy/crafting/ModCrafting.java index 1e5a25e..a56550d 100644 --- a/src/main/java/nmd/primal/energy/crafting/ModCrafting.java +++ b/src/main/java/nmd/primal/energy/crafting/ModCrafting.java @@ -1,5 +1,39 @@ package nmd.primal.energy.crafting; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; +import nmd.primal.energy.block.ModBlocks; +import nmd.primal.energy.item.ModItems; +import cpw.mods.fml.common.registry.GameRegistry; + + public class ModCrafting { + public static final void init() + { + //GameRegistry.addRecipe(new ItemStack(ModBlocks.mineralBlock), new Object[] {"aa", "aa" , 'a', ModItems.mineraldustItem}); + + GameRegistry.addRecipe( + new ItemStack(ModItems.schiselItem), new Object[]{ + " f", + " t ", + "s ", + 'f', Items.flint, 't', Items.string, 's', Items.stick}); + + GameRegistry.addRecipe( + new ItemStack(ModItems.sgearItem), new Object[]{ + "x", + "y", + 'x', new ItemStack(ModItems.schiselItem, 1, OreDictionary.WILDCARD_VALUE), 'y', ModItems.swheelItem}); + + GameRegistry.addRecipe( + new ItemStack(ModBlocks.SMBBlock), new Object[]{ + "sss", + "s s", + "sss", + 's', Blocks.wooden_slab}); + + } } diff --git a/src/main/java/nmd/primal/energy/item/ModItems.java b/src/main/java/nmd/primal/energy/item/ModItems.java index 8d7ac6f..10893f0 100644 --- a/src/main/java/nmd/primal/energy/item/ModItems.java +++ b/src/main/java/nmd/primal/energy/item/ModItems.java @@ -1,5 +1,31 @@ package nmd.primal.energy.item; +import net.minecraft.item.Item; +import nmd.primal.energy.common.ModInfo; +import nmd.primal.energy.util.CustomTab; +import cpw.mods.fml.common.registry.GameRegistry; + public class ModItems { + public static Item schiselItem; + public static Item swheelItem; + public static Item sgearItem; + public static Item saxleItem; + + + public static void registerItems(){ + + schiselItem = new SChiselItem(); + + swheelItem = new Item().setUnlocalizedName("swheelItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":swheelItem"); + GameRegistry.registerItem(swheelItem, "swheelItem"); + + sgearItem = new Item().setUnlocalizedName("sgearItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":sgearItem"); + GameRegistry.registerItem(sgearItem, "sgearItem"); + + saxleItem = new Item().setUnlocalizedName("saxleItem").setCreativeTab(CustomTab.NMDEnergyTab).setTextureName(ModInfo.MOD_ID + ":saxleItem"); + GameRegistry.registerItem(saxleItem, "saxleItem"); + } + + } diff --git a/src/main/java/nmd/primal/energy/item/SChiselItem.java b/src/main/java/nmd/primal/energy/item/SChiselItem.java new file mode 100644 index 0000000..c0444b4 --- /dev/null +++ b/src/main/java/nmd/primal/energy/item/SChiselItem.java @@ -0,0 +1,37 @@ +package nmd.primal.energy.item; + +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import nmd.primal.energy.common.ModInfo; +import cpw.mods.fml.common.registry.GameRegistry; + +public class SChiselItem extends Item{ + + private String name = "schiselItem"; + private Item item; + + public SChiselItem(){ + setMaxStackSize(1); + setUnlocalizedName(name); + setTextureName(ModInfo.MOD_ID + ":" + name); + setMaxDamage(100); + setNoRepair(); + + item = this; + + GameRegistry.registerItem(this, name); + } + + @Override + public boolean doesContainerItemLeaveCraftingGrid(ItemStack itemstack) { + return false; + } + + @Override + public Item getContainerItem() + { + item.setDamage(new ItemStack(item), +1); + return item; + } + +} diff --git a/src/main/java/nmd/primal/energy/util/CustomTab.java b/src/main/java/nmd/primal/energy/util/CustomTab.java index febf747..e13decc 100644 --- a/src/main/java/nmd/primal/energy/util/CustomTab.java +++ b/src/main/java/nmd/primal/energy/util/CustomTab.java @@ -6,13 +6,14 @@ import net.minecraft.item.Item; public class CustomTab { - public static CreativeTabs NMDEnergyTab = new CreativeTabs("NMDEnergyTab") - { + public static CreativeTabs NMDEnergyTab = new CreativeTabs("NMDEnergyTab") { @Override - public Item getTabIconItem() {return Items.blaze_powder;}}; - - public static void NMDEnergyTab() - { - + public Item getTabIconItem() { + return Items.blaze_powder; } + }; + + public static void NMDEnergyTab() { + + } } diff --git a/src/main/resources/assets/energy/lang/en_US.lang b/src/main/resources/assets/energy/lang/en_US.lang index cfa894e..2fd3dc6 100644 --- a/src/main/resources/assets/energy/lang/en_US.lang +++ b/src/main/resources/assets/energy/lang/en_US.lang @@ -1 +1,8 @@ -itemGroup.NMDEnergyTab=NMD Energy \ No newline at end of file +itemGroup.NMDEnergyTab=NMD Energy + +item.schiselItem.name=Standard Chisel +item.swheelItem.name=Standard Wheel +item.sgearItem.name=Standard Gear +item.saxleItem.name=Standard Axle + +tile.SMBBlock.name=Standard Machine Box \ No newline at end of file diff --git a/src/main/resources/assets/energy/textures/blocks/SMBBlock.png b/src/main/resources/assets/energy/textures/blocks/SMBBlock.png new file mode 100644 index 0000000000000000000000000000000000000000..1e769b71df636acb0d7234134d4c6f3b486dec19 GIT binary patch literal 868 zcmV-q1DpJbP)WFU8GbZ8()Nlj2>E@cM*00PKKL_t(I%LTzbs~lAT zfZ_L?IbSogyR&<5ZVDr$u}~`oJIe?nXp>(c{xd~T8#R`x1e+*AAVhVh73Mi;;o8{Lm-WUK?O<#rvgK+xd;=llH;F0zCpfq z?_>1-z@I;UPLdT*e))mF9({p-G4kx;mppy^6NwG*$RR=+G*egDMg_CrxGx-}pxw2|MUc!<xyYRvxpU|gQgD?!Amw? zA?s;{?L9X_Bl9(OGjUSzs&$MzjcX&fL(96Z7;~gwj?@$ACNrP!kg4=|+ag-e*g8U= zkt3v|=By2PB11fJsVu?uw`J_OJXl+8-*$oThDBh;;d2#1*`T% zB`T75ff)i>L#i{f@r9S6o z3k5_}5p;Wlx1L@bma>5m@Qp#v>y|zj>gS$mo~g5;1VP_<#6IF3_`xt%fnzZ&n;W*` zghoLnk=`VX&V)M_D+}Hx`bv^x!D>huI+ajX(8|QWqs1x-HsUhKGLO9R{(VXjbku|! zL2U!gAP}O#2?#MDZZwTaytX*9nBeX^pFp=pd~mlaZ@>2`a_JdPGn=vFYI9`SXBNS+ uTkTlY7tG^G90&ZQIKMS=RSeG_e$W5VqI99`Z3jmH0000kpO}Tf+X>!ZfkLvGArU3c`MJ5Nc_lzD1A}u>YGO%h zib8p2Nrr;Er*A-tUMf3Kyv@_aF~s8Z(u)^)nG87^9?IXUI``nE)%0%R-Tl@-9*7n& z1}8rhJi*TB(N^P~XCBr5o%4l*aEF83dHb)qs_(*+t}I@>NI9aXoriJd1s%pO;TO8k zFh6JAbFETAtibviBhM_gyoP3vXWV=#_g*NjNN3QMnaLX^A(hH^L%(IUK;E0z>%CPT YF;CFZTI?wxx)bD7Pgg&ebxsLQ02B;eBLDyZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/energy/textures/items/schiselItem.png b/src/main/resources/assets/energy/textures/items/schiselItem.png new file mode 100644 index 0000000000000000000000000000000000000000..8307e12f68d1eb2ceae566de0443b008bd21a9a9 GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkEkpO~s;fZzUBppa~4NJNQqer|4RUI~!Pz~Eeznpl#W zqEMb$lA+-4=^K!um&y(lU+n4P7-Dhy=w$CMrbM2W{WdvYIhu?fC9=rBsI={UF7WI9 ztX72`0k_X2WzE$OZRGmXE^|a=YJ#`OTy8FIoq%1ZSM21T@KDr3#PjOS)ElQ~|9yM5 z<-moxTi4gLt9kC-<@M&V|BDSKD?OF1KCZbeb@AX4X71k-zYRCU&zy4MbYb)9tv64E z9m+Edc6RX=>TP2bI`G_FNMey={A!EaTVL+cv^x?1g?nX(P52qP3UQD>JYD@<);T3K F0RZhKa|HkZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/energy/textures/items/sgearItem.png b/src/main/resources/assets/energy/textures/items/sgearItem.png new file mode 100644 index 0000000000000000000000000000000000000000..14cf324c81f46f7ac51e6a39cd6a5c0e718c9540 GIT binary patch literal 518 zcmV+h0{Q)kP)WFU8GbZ8()Nlj2>E@cM*00C-AL_t(I%f*w=YLr0` z#DCQ@-?tYglfP z>Vba@?Ygwh%LBEkK&;^P(pB1-N^C#04ZzPT)P(#ewv)jcobQLn$$bUn3?xtk3gyj5 z3t*GY6$bNzuton-AQ4HhGSK0dqaQvPy;H)vdp&b67%F&Bsm@1ZgBV4mX?^OO`Ii!& z-BT+9hryspj5FOmTI9)#y|{_}HEp5@b<+&*KT|Imj0GkYP$dhLq1-uIE8 zP9xMi!b;wKa@}+yHV*@oj6`PzJ6XXuS9N5jOomjs*2Y&0Yp9e~piekpP0VHvlH%tKq1-8kcblJ{M_8syb>Unfx)>bHL)Z$ zMWH;iBtya7(>EYRFO{8vfw9cf#WBR<^wCMac_EHGE%vwX<}=M{RB(DHRCm-jQqW0H zIMv}1hsx(&Z<7QCC4`PNxn`wCm#y^D`{941_Hg)l-?d^J4u+^l{M<41@8kzxgT>Dp z`YvG$ej+TWT+nmr!R4oR7jr*9i=5nUSo}av2RZ?(H{V++&lMB#|4bc;t-2@jL1rSuzzH*?zFBp8ERb9@|?Tb3)id@7$Q7 zeYf;`uX?+5Wrv**cQTW*`sqt2EhBdswoQ;szrE}Cv1guv8J=xCTRZg)RAqKZB|N+$ z-+0IWk>M)FoyNbC4R0jyczlS