MFF

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

    Créer des effets de potions

    Planifier Épinglé Verrouillé Déplacé Autres
    1.7.x
    36 Messages 11 Publieurs 16.1k Vues 4 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.
    • sosohS Hors-ligne
      sosoh
      dernière édition par

      J’ai mis le code, suivis le tuto sur les events mais je ne sais pas par quoi remplacer 
      :::
      [size=xx-smallBOTIEffect][size=xx-small.][size=xx-smallsuperPowersFlash]
      :::

      J’ai remplacer BOTIEffect par SomniferePotionEffect, mais pour le superPowersFlash je ne sais pas quoi mettre car sinon ca fais une erreur…

      Et la j’ai pas besoin d’attendre 24h pour répondre non ? Car tu as mis un message toi non?

      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

      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

        Oui, 24h entre deux posts de la même personne, dans l’autre cas il suffit d’éditer le message …
        C’est presque la même règle sur tous les forums, ça évite le spam.

        Logiquement tu mets ClassOuSeTrouveLaDeclarationDeLaPotion.nomDuField
        ça c’est la base en Java, il faut l’apprendre (il y a un bon tutoriel sur OpenClassRoom) sinon tu n’arrivera à rien.

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

          Je vais suivre ce tuto des que je peux 😉 Mais OpenClassRoom c’est le site du zero non ?

          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

          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

            Oui. Ils ont changés de nom depuis un bon moment.

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

              Alors j’ai suivis vos conseils à la lettre mais ca n’a aucun effet (j’ai bien l’effet mais lui n’en a aucun, je sais ma phrase est bizzard… un effet sans effet)

              Mes codes:
              :::

              package com.harrypotter.sosoh.common;
              
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraftforge.event.entity.living.LivingEvent;
              import cpw.mods.fml.common.eventhandler.SubscribeEvent;
              
              public class EventHandler {
              
                   @SubscribeEvent   
                    public void LivingEvent(LivingEvent event){
              
                  if(event.entityLiving instanceof EntityPlayer)
                  {
                  if (event.entityLiving.isPotionActive(SomniferePotionEffect.somniferePotionEffect)){
              
                       if (event.entityLiving.getActivePotionEffect(SomniferePotionEffect.somniferePotionEffect).getDuration() == 0){
              
                       event.entityLiving.removePotionEffect(SomniferePotionEffect.somniferePotionEffect.id);
                       return;
                    }
              
                      if (event.entityLiving.worldObj.isRemote){
              
                      if(event.entityLiving.onGround){
              
                      event.entityLiving.motionX *= 5.0F;
                      event.entityLiving.motionZ *= 5.0F;
              
                     }
                   }
                  }
                    }
                 }
              }
              
              package com.harrypotter.sosoh.common;
              
              import java.awt.Color;
              
              import cpw.mods.fml.common.gameevent.TickEvent;
              import cpw.mods.fml.common.gameevent.TickEvent.Phase;
              import cpw.mods.fml.common.gameevent.TickEvent.Type;
              import cpw.mods.fml.relauncher.Side;
              import net.minecraft.entity.EntityLivingBase;
              import net.minecraft.entity.player.EntityPlayer;
              import net.minecraft.entity.player.EntityPlayerMP;
              import net.minecraft.potion.Potion;
              
              public class SomniferePotionEffect extends Potion{
              
              public static SomniferePotionEffect somniferePotionEffect;
              public static int SomniferePotionEffectID;
              
              protected SomniferePotionEffect(int id, boolean isBadEffectOrNot, int color, String name) {
              super(id, isBadEffectOrNot, color);
              this.setPotionName("potion." + name);
              
              }
              @Override
              public SomniferePotionEffect setIconIndex(int x, int y) 
              {
                super.setIconIndex(x, y);
                return this;
              }
              
              public static void loadEffects()
              {
              somniferePotionEffect = new SomniferePotionEffect(SomniferePotionEffectID, true, Color.LIGHT_GRAY.getRGB(), "somniferePotionEffect").setIconIndex(4, 1);
              }
              
              public static void register() 
              {
              SomniferePotionEffect.potionTypes[somniferePotionEffect.getId()] = somniferePotionEffect;
              }
              
              }
              
              package com.harrypotter.sosoh.common;
              
              import com.harrypotter.sosoh.common.blocks.BlockChaudron;
              import com.harrypotter.sosoh.common.blocks.TileEntityChaudron;
              import com.harrypotter.sosoh.common.creativetabs.CreativeTabsHPB;
              import com.harrypotter.sosoh.common.creativetabs.CreativeTabsHPF;
              import com.harrypotter.sosoh.common.creativetabs.CreativeTabsHPP;
              import com.harrypotter.sosoh.common.items.ItemBaguette1;
              import com.harrypotter.sosoh.common.items.ItemBaguette2;
              import com.harrypotter.sosoh.common.items.ItemBaguette3;
              import com.harrypotter.sosoh.common.items.ItemBiere;
              import com.harrypotter.sosoh.common.items.ItemChocogrenouille;
              import com.harrypotter.sosoh.common.items.ItemChope;
              import com.harrypotter.sosoh.common.items.ItemDragees;
              import com.harrypotter.sosoh.common.items.ItemJusCitrouille;
              import com.harrypotter.sosoh.common.items.ItemPaquetDragees;
              import com.harrypotter.sosoh.common.items.ItemRhumGroseille;
              import com.harrypotter.sosoh.common.items.ItemSucacide;
              import com.harrypotter.sosoh.common.items.ItemTabletteChocolat;
              import com.harrypotter.sosoh.common.items.ItemVerreVide;
              import com.harrypotter.sosoh.common.items.ItemVinOrtie;
              import com.harrypotter.sosoh.common.items.ItemVinSureau;
              import com.harrypotter.sosoh.proxy.CommonProxy;
              
              import net.minecraft.block.Block;
              import net.minecraft.block.material.Material;
              import net.minecraft.creativetab.CreativeTabs;
              import net.minecraft.enchantment.Enchantment;
              import net.minecraft.item.Item;
              import net.minecraft.potion.Potion;
              import net.minecraftforge.common.MinecraftForge;
              import cpw.mods.fml.common.FMLCommonHandler;
              import cpw.mods.fml.common.Mod;
              import cpw.mods.fml.common.Mod.EventHandler;
              import cpw.mods.fml.common.Mod.Instance;
              import cpw.mods.fml.common.SidedProxy;
              import cpw.mods.fml.common.event.FMLInitializationEvent;
              import cpw.mods.fml.common.event.FMLPostInitializationEvent;
              import cpw.mods.fml.common.event.FMLPreInitializationEvent;
              import cpw.mods.fml.common.registry.GameRegistry;
              
              @Mod(modid = "modharrypotter", name = "Mod Harry Potter", version = "1.0.0")
              
              public class ModHarryPotter{
              
              //Nourritures
              public static Item itemChocogrenouille, itemPaquetDragees, itemDragees, itemSucacide, itemTabletteChocolat, itemVerreVide, itemVinOrtie, itemVinSureau, itemChope, itemBiere, itemRhumGroseille, itemJusCitrouille;
              
              //Baguettes
              public static Item itemBaguette1, itemBaguette2, itemBaguette3;
              
              //Plantes
              
              //Potions
              public static Block blockChaudron;
              public static Item itemPotionTueLoup;
              
              //Creative Tabs
              public static CreativeTabs creativetabsHPF, creativetabsHPB, creativetabsHPP;
              
              //
              
              public static final String MODID = "modharrypotter";
              
              @Instance("modharrypotter")
              public static ModHarryPotter instance;
              
              @SidedProxy(clientSide = "com.harrypotter.sosoh.proxy.ClientProxy", serverSide = "com.harrypotter.sosoh.proxy.CommonProxy")
              public static CommonProxy proxy;
              
              @EventHandler
              public void preInit(FMLPreInitializationEvent event)
              {
              //Creative Tabs
              
              creativetabsHPF = new CreativeTabsHPF("creative_tabs_hpf");
              creativetabsHPB = new CreativeTabsHPB("creative_tabs_hpb");
              creativetabsHPP = new CreativeTabsHPP("creative_tabs_hpp");
              
              //Nourriture
              
              itemChocogrenouille = new ItemChocogrenouille(6,0.5F,false).setUnlocalizedName("chocogrenouille");
              GameRegistry.registerItem(itemChocogrenouille, "item_chocogrenouille", ModHarryPotter.MODID);
              
              itemDragees = new ItemDragees(1,0.4F,false).setUnlocalizedName("dragees");
              GameRegistry.registerItem(itemDragees, "item_dragees", ModHarryPotter.MODID);
              
              itemPaquetDragees = new ItemPaquetDragees().setUnlocalizedName("paquetdragees");
              GameRegistry.registerItem(itemPaquetDragees, "item_paquet_dragees", ModHarryPotter.MODID);
              
              itemSucacide = new ItemSucacide(3, 0.5F, false).setUnlocalizedName("sucacide");
              GameRegistry.registerItem(itemSucacide, "item_sucacide", ModHarryPotter.MODID);
              
              itemTabletteChocolat = new ItemTabletteChocolat(4,1.0F,false).setUnlocalizedName("tablettechocolat");
              GameRegistry.registerItem(itemTabletteChocolat, "item_tablettechocolat", ModHarryPotter.MODID);
              
              itemVerreVide = new ItemVerreVide().setUnlocalizedName("verrevide");
              GameRegistry.registerItem(itemVerreVide, "item_verrevide", ModHarryPotter.MODID);
              
              itemVinOrtie = new ItemVinOrtie(4, 0.6F, false).setUnlocalizedName("vinortie");
              GameRegistry.registerItem(itemVinOrtie, "item_vinortie", ModHarryPotter.MODID);
              
              itemVinSureau = new ItemVinSureau(4, 0.8F, false).setUnlocalizedName("vinsureau");
              GameRegistry.registerItem(itemVinSureau, "item_vinsureau", ModHarryPotter.MODID);
              
              itemBiere = new ItemBiere(6, 0.7F, false).setUnlocalizedName("biere");
              GameRegistry.registerItem(itemBiere, "item_biere", ModHarryPotter.MODID);
              
              itemChope = new ItemChope().setUnlocalizedName("chope");
              GameRegistry.registerItem(itemChope, "item_chope", ModHarryPotter.MODID);
              
              itemRhumGroseille = new ItemRhumGroseille(6, 0.7F, false).setUnlocalizedName("rhumgroseille");
              GameRegistry.registerItem(itemRhumGroseille, "item_rhumgroseille", ModHarryPotter.MODID);
              
              itemJusCitrouille = new ItemJusCitrouille(3, 1.0F, false).setUnlocalizedName("juscitrouille");
              GameRegistry.registerItem(itemJusCitrouille, "item_juscitrouille", ModHarryPotter.MODID);
              
              //Baguettes
              
              itemBaguette1 = new ItemBaguette1().setUnlocalizedName("baguette1");
              GameRegistry.registerItem(itemBaguette1, "item_baguette_1", ModHarryPotter.MODID);
              
              itemBaguette2 = new ItemBaguette2().setUnlocalizedName("baguette2");
              GameRegistry.registerItem(itemBaguette2, "item_baguette_2", ModHarryPotter.MODID);
              
              itemBaguette3 = new ItemBaguette3().setUnlocalizedName("baguette3");
              GameRegistry.registerItem(itemBaguette3, "item_baguette_3", ModHarryPotter.MODID);
              
              //Plantes
              
              //Potions
              
              blockChaudron = new BlockChaudron(Material.iron).setBlockName("chaudron");
              GameRegistry.registerBlock(blockChaudron, "block_chaudron");
              GameRegistry.registerTileEntity(TileEntityChaudron.class, "ModHarryPotter.MODID:BlockChaudron");
              
              SomniferePotionEffect.SomniferePotionEffectID = 30;
              
              }
              
              @EventHandler
              public void init(FMLInitializationEvent event)
              {
              proxy.registerRender();
              
              //Potions
              
              SomniferePotionEffect.loadEffects();
              SomniferePotionEffect.register();
              
              MinecraftForge.EVENT_BUS.register(new com.harrypotter.sosoh.common.EventHandler());
              }
              
              @EventHandler
              public void postInit(FMLPostInitializationEvent event)
              {
              
              }
              }
              

              :::

              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

              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

                Remplace la condition
                        if (event.entityLiving.worldObj.isRemote){
                par l’inverse :
                        if (!event.entityLiving.worldObj.isRemote){

                Voir enlève-la totalement si ce n’est toujours pas bon.

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

                  Je fais ca dessuite et j’edit mon post pour te dire si ça a marcher ! 🙂

                  Edit:Si je remplace ça ne marche pas. Et quand je mets rien ca marche merci !

                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                    Il est fortement pas recommandé d’appeler deux classes avec le même nom EventHandler existe deja change le nkm de la classe et vois si le problème persiste

                    Envoyé depuis mon Android edition by sfr STARADDICT avec Tapatalk

                    Si je t'ai filé un coup de main n'oublie pas le + / -
                    Par contre évite les demandes d'aides en MP, tu sera sympa'

                    La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                    Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                      Et au niveau des amplifier car de 1 on ne le voit pas dans l’inventaire. Et de 2 si j’essaie de faire une condition pour get l’amplifier de ma potion je récolte un magnifique NPE
                      Merci d’avance

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

                        Salut est-il possible de faire un effet de potion que quand tu tombe tu flotte comme l’entity poule 😄

                        Voila ma signature

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

                          Dans LivingUpdateEvent tu check si le block en dessous du joueur est de l’air et si l’effet de potion est actif, alors tu modifies son motionY ou sa vélocité.

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

                            @‘Plaigon’:

                            Dans LivingUpdateEvent tu check si le block en dessous du joueur est de l’air et si l’effet de potion est actif, alors tu modifies son motionY ou sa vélocité.

                            Merci 🙂

                            Voila ma signature

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

                              Ce message a été supprimé !
                              1 réponse Dernière réponse Répondre Citer 0
                              • HeavenH Hors-ligne
                                Heaven
                                dernière édition par Heaven

                                bonjour, je sais j arrive un peut tard mais serait il possible de faire un effet de potion qui fait que tu ne prend pas de dégât de chute ?

                                EDIT:oui mais je ne sais pas comment annuler les dégats de chute

                                AmaA 1 réponse Dernière réponse Répondre Citer 0
                                • AmaA Hors-ligne
                                  Ama @Heaven
                                  dernière édition par

                                  @Heaven Ca existe déjà, c’est la potion Slow Falling.

                                  Sinon, tu crée ton effet de potion et dans l’évent

                                  LivingFallEvent
                                  

                                  Tu annule les dégâts de chutes si la potion est active.

                                  Si je t'ai filé un coup de main n'oublie pas le + / -
                                  Par contre évite les demandes d'aides en MP, tu sera sympa'

                                  La JavaDoc c'est comme le PQ, ça sert à ce démerder tous seul. -Victor Hugo- 2017

                                  Une superbe API pour animer vos super modèles CraftStudio dans Minecraft !

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

                                    oui mais je ne sais malheureusement pas comment désactiver les dégats de chute voici mon code :

                                    
                                    public class EventHandler {
                                    
                                        @SubscribeEvent
                                        public void LivingEvent(LivingEvent event){
                                    
                                            if(event.entityLiving instanceof EntityPlayer)
                                            {
                                                if (event.entityLiving.isPotionActive(CustomPotion.FeatherFoaling)){
                                    
                                                    if (event.entityLiving.getActivePotionEffect(CustomPotion.FeatherFoaling).getDuration() == 0){
                                    
                                                        event.entityLiving.removePotionEffect(CustomPotion.FeatherFoaling.id);
                                                        return;
                                                    }
                                    
                                    
                                    
                                                        if(event.entityLiving.onGround){
                                    
                                                            event.entityLiving.motionX *= 5.0F;
                                                            event.entityLiving.motionZ *= 5.0F;
                                    
                                                        }
                                    
                                                }
                                            }
                                        }
                                    }
                                    
                                    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

                                      Bonjour,
                                      Avec event.setCancel(true); (ça fait partie des méthodes de base des event …).

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

                                        Merci de ta réponse mais ca crash dès que je la met sur mon armure :

                                        public class EventHandler {
                                        
                                            @SubscribeEvent
                                            public void LivingEvent(LivingEvent event){
                                        
                                                if(event.entityLiving instanceof EntityPlayer)
                                                {
                                                    if (event.entityLiving.isPotionActive(CustomPotion.FeatherFoaling)){
                                        
                                                        if (event.entityLiving.getActivePotionEffect(CustomPotion.FeatherFoaling).getDuration() == 0){
                                        
                                                            event.entityLiving.removePotionEffect(CustomPotion.FeatherFoaling.id);
                                                            return;
                                        
                                                        }
                                        
                                        
                                        
                                                            if(event.entityLiving.onGround){
                                                                event.setCanceled(true);
                                        
                                        
                                        
                                                            }
                                        
                                                    }
                                                }
                                            }
                                        }
                                        

                                        Class armure

                                        public class SpaciumArmorMod extends ItemArmor {
                                            public SpaciumArmorMod(ArmorMaterial material, int metaData)
                                            {
                                                super(material, 0, metaData);
                                            }
                                        
                                            public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
                                            {
                                                if(stack.getItem() == SpaciumArmor.Space_Leggings)
                                                {
                                                    return References.MOD_ID + ":textures/models/armor/spacium_layer_2.png";
                                                }
                                        
                                                else if(stack.getItem() == SpaciumArmor.Space_Helmet || stack.getItem() == SpaciumArmor.Space_Chestpalte || stack.getItem() == SpaciumArmor.Space_Boots)
                                                {
                                                    return References.MOD_ID + ":textures/models/armor/spacium_layer_1.png";
                                                }
                                                return null;
                                            }
                                        
                                            public void onArmorTick(World world, EntityPlayer player , ItemStack itemStack){
                                                if(this == SpaciumArmor.Space_Helmet){
                                                    player.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 1000, 4));
                                                    player.addPotionEffect(new PotionEffect(CustomPotion.FeatherFoaling.getId(), 1000, 1));
                                        
                                                }
                                                if(this == SpaciumArmor.Space_Boots){
                                                    player.addPotionEffect(new PotionEffect(Potion.moveSpeed.getId(), 20, 10));
                                                }
                                        
                                                if(this == SpaciumArmor.Space_Chestpalte ){
                                                    player.addPotionEffect(new PotionEffect(Potion.jump.getId(), 20, 5));
                                        
                                        
                                                }
                                        
                                                if(this == SpaciumArmor.Space_Leggings){
                                        
                                        
                                                }
                                        
                                                if (this == SpaciumArmor.Space_Leggings && this == SpaciumArmor.Space_Chestpalte && this == SpaciumArmor.Space_Boots && this == SpaciumArmor.Space_Helmet){
                                                    player.addPotionEffect(new PotionEffect(Potion.invisibility.getId(), 20, 1));
                                                }
                                        
                                        
                                            }
                                        }
                                        
                                        1 réponse Dernière réponse Répondre Citer 0
                                        • 1
                                        • 2
                                        • 2 / 2
                                        • Premier message
                                          Dernier message
                                        Design by Woryk
                                        ContactMentions Légales

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB