Problème avec nouvelle plantation
-
Classe principale :
package fr.mrazerty31.IHC4; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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 fr.mrazerty31.IHC4.proxy.CommonProxy; @Mod(modid = IHC4.MODID, name = "IHC4 Mod", version = IHC4.VERSION) public class IHC4 { public static final String MODID = "ihc4mod"; public static final String VERSION = "1.0"; public static IHC4 instance; @SidedProxy(clientSide = "fr.mrazerty31.IHC4.proxy.ClientProxy", serverSide = "fr.mrazerty31.IHC4.proxy.CommonProxy") public static CommonProxy proxy; /* Déclaration des Items */ public static Item berry, ironBerry, goldenBerry, berrySeeds; /* Déclaration des Blocks */ public static Block blockBerry; @EventHandler public void preInit(FMLPreInitializationEvent event) { berry = new Berry(1, 0.3F, false).setUnlocalizedName("berry").setTextureName("ihc4mod:berry"); ironBerry = new IronBerry(1, 0.3F, false).setUnlocalizedName("iron_berry").setTextureName("ihc4mod:berry_iron"); goldenBerry = new GoldBerry(1, 0.3F, false).setUnlocalizedName("golden_berry").setTextureName("ihc4mod:berry_gold"); berrySeeds = new ItemSeeds(blockBerry, Blocks.farmland).setUnlocalizedName("berry_seeds").setTextureName("ihc4mod:berry_seeds").setCreativeTab(CreativeTabs.tabMaterials); blockBerry = new BlockBerryPlant().setBlockName("block_berry"); } @EventHandler public void init(FMLInitializationEvent event) { GameRegistry.registerItem(berry, "berry"); GameRegistry.registerItem(ironBerry, "iron_berry"); GameRegistry.registerItem(goldenBerry, "golden_berry"); GameRegistry.registerItem(berrySeeds, "berry_seeds"); GameRegistry.registerBlock(blockBerry, "block_berry"); ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(berry, 0, 0, 4, 10)); proxy.registerRender(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { GameRegistry.addRecipe(new ItemStack(ironBerry), "ib", 'i', Blocks.iron_block, 'b', berry); GameRegistry.addRecipe(new ItemStack(goldenBerry), " g ", "gbg", " g ", 'g', Items.gold_ingot, 'b', berry); } }Merci de vos réponses

-
Ok, c’est bien ce que je pensais, toutes ta classe principale est mal foutu.
Normalement, ça devrait être comme ça :preInit :
// initialisation des blocs
// enregistrement des blocs
// initialisation des items
// enregistrement des itemsinit :
// le reste.Donc :
package fr.mrazerty31.IHC4; import net.minecraft.block.Block; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemSeeds; import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; import net.minecraftforge.common.ChestGenHooks; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; 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 fr.mrazerty31.IHC4.proxy.CommonProxy; @Mod(modid = IHC4.MODID, name = "IHC4 Mod", version = IHC4.VERSION) public class IHC4 { public static final String MODID = "ihc4mod"; public static final String VERSION = "1.0"; public static IHC4 instance; @SidedProxy(clientSide = "fr.mrazerty31.IHC4.proxy.ClientProxy", serverSide = "fr.mrazerty31.IHC4.proxy.CommonProxy") public static CommonProxy proxy; /* Déclaration des Items */ public static Item berry, ironBerry, goldenBerry, berrySeeds; /* Déclaration des Blocks */ public static Block blockBerry; @EventHandler public void preInit(FMLPreInitializationEvent event) { blockBerry = new BlockBerryPlant().setBlockName("block_berry"); GameRegistry.registerBlock(blockBerry, "block_berry"); berry = new Berry(1, 0.3F, false).setUnlocalizedName("berry").setTextureName("ihc4mod:berry"); ironBerry = new IronBerry(1, 0.3F, false).setUnlocalizedName("iron_berry").setTextureName("ihc4mod:berry_iron"); goldenBerry = new GoldBerry(1, 0.3F, false).setUnlocalizedName("golden_berry").setTextureName("ihc4mod:berry_gold"); berrySeeds = new ItemSeeds(blockBerry, Blocks.farmland).setUnlocalizedName("berry_seeds").setTextureName("ihc4mod:berry_seeds").setCreativeTab(CreativeTabs.tabMaterials); GameRegistry.registerItem(berry, "berry"); GameRegistry.registerItem(ironBerry, "iron_berry"); GameRegistry.registerItem(goldenBerry, "golden_berry"); GameRegistry.registerItem(berrySeeds, "berry_seeds"); } @EventHandler public void init(FMLInitializationEvent event) { ChestGenHooks.addItem(ChestGenHooks.MINESHAFT_CORRIDOR, new WeightedRandomChestContent(berry, 0, 0, 4, 10)); proxy.registerRender(); } @EventHandler public void postInit(FMLPostInitializationEvent event) { GameRegistry.addRecipe(new ItemStack(ironBerry), "ib", 'i', Blocks.iron_block, 'b', berry); GameRegistry.addRecipe(new ItemStack(goldenBerry), " g ", "gbg", " g ", 'g', Items.gold_ingot, 'b', berry); } } -
Merci pour la réponse
Mais ça crash toujours quand je place la graine sur la farmland
Voici le crash report : http://pastebin.com/Ee1uqUx8
D’après le crash report il me semble que ca viens de la classe du bloc
Classe du bloc plante :package fr.mrazerty31.IHC4; import javax.swing.Icon; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockCarrot; import net.minecraft.block.BlockCrops; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.util.IIcon; public class BlockBerryPlant extends BlockCarrot { private String[] type = new String[]{"block_berry_stage_0", "block_berry_stage_1", "block_berry_stage_2", "block_berry_stage_3", "block_berry_stage_4", "block_berry_stage_5", "block_berry_stage_6"}; private IIcon[] IconArray; public IIcon getIcon(int side, int metadata) { return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0]; } public void registerBlocksIcons(IIconRegister iconregister) { IconArray = new IIcon[type.length]; for(int i = 0; i < type.length; i++) IconArray[i] = iconregister.registerIcon("ihc4mod:" + type*); } protected Item getSeedItem() { return IHC4.berrySeeds; } protected Item getCropItem() { return IHC4.berry; } public int damageDropped(int metadata) { return metadata; } } -
envoi ta classe blockBerryPlant, tu as un problème au getIcon
-
(J’ai mis à jour mon post)
-
C’est registerBlockIcons et non registerBlocksIcons
-
OH god … Merci beaucoup robin !

-
pense a mettre ton sujet en résolue

-
je sais que ce sujet est vieux et que vous ne faite plus de support pour la 1.7.10 mais j’ai un problème c’est que mon éclipse accepte pas les “*” dans les ligne de code
comme ici
for(int i = 0; i < type.length; i++) IconArray* = iconregister.registerIcon("valerium:" + type*); -
ça devrait être
[i]et non une étoile. -
Ce message a été supprimé !