Créer un modèle avec techne et l'appliquer à un mob
-
Kart.java c’est ton modèle ? Si oui il serait mieux de le nommer ModelKart. Et il est extends quoi ? Eclipse indique l’erreur où et quelle est l’erreur ?
-
oui kart.jave c’est mon modèle , il est extends ModelBase
et j’ai une erreur dans client proxy :
RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart()));
il y a “new RenderKart(new Kart ()))” de souligné avec comme erreur : The constructor RenderKart(Kart) is undefined .
-
Parce que ton constructeur est :
public RenderKart(ModelBase world, float shadow) { super(world, shadow); // TODO Auto-generated constructor stub }
ModelBase, float
D’ailleurs ModelBase world devrait plutôt être ModelBase model
Il faut donc que tu ajoute la taille de l’ombre, comme ça :
RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart(), 0.5F)); -
Merci je n’ai plus d’erreur par contre il est toujours invisible en jeu
-
Le problème vient peut etre de ton modèle. Ou tu n’as pas appelé la fonction registerRender dans la classe principale.
-
proxy.registerRender();
j’ai ca dans init dans la classe du mod , c’est ca ?autrement dans ma classe renderKart j’ai ca :
package minecraftkart.client; import minecraftkart.common.EntityKart; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.client.renderer.entity.RendererLivingEntity; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLiving; import net.minecraft.util.ResourceLocation; public class RenderKart extends RenderLiving { public RenderKart(ModelBase model, float shadow) { super(model, shadow); // TODO Auto-generated constructor stub } public final ResourceLocation texture = new ResourceLocation("ModKart", "textures/entity/Kart.png"); protected ResourceLocation getEntityTexture(EntityLiving living) { return this.getMobTutorielTexture((EntityKart)living); } private ResourceLocation getMobTutorielTexture(EntityKart living) { // TODO Auto-generated method stub return null; } private ResourceLocation getKartTexture(EntityKart Kart) { return texture; } @Override protected ResourceLocation getEntityTexture(Entity Kart) { // TODO Auto-generated method stub return null; } }
-
La méthode getMobTutorielTexture ne devrait pas être là, et tu devrais aller la fonction getKartTexture dans getEntityTexture
Et tu as deux fois getEntityTexture, une des deux n’est pas bonne.
-
oui j’ai fait les modifs comme tu viens de dire mais toujours même problème invisible
Caused by: java.lang.NullPointerException
[22:31:25] [Client thread/INFO] [STDOUT]: [net.minecraft.crash.CrashReport:makeCategoryDepth:356]: Negative index in crash report handler (0/25)
[22:31:25] [Client thread/ERROR]: Couldn’t render entity
net.minecraft.util.ReportedException: Registering texture
at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:111) ~[TextureManager.class:?]
at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45) ~[TextureManager.class:?]
at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:60) ~[Render.class:?]
at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:55) ~[Render.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.renderModel(RendererLivingEntity.java:305) ~[RendererLivingEntity.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:165) [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:1091) [EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:951) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
at GradleStart.main(GradleStart.java:45) [start/:?] -
Tu peux envoyer le rapport de crash complet ?
-
j’ai pas de rapport de crash vu que ca crash pas il est juste invisible j’ai juste ca dans la console
[00:00:17] [Client thread/ERROR]: Couldn’t render entity
net.minecraft.util.ReportedException: Registering texture
at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:111) ~[TextureManager.class:?]
at net.minecraft.client.renderer.texture.TextureManager.bindTexture(TextureManager.java:45) ~[TextureManager.class:?]
at net.minecraft.client.renderer.entity.Render.bindTexture(Render.java:60) ~[Render.class:?]
at net.minecraft.client.renderer.entity.Render.bindEntityTexture(Render.java:55) ~[Render.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.renderModel(RendererLivingEntity.java:305) ~[RendererLivingEntity.class:?]
at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:165) [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:1091) [EntityRenderer.class:?]
at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1056) [Minecraft.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:951) [Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:164) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_25]
at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:78) [start/:?]
at GradleStart.main(GradleStart.java:45) [start/:?]
Caused by: java.lang.NullPointerException
at net.minecraft.client.resources.SimpleReloadableResourceManager.getResource(SimpleReloadableResourceManager.java:63) ~[SimpleReloadableResourceManager.class:?]
at net.minecraft.client.renderer.texture.SimpleTexture.loadTexture(SimpleTexture.java:35) ~[SimpleTexture.class:?]
at net.minecraft.client.renderer.texture.TextureManager.loadTexture(TextureManager.java:89) ~[TextureManager.class:?]
… 24 more -
Fait un zip de ton dossier src et envoie-le moi, je vais regarder ce soir.
-
ok merci beaucoup voici le lien :
-
J’ai horreur de ce genre d’hébergeur bourré de pub. Voila le zip src après modif : http://dl.mcnanotech.fr/robin4002/private/src.zip
J’ai modifié pas mal de truc et formaté le code. -
Désolé pour l’hébergeur ,c’est le premier que j’ai trouvé sur google ^^
Merci beaucoup , tu a du rigoler quand tu a vu le kart mais c’est un prototype et je doit encore mettre le code pour monter dedans et diriger .
Pourrais-tu m’expliquer ce que tu as modifier pour que ça marche , pour que je comprenne les erreurs stp
Merci encore
-
Je ne sais pas exactement ce qui causait problème, j’ai modifié puis testé après.
Déjà j’ai ajouté un @Override au dessus de la méthode registerRender du proxy client. J’ai aussi changé le nom de l’entité, juste kart à la place de ModelKart ce qui est plus cohérent (car le modèle, c’est que le modèle et non toute l’entité) et j’ai aussi corrigé la classe du rendu, les méthodes n’était pas bonne. -
d’accord merci
-