Résolu Problème Item dans la main d'une entité
-
Bonjour à tous, je fais appel à vous car j’ai un petit problème, j’ai fais en sorte que mon entité ait une épée dans la main avec ce code :
@Override public void setItemStackToSlot(EntityEquipmentSlot slotIn, ItemStack stack) { super.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(ItemInit.LIBERATOR)); }
L’entité à bel et bien l’épée dans la main mais in game on ne voit pas l’épée dans sa main mais pourtant elle y’est bel et bien, je sais pas ou est-ce que j’ai foiré et je ne trouve malheureusement rien qui puisse m’aider
Merci d’avance!
-
Personnellement je n’ai pas un excellant niveau pour coder en 1.12.2, mais si tu veux qu’on t’aide il faut savoir si il y a des erreur ou des warning qui s’affiche dans la console et peut tu nous donnée le code de l’item et de ton entité…
-
@Stratis a dit dans Problème Item dans la main d'une entité :
Personnellement je n’ai pas un excellant niveau pour coder en 1.12.2, mais si tu veux qu’on t’aide il faut savoir si il y a des erreur ou des warning qui s’affiche dans la console et peut tu nous donnée le code de l’item et de ton entité…
Salut! Merci de ta réponses et justement tu viens de me rappeler que j’ai oublié de le préciser : Aucune erreur n’est présente dans la console et je sais pas de quel code cela pourrait venir, le render, l’entité ou le modèle, c’est pour ça que je ne l’ai pas mis^^’
-
@BlueZikSè
Classe de l’entité :public class EntityKobold extends EntityWitherSkeleton { public EntityKobold(World worldIn) { super(worldIn); this.setSize(0.6F, 2.9F); this.canDropLoot(); } @Override protected void initEntityAI() { this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackMelee(this, 1.0D, false)); this.tasks.addTask(7, new EntityAIWanderAvoidWater(this, 1.0D, 0.0F)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false, new Class[0])); } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(1000.0D); this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.5D); } @Override public void setItemStackToSlot(EntityEquipmentSlot slotIn, ItemStack stack) { super.setItemStackToSlot(EntityEquipmentSlot.MAINHAND, new ItemStack(ItemInit.LIBERATOR)); } public float getEyeHeight() { return 2.1F; } public EntityKobold createChild(EntityAgeable ageable) { return new EntityKobold(world); } @Override protected SoundEvent getAmbientSound() { return SoundsHandler.ENTITY_KOBOLD_AMBIENT; } @Override protected SoundEvent getHurtSound(DamageSource source) { return SoundsHandler.ENTITY_KOBOLD_HURT; } @Override protected SoundEvent getDeathSound() { return SoundsHandler.ENTITY_KOBOLD_DEATH; } } classe du Render de l'entité : public class RenderKobold extends RenderLiving<EntityKobold> { public static final ResourceLocation TEXTURES = new ResourceLocation(Reference.MODID + ":textures/entity/kobold.png"); public RenderKobold(RenderManager manager) { super(manager, new ModelKobold(), 0.5F); } @Override protected ResourceLocation getEntityTexture(EntityKobold entity) { return TEXTURES; } @Override protected void applyRotations(EntityKobold entityLiving, float p_77043_2_, float rotationYaw, float partialTicks) { super.applyRotations(entityLiving, p_77043_2_, rotationYaw, partialTicks); } }
-
tu a bien fait les test en client et pas sur un serveur ?
-
@Stratis Ouais, j’ai même essayé de mettre le @SideOnly mais ça n’as rien changé
-
Je vois pas ce que ces, mais lors du test du mod, a tu modifier les parametre de graphique de minecraft dans les option
-
Peut tu me dire si quand tu te give l’épée, tu vois l’épée dans ta main,
Avec quel ide tu code… J 'ai déjà eu le même beug avec intellij idea,
cette erreur apparais quand l’ide ne reconnait pas le format de l’épée ou si celui-si a une erreur -
Nan je crois pas avoir modifié les paramètres graphique, après je me suis basé sur le witherskeleton qui à une stone sword dans la main, j’ai juste modifié car l’épée dans la main du witherskeleton est basée sur la difficulté du monde, j’ai essayé avec la difficulté même résultat, pourtant l’item est bel et bien présent mais invisible Merci quand même de ton aide!
-
@Stratis Ouais l’épée fonctionne très bien dans ma main, ça fait sa avec tout les items que je veux lui donner même des items vanilla
-
Je vois vraiment pas le problème, il y a une probabilité que cela vient de minecraft, je fait des recherche est je te répond…
-
Désoler, je n’ai rien trouver, si je trouve quel que chose je te le dirai. Désoler
-
Bonsoir,
Jette un œil dans la classe RenderBiped.
Il y a un code spécifique pour faire le rendu des items en mains, que les zombies et joueurs ont comme ils héritent de RenderBiped. -
@Stratis C’est pas grave merci beaucoup d’avoir essayé de m’aider
-
@robin4002 Salut! merci de ta réponse je suis allé voir et j’ai repris la ligne LayerHeldItem et dans mon Model j’ai remplacé extends ModelBase par ModelBiped et ça fonctionne merci beaucoup!!! Mais il me reste un problème :
L’Épée apparaît bel et bien mais elle apparaît au même endroit que sur le modèle d’un joueur normal, hors j’aimerais qu’elle apparaîsse sur le bras de mon entité -
Je ne suis pas sûr que se baser sur modèle Biped est correcte pour le cas de ton entité comme tu as un modèle qui diffère pas mal du ModelBiped (joueur / zombie).
Il faut que tu reprennes le code de ton rendu et que tu adaptes la position, tu ne peux pas réutiliser la même fonction sans modification.
-
Ce message a été supprimé ! -
le plus simple est de crée une fonction de la fonction modifier pour l’adaptée au personnage
-
@robin4002 @Stratis Merci de vos réponses , j’ai pensé a modifier la fonction de base je devrais recréer un ModelBiped en changeant les positions par les mienne cela pourrait fonctionner?
-
oui je pense