testserver/Spigot-Server-Patches/0251-Option-to-prevent-armo...

39 lines
2.0 KiB
Diff
Raw Normal View History

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Hugo Manrique <hugmanrique@gmail.com>
Date: Mon, 23 Jul 2018 12:57:39 +0200
Subject: [PATCH] Option to prevent armor stands from doing entity lookups
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
index d6a3d882e375ac5a2b6ec8920532db615f4fe4ef..14bb9d843f05058cae5cc64de8149d2c97264f1a 100644
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
@@ -383,4 +383,9 @@ public class PaperWorldConfig {
log("Bed Search Radius: " + bedSearchRadius);
}
}
+
+ public boolean armorStandEntityLookups = true;
+ private void armorStandEntityLookups() {
+ armorStandEntityLookups = getBoolean("armor-stands-do-collision-entity-lookups", true);
+ }
}
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index a970599a2a2faf604d1c79645c27610e39d73d82..66ad97dd4987544f7560b20afc6c72134968287b 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -837,6 +837,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
2020-06-25 14:09:55 +00:00
// Paper end
2019-05-14 02:20:58 +00:00
}
}
+ // Paper start - Prevent armor stands from doing entity lookups
+ @Override
+ public boolean getCubes(@Nullable Entity entity, AxisAlignedBB axisAlignedBB) {
+ if (entity instanceof EntityArmorStand && !entity.world.paperConfig.armorStandEntityLookups) return false;
+ return GeneratorAccess.super.getCubes(entity, axisAlignedBB);
+ }
+ // Paper end
2020-06-25 14:09:55 +00:00
public Explosion explode(@Nullable Entity entity, double d0, double d1, double d2, float f, Explosion.Effect explosion_effect) {
return this.createExplosion(entity, (DamageSource) null, (ExplosionDamageCalculator) null, d0, d1, d2, f, false, explosion_effect);