MFF

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

    Mob qui disparait

    Planifier Épinglé Verrouillé Déplacé Non résolu Sans suite
    1.7.10
    11 Messages 4 Publieurs 1.0k Vues 3 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.
    • D Hors-ligne
      Drastic
      dernière édition par

      Bonjour, je voudrais faire en sorte que mon mob disparraisse (2sec) quand il attaque un joueur. comment faire

      package com.extremium.mod.entity;
      
      import java.util.Random;
      
      import com.extremium.mod.Extremium;
      import com.extremium.mod.init.BlockMod;
      import com.extremium.mod.init.ItemMod;
      
      import cpw.mods.fml.common.registry.EntityRegistry;
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EnumCreatureType;
      import net.minecraft.entity.SharedMonsterAttributes;
      import net.minecraft.entity.ai.EntityAIAttackOnCollide;
      import net.minecraft.entity.ai.EntityAIHurtByTarget;
      import net.minecraft.entity.ai.EntityAILookIdle;
      import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
      import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
      import net.minecraft.entity.ai.EntityAINearestAttackableTarget;
      import net.minecraft.entity.ai.EntityAISwimming;
      import net.minecraft.entity.ai.EntityAIWander;
      import net.minecraft.entity.ai.EntityAIWatchClosest;
      import net.minecraft.entity.monster.EntityMob;
      import net.minecraft.entity.passive.EntityVillager;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.init.Items;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      import net.minecraft.world.biome.BiomeGenBase;
      import net.minecraftforge.common.ForgeModContainer;
      
      public class EntityGaster extends EntityMob
      {
      
          public EntityGaster(World world)
          {
              super(world);
              this.getNavigator().setBreakDoors(true);
              this.tasks.addTask(0, new EntityAISwimming(this));
              this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 5.0D, false));
              this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
              this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 64.0F));
              this.tasks.addTask(8, new EntityAILookIdle(this));
              this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
              this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));
              this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, 0, false));
              this.setSize(0.6F, 1.8F);
          }
         
          
          protected void applyEntityAttributes()
          {
              super.applyEntityAttributes();
              this.getEntityAttribute(SharedMonsterAttributes.followRange).setBaseValue(80.0D);
              this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(24.0D);
              this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(91.0D);
              this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(650.0D);
              this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0.1);
          }
      
          
      
          public Item getItemDropped(int metadata, Random random, int fortune)
          {
              return null;
          }
          
          public Item getDropItem()
          {
              return Item.getItemFromBlock(BlockMod.pillar);
              
           
              
       
          }
      }
      
      
      1 réponse Dernière réponse Répondre Citer 0
      • FolganskyF Hors-ligne
        Folgansky Correcteurs
        dernière édition par

        Disparaître ou rendre invisible?

        Si c’est faire disparaître j’aurais une approche de bourrin, je sais pas si c’est une bonne façon de faire mais tu peux faire un event qui kill ton mob puis en fait apparaître un nouveau 2secs plus tard avec les mêmes stats que le mob précédent au moment de la frappe.

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

          non, le rendre invisible
          merci

          1 réponse Dernière réponse Répondre Citer 0
          • Superloup10S Hors-ligne
            Superloup10 Modérateurs
            dernière édition par

            Tu as 2 solutions possibles :

            • Solution “complexe”, il suffit de ne pas lui faire de rendu quand il attaque un joueur.
            • Solution simple, il suffit de lui donner l’effet d’invisiblité.

            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
            • D Hors-ligne
              Drastic
              dernière édition par

              je choisit la simple xD
              quel est levent a mettre (du genre onitemrightclick) ?

              1 réponse Dernière réponse Répondre Citer 0
              • Superloup10S Hors-ligne
                Superloup10 Modérateurs
                dernière édition par

                Dans ton cas, il n’y a pas d’event à gérer, tout se fait dans la classe de ton entité.

                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
                • D Hors-ligne
                  Drastic
                  dernière édition par

                  oui mais comment faire ?

                  1 réponse Dernière réponse Répondre Citer 0
                  • Superloup10S Hors-ligne
                    Superloup10 Modérateurs
                    dernière édition par

                    Bah, cherche dans les entités vanilla pour savoir comment faire et ensuite, fais des essais par toi-même.

                    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
                    • robin4002R Hors-ligne
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                      dernière édition par

                      Bonsoir,

                      Il me semble que la méthode setInvisible est disponible dans toutes les entités vivantes

                      1 réponse Dernière réponse Répondre Citer 2
                      • D Hors-ligne
                        Drastic
                        dernière édition par

                        ok mais la je veut juste savoir comment faire pour que quand le mob tape, il a leffet d’invisibilité
                        merci 🙂

                        1 réponse Dernière réponse Répondre Citer -1
                        • robin4002R Hors-ligne
                          robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                          dernière édition par robin4002

                          Alors je ne sais pas si elle existait déjà en 1.7.10 (surement que oui, ou sous un autre nom), mais il y a la méthode attackEntityFrom dans la classe EntityLivingBase en 1.12.2 :

                          @Override
                          public boolean attackEntityFrom(DamageSource source, float amount) {
                               super.attackEntityFrom(source, amount);
                               // ton action ici
                          }
                          
                          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