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

      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