diff options
author | Aikar <[email protected]> | 2020-07-28 19:59:44 -0400 |
---|---|---|
committer | Aikar <[email protected]> | 2020-07-28 22:22:46 -0400 |
commit | baf1fabe9ee7e904f8fbafa2ac577e1e4f90befd (patch) | |
tree | 1c0eee69acb3a1920816255032f8e0e07ccd8172 | |
parent | c0547a6cbfa336b6f59e5f337743aaec6d92eebd (diff) | |
download | Paper-baf1fabe9ee7e904f8fbafa2ac577e1e4f90befd.tar.gz Paper-baf1fabe9ee7e904f8fbafa2ac577e1e4f90befd.zip |
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
-rw-r--r-- | Spigot-Server-Patches/0532-added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch | 40 | ||||
m--------- | work/CraftBukkit | 36 |
2 files changed, 20 insertions, 56 deletions
diff --git a/Spigot-Server-Patches/0532-added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch b/Spigot-Server-Patches/0532-added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch index 9c6a62037f..2fc8f4b530 100644 --- a/Spigot-Server-Patches/0532-added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch +++ b/Spigot-Server-Patches/0532-added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch @@ -6,10 +6,10 @@ Subject: [PATCH] added EntityTargetLivingEntityEvent to 1.16 mobs 1.16 added a different behavior system for the new mobs diff --git a/src/main/java/net/minecraft/server/BehaviorAttackTargetForget.java b/src/main/java/net/minecraft/server/BehaviorAttackTargetForget.java -index d5cceb0672c7724b9d53dd7bf2d323e667c8617c..2a0e951618e45c3e4e171cbb4d987004ae354803 100644 +index 254a4afeed2148fc1a8d698c90ba0b98eda01687..643e996b87acd95d6fecf9a3883a0744f4d223a9 100644 --- a/src/main/java/net/minecraft/server/BehaviorAttackTargetForget.java +++ b/src/main/java/net/minecraft/server/BehaviorAttackTargetForget.java -@@ -21,15 +21,22 @@ public class BehaviorAttackTargetForget<E extends EntityInsentient> extends Beha +@@ -26,15 +26,22 @@ public class BehaviorAttackTargetForget<E extends EntityInsentient> extends Beha protected void a(WorldServer worldserver, E e0, long i) { if (a((EntityLiving) e0)) { @@ -37,39 +37,3 @@ index d5cceb0672c7724b9d53dd7bf2d323e667c8617c..2a0e951618e45c3e4e171cbb4d987004 } } -diff --git a/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java b/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java -index 65e746859bede33bc59fd17b4c3defe911df993f..178da19fdc5df330d4128feb831e8fa6a9a5cdc1 100644 ---- a/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java -+++ b/src/main/java/net/minecraft/server/BehaviorAttackTargetSet.java -@@ -26,20 +26,27 @@ 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 - } - } diff --git a/work/CraftBukkit b/work/CraftBukkit -Subproject 52fd29c0dca28c0e7d75fc462bd5b6f59a42a85 +Subproject c3a22e7850f7b6c41163676a154b22c61952b2a |