Files
Purpur/patches/server/0098-Always-increment-arrow-despawn-counter-fixes-MC-1257.patch
2020-03-18 23:33:12 -05:00

43 lines
2.0 KiB
Diff

From e2d878a725b2fc4fbc084a07f3b9e4dae6d02822 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
Date: Fri, 21 Feb 2020 17:04:51 -0600
Subject: [PATCH] Always increment arrow despawn counter (fixes MC-125757)
---
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.24.0