From a92cfb0d4a86b7bb1b1c7472f1844b11014dcb69 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 21 Feb 2020 17:04:51 -0600 Subject: [PATCH] MC-125757 Fix - Always increment arrow despawn counter --- src/main/java/net/minecraft/server/EntityArrow.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java index 48da1e662a..11d1dc8763 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -154,6 +154,8 @@ public abstract class EntityArrow extends Entity implements IProjectile { this.extinguish(); } + this.checkDespawnCounter(); // Purpur - moved from below - MC-125757 + if (this.inGround && !flag) { if (this.aq != iblockdata && this.world.a(this.getBoundingBox().g(0.06D))) { this.inGround = false; @@ -161,7 +163,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { this.despawnCounter = 0; this.as = 0; } else if (!this.world.isClientSide) { - this.i(); + // this.i(); // Purpur moved up - MC-125757 } ++this.d; @@ -282,6 +284,7 @@ public abstract class EntityArrow extends Entity implements IProjectile { } } + protected void checkDespawnCounter() { i(); } // Purpur - OBFHELPER protected void i() { ++this.despawnCounter; if (this.despawnCounter >= (fromPlayer == PickupStatus.CREATIVE_ONLY ? world.paperConfig.creativeArrowDespawnRate : (fromPlayer == PickupStatus.DISALLOWED ? world.paperConfig.nonPlayerArrowDespawnRate : ((this instanceof EntityThrownTrident) ? world.spigotConfig.tridentDespawnRate : world.spigotConfig.arrowDespawnRate)))) { // Spigot // Paper - TODO: Extract this to init? -- 2.26.2