mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-09 20:30:28 +01:00
e886d8118e
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing
31 lines
1.6 KiB
Diff
31 lines
1.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
|
Date: Wed, 8 Jul 2020 11:24:30 -0500
|
|
Subject: [PATCH] Fix arrows never despawning MC-125757
|
|
|
|
This forces the despawn counter to start ticking regardless of
|
|
state after the arrow has been alive for 200 ticks (10 seconds)
|
|
instead of getting stuck in a never despawn state (bubble columns,
|
|
etc).
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityArrow.java b/src/main/java/net/minecraft/server/EntityArrow.java
|
|
index 402684ee2a42eefc843df663a1f3af9a8a66a0bb..1e7f5957d879d1ba8cf2b29cf9397b8e204e4381 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityArrow.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityArrow.java
|
|
@@ -133,6 +133,7 @@ public abstract class EntityArrow extends IProjectile {
|
|
|
|
++this.c;
|
|
} else {
|
|
+ if (ticksLived > 200) this.tickDespawnCounter(); // Paper - tick despawnCounter regardless after 10 seconds
|
|
this.c = 0;
|
|
Vec3D vec3d2 = this.getPositionVector();
|
|
|
|
@@ -254,6 +255,7 @@ public abstract class EntityArrow extends IProjectile {
|
|
|
|
}
|
|
|
|
+ protected final void tickDespawnCounter() { this.h(); } // Paper - OBFHELPER
|
|
protected void h() {
|
|
++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?
|