Reste a les faire bouger ….Oui j’ai un dont pour …bloquer sur des petits détails comme çà …Merci Robin c’est grâce a toi que j’ai remarque
EDIT : Je pense avoir fais des progres , j’ai trouve ceci dans la classe du zombie que j’ai ajoute et réadapter a ma classe :
:::
super(worldIn);
((PathNavigateGround)this.getNavigator()).func_179688_b(true);
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
:::
Ceci fait que mes mobs avancent ! Enfin un peu
J’ai mis une vitesse de 1 donc de temps en temps ils avancent dans un sens ou dans un autre sans but mais rarement ils ne sont pas en déplacements souvent , une autre chose defois ils tournent en rond comme des cons a toutes vitesses et surtout il ne m’attaque pas =(
je vous rajoute le reste de ma classe ,les drops et le paragraphe du bas que j’ai rajoute mais je ne comprend pas ce qu’il fait ,je pensait qui ferai en sorte qu’on m’attaque :
:::
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.EntityAIAttackOnCollide;
import net.minecraft.entity.ai.EntityAILookIdle;
import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
import net.minecraft.entity.ai.EntityAISwimming;
import net.minecraft.entity.ai.EntityAIWander;
import net.minecraft.entity.ai.EntityAIWatchClosest;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.pathfinding.PathNavigateGround;
import net.minecraft.util.DamageSource;
import net.minecraft.util.MathHelper;
import net.minecraft.world.World;
public class MonMob1 extends EntityMob
{
public MonMob1(World worldIn)
{
super(worldIn);
((PathNavigateGround)this.getNavigator()).func_179688_b(true);
this.tasks.addTask(0, new EntityAISwimming(this));
this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false));
this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D));
this.tasks.addTask(7, new EntityAIWander(this, 1.0D));
this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
}
public void applyEntityAttributes1()
{
super.applyEntityAttributes();
this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(40D);
this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(20D);
this.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).setBaseValue(10D);
this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D);
this.worldObj.spawnEntityInWorld( attackingPlayer );
this.setCurrentItemOrArmor(4, new ItemStack(this.rand.nextFloat() < 0.1F ? Blocks.lit_pumpkin : Blocks.pumpkin));
}
protected void addRandomArmor()
{
switch (this.rand.nextInt(3))
{
case 0:
this.dropItem(Items.iron_ingot, 1);
break;
case 1:
this.dropItem(Items.carrot, 1);
break;
case 2:
this.dropItem(Items.potato, 1);
}
}
protected Item getDropItem()
{
return Items.boat;
}
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (super.attackEntityFrom(source, amount))
{
EntityLivingBase entitylivingbase = this.getAttackTarget();
if (entitylivingbase == null && source.getEntity() instanceof EntityLivingBase)
{
entitylivingbase = (EntityLivingBase)source.getEntity();
}
int i = MathHelper.floor_double(this.posX);
int j = MathHelper.floor_double(this.posY);
int k = MathHelper.floor_double(this.posZ);
}
return inWater;
}
}
:::
Voila merci d’avance de votre aide