13
0
geforkt von Mirrors/Paper

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
Dieser Commit ist enthalten in:
Aikar 2020-07-28 19:59:44 -04:00
Ursprung 72b23c419b
Commit 9478c1859c
2 geänderte Dateien mit 1 neuen und 37 gelöschten Zeilen

Datei anzeigen

@ -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
}
}

@ -1 +1 @@
Subproject commit 52fd29c0dca28c0e7d75fc462bd5b6f59a42a85f
Subproject commit c3a22e7850f7b6c41163676a154b22c61952b2a9