Comment changer le temps de croissance d'un baby mob



  • Bonjour j'aimerai savoir comment je peut faire pour modifier le temps de croissance d'un baby mob (le rendre plus long) et a vrai dire j'aimerai faire sa pour les pousses d'arbre, le blé etc… Je crée un mod ultra réaliste ou on pourra même avoir un travail d'ou le métiers d'agriculteur et donc l’élevage et les plantations.



  • tonEntity.age = 1000; ou tonEntity.setAge(1000)
    Je n'ai pas vérifier, à confirmer. Je te dirai le nom exact des fields / methods ce mercreedi 🙂



  • @'Plaigon':

    tonEntity.age = 1000; ou tonEntity.setAge(1000)
    Je n'ai pas vérifier, à confirmer. Je te dirai le nom exact des fields / methods ce mercreedi 🙂

    Merci de ta réponse, mais j'ai oublier de préciser que c’était pour les mob en vanilla 🙂



  • Et alors ? tant que tu as accès au mob voulut, tu as accès à cette fonction



  • @'SCAREX':

    Et alors ? tant que tu as accès au mob voulut, tu as accès à cette fonction

    Tu aurais un exemple de comment faire stp ?



  • Le problème c'est que ça dépend de ton mod, je ne sais pas quand est-ce que tu veux accroître l'age de l'animal, tout dépend de ce que tu veux faire



  • [RÉSOLUT] en fait c'est bon j'ai trouvé : j'ai désactiver les mobs vanilla avec un EntityJoinWorldHandler et ensuite j'ai recréer les mobs a l'identique et pour pouvoir configurer j'ai recréer de nouvelles classes en l'occurance les classes : -EntityAnimal –> renommer chez moi EntityNewAnimal
                                                                        -EntityAgeable --> EntityNewAgeable
                                                                        -EntityAIMate --> EntityNewAIMate

    les trois contiennent le .setGrowingAge(-24000) que j'ai remplacer par l'integer voulu rapport au nombre jour/tick  que je voulais.
    le + c'est que je peut tout modifier maintenant sur des mob qui sont exactement comme les vanilla  (peut être des pb de compatibilité avec d'autre mods je l'avoue)

    merci quand même à Plaigon et Scarex pour leurs réponses


  • Administrateurs

    Juste ça ne suffit pas ?

    @SubscribeEvent
    public void onEntityJoinWorld(EntityJoinWorldEvent event)
    {
    if(event.entity instanceof EntityAgeable)
    {
    EntityAgeable ageable = (EntityAgeable)event.entity;
    ageable.setGrowingAge(-24000);
    }
    }
    


  • @'robin4002':

    Juste ça ne suffit pas ?

       @SubscribeEvent
       public void onEntityJoinWorld(EntityJoinWorldEvent event)
       {
           if(event.entity instanceof EntityAgeable)
           {
               EntityAgeable ageable = (EntityAgeable)event.entity;
               ageable.setGrowingAge(-24000);
           }
       }
    

    Oue si sa marche, je l'avais fait mais javais extends EntityAgeable ma class du coup ereur :s

    merci robin si ta la même choses pour les plantes hesite pas 😉


  • Administrateurs

    Les plantes ça va être difficile 😕



  • 2 solutions possibles :

    1. lorsqu'un joueur pose une plante, tu te sers de l event pour la retirer et mettre la tienne a la place (texture identique) afin de pouvoir y changer ce que tu veux dedans.
    2. tu te sers de l'ASM et des Class Transformer pour changer les valeurs que tu souhaites dans les classes de plantes qui t'intéresses 😃


  • Ou tu utilises l'api utilisée pour la bonemeal



  • Merci les gars j'essai tous sa et je vous tien au courant 🙂