From c71f4578abccb245973175008f3942aac1e41bb2 Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Sat, 22 Sep 2018 21:28:16 -0500 Subject: [PATCH] Add obfuscation helper (aikar's request) (#1468) --- ...-explosions-processing-dead-entities.patch | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/Spigot-Server-Patches/Fix-lag-from-explosions-processing-dead-entities.patch b/Spigot-Server-Patches/Fix-lag-from-explosions-processing-dead-entities.patch index 0b36cfa55..141f347dc 100644 --- a/Spigot-Server-Patches/Fix-lag-from-explosions-processing-dead-entities.patch +++ b/Spigot-Server-Patches/Fix-lag-from-explosions-processing-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix lag from explosions processing dead entities diff --git a/src/main/java/net/minecraft/server/Explosion.java b/src/main/java/net/minecraft/server/Explosion.java -index e5ba6edd..2620c4c2 100644 +index e5ba6eddd..c7d11cf62 100644 --- a/src/main/java/net/minecraft/server/Explosion.java +++ b/src/main/java/net/minecraft/server/Explosion.java @@ -0,0 +0,0 @@ public class Explosion { @@ -17,11 +17,33 @@ index e5ba6edd..2620c4c2 100644 + List list = this.world.getEntities(this.source, new AxisAlignedBB((double) i, (double) l, (double) j1, (double) j, (double) i1, (double) k1), new com.google.common.base.Predicate() { + @Override + public boolean apply(Entity entity) { -+ return IEntitySelector.e.test(entity) && !entity.dead; ++ return IEntitySelector.canAITarget().test(entity) && !entity.dead; + } + }); + // Paper end Vec3D vec3d = new Vec3D(this.posX, this.posY, this.posZ); for (int l1 = 0; l1 < list.size(); ++l1) { +diff --git a/src/main/java/net/minecraft/server/IEntitySelector.java b/src/main/java/net/minecraft/server/IEntitySelector.java +index 30f8ec519..b1d05220b 100644 +--- a/src/main/java/net/minecraft/server/IEntitySelector.java ++++ b/src/main/java/net/minecraft/server/IEntitySelector.java +@@ -0,0 +0,0 @@ public final class IEntitySelector { + public static final Predicate d = (entity) -> { + return entity instanceof IInventory && entity.isAlive(); + }; ++ public static Predicate canAITarget() { return e; } // Paper - OBFHELPER + public static final Predicate e = (entity) -> { + return !(entity instanceof EntityHuman) || !((EntityHuman)entity).isSpectator() && !((EntityHuman)entity).u(); + }; +@@ -0,0 +0,0 @@ public final class IEntitySelector { + } + } + +- // $FF: synthetic method +- public boolean test(@Nullable Object object) { ++ public boolean test(@Nullable Entity object) { // Paper - decompile error + return this.a((Entity)object); + } + } -- \ No newline at end of file