Updated Upstream (CraftBukkit)

Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

CraftBukkit Changes:
c3a22e78 SPIGOT-6032: Add best effort target events for new entities
This commit is contained in:
Aikar
2020-07-28 19:59:44 -04:00
parent 72b23c419b
commit 9478c1859c
2 changed files with 1 additions and 37 deletions

View File

@@ -37,39 +37,3 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
}
}
diff --git a/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java b/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java
index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
--- a/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java
+++ b/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java
@@ -0,0 +0,0 @@ public class BehaviorAttackTargetSet<E extends EntityInsentient> extends Behavio
if (!this.b.test(e0)) {
return false;
} else {
- Optional<? extends EntityLiving> optional = (Optional) this.c.apply(e0);
+ Optional<? extends EntityLiving> optional = (Optional<? extends EntityLiving>) this.c.apply(e0); // Paper - decompile error
return optional.isPresent() && ((EntityLiving) optional.get()).isAlive();
}
}
protected void a(WorldServer worldserver, E e0, long i) {
- ((Optional) this.c.apply(e0)).ifPresent((entityliving) -> {
+ ((Optional<? extends EntityLiving>) this.c.apply(e0)).ifPresent((entityliving) -> { // Paper - decompile error
this.a(e0, entityliving);
});
}
private void a(E e0, EntityLiving entityliving) {
- e0.getBehaviorController().setMemory(MemoryModuleType.ATTACK_TARGET, (Object) entityliving);
- e0.getBehaviorController().removeMemory(MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE);
+ // Paper start
+ org.bukkit.event.entity.EntityTargetEvent.TargetReason reason = entityliving instanceof EntityHuman ? org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_PLAYER : org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_ENTITY;
+ org.bukkit.event.entity.EntityTargetLivingEntityEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityTargetLivingEvent(e0, entityliving, org.bukkit.event.entity.EntityTargetEvent.TargetReason.CLOSEST_ENTITY);
+ if (!event.isCancelled()) {
+ EntityLiving target = event.getTarget() != null ? ((org.bukkit.craftbukkit.entity.CraftLivingEntity) event.getTarget()).getHandle() : null;
+ e0.getBehaviorController().setMemory(MemoryModuleType.ATTACK_TARGET, target); // Paper - decompile error
+ e0.getBehaviorController().removeMemory(MemoryModuleType.CANT_REACH_WALK_TARGET_SINCE);
+ }
+ // Paper end
}
}