MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Faire une plantation

    Planifier Épinglé Verrouillé Déplacé Les blocs
    1.6.x
    79 Messages 22 Publieurs 27.2k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • Superloup10S Hors-ligne
      Superloup10 Modérateurs
      dernière édition par

      Déjà met ton code, dans une balise [java][/java] sans les *.
      Ensuite, ce serais bien que tu donnes en entier le rapport de forge dans une balise [code][/code] ou par pastebin.

      Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

      Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

      1 réponse Dernière réponse Répondre Citer 0
      • A Hors-ligne
        arnorousseau
        dernière édition par

        Bon bein vive le debuggeur de java qui m’a permis de me rendre compte que ItemSeeds attend en paramètre un blockID et non un itemID…

        Bon tuto !

        1 réponse Dernière réponse Répondre Citer 0
        • GuguG Hors-ligne
          Gugu
          dernière édition par

          Aussi, essaie d’ajouter un moyen de faire les autres types de plantations : Canne a sucre, Pastèques / Citrouilles et Cacao

          "If you have a comprehensive explanation for everything then it decreases uncertainty and anxiety and reduces your cognitive load. And if you can use that simplifying algorithm to put yourself on the side of moral virtue then you’re constantly a good person with a minimum of effort."
          ― Jordan B. Peterson

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Je valide.

            1 réponse Dernière réponse Répondre Citer 0
            • C Hors-ligne
              cawoum
              dernière édition par

              Bonjour , j’ai un problème , j’ai suivi ce tuto pour créer un fraisier mais lorsque je lance le jeu il crash et il m’indique :2013-11-27 15:20:33 [Infos] [STDOUT] Vec3 Pool Size: ERROR NullPointerException: null
              éclipse ne m’indique pas d’erreur et je ne l’ai pas trouvé par moi même.
              Merci d’avance si vous pouvez m’aider.

              La classe principale:
              :::

              package ModTutoriel;
              
              import net.minecraft.block.Block;
              import net.minecraft.item.EnumArmorMaterial;
              import net.minecraft.item.EnumToolMaterial;
              import net.minecraft.item.Item;
              import net.minecraft.item.ItemSeeds;
              import net.minecraft.item.ItemStack;
              import net.minecraft.item.crafting.FurnaceRecipes;
              import net.minecraftforge.common.EnumHelper;
              import net.minecraftforge.common.MinecraftForge;
              import tutoriel.proxy.TutoCommonProxy;
              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.network.NetworkMod;
              import cpw.mods.fml.common.registry.GameRegistry;
              
              @Mod(modid = "ModTutoriel", name = "Mod Tutoriel", version = "1.0.0", acceptedMinecraftVersions = "[1.6.4,)", useMetadata = true)
              @NetworkMod(clientSideRequired = true, serverSideRequired = false)
              
              public class ModTutoriel
              {
              
              @SidedProxy(clientSide = "tutoriel.proxy.TutoClientProxy", serverSide = "tutoriel.proxy.TutoCommonProxy")
              public static TutoCommonProxy proxy;
              
              @Instance("ModTutoriel")
              public static Block blockfraisierculture;
              public static Item fraise, fraiseseeds;
              public static ModTutoriel instance;
              public static Block ebonite;
              public static Item eboniteingot;
              public static Item ebonitehelmet, ebonitechestplate, eboniteleggings, eboniteboots;
              static EnumArmorMaterial eboniteArmor = EnumHelper.addArmorMaterial("eboniteingot", 18, new int[]{2, 6, 3, 2}, 15);
              public static Item ebonitesword, ebonitepickaxe, eboniteaxe, eboniteshovel, ebonitehoe;
              static EnumToolMaterial eboniteTool = EnumHelper.addToolMaterial("eboniteingot", 2, 350, 6.0F, 3, 20);
              @EventHandler
              
              public void PreInit(FMLPreInitializationEvent event)
              {
              //Configuration
              GameRegistry.registerWorldGenerator(new WorldGeneratorEbonite());
              ebonite = new ebonite(2000).setHardness(5.0F).setResistance(5.0F).setStepSound(Block.soundStoneFootstep).setUnlocalizedName("ebonite").setTextureName("modtutoriel:ebonite");//Blocks
              GameRegistry.registerBlock(ebonite, "ebonite");
              GameRegistry.registerBlock(blockfraisierculture, "blockfraisierculture");
              //Items
              ebonitesword = new Itemebonitesword(12006, eboniteTool).setUnlocalizedName("ebonitesword").setTextureName("modtutoriel:ebonitesword");
              ebonitepickaxe = new Itemebonitepickaxe(12007, eboniteTool).setUnlocalizedName("ebonitepickaxe").setTextureName("modtutoriel:ebonitepickaxe");
              eboniteaxe = new Itemeboniteaxe(12008, eboniteTool).setUnlocalizedName("eboniteaxe").setTextureName("modtutoriel:eboniteaxe");
              eboniteshovel = new Itemeboniteshovel(12009, eboniteTool).setUnlocalizedName("eboniteshovel").setTextureName("modtutoriel:eboniteshovel");
              ebonitehoe = new Itemebonitehoe(12010, eboniteTool).setUnlocalizedName("ebonitehoe").setTextureName("modtutoriel:ebonitehoe");
              ebonitehelmet = new ItemeboniteArmor(12002, eboniteArmor, 0,0).setUnlocalizedName("ebonitehelmet").setTextureName("modtutoriel:ebonitehelmet");
              ebonitechestplate = new ItemeboniteArmor(12003, eboniteArmor, 0, 1).setUnlocalizedName("ebonitechestplate").setTextureName("modtutoriel:ebonitechestplate");
              eboniteleggings = new ItemeboniteArmor(12004, eboniteArmor, 0, 2).setUnlocalizedName("eboniteleggings").setTextureName("modtutoriel:eboniteleggings");
              eboniteboots = new ItemeboniteArmor(12005, eboniteArmor, 0, 3).setUnlocalizedName("eoniteboots").setTextureName("modtutoriel:eboniteboots");
              eboniteingot = new eboniteingot(12000).setUnlocalizedName("eboniteingot").setTextureName("modtutoriel:eboniteingot");
              GameRegistry.registerItem(eboniteingot, "eboniteingot", "ModTutoriel");
              blockfraisierculture = new blockfraisierculture(2001).setUnlocalizedName("blockfraisierculture");
              fraise = new Item(12011).setUnlocalizedName("fraise").setTextureName("ModTutoriel:fraise");
              fraiseseeds = new ItemSeeds(12012, this.blockfraisierculture.blockID, Block.tilledField.blockID).setUnlocalizedName("fraiseseeds").setTextureName("ModTutoriel:fraiseseeds");
              //Achievements
              }
              
              @EventHandler
              public void Init(FMLInitializationEvent event)
              {
              //Registry
              
              //Mobs
              
              //Render
              proxy.registerRender();
              //NetWork
              }
              
              @EventHandler
              public void PostInit(FMLPostInitializationEvent event)
              {
              //Language
              
              //Recipe
              FurnaceRecipes.smelting().addSmelting(ModTutoriel.ebonite.blockID, 0, new ItemStack(eboniteingot), 0.7F);
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.ebonitesword), new Object[]{" X ", " X ", " Y ", 'X', eboniteingot,
              'Y', new ItemStack(Item.stick)});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.eboniteaxe), new Object[]{"XX ", "XY ", " Y ", 'X', eboniteingot,
              'Y', new ItemStack(Item.stick)});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.ebonitepickaxe), new Object[]{"XXX", " Y ", " Y ", 'X', eboniteingot,
              'Y', new ItemStack(Item.stick)});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.eboniteshovel), new Object[]{" X ", " Y ", " Y ", 'X', eboniteingot,
              'Y', new ItemStack(Item.stick)});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.ebonitehoe), new Object[]{"XX ", " Y ", " Y ", 'X', eboniteingot,
              'Y', new ItemStack(Item.stick)});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.ebonitechestplate), new Object[]{"X X", "XXX", "XXX", 'X', eboniteingot,});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.ebonitehelmet), new Object[]{"XXX", "X X", " ", 'X', eboniteingot,});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.eboniteleggings), new Object[]{"XXX", "X X", "X X", 'X', eboniteingot,});
              GameRegistry.addRecipe(new ItemStack(ModTutoriel.eboniteboots), new Object[]{" ", "X X", "X X", 'X', eboniteingot,});
              }
              }
              

              :::

              La classe du block fraisier :

              :::

              package ModTutoriel;
              
              import java.util.List;
              
              import cpw.mods.fml.relauncher.Side;
              import cpw.mods.fml.relauncher.SideOnly;
              import net.minecraft.block.BlockPotato;
              import net.minecraft.client.renderer.texture.IconRegister;
              import net.minecraft.creativetab.CreativeTabs;
              import net.minecraft.item.ItemStack;
              import net.minecraft.util.Icon;
              
              public class blockfraisierculture extends BlockPotato
              {
              public static String[] type = new String[]{"fraisierculture_0", "fraisierculture_1", "fraisierculture_2", "fraisierculture_3"};
              private Icon[] IconArray;
              
              public blockfraisierculture (int id)
              {
              super(id);
              this.setCreativeTab(CreativeTabs.tabBlock);
              }
              @SideOnly(Side.CLIENT)
              public void getSubBlocks(int id, CreativeTabs creativeTabs, List list)
              {
              for(int metadata = 0; metadata < type.length; metadata++)
              {
              list.add(new ItemStack(id, 1, metadata));
              }
              }
              @SideOnly(Side.CLIENT)
              public Icon getIcon(int side, int metadata)
              {
              return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
              }
              
              public void registerIcons(IconRegister iconregister)
              {
              IconArray = new Icon[type.length];
              
              for(int i = 0; i < type.length; i++)
              {
              IconArray* = iconregister.registerIcon("ModTutoriel:" + type*);
              }
              }
              
              protected int getSeedItem()
              {
              return ModTutoriel.fraiseseeds.itemID; // donne la graine
              }
              
              protected int getCropItem()
              {
              return ModTutoriel.fraise.itemID; // donne la récolte
              }
              
              public int damageDropped(int metadata)
              {
              return metadata;
              }
              }
              :::
              

              Maintenant la class itemblockfraisierculture (je sais le nom est long xd)
              Je ne suis pas sur qu’il fallait faire cette class mais elle était dans le tuto sur les métadatas alors j’ai préféré la faire.

              :::

              package ModTutoriel;
              
              import net.minecraft.item.ItemBlock;
              import net.minecraft.item.ItemStack;
              
              public class itemblockfraisierculture extends ItemBlock
              {
              
              public itemblockfraisierculture(int par1) {
              super(par1);
              this.setHasSubtypes(true);
              // TODO Auto-generated constructor stub
              }
              
              public int getMetadata(int metadata)
              {
              return metadata;
              }
              public String getUnlocalizedName(ItemStack stack)
              {
              int metadata = stack.getItemDamage();
              if(metadata > blockfraisierculture.type.length || metadata < 0)
              {
              metadata = 0;
              }
              return super.getUnlocalizedName() + "." + blockfraisierculture.type[metadata];
              }
              }
              

              :::

              et le log du crash :

              :::

              –-- Minecraft Crash Report ----
              // Would you like a cupcake?
              
              Time: 27/11/13 15:20
              Description: Initializing game
              
              java.lang.IllegalArgumentException: Can not set static net.minecraft.block.Block field ModTutoriel.ModTutoriel.blockfraisierculture to ModTutoriel.ModTutoriel
              at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
              at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
              at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(Unknown Source)
              at java.lang.reflect.Field.set(Unknown Source)
              at cpw.mods.fml.common.FMLModContainer.parseSimpleFieldAnnotation(FMLModContainer.java:449)
              at cpw.mods.fml.common.FMLModContainer.processFieldAnnotations(FMLModContainer.java:382)
              at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:525)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
              at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
              at com.google.common.eventbus.EventBus.post(EventBus.java:267)
              at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:201)
              at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:181)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
              at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
              at com.google.common.eventbus.EventBus.post(EventBus.java:267)
              at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:112)
              at cpw.mods.fml.common.Loader.loadMods(Loader.java:511)
              at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:183)
              at net.minecraft.client.Minecraft.startGame(Minecraft.java:473)
              at net.minecraft.client.Minecraft.run(Minecraft.java:808)
              at net.minecraft.client.main.Main.main(Main.java:93)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
              at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
              
              A detailed walkthrough of the error, its code path and all known details is as follows:
              ---------------------------------------------------------------------------------------
              
              -- Head --
              Stacktrace:
              at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
              at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
              at sun.reflect.UnsafeStaticObjectFieldAccessorImpl.set(Unknown Source)
              at java.lang.reflect.Field.set(Unknown Source)
              at cpw.mods.fml.common.FMLModContainer.parseSimpleFieldAnnotation(FMLModContainer.java:449)
              at cpw.mods.fml.common.FMLModContainer.processFieldAnnotations(FMLModContainer.java:382)
              at cpw.mods.fml.common.FMLModContainer.constructMod(FMLModContainer.java:525)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
              at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
              at com.google.common.eventbus.EventBus.post(EventBus.java:267)
              at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:201)
              at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:181)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74)
              at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:45)
              at com.google.common.eventbus.EventBus.dispatch(EventBus.java:313)
              at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296)
              at com.google.common.eventbus.EventBus.post(EventBus.java:267)
              at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:112)
              at cpw.mods.fml.common.Loader.loadMods(Loader.java:511)
              at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:183)
              at net.minecraft.client.Minecraft.startGame(Minecraft.java:473)
              
              -- Initialization --
              Details:
              Stacktrace:
              at net.minecraft.client.Minecraft.run(Minecraft.java:808)
              at net.minecraft.client.main.Main.main(Main.java:93)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
              at java.lang.reflect.Method.invoke(Unknown Source)
              at net.minecraft.launchwrapper.Launch.launch(Launch.java:131)
              at net.minecraft.launchwrapper.Launch.main(Launch.java:27)
              
              -- System Details --
              Details:
              Minecraft Version: 1.6.4
              Operating System: Windows 8 (amd64) version 6.2
              Java Version: 1.7.0_45, Oracle Corporation
              Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
              Memory: 747302680 bytes (712 MB) / 1037959168 bytes (989 MB) up to 1037959168 bytes (989 MB)
              JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
              AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
              Suspicious classes: FML and Forge are installed
              IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
              FML: MCP v8.11 FML v6.4.45.953 Minecraft Forge 9.11.1.953 4 mods loaded, 4 mods active
              mcp{8.09} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed
              FML{6.4.45.953} [Forge Mod Loader] (bin) Unloaded->Constructed
              Forge{9.11.1.953} [Minecraft Forge] (bin) Unloaded->Constructed
              ModTutoriel{1.0.0} [Mod Tutoriel] (bin) Unloaded->Errored
              Launched Version: 1.6
              LWJGL: 2.9.0
              OpenGL: AMD Radeon HD 7670M GL version 4.2.11764 Compatibility Profile Context, ATI Technologies Inc.
              Is Modded: Definitely; Client brand changed to 'fml,forge'
              Type: Client (map_client.txt)
              Resource Pack: Default
              Current Language: English (US)
              Profiler Position: N/A (disabled)
              Vec3 Pool Size: ~~ERROR~~ NullPointerException: null
              

              :::

              1 réponse Dernière réponse Répondre Citer 0
              • robin4002R Hors-ligne
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                dernière édition par

                @Instance("ModTutoriel")
                public static Block blockfraisierculture;
                public static Item fraise, fraiseseeds;
                public static ModTutoriel instance;
                

                ->

                @Instance("ModTutoriel")
                public static ModTutoriel instance;
                
                public static Block blockfraisierculture;
                public static Item fraise, fraiseseeds;
                

                Le @Instance DOIT être au dessus du field public static ModTutoriel instance;

                1 réponse Dernière réponse Répondre Citer 0
                • C Hors-ligne
                  cawoum
                  dernière édition par

                  Je test ça bientôt et je te dis ce que ça donne , merci 😉
                  edit: je l’ai fait mais ça crash toujours 😕

                  1 réponse Dernière réponse Répondre Citer 0
                  • S Hors-ligne
                    Sir_Bee
                    dernière édition par

                    Très bon tuto mais j’ai un gros problème avec les textures, en suivant le tutoriel sur les metadatas, mes plantations reste toujours sans texture 😞

                    Je suis sur d’avoir bien placer mes textures
                    Mes class :

                    Classe Principale (NaturalThings.java) :
                    :::

                    
                    package naturalthings.common;
                    
                    import naturalthings.proxy.NaturalThingsCommonProxy;
                    import net.minecraft.block.Block;
                    import net.minecraft.item.Item;
                    import net.minecraft.item.ItemSeeds;
                    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.network.NetworkMod;
                    import cpw.mods.fml.common.registry.GameRegistry;
                    
                    @Mod(modid = "NaturalThings", name = "Natural Things Mod", version = "1.0.0")
                    
                    @NetworkMod(clientSideRequired = true, serverSideRequired = false)
                    
                    public class NaturalThings
                    {
                    
                    @SidedProxy(clientSide = "naturalthings.proxy.NaturalThingsClientProxy", serverSide = "naturalthings.proxy.NaturalThingsCommonProxy")
                    public static NaturalThingsCommonProxy proxy;
                    
                    @Instance("NaturalThings")
                    public static NaturalThings instance;
                    
                    public static Block BeetrootcultureBlock;
                    public static Item beetrootsseeds;
                    public static Item beetroot;
                    
                    @EventHandler
                    public void PreInit(FMLPreInitializationEvent event)
                    {
                    
                    BeetrootcultureBlock = new BeetrootcultureBlock(2000).setUnlocalizedName("Beetroot Culture Block");
                    beetroot = new beetroot(12000).setUnlocalizedName("Beetroot").setTextureName("naturalthings:beetroot");
                    beetrootsseeds = new ItemSeeds(12001, this.BeetrootcultureBlock.blockID, Block.tilledField.blockID).setUnlocalizedName("Beetroots Seeds").setTextureName("naturalthings:beetrootsseeds");
                    
                    GameRegistry.registerBlock(BeetrootcultureBlock,"Beetroot Culture Block");
                    GameRegistry.registerItem(beetroot, "Beetroot", "NaturalThings");
                    GameRegistry.registerItem(beetrootsseeds, "Beetroots Seeds", "NaturalThings");
                    
                    }
                    
                    @EventHandler
                    public void Init(FMLInitializationEvent event)
                    {
                    
                    }
                    
                    @EventHandler
                    public void PostInit(FMLPostInitializationEvent event)
                    {
                    
                    }
                    
                    }
                    
                    

                    :::

                    BeetrootcultureBlock.java :
                    :::

                    
                    package naturalthings.common;
                    
                    import net.minecraft.block.BlockCarrot;
                    import net.minecraft.client.renderer.texture.IconRegister;
                    import net.minecraft.util.Icon;
                    
                    public class BeetrootcultureBlock extends BlockCarrot
                    {
                    public static String[] type = new String[]{"Beetroot Culture Block_0", "Beetroot Culture Block_1", "Beetroot Culture Block_2","Beetroot Culture Block_3"};
                    private Icon[] IconArray;
                    
                    public BeetrootcultureBlock (int id)
                    {
                    super(id);
                    }
                    
                    public Icon getIcon(int side, int metadata)
                    {
                    return metadata < type.length && metadata >= 0 ? IconArray[metadata] : IconArray[0];
                    }
                    
                    public void registerIcons(IconRegister iconregister)
                    {
                    IconArray = new Icon[type.length];
                    
                    for(int i = 0; i < type.length; i++)
                    {
                    IconArray* = iconregister.registerIcon("naturalthings:" + type*);
                    }
                    }
                    
                    protected int getSeedItem()
                    {
                    return NaturalThings.beetrootsseeds.itemID; // donne la graine
                    }
                    
                    protected int getCropItem()
                    {
                    return NaturalThings.beetroot.itemID; // donne la récolte
                    }
                    
                    public int damageDropped(int metadata)
                    {
                    return metadata;
                    }
                    }
                    
                    

                    :::

                    ItemBeetrootcultureBlock.java :
                    :::

                    
                    package naturalthings.common;
                    
                    import net.minecraft.item.ItemBlock;
                    import net.minecraft.item.ItemStack;
                    
                    public class ItemBeetrootcultureBlock extends ItemBlock
                    
                    {
                    
                    public ItemBeetrootcultureBlock(int id) {
                    super(id);
                    this.setHasSubtypes(true);
                    // TODO Auto-generated constructor stub
                    }
                    
                    public int getMetadata(int metadata)
                    {
                    return metadata;
                    }
                    
                    public String getUnlocalizedName(ItemStack stack)
                    {
                    int metadata = stack.getItemDamage();
                    if(metadata > BeetrootcultureBlock.type.length || metadata < 0)
                    {
                    metadata = 0;
                    }
                    return super.getUnlocalizedName() + "." + BeetrootcultureBlock.type[metadata];
                    }
                    
                    }
                    
                    

                    :::

                    Je comprends pas trop là…

                    1 réponse Dernière réponse Répondre Citer 0
                    • S Hors-ligne
                      Sir_Bee
                      dernière édition par

                      J’ai fini par trouver, mes texture étaient dans le dossier “block” et non “blocks”

                      Mais j’ai toujours un problème, les textures des différents stades de la plantation sont aléatoires 😞

                      1 réponse Dernière réponse Répondre Citer 0
                      • nono1507N Hors-ligne
                        nono1507
                        dernière édition par

                        Bonjour tout le monde ! 😉
                        Alors voila j’ai suivi ce tuto (que je trouve très bien expliqué) mais au lancement du test, Minecraft crash !
                        Je ne trouve auncune erreur mais d’apres la console cela provient du PreInit… (Je n’en suis pas sur je ne suis qu’un debutant en codding):-/
                        Merci d’avance et bonne journée !:)

                        Mes class:
                        Class Principale
                        Console
                        Class de mon bloc d’argiculture

                        (Vous remarquerez sans doute que j’ai appeler la class BlockTomatCulture avec tomate sans e ce n’est pas une erreur…):dodgy:

                        1 réponse Dernière réponse Répondre Citer 0
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par

                          Salut,
                          Tu as un NPE (NullPointerException) au niveau de l’enregistrement des blocs, et en effet, ton GameRegistry.registerBlock et ton GameRegistry.registerItem sont avant la ligne ou tes items et blocs sont initialisés.
                          Il faut donc que tu mettes les GameRegistry après les BlockTomatCulture = new BlockTomatCulture(8471)[…]

                          1 réponse Dernière réponse Répondre Citer 0
                          • nono1507N Hors-ligne
                            nono1507
                            dernière édition par

                            /!\ J’ai peut etre fais un fouble poste , si c’est le cas désolé 😕 (je ne vois pas ma reponse s’afficher) /!
                            Donc, je les ai inversé mais une nouvelle erreur apparait : new BlockTomatCulture(8471).setUnlocalizedName
                            Tout ceci est souligné …
                            Nouvelle console :http://pastebin.com/mEx4n14r

                            1 réponse Dernière réponse Répondre Citer 0
                            • isadorI Hors-ligne
                              isador Moddeurs confirmés Modérateurs
                              dernière édition par

                              ligne 79 de ton main tu as quoi?

                              1 réponse Dernière réponse Répondre Citer 0
                              • nono1507N Hors-ligne
                                nono1507
                                dernière édition par

                                Cette ligne :
                                ItemTomate = new Item(9160).setUnlocalizedName(“Tomate”).setTextureName(“EnderCraft:Tomate”);

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002R Hors-ligne
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                  dernière édition par

                                  l’id maximum d’un bloc est 4095, 8471 c’est trop.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • nono1507N Hors-ligne
                                    nono1507
                                    dernière édition par

                                    Sa fonctionne parfaitement ! Merci a vous tous pour ces réponses si directes et précises !

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • nono1507N Hors-ligne
                                      nono1507
                                      dernière édition par

                                      Me revoila avec un autre problème 😕 !
                                      J’ai remarqué que le fruit obtenut avec ma plante et le fruit que l’on prend dans mon onglet creatif sont deux items portant le même nom et la même texture mais qui sont différents car ils ne s’empilent pas ensembles…
                                      Le probleme : j’ai rajouté un craft mais il ne fonctionne pas sur le fruit que l’on obtient AVEC ma plante mais avec le fruit que l’on prend dans l’onglet creatif… Je me retrouve donc avec un item craftable et un autre non craftable …
                                      Help -me ! 😞

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • gagoiG Hors-ligne
                                        gagoi
                                        dernière édition par

                                        Regarde au niveau des métadata ici (classe du bloc) :

                                        public int damageDropped(int metadata)
                                        {
                                        return metadata;
                                        }
                                        

                                        Essaie de mettre :

                                        public int damageDropped(int metadata)
                                        {
                                        return 0;
                                        }
                                        

                                        Peut-être vais-je faire une erreur, mais je pense qu’en enlevant la fonction (celle que je t’ai montrée) le return 0 sera “conserver” comme par défaut le métadata est 0.

                                        1 réponse Dernière réponse Répondre Citer 2
                                        • Superloup10S Hors-ligne
                                          Superloup10 Modérateurs
                                          dernière édition par

                                          @nono1507, ton fruit s’est bien ItemTomate et pas autre chose?

                                          Si vous souhaitez me faire un don, il vous suffit de cliquer sur le bouton situé en dessous.

                                          Je suis un membre apprécié et joueur, j'ai déjà obtenu 17 points de réputation.

                                          1 réponse Dernière réponse Répondre Citer 0
                                          • nono1507N Hors-ligne
                                            nono1507
                                            dernière édition par

                                            Oui c’est ça

                                            1 réponse Dernière réponse Répondre Citer 0
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 2 / 4
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB