From 9478c1859c57813fc27b816a6b85d36043639157 Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Tue, 28 Jul 2020 19:59:44 -0400
Subject: [PATCH] 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
---
 ...TargetLivingEntityEvent-to-1.16-mobs.patch | 36 -------------------
 work/CraftBukkit                              |  2 +-
 2 files changed, 1 insertion(+), 37 deletions(-)

diff --git a/Spigot-Server-Patches/added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch b/Spigot-Server-Patches/added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch
index b9a9a363ed..75ef9bc9ee 100644
--- a/Spigot-Server-Patches/added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch
+++ b/Spigot-Server-Patches/added-EntityTargetLivingEntityEvent-to-1.16-mobs.patch
@@ -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
-     }
- }
diff --git a/work/CraftBukkit b/work/CraftBukkit
index 52fd29c0dc..c3a22e7850 160000
--- a/work/CraftBukkit
+++ b/work/CraftBukkit
@@ -1 +1 @@
-Subproject commit 52fd29c0dca28c0e7d75fc462bd5b6f59a42a85f
+Subproject commit c3a22e7850f7b6c41163676a154b22c61952b2a9