MFF

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

    Créer un mob basique

    Planifier Épinglé Verrouillé Déplacé Les entités
    1.7.x
    187 Messages 47 Publieurs 80.6k Vues 6 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.
    • jimkick3vJ Hors-ligne
      jimkick3v
      dernière édition par

      @‘elias54’:

      Ton mob extend à quoi jimkick3v

      Il extends EntityMob, ce qui d’ailleurs est peut-être le problème après réflexion… Sauf que dans le code j’ai pas trouvé EntityCreature ou EntityPassive…

      #Merci pour l'aide !(Merci pour l'aide !)

      Jimkick3v :D

      Ma chaîne Youtube : http://youtube.com/user/Jimkick3v

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

        public Entity getEntityToAttack()
        {
        return null;
        }
        

        Il existe aussi la fonction pour que le mob target une cible :

        public void setTarget(Entity par1Entity){ }
        
        1 réponse Dernière réponse Répondre Citer 0
        • jimkick3vJ Hors-ligne
          jimkick3v
          dernière édition par

          @‘Patatoufet’:

          public Entity getEntityToAttack()
          {
          return null;
          }
          

          Il existe aussi la fonction pour que le mob target une cible :

          public void setTarget(Entity par1Entity){ }
          

          Merci à tous pour l’aide mais j’ai trouvé la solution ! Merci elias pour m’avoir ouvert l’oeil ! Suffisait de faire extends EntityCreature, de l’importer, et d’enlever les 2 lignes suivantes :

          this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(6D);
          this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValu?e(1D);

          Pour la simple et bonne raison qu’elles ne sont pas utiles à une entité qui n’attaque pas 😉
          J’ai fait le test sans les enlever, et le mob ne voulait pas spawner, donc enlever ces 2 lignes était primordial…
          Quoique après réflexion, peut-être que la ligne qui set le knockback resistance peut rester, des tests seraient à faire…

          Merci à tous !
          N.B. Si quelqu’un a la solution pour le faire apparaître dans un biome spécifique, j’apprécierais 🙂 J’ai regardé dans le code EntityHorse, puisque en théorie il n’apparaissent que dans les plaines, mais j’ai pas trouvé…

          #Merci pour l'aide !(Merci pour l'aide !)

          Jimkick3v :D

          Ma chaîne Youtube : http://youtube.com/user/Jimkick3v

          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

            EntityRegistry.addSpawn(entityClass, weightedProb, min, max, typeOfCreature, biomes);

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

              @‘jimkick3v’:

              J’ai regardé dans le code EntityHorse, puisque en théorie il n’apparaissent que dans les plaines, mais j’ai pas trouvé…

              M’étonnerait qu’ils aient un biome spécifique… Je viens d’aller en solo et ils spawn par groupe en plein désert… ^^

              Mon site | GitHub

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

                Bonjour.
                Tout d’abord, merci pour ce tutoriel. J’aurais une ou deux questions basiques.
                Je chercher un moyen de contrôler le nombre de drops du monstre… pour avoir une valeur fixe (et non pas seulement entre 0 et 2 comme semble fonctionner la fonction getDropItem() ). J’ai regardé du coté de dropFewItems, mais je n’ai abouti à rien et tenté de rajouter ceci dans la classe de mon mob au niveau du constructeur :

                this.dropItem(monmod.monobjet, 5);
                

                Mais cela ne change absolument rien… J’obtiens toujours une valeur aléatoire inférieure à ce nombre.
                Faut-il jouer avec l’event onLivingDrops de Forge ?
                Et une autre petite question, est-il possible de faire dropper deux items différents à un même mob ?

                Merci pour le coup de main !

                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

                  Dans la classe de ton entité, ajoute :

                  public void dropFewItems(boolean b, int looting)
                  {
                  this.dropItem(ClassePrincipale.item, quantity);
                  }
                  
                  public void dropFewItems(boolean b, int looting)
                  {
                  this.dropItem(ClassePrincipale.item, quantity);
                  this.dropItem(ClassePrincipale.item2, quantity);
                  this.dropItem(ClassePrincipale.item3, quantity);
                  }
                  

                  Pour plusieurs items. (et this.dropItem(Item.getItemFromBlock(ClassePrincipale.bloc), quantity); pour un bloc)

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

                    Arf… j’avais les deux bonnes pistes mais pas agencées comme il faut. Merci, ça fonctionne nickel !

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

                      Question ici aussi… Est-il possible que la vitesse d’un monstre diffère selon le monde ?
                      Je m’explique.
                      Je me suis créer un serveur test en créatif. Et tout d’un coup, la vitesse du mob que j’ai créer à diminuer à un lancement (elle est passée à 0.10000000149011612 quand je lui fais écrire) mais je n’avais fait aucune modif dans le code… Comme je n’avais pas précisé la vitesse du monstre pour la laisser de base, j’ai essayé de la remettre, mais même résultat…
                      Du coup je me suis fait un autre monde en créa et là le mob marche nickel, la vitesse et nickel même si je ne la précise pas. Et avec un code identique.
                      Est-ce que ça vient simplement de mon pc qui lag sur un monde (je code avec un pc portable par forcément très puissant) ? Ou alors d’un autre truc que je ne contrôle pas ?

                      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 vient des attributs des mobs. Je sais pas trop comment expliquer ça, je vais prendre comme exemple la vie. Il y a un attribut pour la vie maximum et la vie réel du mob. Ces deux valeurs sont enregistrés dans le tag nbt du mob. Donc si dans le code tu change l’attribut de la vie, (que tu mets plus par exemple) une fois que tu ira en jeu, si tu recharge un monde ou tu avais déjà fait spawner un mob, ça vie sera comme avant car il va prendre la vie maximum qui se trouve dans son attribue de la vie maximum. Par contre si tu en fais spawner un nouveau, lui aura la nouvelle valeur.
                        C’est la même chose pour la vitesse.

                        Donc si tu veux faire une vitesse maximum en fonction du monde, il suffit de changer l’attribut de la vitesse en fonction de :
                        this.worldObj.provider.dimensionId
                        Cette int te donne l’id du monde.
                        Normalement ça devrait fonctionner, par contre si un mob travers le portail, ça vitesse ne changera pas, il gardera celle qu’il avait dans le monde où il a spawner. Si tu veux changer ça, il faudrait changer son attribut de la vitesse dans la fonction onLivingUpdate (ou un truc comme ça, je ne connais pas par cœurs les fonctions des mobs).

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

                          Bah en fait à la base je cherchais pas du tout à faire des valeurs différentes, j’ai créer un autre monde pour voir si c’était le mob ou si c’était le monde.

                          Je me demandait juste pourquoi, dans un même monde, la vitesse de mon monstre a changer entre deux démarrage. Sachant que sans rien modifier, maintenant, il a retrouvé la vitesse “par défaut” d’un mob… Je me dis que c’était peut-être du à un lag pour tel ou telle raison sur le serveur local de ce monde, bref. C’est un phénomène qui ne m’étais encore jamais arrivé.

                          Merci pour les explications en tout cas !

                          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

                            Surement un lag oui, regarde avec la commande /forge tps.
                            Si tu as 20, c’est bon, sinon c’est que ça lag.

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

                              alors voila super tuto mais il m’est apparue un probleme avec les couleurs des oeufs ils me mettent que je deoit rajouter un float pour les couleurs et quèant je le fais c est le point .getRGB() qui ne marche pas
                              ouvez vous m aider svp

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

                                Tu peux nous donner l’import que tu as utilisé pour Color.

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

                                  oui c est : import com.sun.prism.paint.Color;

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

                                    Voilà pourquoi cela ne fonctionne pas. Change l’import par Java.util.quelquechose.Color.

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

                                      voila j ai trouver pour importer mais ca ne marche toujours pas voici mes class:
                                      1er la class principal
                                      2eme la classe Render
                                      3eme la class du mob
                                      4eme la classe Clientproxy

                                      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

                                        Classe principale il te manque proxy.registerRender(); dans la fonction init.
                                        Et tu as des { } qui ne servent à rien dans la fonction init.

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

                                          nn meme en rajout


                                          ant le proxy.registerRender(); ca ne marche pas ca me dit qu il y a une erreur dans le pre-init:

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

                                            Tu peux donner le crash complet parce que les caractéristiques de ton pc ne vont pas nous aider.

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 4
                                            • 5
                                            • 9
                                            • 10
                                            • 1 / 10
                                            • Premier message
                                              Dernier message
                                            Design by Woryk
                                            ContactMentions Légales

                                            MINECRAFT FORGE FRANCE © 2024

                                            Powered by NodeBB