MFF

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

    Clique droit avec un item = Effet de potion

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.2
    17 Messages 6 Publieurs 5.5k 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.
    • loustakL Hors-ligne
      loustak
      dernière édition par

      Alors en faite j’ai toutes mes classes dans c’elle de mon mod :

      package com.gmail.loustak347.common;
      
      import net.minecraft.block.Block;
      import net.minecraft.creativetab.CreativeTabs;
      import net.minecraft.init.Blocks;
      import net.minecraft.init.Items;
      import net.minecraft.item.EnumAction;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemEgg;
      import net.minecraft.item.ItemFood;
      import net.minecraft.item.ItemGlassBottle;
      import net.minecraft.item.ItemPotion;
      import net.minecraft.item.ItemStack;
      import net.minecraft.potion.Potion;
      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.event.FMLInitializationEvent;
      import cpw.mods.fml.common.event.FMLPostInitializationEvent;
      import cpw.mods.fml.common.event.FMLPreInitializationEvent;
      import cpw.mods.fml.common.registry.GameRegistry;
      import net.minecraft.creativetab.CreativeTabs;
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      import net.minecraft.potion.Potion;
      
      @Mod(modid = "potionplus", name = "Potion+", version = "0.1")
      public class PotionPlus {
      
      @Instance("modtutoriel")
      public static final String MODID = "potionPlus";
      
      @Instance(MODID)
      public static PotionPlus instance;
      //On créer la table en créatif
      public static CreativeTabs tabPotionPlus = new CreativeTabs("potionPlus") {
      @Override
      @SideOnly(Side.CLIENT)
      public Item getTabIconItem()
      {
      return Items.potionitem;
      }
      };
      
      public static Item hotSlimeBall;
      public static Item miningPotion;
      
      @EventHandler
      public void preInit(FMLPreInitializationEvent event)
      {
      hotSlimeBall = new Item().setTextureName(PotionPlus.MODID+":hotSlimeBall").setUnlocalizedName("hotSlimeBall");
      GameRegistry.addSmelting(Items.slime_ball,new ItemStack(hotSlimeBall) , 0.0f);
      GameRegistry.registerItem(hotSlimeBall, "HotSlimeBall", PotionPlus.MODID);
      hotSlimeBall.setCreativeTab(tabPotionPlus); //On ajoute l'item à la table créative
      
      miningPotion = new ItemFood(0, 0.1f, false).setPotionEffect(3, 120, 2, 1.0f).setUnlocalizedName("miningPotion").setTextureName(PotionPlus.MODID+":miningPotion");
      
      GameRegistry.addShapelessRecipe(new ItemStack(miningPotion), new Object[]{new ItemStack(Items.potionitem, 1),new ItemStack(hotSlimeBall)});
      GameRegistry.registerItem(miningPotion, "miningPotion", PotionPlus.MODID);
      miningPotion.setCreativeTab(tabPotionPlus); //On ajoute l'item à la table créative
      }
      }
      
      

      Ets-ce que c’est possible même comme ça ?

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

        Tu dois créer une class NomDeTonItem, et remplace new ItemFood par new NomDeTonItem, puis créé une class avec le NomDeTonItem. Mais attend que quelqu’un vérifie ce que je dis, pour être sur de ne pas faire de bêtises

        Joueur PC Master Race :D
        Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

        1 réponse Dernière réponse Répondre Citer 0
        • kevin_68K Hors-ligne
          kevin_68 Moddeurs confirmés
          dernière édition par

          Exact zery59


          Mettez à jours vers la dernière version stable (1.8.9 voir même…

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

            Du coup j’ai ça :

            import net.minecraft.entity.player.EntityPlayer;
            import net.minecraft.item.ItemStack;
            import net.minecraft.potion.PotionEffect;
            import net.minecraft.world.World;
            
            public class miningPotion {
            public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
            {
            event.player.addPotionEffect(new PotionEffect(3, 20, 2));
            if (!player.capabilities.isCreativeMode)
            {
            –stack.stackSize;
            }
            return stack;
            }
            }
            
            

            Mais il me souligne en rouge event et dit : ‘event cannot be resolved’

            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

              Mets juste player, enlève event.

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

                Ok j’ai essayer plus d’erreur pour eclipse mais un crash au lancement de minecraft :
                :::
                [17:47:03] [Client thread/ERROR] [FML]: The following problems were captured during this phase
                [17:47:03] [Client thread/ERROR] [FML]: Caught exception from potionplus
                java.lang.NullPointerException: Can’t add null-object to the registry, name potionplus:miningPotion.
                at cpw.mods.fml.common.registry.FMLControlledNamespacedRegistry.add(FMLControlledNamespacedRegistry.java:353) ~[FMLControlledNamespacedRegistry.class:?]
                at cpw.mods.fml.common.registry.GameData.registerItem(GameData.java:772) ~[GameData.class:?]
                at cpw.mods.fml.common.registry.GameData.registerItem(GameData.java:740) ~[GameData.class:?]
                at cpw.mods.fml.common.registry.GameRegistry.registerItem(GameRegistry.java:143) ~[GameRegistry.class:?]
                at com.gmail.loustak347.common.PotionPlus.preInit(PotionPlus.java:59) ~[PotionPlus.class:?]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
                at cpw.mods.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:513) ~[FMLModContainer.class:?]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
                at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
                at cpw.mods.fml.common.LoadController.sendEventToModContainer(LoadController.java:208) ~[LoadController.class:?]
                at cpw.mods.fml.common.LoadController.propogateStateMessage(LoadController.java:187) ~[LoadController.class:?]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
                at com.google.common.eventbus.EventHandler.handleEvent(EventHandler.java:74) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.SynchronizedEventHandler.handleEvent(SynchronizedEventHandler.java:47) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.dispatch(EventBus.java:314) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:296) ~[guava-15.0.jar:?]
                at com.google.common.eventbus.EventBus.post(EventBus.java:267) ~[guava-15.0.jar:?]
                at cpw.mods.fml.common.LoadController.distributeStateMessage(LoadController.java:118) [LoadController.class:?]
                at cpw.mods.fml.common.Loader.preinitializeMods(Loader.java:512) [Loader.class:?]
                at cpw.mods.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:239) [FMLClientHandler.class:?]
                at net.minecraft.client.Minecraft.startGame(Minecraft.java:522) [Minecraft.class:?]
                at net.minecraft.client.Minecraft.run(Minecraft.java:892) [Minecraft.class:?]
                at net.minecraft.client.main.Main.main(Main.java:112) [Main.class:?]
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_45]
                at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_45]
                at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_45]
                at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
                at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
                :::

                Je pense que ça viens de quelque part ici :

                public void preInit(FMLPreInitializationEvent event)
                {
                hotSlimeBall = new Item().setTextureName(PotionPlus.MODID+":hotSlimeBall").setUnlocalizedName("hotSlimeBall");
                GameRegistry.addSmelting(Items.slime_ball,new ItemStack(hotSlimeBall) , 0.0f);
                GameRegistry.registerItem(hotSlimeBall, "HotSlimeBall", PotionPlus.MODID);
                hotSlimeBall.setCreativeTab(tabPotionPlus); //On ajoute l'item à la table créative
                
                new miningPotion();
                GameRegistry.addShapelessRecipe(new ItemStack(miningPotion), new Object[]{new ItemStack(Items.potionitem, 1),new ItemStack(hotSlimeBall)});
                GameRegistry.registerItem(miningPotion, "miningPotion", PotionPlus.MODID);
                miningPotion.setCreativeTab(tabPotionPlus); //On ajoute l'item à la table créative
                }
                

                edit :
                Mon ancienne ligne était :

                miningPotion = new ItemFood(0, 0.1f, false).setPotionEffect(3, 120, 2, 1.0f).setUnlocalizedName("miningPotion").setTextureName(PotionPlus.MODID+":miningPotion");
                
                
                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

                  miningPotion = new miningPotion().setUnlocalizedName(“miningPotion”).setTextureName(PotionPlus.MODID+“:miningPotion”);
                  et pas new miningPotion(); …

                  1 réponse Dernière réponse Répondre Citer 1
                  • loustakL Hors-ligne
                    loustak
                    dernière édition par

                    C’est ce que j’avait fait au début mais il me souligne ‘.setUnlocalizedName’ et tous les autres arguments car : d’après eclipse elle ne sont pas définit pour le type ‘mininPotion’
                    Je rapelle ma page miningPotion.java :
                    :::
                    package com.gmail.loustak347.common;

                    import net.minecraft.entity.player.EntityPlayer;
                    import net.minecraft.item.ItemStack;
                    import net.minecraft.potion.PotionEffect;
                    import net.minecraft.world.World;

                    public class miningPotion {

                    public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
                    {
                    player.addPotionEffect(new PotionEffect(3, 20, 2));
                    if (!player.capabilities.isCreativeMode)
                    {
                    –stack.stackSize;
                    }
                    return stack;
                    }
                    }
                    :::

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

                      public class miningPotion extends Item {

                      Si je t'ai aidé, n'hésites pas à mettre un point de réputation positif !
                      Si tu m'as aidé, je n'hésiterais pas à t'en donner à mon tour !

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

                        c’est la base ca a tu au moins lu le tuto pour créer un item?

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

                          Merci ça fonctionne normalement, et sinon oui j’avais vu le tuto pour créer un item.

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

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB