mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-29 11:42:55 +01:00
Fix armor stands still doing entity collision
This commit is contained in:
parent
72de619083
commit
b64ee74a23
5 changed files with 22 additions and 10 deletions
|
@ -18,6 +18,18 @@ index 6352051ab937d4d365e823a7112e76dc3ec34225..92ddf96f7db08a2b390ef3f49b0643f9
|
||||||
+ armorStandEntityLookups = getBoolean("armor-stands-do-collision-entity-lookups", true);
|
+ 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 f2938b115aa34158e76da9f974f5746ed43630e1..0330bdf46a3baba169dd226261094a18a6aecf54 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
|
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
|
||||||
index 6ebf3884a289d0be081d43d012ac10796740cc1e..909e01e458d729f277797bf1dca564f927318460 100644
|
index 6ebf3884a289d0be081d43d012ac10796740cc1e..909e01e458d729f277797bf1dca564f927318460 100644
|
||||||
--- a/src/main/java/net/minecraft/server/World.java
|
--- a/src/main/java/net/minecraft/server/World.java
|
||||||
|
|
|
@ -8,10 +8,10 @@ Add the following:
|
||||||
- Enable/Disable slot interactions
|
- Enable/Disable slot interactions
|
||||||
|
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
index f2938b115aa34158e76da9f974f5746ed43630e1..c83f7a0baee28c93b035a4bee68eb26374d50a79 100644
|
index 0330bdf46a3baba169dd226261094a18a6aecf54..554bf021f05165438ef4a0db75f9654b4d4b5480 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
@@ -387,6 +387,7 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -388,6 +388,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
return enumitemslot;
|
return enumitemslot;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,7 @@ index 92ddf96f7db08a2b390ef3f49b0643f9d90bbea4..414b9077317022e4efc0b1e547d7f387
|
||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
index c83f7a0baee28c93b035a4bee68eb26374d50a79..3b01b560f29e5d2c765f28b53e79119503fcfbac 100644
|
index 554bf021f05165438ef4a0db75f9654b4d4b5480..fc86ae2519c8ff54ff7c5e45d7c45fcc16eefca0 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
@@ -46,9 +46,16 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -46,9 +46,16 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
|
@ -69,7 +69,7 @@ index c83f7a0baee28c93b035a4bee68eb26374d50a79..3b01b560f29e5d2c765f28b53e791195
|
||||||
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Pose");
|
NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("Pose");
|
||||||
|
|
||||||
this.g(nbttagcompound1);
|
this.g(nbttagcompound1);
|
||||||
@@ -602,7 +617,29 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -603,7 +618,29 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void tick() {
|
public void tick() {
|
||||||
|
@ -99,7 +99,7 @@ index c83f7a0baee28c93b035a4bee68eb26374d50a79..3b01b560f29e5d2c765f28b53e791195
|
||||||
Vector3f vector3f = (Vector3f) this.datawatcher.get(EntityArmorStand.c);
|
Vector3f vector3f = (Vector3f) this.datawatcher.get(EntityArmorStand.c);
|
||||||
|
|
||||||
if (!this.headPose.equals(vector3f)) {
|
if (!this.headPose.equals(vector3f)) {
|
||||||
@@ -725,29 +762,36 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -726,29 +763,36 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
public void setHeadPose(Vector3f vector3f) {
|
public void setHeadPose(Vector3f vector3f) {
|
||||||
this.headPose = vector3f;
|
this.headPose = vector3f;
|
||||||
this.datawatcher.set(EntityArmorStand.c, vector3f);
|
this.datawatcher.set(EntityArmorStand.c, vector3f);
|
||||||
|
|
|
@ -47,10 +47,10 @@ index e4afda074cdbbc4b1d81844fb60602392de8941c..18a79f9c61c0263526cd632f032d17bd
|
||||||
|
|
||||||
protected void l(double d0, double d1, double d2) {
|
protected void l(double d0, double d1, double d2) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
index 3b01b560f29e5d2c765f28b53e79119503fcfbac..5c3d2bbf7b2ae22347d251c90c85388779c2cd44 100644
|
index fc86ae2519c8ff54ff7c5e45d7c45fcc16eefca0..41d5dd7f08775a68984da24c92ee244c1b69426b 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
@@ -703,7 +703,8 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -704,7 +704,8 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void killEntity() {
|
public void killEntity() {
|
||||||
|
|
|
@ -66,10 +66,10 @@ index 063c5ce566644a59652dec9b306f9f9282560589..7df29df2d6023e549e1fba0b5b1d1c1a
|
||||||
|
|
||||||
public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) {
|
public float a(Explosion explosion, IBlockAccess iblockaccess, BlockPosition blockposition, IBlockData iblockdata, Fluid fluid, float f) {
|
||||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
index 5c3d2bbf7b2ae22347d251c90c85388779c2cd44..937fa3c69a5cba2fc2fa4506dc34ff8a37dae19c 100644
|
index 41d5dd7f08775a68984da24c92ee244c1b69426b..aff83945242c843d8cfd8dffc4c33298f38fb9f2 100644
|
||||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||||
@@ -559,7 +559,7 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -560,7 +560,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
for (i = 0; i < this.handItems.size(); ++i) {
|
for (i = 0; i < this.handItems.size(); ++i) {
|
||||||
itemstack = (ItemStack) this.handItems.get(i);
|
itemstack = (ItemStack) this.handItems.get(i);
|
||||||
if (!itemstack.isEmpty()) {
|
if (!itemstack.isEmpty()) {
|
||||||
|
@ -78,7 +78,7 @@ index 5c3d2bbf7b2ae22347d251c90c85388779c2cd44..937fa3c69a5cba2fc2fa4506dc34ff8a
|
||||||
this.handItems.set(i, ItemStack.b);
|
this.handItems.set(i, ItemStack.b);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -567,7 +567,7 @@ public class EntityArmorStand extends EntityLiving {
|
@@ -568,7 +568,7 @@ public class EntityArmorStand extends EntityLiving {
|
||||||
for (i = 0; i < this.armorItems.size(); ++i) {
|
for (i = 0; i < this.armorItems.size(); ++i) {
|
||||||
itemstack = (ItemStack) this.armorItems.get(i);
|
itemstack = (ItemStack) this.armorItems.get(i);
|
||||||
if (!itemstack.isEmpty()) {
|
if (!itemstack.isEmpty()) {
|
||||||
|
|
Loading…
Reference in a new issue