Little more progress
Keep getting interrupted so not as much as I'd like :(
This commit is contained in:
@@ -5,12 +5,12 @@ Subject: [PATCH] Allow disabling armour stand ticking
|
||||
|
||||
|
||||
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
index 721685704..9ee27f638 100644
|
||||
index 0a99b8fe9..42d14fac2 100644
|
||||
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
||||
@@ -0,0 +0,0 @@ public class PaperWorldConfig {
|
||||
log("Bed Search Radius: " + bedSearchRadius);
|
||||
}
|
||||
private void armorStandEntityLookups() {
|
||||
armorStandEntityLookups = getBoolean("armor-stands-do-collision-entity-lookups", true);
|
||||
}
|
||||
+
|
||||
+ public boolean armorStandTick = true;
|
||||
@@ -20,7 +20,7 @@ index 721685704..9ee27f638 100644
|
||||
+ }
|
||||
}
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityArmorStand.java b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
index d8497fa5e..85fc48371 100644
|
||||
index eb6cf3a86..b51662ee9 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityArmorStand.java
|
||||
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
|
||||
@@ -37,11 +37,11 @@ index d8497fa5e..85fc48371 100644
|
||||
public EntityArmorStand(EntityTypes<? extends EntityArmorStand> entitytypes, World world) {
|
||||
super(entitytypes, world);
|
||||
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
|
||||
this.rightArmPose = EntityArmorStand.bx;
|
||||
this.leftLegPose = EntityArmorStand.by;
|
||||
this.rightLegPose = EntityArmorStand.bz;
|
||||
this.rightArmPose = EntityArmorStand.bu;
|
||||
this.leftLegPose = EntityArmorStand.bv;
|
||||
this.rightLegPose = EntityArmorStand.bw;
|
||||
+ if (world != null) this.canTick = world.paperConfig.armorStandTick; // Paper - armour stand ticking
|
||||
this.K = 0.0F;
|
||||
this.H = 0.0F;
|
||||
}
|
||||
|
||||
@@ -0,0 +0,0 @@ public class EntityArmorStand extends EntityLiving {
|
||||
@@ -136,13 +136,13 @@ index d8497fa5e..85fc48371 100644
|
||||
|
||||
public void setRightLegPose(Vector3f vector3f) {
|
||||
this.rightLegPose = vector3f;
|
||||
this.datawatcher.set(EntityArmorStand.bs, vector3f);
|
||||
this.datawatcher.set(EntityArmorStand.bp, vector3f);
|
||||
+ this.noTickPoseDirty = true; // Paper - Allow updates when not ticking
|
||||
}
|
||||
|
||||
public Vector3f r() {
|
||||
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
index e1972f793..dbf42f882 100644
|
||||
index 470cbddeb..91b6d6878 100644
|
||||
--- a/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
|
||||
@@ -0,0 +0,0 @@ public abstract class EntityLiving extends Entity {
|
||||
@@ -150,18 +150,18 @@ index e1972f793..dbf42f882 100644
|
||||
}
|
||||
|
||||
- EnumItemSlot[] aenumitemslot = EnumItemSlot.values();
|
||||
- int j = aenumitemslot.length;
|
||||
- int k = aenumitemslot.length;
|
||||
-
|
||||
- for (int k = 0; k < j; ++k) {
|
||||
- EnumItemSlot enumitemslot = aenumitemslot[k];
|
||||
- for (int l = 0; l < k; ++l) {
|
||||
- EnumItemSlot enumitemslot = aenumitemslot[l];
|
||||
- ItemStack itemstack;
|
||||
-
|
||||
- switch (enumitemslot.a()) {
|
||||
- case HAND:
|
||||
- itemstack = (ItemStack) this.bw.get(enumitemslot.b());
|
||||
- itemstack = (ItemStack) this.bu.get(enumitemslot.b());
|
||||
- break;
|
||||
- case ARMOR:
|
||||
- itemstack = (ItemStack) this.bx.get(enumitemslot.b());
|
||||
- itemstack = (ItemStack) this.bv.get(enumitemslot.b());
|
||||
- break;
|
||||
- default:
|
||||
- continue;
|
||||
@@ -188,10 +188,10 @@ index e1972f793..dbf42f882 100644
|
||||
-
|
||||
- switch (enumitemslot.a()) {
|
||||
- case HAND:
|
||||
- this.bw.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack());
|
||||
- this.bu.set(enumitemslot.b(), itemstack1.cloneItemStack());
|
||||
- break;
|
||||
- case ARMOR:
|
||||
- this.bx.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack());
|
||||
- this.bv.set(enumitemslot.b(), itemstack1.cloneItemStack());
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
@@ -206,18 +206,17 @@ index e1972f793..dbf42f882 100644
|
||||
+ // Paper start - split into own method from above
|
||||
+ public void updateEntityEquipment() {
|
||||
+ EnumItemSlot[] aenumitemslot = EnumItemSlot.values();
|
||||
+ int j = aenumitemslot.length;
|
||||
+
|
||||
+ for (int k = 0; k < j; ++k) {
|
||||
+ EnumItemSlot enumitemslot = aenumitemslot[k];
|
||||
+ int k = aenumitemslot.length;
|
||||
+ for (int l = 0; l < k; ++l) {
|
||||
+ EnumItemSlot enumitemslot = aenumitemslot[l];
|
||||
+ ItemStack itemstack;
|
||||
+
|
||||
+ switch (enumitemslot.a()) {
|
||||
+ case HAND:
|
||||
+ itemstack = (ItemStack) this.bw.get(enumitemslot.b());
|
||||
+ itemstack = (ItemStack) this.bu.get(enumitemslot.b());
|
||||
+ break;
|
||||
+ case ARMOR:
|
||||
+ itemstack = (ItemStack) this.bx.get(enumitemslot.b());
|
||||
+ itemstack = (ItemStack) this.bv.get(enumitemslot.b());
|
||||
+ break;
|
||||
+ default:
|
||||
+ continue;
|
||||
@@ -244,21 +243,20 @@ index e1972f793..dbf42f882 100644
|
||||
+
|
||||
+ switch (enumitemslot.a()) {
|
||||
+ case HAND:
|
||||
+ this.bw.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack());
|
||||
+ this.bu.set(enumitemslot.b(), itemstack1.cloneItemStack());
|
||||
+ break;
|
||||
+ case ARMOR:
|
||||
+ this.bx.set(enumitemslot.b(), itemstack1.isEmpty() ? ItemStack.a : itemstack1.cloneItemStack());
|
||||
+ this.bv.set(enumitemslot.b(), itemstack1.cloneItemStack());
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+ // Paper end
|
||||
+
|
||||
protected float e(float f, float f1) {
|
||||
float f2 = MathHelper.g(f - this.aK);
|
||||
protected float f(float f, float f1) {
|
||||
float f2 = MathHelper.g(f - this.aI);
|
||||
|
||||
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
|
||||
index 9f5c3b92e..73714d71a 100644
|
||||
index d1d689e5d..ac105270d 100644
|
||||
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
|
||||
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArmorStand.java
|
||||
@@ -0,0 +0,0 @@ public class CraftArmorStand extends CraftLivingEntity implements ArmorStand {
|
||||
|
||||
Reference in New Issue
Block a user