• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Résolu Création d'une entité (mob passif)

    1.12.x
    1.12.2
    2
    3
    592
    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.
    • B
      Bobaboum dernière édition par Superloup10

      Bonjour la communauté !

      Etant nouveau sur le forum et sur Forge, je me tourne vers vous pour m’aider à résoudre un soucis.

      En effet depuis 2 jours j’essaye de créer un mob passif. Pour le moment je tente un cochon personnalisé. Mais en suivant le tuto robin4002 je n’arrive pas à en venir à bout (dispo ici : https://www.minecraftforgefrance.fr/topic/574/créer-un-mob-basique)

      Je vais tout d’abord vous donner les informations nécessaire :
      Forge: forge-1.12.2-14.23.4.2739
      Minecraft: 1.12.2
      IDE: IntelliJ

      La classe EntityPiggy (aucun soucis) :

      public class EntityPiggy extends EntityMob {
      
          public EntityPiggy(World world)
          {
              super(world);
          }
      
          public void applyEntityAttributes()
          {
              super.applyEntityAttributes();
      
              this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(20D);
          }
      
      
      }
      

      La classe RenderPrimitif (Pas d’erreur mais la variable texture je sais pas où on l’utilise) :

      public class RenderPrimitif extends RenderBiped {
      
          public final ResourceLocation texture = new ResourceLocation(ModPrimitif.MODID, "textures/entity/piggy.png");
      
          public RenderPrimitif(RenderManager render, ModelBiped model, float shadow) {
              super(render, model, shadow);
          }
      
          protected ResourceLocation getEntityTexture(EntityLiving living)
          {
              return this.getMobTexture((EntityPiggy)living);
          }
      
          private ResourceLocation getMobTexture(EntityPiggy mobPiggy)
          {
              return texture;
          }
      }
      

      La classe principale (j’ai mis seulement la fonction init, en commentaire les problème perçu) :

      // 2eme : Charge les recettes, les events, les rendus ...
          @Mod.EventHandler
          public void init(FMLInitializationEvent e)
          {
              proxy.registerRender();
              
              // Erreur sur registerGlobalEntityID qui n'existe pas 
              EntityRegistry.registerGlobalEntityID(EntityMobTutoriel.class, "mobTutoriel", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 0, 255).getRGB(), new Color(255, 0, 0).getRGB());
              // De base il y avait un soucis mais je pense l'avoir corrigé
              EntityRegistry.registerModEntity(new ResourceLocation(ModPrimitif.MODID, "entitypiggy"), EntityPiggy.class, "mobPiggy", 420, this.instance, 40, 2, true);
          }
      

      Et enfin le client proxy :

      public class ClientProxy extends CommonProxy {
      
          @Override
          public void registerRender()
          {
              System.out.println("méthode coté Client");
              // Le soucis est lié au constructeur RenderPrimitif qui possède 3 paramètres mais le premier je ne sais pas à quoi il sert, et si je l'enlève comme dans le tuto j'ai une erreur
              RenderingRegistry.registerEntityRenderingHandler(EntityPiggy.class, new RenderPrimitif(new ModelBiped(), 0.5F));
          }
      }
      
      

      J’espère que vous pourrez m’aider et je remercie d’avance tous ceux qui se pencherons dessus.
      Je le rappel je suis débutant sur forge, le java je maîtrise 😉

      Cordialement,

      1 réponse Dernière réponse Répondre Citer 0
      • LeBossMax2
        LeBossMax2 dernière édition par

        Bonjour,
        Dans la fonction init, tu n’as plus besoin d’utiliser registerGlobalEntityID. Si tu veux ajouter un œuf de spawn pour ton entity, il y a la méthode EntityRegistry.registerEgg ou alors, tu peux utiliser la deuxième version de registerModEntity qui prends les couleurs de l’œuf en paramètres.
        Pour le rendu, il faut utiliser un IRenderFactory qui permet d’accéder à un RenderManager pour construire le Render.

        1 réponse Dernière réponse Répondre Citer 0
        • B
          Bobaboum dernière édition par Bobaboum

          Ah super merci, j’avance ! c’est plutôt cool.
          J’attends de complètement terminer l’entité pour mettre en résolu 🙂

          1 réponse Dernière réponse Répondre Citer 0
          • 1 / 1
          • Premier message
            Dernier message
          Design by Woryk
          Contact / Mentions Légales

          MINECRAFT FORGE FRANCE © 2018

          Powered by NodeBB