Créer un modèle avec techne et l'appliquer à un mob
-
Salut à tous et à toutes
J’ai aujourd’hui rencontré un problème mon mob est invisible cela m’embête car j’ai suivi le tuto voici mes class et je confirme que j’ai fait mon modèle avec Techne et que j’y ai placé la texture 64x32 dans le dossier “textures/entity/reflet.png”
Voici mes class :// Date: 28/05/2014 16:58:25 // Template version 1.1 // Java generated by Techne // Keep in mind that you still need to fill in some blanks // - ZeuX package mods.maxiworldcraft.mineKingdomHeartsmod.client; import net.minecraft.client.model.ModelBase; import net.minecraft.client.model.ModelRenderer; import com.sun.xml.internal.stream.Entity; public class ModelReflet extends ModelBase { private static final String __OBFID = "CL_00000836"; //fields ModelRenderer tete; ModelRenderer corps; ModelRenderer brasGauche; ModelRenderer brasDroit; ModelRenderer piedGauche; ModelRenderer piedDroit; public ModelReflet() { textureWidth = 64; textureHeight = 32; tete = new ModelRenderer(this, 0, 0); tete.addBox(0F, 0F, 0F, 6, 5, 6); tete.setRotationPoint(-4F, -4F, 2F); tete.setTextureSize(64, 32); tete.mirror = true; setRotation(tete, 0.8901179F, 0F, 0F); corps = new ModelRenderer(this, 26, 0); corps.addBox(-6F, -2F, 4F, 9, 9, 3); corps.setRotationPoint(0F, 0F, 0F); corps.setTextureSize(64, 32); corps.mirror = true; setRotation(corps, 0F, 0F, 0F); brasGauche = new ModelRenderer(this, 58, 12); brasGauche.addBox(0F, 0F, 0F, 1, 18, 2); brasGauche.setRotationPoint(3F, -1F, 5F); brasGauche.setTextureSize(64, 32); brasGauche.mirror = true; setRotation(brasGauche, 0F, 0F, 0F); brasDroit = new ModelRenderer(this, 50, 12); brasDroit.addBox(0F, 0F, 0F, 1, 18, 2); brasDroit.setRotationPoint(-7F, 0F, 5F); brasDroit.setTextureSize(64, 32); brasDroit.mirror = true; setRotation(brasDroit, 0F, 0F, 0F); piedGauche = new ModelRenderer(this, 7, 12); piedGauche.addBox(0F, 0F, 0F, 2, 17, 2); piedGauche.setRotationPoint(0F, 7F, 5F); piedGauche.setTextureSize(64, 32); piedGauche.mirror = true; setRotation(piedGauche, 0F, 0F, 0F); piedDroit = new ModelRenderer(this, 18, 12); piedDroit.addBox(0F, 0F, 0F, 2, 17, 2); piedDroit.setRotationPoint(-5F, 7F, 5F); piedDroit.setTextureSize(64, 32); piedDroit.mirror = true; setRotation(piedDroit, 0F, 0F, 0F); } public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { this.setRotationAngles(f, f1, f2, f3, f4, f5, entity); tete.render(f5); corps.render(f5); brasGauche.render(f5); brasDroit.render(f5); piedGauche.render(f5); piedDroit.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) { } }package mods.maxiworldcraft.mineKingdomHeartsmod.client; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityReflet; import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts; import net.minecraft.client.model.ModelBase; import net.minecraft.client.renderer.entity.RenderLiving; import net.minecraft.entity.Entity; import net.minecraft.util.ResourceLocation; @SideOnly(Side.CLIENT) public class RenderReflet extends RenderLiving { private static final ResourceLocation texture = new ResourceLocation(modMineKingdomHearts.MODID, "textures/entity/reflet.png"); private static final String __OBFID = "CL_00000984"; public RenderReflet(ModelBase par1ModelBase, float par2) { super(par1ModelBase, par2); } /** * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. */ protected ResourceLocation getEntityTexture(EntityReflet entityreflet) { return texture; } /** * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. */ protected ResourceLocation getEntityTexture(Entity par1Entity) { return this.getEntityTexture((EntityReflet)par1Entity); } }package mods.maxiworldcraft.mineKingdomHeartsmod.client; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityEffrayeur; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityFuu; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityHayner; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityOlette; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityPence; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityReflet; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityRei; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySeifer; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntitySetzer; import mods.maxiworldcraft.mineKingdomHeartsmod.common.EntityVivi; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDingo; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDonald; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityDuoSismique; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityHades; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityHayner; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityOlette; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityPence; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntityRoxas; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntitySetzer; import mods.maxiworldcraft.mineKingdomHeartsmod.common.TileEntitySora; import mods.maxiworldcraft.mineKingdomHeartsmod.common.modMineKingdomHearts; import mods.maxiworldcraft.mineKingdomHeartsmod.proxy.modMineKingdomHeartsCommonProxy; import net.minecraft.client.model.ModelBiped; import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.client.registry.RenderingRegistry; public class modMineKingdomHeartsClientProxy extends modMineKingdomHeartsCommonProxy { public static int renderInventoryTESRId;; @Override public void registerRenderer() { System.out.println("Salut je suis un test du client"); RenderingRegistry.registerEntityRenderingHandler(EntityReflet.class, new RenderReflet(new ModelReflet(), 0.2F)); } public void registerTileEntityRender() { } -
private static final String __OBFID = “CL_00000836”;
private static final String __OBFID = “CL_00000984”;
Retire. Inutile est cause des problèmes d’obfuscation. (classe du modèle et du rendu)import com.sun.xml.internal.stream.Entity;
Mauvaise importation (classe du modèle) -
@‘robin4002’:
private static final String __OBFID = “CL_00000836”;
private static final String __OBFID = “CL_00000984”;
Retire. Inutile est cause des problèmes d’obfuscation. (classe du modèle et du rendu)import com.sun.xml.internal.stream.Entity;
Mauvaise importation (classe du modèle)Merci beaucoup Robin encore une fois, lol ^^
-
salut j’ai suivi se tuto et j’ai une erreur avec registerEntityRenderingHandler donc je suis obliger de faire une modifiction pour ne plus avoir d’erreur mais du coup mon entity n’aparait pas dans le jeu, j’ai bien l’oeuf pour le faire spawn avec son nom , mais il est invisible
Caused by: java.lang.NullPointerException
[12:40:49] [Client thread/INFO] [STDOUT]: [net.minecraft.crash.CrashReport:makeCategoryDepth:356]: Negative index in crash report handler (0/25)
[12:40:49] [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 as fait quoi comme modification sur registerEntityRenderingHandler ? Envoie ton code, sans ton code on ne peut pas t’aider.
-
En faite je t’explique c’est pas un mob que j’essai de créer mais un genre de kart (comme un minecart ou un bateau que l’on peu utiliser sur partout) je suis donc parti en suivant le tuto "créer un mob basic " ensuite j’ai fait un model de test avec techne pour l’adapter dessus mais j’ai eu une erreur sur registerentity….
voici le code :
clientproxy:package minecraftkart.proxy; import minecraftkart.client.Kart; import minecraftkart.client.RenderKart; import minecraftkart.common.EntityKart; import cpw.mods.fml.client.registry.RenderingRegistry; public class ClientProxy extends CommonProxy { public void registerRender() { RenderingRegistry.registerEntityRenderingHandler(EntityKart.class, new RenderKart(new Kart(), 0)); } }entity :
package minecraftkart.common; import net.minecraft.entity.EntityLiving; import net.minecraft.world.World; public class EntityKart extends EntityLiving { public EntityKart(World world) { super(world); // TODO Auto-generated constructor stub } }render :
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 world, float shadow) { super(world, shadow); // TODO Auto-generated constructor stub } public final ResourceLocation texture = new ResourceLocation("ModKart", "textures/entity/Kart.png"); private ResourceLocation getKartTexture(EntityKart Kart) { return texture; } @Override protected ResourceLocation getEntityTexture(Entity Kart) { // TODO Auto-generated method stub return null; } }voila tu va surment trouver plein de chose qui ne vont pas mais soit indulgent :d je n’ai jamais fait de java et j’essai d’apprendre grâce a tes tutos , merci en tout cas

-
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