J’ai suivi la première possibilité (l’Item qui fait tourner les blocs) et ça me donne ça :
Classe Principale :
| package fr.Raphmaster6.TestMod.common; |
| |
| import cpw.mods.fml.common.Mod; |
| |
| import cpw.mods.fml.common.Mod.EventHandler; |
| |
| import cpw.mods.fml.common.Mod.Instance; |
| |
| import cpw.mods.fml.common.SidedProxy; |
| |
| import cpw.mods.fml.common.event.FMLInitializationEvent; |
| |
| import cpw.mods.fml.common.event.FMLPostInitializationEvent; |
| |
| import cpw.mods.fml.common.event.FMLPreInitializationEvent; |
| |
| import cpw.mods.fml.common.registry.GameRegistry; |
| |
| import net.minecraft.block.Block; |
| |
| import net.minecraft.block.material.Material; |
| |
| 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; |
| |
| @Mod(modid = "testmod", name = "ModTest", version = "0.0.0-Test Phase") |
| |
| public class TestMod { |
| |
| public static final String MODID = "testmod"; |
| |
| public static final String NAME = "ModTest"; |
| |
| public static Item TestItem; |
| |
| public static Item TestItemRecipeHint; |
| |
| public static Block TestBlock; |
| |
| public static Block AddDistanceToX; |
| |
| public static Block AddDistanceToY; |
| |
| public static Block AddDistanceToZ; |
| |
| public static Block SpeedBooster; |
| |
| public static Block TestBlock2Textures; |
| |
| public static Item ItemOrientation; |
| |
| @Instance("testmod") |
| |
| public static TestMod instance; |
| |
| @SidedProxy(clientSide = "fr.Raphmaster6.TestMod.client.ClientProxy", serverSide = "fr.Raphmaster6.TestMod.common.CommonProxy") |
| |
| public static CommonProxy proxy; |
| |
| @EventHandler |
| |
| public void preInit(FMLPreInitializationEvent event) |
| |
| { |
| |
| TestItem = new TestItem().setUnlocalizedName("itemTest").setTextureName(TestMod.MODID + ":itemTest").setCreativeTab(CreativeTabs.tabMaterials); |
| |
| GameRegistry.registerItem(TestItem, "test_item"); |
| |
| TestItemRecipeHint = new TestItemRecipeHint().setUnlocalizedName("itemTestRecipe").setTextureName(TestMod.MODID + ":itemTestRecipe").setCreativeTab(CreativeTabs.tabMaterials); |
| |
| GameRegistry.registerItem(TestItemRecipeHint, "test_item_recipe"); |
| |
| TestBlock = new TestBlock(Material.ice).setBlockName("blockTest").setBlockTextureName(MODID + ":testBlock").setCreativeTab(CreativeTabs.tabBlock); |
| |
| GameRegistry.registerBlock(TestBlock, "testBlock"); |
| |
| AddDistanceToX = new AddDistanceToX(Material.rock).setBlockName("xRollingBlock").setBlockTextureName(MODID + ":rollingBlockX").setCreativeTab(CreativeTabs.tabBlock).setBlockUnbreakable(); |
| |
| GameRegistry.registerBlock(AddDistanceToX, "xRollingBlock"); |
| |
| AddDistanceToY = new AddDistanceToY(Material.rock).setBlockName("yRollingBlock").setBlockTextureName(MODID + ":rollingBlockY").setCreativeTab(CreativeTabs.tabBlock).setBlockUnbreakable(); |
| |
| GameRegistry.registerBlock(AddDistanceToY, "yRollingBlock"); |
| |
| AddDistanceToZ = new AddDistanceToZ(Material.rock).setBlockName("zRollingBlock").setBlockTextureName(MODID + ":rollingBlockZ").setCreativeTab(CreativeTabs.tabBlock).setBlockUnbreakable(); |
| |
| GameRegistry.registerBlock(AddDistanceToZ, "zRollingBlock"); |
| |
| SpeedBooster = new SpeedBooster(Material.rock).setBlockName("speedBooster").setBlockTextureName(MODID + ":SpeedBooster").setCreativeTab(CreativeTabs.tabBlock).setBlockUnbreakable(); |
| |
| GameRegistry.registerBlock(SpeedBooster, "speedBooster"); |
| |
| TestBlock2Textures = new TestBlock2Textures(Material.rock).setBlockName("testBlock2textures").setCreativeTab(CreativeTabs.tabBlock).setBlockUnbreakable(); |
| |
| GameRegistry.registerBlock(TestBlock2Textures, "testBlock2textures"); |
| |
| GameRegistry.registerTileEntity(TestBlockOrientationTileEntity.class, "testmod:ModTest"); |
| |
| ItemOrientation = new ItemOrientation().setUnlocalizedName("itemOrientation").setTextureName(TestMod.MODID + ":itemOrientation").setCreativeTab(CreativeTabs.tabTools).setMaxStackSize(1); |
| |
| } |
| |
| @EventHandler |
| |
| public void init(FMLInitializationEvent event) |
| |
| { |
| |
| proxy.registerRender(); |
| |
| GameRegistry.addRecipe(new ItemStack(TestItem, 8), new Object[]{ |
| |
| "XXX", |
| |
| "XIX", |
| |
| "XXX", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItemRecipeHint, |
| |
| }); |
| |
| GameRegistry.addShapelessRecipe(new ItemStack(TestItemRecipeHint, 4), new Object[]{ |
| |
| Items.diamond |
| |
| }); |
| |
| GameRegistry.addSmelting(Items.diamond, new ItemStack(TestItemRecipeHint, 4), 5); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock, 4), new Object[]{ |
| |
| "I I", |
| |
| "III", |
| |
| "XIX", |
| |
| 'I', TestMod.TestItem, |
| |
| 'X', Items.diamond, |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(AddDistanceToX, 2), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', Items.slime_ball, |
| |
| 'E', new ItemStack(Items.dye, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(AddDistanceToY, 2), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', Items.slime_ball, |
| |
| 'E', new ItemStack(Items.dye, 1, 6), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(AddDistanceToZ, 2), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', Items.slime_ball, |
| |
| 'E', new ItemStack(Items.dye, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(SpeedBooster, 2), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', Items.arrow, |
| |
| 'E', Items.slime_ball, |
| |
| }); |
| |
| |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 0), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 1), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 2), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 3), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 4), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 5), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 6), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 7), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 8), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 9), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 10), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 11), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 12), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 13), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 14), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 15), |
| |
| 'E', new ItemStack(Blocks.log, 1, 0), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 0), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 1), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 2), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 3), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 4), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 5), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 6), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 7), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 8), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 9), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 10), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 11), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 12), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 13), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 14), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 15), |
| |
| 'E', new ItemStack(Blocks.log, 1, 1), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 0), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 1), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 2), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 3), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 4), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 5), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 6), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 7), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 8), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 9), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 10), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 11), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 12), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 13), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 14), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 15), |
| |
| 'E', new ItemStack(Blocks.log, 1, 2), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 0), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 1), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 2), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 3), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 4), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 5), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 6), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 7), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 8), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 9), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 10), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 11), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 12), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 13), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 14), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| GameRegistry.addRecipe(new ItemStack(TestBlock2Textures, 4), new Object[]{ |
| |
| "X X", |
| |
| "IXI", |
| |
| "HEH", |
| |
| 'X', Items.diamond, |
| |
| 'I', TestMod.TestItem, |
| |
| 'H', new ItemStack(Items.dye, 1, 15), |
| |
| 'E', new ItemStack(Blocks.log, 1, 3), |
| |
| }); |
| |
| |
| |
| } |
| |
| @EventHandler |
| |
| public void postinit(FMLPostInitializationEvent event) |
| |
| { |
| |
| } |
| |
| } |
| |
Classe de l’Item :
| package fr.Raphmaster6.TestMod.common; |
| |
| import net.minecraft.entity.player.EntityPlayer; |
| |
| import net.minecraft.item.Item; |
| |
| import net.minecraft.item.ItemStack; |
| |
| import net.minecraft.util.ChatComponentText; |
| |
| import net.minecraft.world.World; |
| |
| public class ItemOrientation extends Item { |
| |
| public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) |
| |
| { |
| |
| if(!world.isRemote) |
| |
| { |
| |
| player.addChatMessage(new ChatComponentText("serveur : side " + side)); |
| |
| player.addChatMessage(new ChatComponentText("serveur : metadata " + world.getBlockMetadata(x, y, z))); |
| |
| } |
| |
| if(world.getBlock(x, y, z).rotateBlock(world, x, y, z, ForgeDirection.getOrientation(side))) |
| |
| { |
| |
| return true; |
| |
| } |
| |
| return false; |
| |
| } |
| |
| } |
| |
L’erreur affichée :
ForgeDirection cannot be resolved