Navigation

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    SOLVED Ajouter des particules sur une armure

    1.7.x
    1.7.10
    4
    12
    1440
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Izuka_
      Izuka_ last edited by

      Bonjour,

      J’ai récemment entré dans le développement d’un serveur pvp faction modée

      puis, ils m’ont demandé de mettre des particules genre

      Vous voyez les particules que génère l’enderchest autour de lui ?
      Ils voudraient pareil mais sauf que c’est sur l’armure

      Comment faire ?

      package com.mod.zarbium.items;
      
      import com.mod.zarbium.init.ItemMod;
      import com.mod.zarbium.proxy.Reference;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.ItemArmor;
      import net.minecraft.item.ItemStack;
      import net.minecraft.potion.Potion;
      import net.minecraft.potion.PotionEffect;
      import net.minecraft.world.World;
      
      public class ItemArmorZarbium extends ItemArmor {
      
      public ItemArmorZarbium(ArmorMaterial material, int metaData) 
      {
      super(material, 0, metaData);
      }
      public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
      {
      if(stack.getItem() == ItemMod.zarbium_leggings)
      {
      return Reference.MOD_ID + ":textures/models/armor/zarbium_layer_2.png";
      }
      else if(stack.getItem() == ItemMod.zarbium_helmet || stack.getItem() == ItemMod.zarbium_chestplate || stack.getItem() == ItemMod.zarbium_boots);
      {
      return Reference.MOD_ID + ":textures/models/armor/zarbium_layer_1.png";
      }
      }
      
          public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
          {
              if(this == ItemMod.zarbium_chestplate){
                  player.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), 660, 0));
              }
              if(this == ItemMod.zarbium_leggings){
                  player.addPotionEffect(new PotionEffect(Potion.resistance.getId(), 660, 0));
              }
              if(this == ItemMod.zarbium_boots){
                  player.addPotionEffect(new PotionEffect(Potion.jump.getId(), 660, 0));
              }
              if(this == ItemMod.zarbium_helmet)
              {
                  player.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 660, 0));
              }
      
          }
      
      }
      
      
      1 Reply Last reply Reply Quote 0
      • SpyMan
        SpyMan last edited by

        Yo, avec l’event TickEvent.PlayerTickEvent tu peut faire en sorte que si le joueur a l’armure d’équipé alors tu fait un event.player.world.spawnParticle il me semble

        1 Reply Last reply Reply Quote 0
        • Izuka_
          Izuka_ last edited by

          C’est à dire? Tu peux me donné un exemple ?

          1 Reply Last reply Reply Quote 0
          • SpyMan
            SpyMan last edited by

            Tu sais utiliser les events ? ou pas

            1- Creer une class “PlayerEventHandler” dans la class tu met ca :

            
            @SubscribeEvent
            public void onTickEvent(TickEvent.PlayerTickEvent event)
            {
                 // et la tu verif si me joueur a l'armure d'aquip si oui alors
                 event.player.world.spawnParticle(…);
            }
            
            

            2- dans ta class principale -> method preinit tu rajoute MinecraftForge.EVENT_BUS.register(new PlayerEventHandler());

            si tu comprend pas viens sur le discord du forum et je t’expliquerai https://discordapp.com/invite/0uXCYNHVWGM8sAYS

            1 Reply Last reply Reply Quote 0
            • Deleted
              Deleted last edited by

              Sinon y’a une méthode tickée pour les ItemArmor.

              1 Reply Last reply Reply Quote 0
              • SpyMan
                SpyMan last edited by

                srx ? je savais pas je connaissais larmortick mais pas ca

                1 Reply Last reply Reply Quote 0
                • Izuka_
                  Izuka_ last edited by

                  SpyMan , je débute dans le Forge donc oui j’sais pas utilisé les évents


                  J’ai essayé mais ça fais une erreur ça me dit de remplacer world par woldObj

                  package com.mod.zarbium;
                  
                  import cpw.mods.fml.common.eventhandler.SubscribeEvent;
                  import cpw.mods.fml.common.gameevent.TickEvent;
                  
                  public class PlayerEventHandler
                  {
                  @SubscribeEvent
                  public void OnTickEvent(TickEvent.PlayerTickEvent event)
                  {
                  event.player.world.spawnParticle();
                  }
                  }
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • SpyMan
                    SpyMan last edited by

                    remplace cest normal je connais pas les nom exact des variables du moment que c’est un type World

                    1 Reply Last reply Reply Quote 0
                    • Gabs
                      Gabs last edited by

                      ça serrai pas plus simple de le faire dans le onArmorTick?

                      1 Reply Last reply Reply Quote 0
                      • SpyMan
                        SpyMan last edited by

                        ouai mais pour les particule elle vont par rester tout le temps que le joueur porte l’armure car onArmorTick est appeler uniquement quand le joueur equip larmor et plus apres 
                        edit : en fait j’ai un doute

                        1 Reply Last reply Reply Quote 0
                        • Gabs
                          Gabs last edited by

                          Si je me souviens bien onArmorTick est appeler tant que tu portes l’armure au pire fais un println tu verras bien ^^

                          1 Reply Last reply Reply Quote 0
                          • SpyMan
                            SpyMan last edited by

                            gg bien vu j’ai confondu avec autre chose honte a moi

                            ducoup dans ta method onArmortick rajoute
                            world.spawnParticle(…);

                            
                            public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack)
                            
                            {
                            
                            if(this == ItemMod.zarbium_chestplate){
                            
                            world.spawnParticle(...);
                            player.addPotionEffect(new PotionEffect(Potion.fireResistance.getId(), 660, 0));
                            
                            }
                            
                            if(this == ItemMod.zarbium_leggings){
                            
                            world.spawnParticle(...);
                            player.addPotionEffect(new PotionEffect(Potion.resistance.getId(), 660, 0));
                            
                            }
                            
                            if(this == ItemMod.zarbium_boots){
                            
                            world.spawnParticle(...);
                            player.addPotionEffect(new PotionEffect(Potion.jump.getId(), 660, 0));
                            
                            }
                            
                            if(this == ItemMod.zarbium_helmet)
                            
                            {
                            
                            player.addPotionEffect(new PotionEffect(Potion.nightVision.getId(), 660, 0));
                            world.spawnParticle(...);
                            
                            }
                            }
                            
                            
                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post
                            Design by Woryk
                            Contact / Mentions Légales / Faire un don

                            MINECRAFT FORGE FRANCE © 2018

                            Powered by NodeBB