Add creative mode check to target selector for summoned creatures, fixes #262
This commit is contained in:
@@ -50,7 +50,7 @@ public class EntityPhoenix extends EntitySummonedCreature implements ISpellCaste
|
|||||||
this.tasks.addTask(3, new EntityAILookIdle(this));
|
this.tasks.addTask(3, new EntityAILookIdle(this));
|
||||||
// this.targetTasks.addTask(0, new EntityAIMoveTowardsTarget(this, 1, 10));
|
// this.targetTasks.addTask(0, new EntityAIMoveTowardsTarget(this, 1, 10));
|
||||||
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
|
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
|
||||||
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityLivingBase>(this, EntityLivingBase.class,
|
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<>(this, EntityLivingBase.class,
|
||||||
0, false, true, this.getTargetSelector()));
|
0, false, true, this.getTargetSelector()));
|
||||||
|
|
||||||
this.setAIMoveSpeed((float)AISpeed);
|
this.setAIMoveSpeed((float)AISpeed);
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ public class EntityShadowWraith extends EntitySummonedCreature implements ISpell
|
|||||||
this.tasks.addTask(2, new EntityAIWander(this, AISpeed));
|
this.tasks.addTask(2, new EntityAIWander(this, AISpeed));
|
||||||
this.tasks.addTask(3, new EntityAILookIdle(this));
|
this.tasks.addTask(3, new EntityAILookIdle(this));
|
||||||
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
|
this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true));
|
||||||
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<EntityLivingBase>(this, EntityLivingBase.class,
|
this.targetTasks.addTask(2, new EntityAINearestAttackableTarget<>(this, EntityLivingBase.class,
|
||||||
0, false, true, this.getTargetSelector()));
|
0, false, true, this.getTargetSelector()));
|
||||||
|
|
||||||
this.setAIMoveSpeed((float)AISpeed);
|
this.setAIMoveSpeed((float)AISpeed);
|
||||||
|
|||||||
@@ -221,7 +221,8 @@ public interface ISummonedCreature extends IEntityAdditionalSpawnData, IEntityOw
|
|||||||
* possible for implementors to override this in order to do something special when selecting a target.
|
* possible for implementors to override this in order to do something special when selecting a target.
|
||||||
*/
|
*/
|
||||||
default Predicate<Entity> getTargetSelector(){
|
default Predicate<Entity> getTargetSelector(){
|
||||||
return entity -> getCaster() == null ? entity instanceof EntityPlayer : !entity.isInvisible() && isValidTarget(entity);
|
return entity -> !entity.isInvisible() && (getCaster() == null ? entity instanceof EntityPlayer &&
|
||||||
|
!((EntityPlayer)entity).isCreative() : isValidTarget(entity));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user