• Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes
  • S'inscrire
  • Se connecter
  • S'inscrire
  • Se connecter
  • Recherche
  • Récent
  • Mots-clés
  • Populaire
  • Utilisateurs
  • Groupes

Faire une plantation

Les blocs
1.6.x
22
79
24.6k
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.
  • Minecraftienne
    Minecraftienne dernière édition par robin4002 13 juin 2018, 13:29 7 sept. 2013, 15:03

    Bonjour à tous, nous allons voir dans ce tutoriel comment créer une nouvelle plantation de type orge 😉

    La classe principale

    Commençons par déclarer nos items et blocs.

    public static Block BlockOrgeCulture;
    public static Item ItemOrge, ItemOrgeGraines;

    Ensuite dans le PreInit :

    BlockOrgeCulture = new BlockOrgeCulture(2000).setUnlocalizedName("Culture d'orge");
    ItemOrge = new Item(12000).setUnlocalizedName("Orge").setTextureName("modid:ItemOrge");
    ItemOrgeGraines = new ItemSeeds(12001, this.BlockOrgeCulture.blockID, Block.tilledField.blockID).setUnlocalizedName("Graines d'orge").setTextureName("modid:ItemOrgeGraines");

    “new ItemSeeds” et “new Item” permettent d’éviter de créer les classes de ces items qui ne serviront à rien (avec juste le constructeur), donc importez ItemSeeds ( import net.minecraft.item.ItemSeeds; ) ainsi que Item ( import net.minecraft.item.Item; ).
    this.BlockOrgeCulture.blockID, Block.tilledField.blockID signifie que lorsque l’on fait un clique droit avec la graine sur un tilledfield (terre bêchée), elle se plante dedans.

    Enfin enregistrer votre bloc et vos items (pour les items c’est facultatif).

    GameRegistry.registerBlock(BlockOrgeCulture, "Culture d'orge");
    GameRegistry.registerItem(ItemOrge, "Orge", "Modid");
    GameRegistry.registerItem(ItemOrgeGraines, "Graines d'orge", "Modid");

    N’oubliez pas de modifier modid par le nom de votre propre modid 😉 Maintenant créer la classe BlockOrgeCulture, la plus importante !

    La classe du bloc

    Maintenant rajouter ceci dans votre classe :

    public class BlockOrgeCulture extends BlockCarrot
    {
    public static String[] type = new String[]{"Culture d'orge_0", "Culture d'orge_1", "Culture d'orge_2", "Culture d'orge_3", "Culture d'orge_4", "Culture d'orge_5", "Culture d'orge_6", "Culture d'orge_7"};
    private Icon[] IconArray;
    public BlockOrgeCulture (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[i] = iconregister.registerIcon("modid:" + type[i]);
    }
    }
    protected int getSeedItem()
    {
    return ClassePrincipale.ItemOrgeGraines.itemID; // donne la graine
    }
    protected int getCropItem()
    {
    return ClassePrincipale.ItemOrge.itemID; // donne la récolte
    }
    public int damageDropped(int metadata)
    {
    return metadata;
    }
    }

    Pas de panique ! Je vous invite à regarder le tuto de robin sur les metadata si vous ne connaissez pas 😉 Le reste est expliqué en commentaire. N’oubliez pas les imports !

    Résultat

    Équipez-vous d’une houe et plantez vos graines, et voilà votre orge pousse ! Vous pouvez utiliser de la poudre d’os dessus pour accélérer le résultat, et ensuite récolter votre orge (n’oubliez pas de passer en mod survival sinon vous cassez la plantation).

    J’espère que ce tutorial vous aura plu =D

    1 réponse Dernière réponse Répondre Citer 0
    • Superloup10
      Superloup10 Modérateurs dernière édition par 7 sept. 2013, 15:18

      Excellent tutoriel, mais tu pourrais aller plus loin, en expliquant, par exemple, comment utiliser un de nos blocs pour planter notre graine dedans.

      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
      • Minecraftienne
        Minecraftienne dernière édition par 7 sept. 2013, 15:20

        Merci de ton commentaire, c’est vrai je peux encore l’améliorer mais au moins ça pourra aider des gens en attendant que je le complète 🙂

        1 réponse Dernière réponse Répondre Citer 0
        • S
          sevenno07 dernière édition par 7 sept. 2013, 15:33

          Bon tutoriel :), mais sa serai sympa d’aller un peu plus loin comme dit Superloup10 ^^.

          Auteur originale de Sevenno's Addons et de [url=http://www.minecraftfor…

          1 réponse Dernière réponse Répondre Citer 0
          • Gugu
            Gugu dernière édition par 7 sept. 2013, 19:09

            Bon tutoriel.

            Pour ce qui est du bloc custom pour planter, je doute que ça prenne du temps, étant donné que c’est certainement une variable a changer.

            "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
            • A
              arnorousseau dernière édition par 27 oct. 2013, 11:26

              Petit souci de mon côté :

              2013-10-27 12:14:51 [INFO] [STDERR] java.lang.ArrayIndexOutOfBoundsException: 12262
              2013-10-27 12:14:51 [INFO] [STDERR] at net.minecraft.world.chunk.storage.ExtendedBlockStorage.setExtBlockID(ExtendedBlockStorage.java:88)
              2013-10-27 12:14:51 [INFO] [STDERR] at net.minecraft.world.chunk.Chunk.setBlockIDWithMetadata(Chunk.java:705)
              2013-10-27 12:14:51 [INFO] [STDERR] at net.minecraft.world.World.setBlock(World.java:559)
              2013-10-27 12:14:51 [INFO] [STDERR] at net.minecraft.world.World.setBlock(World.java:721)

              Sans que je sache vraiment pourquoi… A noter que cela se passe lorsqu’en jeu, je plante une graine sur le sol labouré

              Mon code

              Pour la classe du block

              package minetux.common;
              import net.minecraft.block.BlockCarrot;
              import net.minecraft.client.renderer.texture.IconRegister;
              import net.minecraft.item.Item;
              import net.minecraft.util.Icon;
              public class BlockHop extends BlockCarrot{
              public static String[] type = new String[]{"BlockHop_stage_0", "BlockHop_stage_1", "BlockHop_stage_2", "BlockHop_stage_3", "BlockHop_stage_4", "BlockHop_stage_5", "BlockHop_stage_6", "BlockHop_stage_7"};
              private Icon[] IconArray;
              protected BlockHop(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("minetux:" + type*);
              }
              }
              protected int getSeedItem()
              {
              return MineTux.HopSeed.itemID;
              }
              protected int getCropItem()
              {
              return MineTux.HopItem.itemID;
              }
              public int damageDropped(int metadata)
              {
              return metadata;
              }
              }

              Dans la classe principale

              BlockHop = new BlockHop(2602).setUnlocalizedName("BlockHop").setTextureName("minetux:BlockHop");
              GameRegistry.registerBlock(BlockHop, "BlockHop");
              HopItem = new Item(12006).setUnlocalizedName("HopItem").setCreativeTab(CreativeTabs.tabMaterials).setTextureName("minetux:HopItem");
              GameRegistry.registerItem(HopItem, "HopItem", "MineTux");
              HopSeed = new ItemSeeds(12007,this.HopItem.itemID,Block.tilledField.blockID).setUnlocalizedName("HopSeed").setTextureName("minetux:HopSeed");
              GameRegistry.registerItem(HopSeed, "HopSeed", "MineTux");
              1 réponse Dernière réponse Répondre Citer 0
              • Superloup10
                Superloup10 Modérateurs dernière édition par 27 oct. 2013, 11:38

                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
                  arnorousseau dernière édition par 27 oct. 2013, 11:49

                  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
                  • Gugu
                    Gugu dernière édition par 28 oct. 2013, 10:52

                    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
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 3 nov. 2013, 19:23

                      Je valide.

                      1 réponse Dernière réponse Répondre Citer 0
                      • C
                        cawoum dernière édition par 27 nov. 2013, 14:25

                        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
                        • robin4002
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 27 nov. 2013, 14:41

                          @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
                            cawoum dernière édition par 27 nov. 2013, 15:29

                            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
                              Sir_Bee dernière édition par 19 janv. 2014, 15:39

                              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
                                Sir_Bee dernière édition par 19 janv. 2014, 17:19

                                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
                                • nono1507
                                  nono1507 dernière édition par 3 mars 2014, 10:53

                                  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
                                  • robin4002
                                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par 3 mars 2014, 11:59

                                    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
                                    • nono1507
                                      nono1507 dernière édition par 3 mars 2014, 12:15

                                      /!\ 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
                                      • isador
                                        isador Moddeurs confirmés Modérateurs dernière édition par 3 mars 2014, 12:17

                                        ligne 79 de ton main tu as quoi?

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • nono1507
                                          nono1507 dernière édition par 3 mars 2014, 12:22

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

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

                                          MINECRAFT FORGE FRANCE © 2018

                                          Powered by NodeBB