SPIGOT-6545: Unable to set Guardian target via API while awareness is disabled
By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
@@ -4,6 +4,7 @@ import net.minecraft.world.entity.monster.EntityGuardian;
|
||||
import org.bukkit.craftbukkit.CraftServer;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Guardian;
|
||||
import org.bukkit.entity.LivingEntity;
|
||||
|
||||
public class CraftGuardian extends CraftMonster implements Guardian {
|
||||
|
||||
@@ -11,6 +12,11 @@ public class CraftGuardian extends CraftMonster implements Guardian {
|
||||
super(server, entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public EntityGuardian getHandle() {
|
||||
return (EntityGuardian) super.getHandle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "CraftGuardian";
|
||||
@@ -21,6 +27,37 @@ public class CraftGuardian extends CraftMonster implements Guardian {
|
||||
return EntityType.GUARDIAN;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setTarget(LivingEntity target) {
|
||||
super.setTarget(target);
|
||||
|
||||
// clean up laser target, when target is removed
|
||||
if (target == null) {
|
||||
getHandle().a(0); // PAIL rename setLaserTarget
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean setLaser(boolean activated) {
|
||||
if (activated) {
|
||||
LivingEntity target = getTarget();
|
||||
if (target == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
getHandle().a(target.getEntityId()); // PAIL rename setLaserTarget
|
||||
} else {
|
||||
getHandle().a(0); // PAIL rename setLaserTarget
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean hasLaser() {
|
||||
return getHandle().fy(); // PAIL rename hasLaserTarget
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isElder() {
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user