mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-22 02:25:28 +01:00
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:
parent
c0547a6cbf
commit
baf1fabe9e
@ -6,10 +6,10 @@ Subject: [PATCH] added EntityTargetLivingEntityEvent to 1.16 mobs
|
|||||||
1.16 added a different behavior system for the new 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
|
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
|
--- a/src/main/java/net/minecraft/server/BehaviorAttackTargetForget.java
|
||||||
+++ b/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) {
|
protected void a(WorldServer worldserver, E e0, long i) {
|
||||||
if (a((EntityLiving) e0)) {
|
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
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 52fd29c0dca28c0e7d75fc462bd5b6f59a42a85f
|
Subproject commit c3a22e7850f7b6c41163676a154b22c61952b2a9
|
Loading…
Reference in New Issue
Block a user