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

    Impossible de rendre mon entité

    Sans suite
    1.7.10
    3
    8
    1388
    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.
    • L
      Laserflip33 dernière édition par

      Bonjour, j’ai essayé de faire une entité, tout ce passe, seulement, lorsque j’ai voulu lui appliquer un model Techne, impossible de rendre l’entité en jeu.

      Mon entity :

      public class EntityTest extends EntityMob
      {
          public EntityTest(World world)
          {
              super(world);
          }
      
          public void applyEntityAttributes()
          {
              super.applyEntityAttributes();
              this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1D);
              this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(0D);
              this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0D);
              this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.0D);
          }
      }
      

      Mon Render : (J’ai extends RenderHorse car sinon il y avait des erreurs un peu partout, cette solution avait été donné par Robin ici)

      public class RenderTest extends RenderHorse
      {
          public final ResourceLocation texture = new ResourceLocation(TestMod.MODID, "textures/entity/entity_test.png"); 
      
          public RenderTest(ModelTest model, float shadow)
          {
              super(model, shadow);
          }
      
          protected ResourceLocation getEntityTexture(EntityLiving living)
          {
              return this.getEntityTestTexture((EntityTest)living);
          }
      
          private ResourceLocation getEntityTestTexture(EntityTest entityTest)
          {
              return texture;
          }
      }
      

      Mon Model :

      public class ModelTest extends ModelBase
      {
          // fields
          ModelRenderer Manche;
          ModelRenderer Cube;
          ModelRenderer Paille;
      
          public ModelTest()
          {
              textureWidth = 64;
              textureHeight = 32;
      
              Manche = new ModelRenderer(this, 0, 5);
              Manche.addBox(0F, 0F, 0F, 27, 1, 1);
              Manche.setRotationPoint(-19F, 18F, -1F);
              Manche.setTextureSize(64, 32);
              Manche.mirror = true;
              setRotation(Manche, 0F, 0F, 0F);
              Cube = new ModelRenderer(this, 0, 11);
              Cube.addBox(0F, 0F, 0F, 3, 3, 3);
              Cube.setRotationPoint(8F, 17F, -2F);
              Cube.setTextureSize(64, 32);
              Cube.mirror = true;
              setRotation(Cube, 0F, 0F, 0F);
              Paille = new ModelRenderer(this, 0, 22);
              Paille.addBox(0F, 0F, 0F, 12, 5, 5);
              Paille.setRotationPoint(11F, 16F, -3F);
              Paille.setTextureSize(64, 32);
              Paille.mirror = true;
              setRotation(Paille, 0F, 0F, 0F);
          }
      
          public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
          {
              super.render(entity, f, f1, f2, f3, f4, f5);
              setRotationAngles(f, f1, f2, f3, f4, f5, entity);
              Manche.render(f5);
              Cube.render(f5);
              Paille.render(f5);
          }
      
          private void setRotation(ModelRenderer model, float x, float y, float z)
          {
              model.rotateAngleX = x;
              model.rotateAngleY = y;
              model.rotateAngleZ = z;
          }
      
          public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
          {
              super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
          }
      
      }
      

      Mon ClientProxy :

      public class ClientProxy extends CommonProxy
      {
          @Override
          public void registerRender()
          {
              RenderingRegistry.registerEntityRenderingHandler(EntityTest.class, new RenderTest(new ModelTest(), 0.5F));
          }
      }
      

      Ma fonction init() dans ma Classe Principale :

      @EventHandler
          public void init(FMLInitializationEvent event)
          {
              proxy.registerRender();
      
              EntityRegistry.registerGlobalEntityID(EntityTest.class, "entityTest", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
              EntityRegistry.registerModEntity(EntityTest.class, "entityTest", 420, this.instance, 40, 1, true);
          }
      

      Le message qui s’affiche dans la console :

      [14:49:27] [Client thread/ERROR]: Couldn't render entity
      java.lang.ClassCastException: fr.pifpouf.testmod.common.EntityTest cannot be cast to net.minecraft.entity.passive.EntityHorse
      at net.minecraft.client.renderer.entity.RenderHorse.preRenderCallback(RenderHorse.java:119) ~[RenderHorse.class:?]
      at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:148) [RendererLivingEntity.class:?]
      at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:36) [RenderLiving.class:?]
      at net.minecraft.client.renderer.entity.RenderLiving.doRender(RenderLiving.java:156) [RenderLiving.class:?]
      at net.minecraft.client.renderer.entity.RenderManager.func_147939_a(RenderManager.java:300) [RenderManager.class:?]
      at net.minecraft.client.renderer.entity.RenderManager.renderEntityStatic(RenderManager.java:278) [RenderManager.class:?]
      at net.minecraft.client.renderer.entity.RenderManager.renderEntitySimple(RenderManager.java:251) [RenderManager.class:?]
      at net.minecraft.client.renderer.RenderGlobal.renderEntities(RenderGlobal.java:527) [RenderGlobal.class:?]
      at net.minecraft.client.renderer.EntityRenderer.renderWorld(EntityRenderer.java:1300) [EntityRenderer.class:?]
      at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1087) [EntityRenderer.class:?]
      at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1067) [Minecraft.class:?]
      at net.minecraft.client.Minecraft.run(Minecraft.java:962) [Minecraft.class:?]
      at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_101]
      at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_101]
      at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_101]
      at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
      at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
      at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
      at GradleStart.main(Unknown Source) [start/:?]
      

      - Il n’y a pas d’erreur, ni de crash

      • L’entité spawn mais n’est pas rendue
      • J’ai essayé d’extends autre chose, comme RenderSpider proposé par Robin mais même combat
        Merci,
      1 réponse Dernière réponse Répondre Citer 0
      • Axaurus
        Axaurus dernière édition par

        Salut
        Comme ton Render est extends RenderHorse, ça applique au tien toutes ses fonctions. Et vu que ton entité n’est pas extends EntityHorse, ça fait l’erreur. Essaye de modifier l’extends de ton Render, met par exemple RenderLiving. Perso, j’ai mis ça pour mon mob et ça marche bien.

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

          Merci, j’ai modifié l’extends de mon Render, j’ai mis RenderLiving du coup. Et j’ai également changé l’extends de mon Entity en EntityLiving. Du coup ma classe Render ressemble à ça :

          public class RenderTest extends RenderLiving
          {
              public final ResourceLocation texture = new ResourceLocation(TestMod.MODID, "textures/entity/entity_test.png"); 
          
              public RenderTest(ModelTest model, float shadow)
              {
                  super(model, shadow);
              }
          
              protected ResourceLocation getEntityTexture(Entity living)
              {
                  return this.getEntityTestTexture((EntityTest)living);
              }
          
              private ResourceLocation getEntityTestTexture(EntityTest entityTest)
              {
                  return texture;
              }
          }
          

          L’entité n’est toujours pas rendue, le message dans la console :

          [19:02:14] [Client thread/INFO] [FML]: [Client thread] Client side modded connection established
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: java.lang.reflect.InvocationTargetException
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at java.lang.reflect.Constructor.newInstance(Unknown Source)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.EntityList.createEntityByID(EntityList.java:222)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.item.ItemMonsterPlacer.spawnCreature(ItemMonsterPlacer.java:173)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.item.ItemMonsterPlacer.onItemUse(ItemMonsterPlacer.java:79)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraftforge.common.ForgeHooks.onPlaceItemIntoWorld(ForgeHooks.java:507)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.item.ItemStack.tryPlaceItemIntoWorld(ItemStack.java:142)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.management.ItemInWorldManager.activateBlockOrUseItem(ItemInWorldManager.java:422)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.network.NetHandlerPlayServer.processPlayerBlockPlacement(NetHandlerPlayServer.java:593)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:74)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.network.play.client.C08PacketPlayerBlockPlacement.processPacket(C08PacketPlayerBlockPlacement.java:122)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.network.NetworkManager.processReceivedPackets(NetworkManager.java:241)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.network.NetworkSystem.networkTick(NetworkSystem.java:182)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:726)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:614)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:118)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:485)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:752)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: Caused by: java.lang.NullPointerException
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at fr.pifpouf.testmod.common.EntityTest.applyEntityAttributes(EntityTest.java:19)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.EntityLivingBase.<init>(EntityLivingBase.java:156)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at net.minecraft.entity.EntityLiving.<init>(EntityLiving.java:78)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: at fr.pifpouf.testmod.common.EntityTest.<init>(EntityTest.java:12)
          [19:02:16] [Server thread/INFO] [STDERR]: [java.lang.Throwable$WrappedPrintStream:println:-1]: … 20 more
          [19:02:16] [Server thread/WARN]: Skipping Entity with id 3
          ```</init></init></init>
          1 réponse Dernière réponse Répondre Citer 0
          • Axaurus
            Axaurus dernière édition par

            Passe aussi la classe de l’entité et son enregistrement stp
            Et il était extends quoi avant ton entité ?

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

              Avant mon entity était extends EntityMob. La classe de mon Entity actuellement :

              public class EntityTest extends EntityLiving
              {
                  public EntityTest(World world)
                  {
                      super(world);
                  }
              
                  public void applyEntityAttributes()
                  {
                      super.applyEntityAttributes();
                      this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(1D);
                      this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(0D);
                      this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(0D);
                      this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.0D);
                  }
              }
              

              Son enregistrement :

              EntityRegistry.registerGlobalEntityID(EntityTest.class, "entityTest", EntityRegistry.findGlobalUniqueEntityId(), new Color(0, 255, 0).getRGB(), new Color(255, 0, 0).getRGB());
              EntityRegistry.registerModEntity(EntityTest.class, "entityTest", 420, this.instance, 40, 1, true);
              
              1 réponse Dernière réponse Répondre Citer 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs dernière édition par

                à mon avis il manque un constructeur avec world, x, y et z.

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

                  Je suis pas sûr, il faudra une confirmation mais c’est peut-être l’ID de l’entité qui dépasse la limite possible

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

                    Problème 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