Rendu familier dans inventaire
-
Vous allez peut être me prendre pour un inculte, mais c’est quoi un familier ?
-
http://fr.wiktionary.org/wiki/familier
Qui est considéré comme appartenant à la famille.
- Aucun animal familier n’est autorisé dans l’avion.
= animal de compagnie.
Je ne savais pas non plus avant que Kévin me le dise, dans certaines régions c’est très utilisé, dans d’autres non. (En tout cas en Alsace ce n’est pas utilisé) -
Mets un System.out.println(“quelque chose”) ou utilise un logger dans ta fonction drawPlayerModel pour voir si elle est bien appelée (attention aux spams)
-
Oui oui elle est bien appelé, car quand je méttais mon familier dans le slot 3, donc celui des bottes cela fonctionnai à merveille, sauf que j’ai créé un invertaire custom avec un slot réservé aux familiers, du coup je ne vois pas comment faire, par quoi remplacer le 3 j’ai essayé avec 20 vu que c’est l’ ID de mon slot sauf que cela ne fonctionne pas car cest un slot custom voilà où est mon soucis.
-
@Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { if(slot == 20) { return ModStuff.MODID+ ":textures/models/armor/pet_bilby.png"; } return ModStuff.MODID+ ":textures/models/armor/stuff_empty.png"; }La tu check si c’est le slot 20 de l’inventaire de base, tu dois aller chercher ton inventaire custom:
@Override public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type) { ExtendedPlayer ext = ExtendedPlayer.get((EntityPlayer)entity); if(ext.inventory.getStackInSlot(20) != null && ext.inventory.getStackInSlot(20) == ModDofus.petBilby) { return ModStuff.MODID+ ":textures/models/armor/pet_bilby.png"; } return ModStuff.MODID+ ":textures/models/armor/stuff_empty.png"; } -
D’accord et bien je verrais ce soir car la je suis en cours.
-
Toujours pas trouvé.
-
Dans le drawPlayerModel, regarde si ton item est null.
-
Il n’est pas null.
-
Regarde dans les rotations/translations voir si ton model n’est pas rendu en dehors de l’écran
-
Non il n’est pas rendu du tout ^^
-
Pourtant tu dis que ta méthode est appelée et que ton Item n’est pas null, donc il est forcément rendu.
-
Si tu veux essayé je peux te poster mes src
-
Je veux bien essayer de débuguer
-
Je t’envois le lien en privé.
-
Ton code fait exactement ce qui lui ai demandé, c’est-à-dire faire le rendu du joueur et si le joueur possède dans son inventaire l’une de tes entités, le joueur est rendu plus petit, je ne comprends pas l’utilité mais ton code fonctionne.
-
Bah je ne sais pas d’où cela vient non plus, normalement le joueur ne devrais pas être reduis et mon familier devrais apparaitre
-
C’est pas question de normal ou pas, c’est ce que ton code fait, que veux-tu faire à la place ?
Explication du code :ExtendedPlayer ext = ExtendedPlayer.get((EntityPlayer)entity); ItemStack pet = ext.inventory.getStackInSlot(20); GL11.glEnable(GL11.GL_COLOR_MATERIAL); GL11.glPushMatrix(); GL11.glTranslatef(x, y, 50.0F); if(pet != null && pet.getItem() == ModStuff.PetBilby) // Ici tu regardes si l'Item est l'un de tes animaux { GL11.glScalef(-scale*0.8F, scale*0.8F, scale*0.8F); // Et là tu rend le joueur plus petit si c'est le cas } else if(pet != null && pet.getItem() == ModStuff.PetCroum) { GL11.glScalef(-scale*0.8F, scale*0.8F, scale*0.8F); } else { GL11.glScalef(-scale, scale, scale); } GL11.glRotatef(180.0F, 0.0F, 0.0F, 1.0F); // Tu fais le rendu du joueur et non de ton animal float f2 = entity.renderYawOffset; float f3 = entity.rotationYaw; float f4 = entity.rotationPitch; float f5 = entity.prevRotationYawHead; float f6 = entity.rotationYawHead; GL11.glRotatef(135.0F, 0.0F, 1.0F, 0.0F); RenderHelper.enableStandardItemLighting(); GL11.glRotatef(-135.0F, 0.0F, 1.0F, 0.0F); GL11.glRotatef(-((float) Math.atan(pitch / 40.0F)) * 20.0F, 1.0F, 0.0F, 0.0F); entity.renderYawOffset = (float) Math.atan(yaw / 40.0F) * 20.0F; entity.rotationYaw = (float) Math.atan(yaw / 40.0F) * 40.0F; entity.rotationPitch = -((float) Math.atan(pitch / 40.0F)) * 20.0F; entity.rotationYawHead = entity.rotationYaw; entity.prevRotationYawHead = entity.rotationYaw; GL11.glTranslatef(0.0F, entity.yOffset, 0.0F); RenderManager.instance.playerViewY = 180.0F; RenderManager.instance.renderEntityWithPosYaw(entity, 0.0D, 0.0D, 0.0D, 0.0F, 1.0F); entity.renderYawOffset = f2; entity.rotationYaw = f3; entity.rotationPitch = f4; entity.prevRotationYawHead = f5; entity.rotationYawHead = f6; GL11.glPopMatrix(); RenderHelper.disableStandardItemLighting(); GL11.glDisable(GL12.GL_RESCALE_NORMAL); OpenGlHelper.setActiveTexture(OpenGlHelper.lightmapTexUnit); GL11.glDisable(GL11.GL_TEXTURE_2D); OpenGlHelper.setActiveTexture(OpenGlHelper.defaultTexUnit); -
Oui il est rendu plus petit pour des test que j’avais fait, sauf que je veux que mon familier se rende aussi mais je n’y arrive pas.
-
Essaie avec le RenderManager.instance.renderEntitySimple