mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-13 11:18:23 +01:00
SPIGOT-6545: Unable to set Guardian target via API while awareness is disabled
By: DerFrZocker <derrieple@gmail.com>
This commit is contained in:
parent
0474cc8833
commit
bfc74e8628
2 changed files with 48 additions and 0 deletions
|
@ -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…
Add table
Reference in a new issue