SPIGOT-6545: Unable to set Guardian target via API while awareness is disabled
This commit is contained in:
parent
8ffa54ba8c
commit
699f2d36b0
@ -0,0 +1,11 @@
|
||||
--- a/net/minecraft/world/entity/monster/EntityGuardian.java
|
||||
+++ b/net/minecraft/world/entity/monster/EntityGuardian.java
|
||||
@@ -123,7 +123,7 @@
|
||||
return 80;
|
||||
}
|
||||
|
||||
- void a(int i) {
|
||||
+ public void a(int i) { // PAIL package -> public, rename setLaserTarget
|
||||
this.entityData.set(EntityGuardian.DATA_ID_ATTACK_TARGET, i);
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user