Posted March 31, 20169 yr hello, i am making a entity which is going to attack near players. import net.minecraft.entity.EntityCreature; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.EntityAIAttackOnCollide; import net.minecraft.entity.ai.EntityAIPanic; import net.minecraft.entity.ai.EntityAISwimming; import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.world.World; public class EntityLeader extends EntityCreature { public EntityLeader(World worldIn) { super(worldIn); tasks.addTask(10, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1D, true)); } @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(3.0D); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(10.0D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.20000000298023224D); } @Override public boolean isAIDisabled() { return false; } } but this seems to not work. if i remove applyentityattribute method then it starts working but then it doesnt attack any player ( i think because it doesnt have any base atk) and here is my 2nd problem public class EntityLeaderAI extends EntityAIBase{ private EntityLeader leader; public EntityLeaderAI(EntityLeader e) { leader=e; setMutexBits(7); } @Override public boolean shouldExecute() { if(this.leader.getAITarget()!=null && !this.leader.isBurning()) { return true; } else { return false; } } @Override public void startExecuting() { this.leader.attackEntityAsMob(<server type player here>);//how can i get server type player? } } please see the comment in code. thanks for helping.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.