Bonjour,
J’ai encore deux questions au sujet des mobs.
-
Est-il possible de mettre une texture “spéciale” aux bébés animaux? Je m’explique: quand le mob est un bébé, il a une certaine texture, puis, quand il devient un adulte, il change de texture et il en a donc une autre. J’ai essayé ceci, dans le render du mob, en essayant les deux propositions d’eclipse pour corriger l’erreur ‘isChild’ (private boolean isChild et private static final boolean isChild = false), sans aucun succès. Le bébé garde la texture des adultes.
public ResourceLocation getEntityDeerTextures(EntityDeer entity) { if (this.isChild) { return new ResourceLocation("animalia:textures/entity/deerchild.png"); } else { return new ResourceLocation("animalia:textures/entity/deer" + entity.texture + ".png"); } } ```Faut-il ajouter quelque chose d'autre? ou alors je suis complètement à coté de la plaque? ou alors c'est tout simplement impossible?
-
J’ai mit des textures random à mes mob grâce à ce tutoriel (très bon tutoriel soit dit en passant ;)) sauf que dès que je quitte mon monde et que je me reconnecte, la texture a changé, comme si on avait à nouveau appliquer le random (je ne sais pas si c’est clair). Est-ce normal? Et est-ce corrigeable?
Les deux class concernées:::
La class entitypublic class EntityDeer extends EntityAnimal { public int texture; public EntityDeer(World world) { super(world); texture = this.worldObj.rand.nextInt(2); this.setSize(0.7F, 0.7F); this.getNavigator().setAvoidsWater(true); this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(1, new EntityAIPanic(this, 1.25D)); this.tasks.addTask(2, new EntityAIMate(this, 1.0D)); this.tasks.addTask(3, new EntityAITempt(this, 1.2D, Items.wheat, false)); this.tasks.addTask(4, new EntityAIFollowParent(this, 1.1D)); this.tasks.addTask(5, new EntityAIWander(this, 1.0D)); this.tasks.addTask(6, new EntityAIWatchClosest(this, EntityPlayer.class, 6.0F)); this.tasks.addTask(7, new EntityAILookIdle(this)); } public void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); } public EntityDeer createChild(EntityAgeable entity) { return new EntityDeer(this.worldObj); } public boolean isBreedingItem(ItemStack breed) { return breed != null && breed.getItem() == Items.wheat; } }
La class render```java
public class RenderDeer extends RenderLiving
{
public RenderDeer(ModelBase model)
{
super(model, 0.5F);
}public ResourceLocation getEntityDeerTextures(EntityDeer entity)
{
return new ResourceLocation(“animalia:textures/entity/deer” + entity.texture + “.png”);
}protected ResourceLocation getEntityTexture(Entity entity)
{
return getEntityDeerTextures((EntityDeer)entity);
}
}:::
C’est le même mob que pour la question 1 mais tous les autres mobs avec des texture random ont aussi le problème.
Merci d’avance