From edba04e37814d1cf5e9f49ceded7f8b0a8efe142 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Fri, 21 Feb 2020 17:04:51 -0600 Subject: [PATCH] Purpur 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 4dc53d3fa1..3b1b133f90 100644 --- a/src/main/java/net/minecraft/server/EntityArrow.java +++ b/src/main/java/net/minecraft/server/EntityArrow.java @@ -147,6 +147,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; @@ -154,7 +156,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; @@ -275,6 +277,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.25.1.windows.1