MFF

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

    Mob custom qui meurt en spawnant

    Planifier Épinglé Verrouillé Déplacé Résolu Anciennes versions
    1.6.x
    16 Messages 5 Publieurs 5.2k 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.
    • A Hors-ligne
      Aerath
      dernière édition par

      Je prépare d’autres mobs donc je vais ajouter deux constructeurs à cette classe qui permettront de faire :
      … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D, “Aerath44”);
      ou
      … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D);

      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

        ça ne serait pas ça :

        public EnumCreatureAttribute getCreatureAttribute()
        {
        return EnumCreatureAttribute.UNDEFINED;
        }
        

        Qui cause problème ?

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

          Ah effectivement… Mais non. J’ai essayé d’enlever toute la fonction, ça n’a rien changé. J’ai changé à UNDEAD, rien non plus.
          Comme il n’y a pas d’attribut autre que UNDEAD et ARTHROPOD, j’ai supposé qu’il fallait UNDEFINED pour avoir ni l’un ni l’autre.

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

            PS : lorsque j’enlève la ligne ```java
            this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setAttribute(maxHealt​h);

            De plus si je quitte le monde avec ces mobs, puis que je remet cette ligne le problème revient mais les mobs existants restent.
            1 réponse Dernière réponse Répondre Citer 0
            • ZakZ Hors-ligne
              Zak
              dernière édition par

              C’est bizarre… Fait des System.out.println(maxHealth); un peu partout. Si ton entité meurt en spawnant c’est que max Health est égal à 0. Comment tu as enregistré ton entité ?

              1 réponse Dernière réponse Répondre Citer 0
              • elias54E Hors-ligne
                elias54 Administrateurs
                dernière édition par

                @‘Aerath’:

                Je prépare d’autres mobs donc je vais ajouter deux constructeurs à cette classe qui permettront de faire :
                … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D, “Aerath44”);
                ou
                … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D);

                Sauf que ce n’est pas possible.

                Mon site | GitHub

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

                  Et pourquoi ? Bien entendu, je dois les enregistrer une par une mais à par ça je vois pas le problème.

                  Zak : depuis la fonction Init : j’appelle la fonction suivante placée dans mon proxy commun :

                  public void registerEntities()
                  {
                  EntityRegistry.registerGlobalEntityID(CustomMob.class, "template_Mob", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
                  EntityRegistry.registerModEntity(CustomMob.class, "template_mob", 420, Sanctumine.instance, 40, 1, true);
                  }
                  

                  Quand à l’idée de logger la vie, ça n’as rien donné :
                  System.out.println(this.getMaxHealth() + “nom pour se repérer”);
                  me retourne 0.0 que ce soit dans le constructeur ou dans applyEntityAttributes().

                  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

                    Heu 420 ça m’a pas l’air bon, essaye avec une autre id plus faible ( < 255)

                    1 réponse Dernière réponse Répondre Citer 0
                    • elias54E Hors-ligne
                      elias54 Administrateurs
                      dernière édition par

                      Les ID des mobs apparemment je viens de vérifier : pas de limite…
                      Mais en ce qui concerne tes fields dans ta classe, ils retournent bien 0.0D … le système d’Attributes de mojang ne semble pas aimer.

                      Mon site | GitHub

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

                        Elias pourrait-tu m’expliquer en quoi le fait d’utiliser des fields et/ou un constructeur comme je l’ai suggéré poserait problème ? J’ai dû passer à coté d’un truc important ^^’

                        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

                          Ah en effet, elias a raison. Tu pourra jamais faire ça :
                          @‘Aerath’:

                          Je prépare d’autres mobs donc je vais ajouter deux constructeurs à cette classe qui permettront de faire :
                          … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D, “Aerath44”);
                          ou
                          … = new CustomMob(world, 0.7D, 1.0D, 1.0D, 20.0D);

                          Pour la simple est bonne raison que dans ton code, tu n’aura jamais à spécifier le constructeur du mob. Pour le faire spawner (que ce soit via un œuf ou le spawn naturel) minecraft utilise le constructeur qui contient juste word, donc tes variables n’auront pas la bonne valeur ce qui explique les problèmes rencontrés.

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

                            Je vois… Dommage. Je teste ça dès que possible.


                            Effectivement, l’utilisation de fields dans les fonctions .setAttribute() ne fonctionne pas… Comme ne cessait de me le répéter Elias >_<
                            Merci pour votre patience à tous 🙂

                            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