geforkt von Mirrors/Paper
0faaa7da92
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 19b7b7bd #561: Add clear weather World API 5929c808 #552: Add the ability to retrieve hit, step, fall, and other sounds from blocks. CraftBukkit Changes: e1ebdd92 #771: Add clear weather World API 424598d2 #752: Add the ability to retrieve hit, step, fall, and other sounds from blocks.
51 Zeilen
2.7 KiB
Diff
51 Zeilen
2.7 KiB
Diff
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 6e7e00678295b5b714a1be4753626e21ab469fd6..54d7f6efcf42d4c7a8c209dfe3c5485318afafe3 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -373,4 +373,9 @@ public class PaperWorldConfig {
|
|
private void scanForLegacyEnderDragon() {
|
|
scanForLegacyEnderDragon = getBoolean("game-mechanics.scan-for-legacy-ender-dragon", true);
|
|
}
|
|
+
|
|
+ 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/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
|
index 96c229e5dd214d32478fe4d5b96e77d8ba2bc93c..2592a59e9506cee901802a3bdc78db8832700fd8 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
|
@@ -314,6 +314,7 @@ public class EntityArmorStand extends EntityLiving {
|
|
|
|
@Override
|
|
protected void collideNearby() {
|
|
+ if (!world.paperConfig.armorStandEntityLookups) return; // Paper
|
|
List<Entity> list = this.world.getEntities(this, this.getBoundingBox(), EntityArmorStand.br);
|
|
|
|
for (int i = 0; i < list.size(); ++i) {
|
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
|
index fa095bb55c09a3b5f8ab70bcce5a03c7eb93dcfa..7affb75a97e49b67861b24de38ef83e72b0abd5a 100644
|
|
--- a/src/main/java/net/minecraft/server/World.java
|
|
+++ b/src/main/java/net/minecraft/server/World.java
|
|
@@ -801,6 +801,13 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
|
|
// Paper end
|
|
}
|
|
}
|
|
+ // 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
|
|
|
|
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);
|