geforkt von Mirrors/Paper
4d40e87b33
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
31 Zeilen
1.7 KiB
Diff
31 Zeilen
1.7 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/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
|
index 65faf775b786f9c237ee33c1fb0f8ab9f37d738c..8b91d86b8d5594d526e5ce7943572b91c70ef7f2 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java
|
|
@@ -198,6 +198,7 @@ public abstract class AbstractArrow extends Projectile {
|
|
|
|
++this.inGroundTime;
|
|
} else {
|
|
+ if (tickCount > 200) this.tickDespawnCounter(); // Paper - tick despawnCounter regardless after 10 seconds
|
|
this.inGroundTime = 0;
|
|
Vec3 vec3d2 = this.position();
|
|
|
|
@@ -319,6 +320,7 @@ public abstract class AbstractArrow extends Projectile {
|
|
|
|
}
|
|
|
|
+ protected final void tickDespawnCounter() { this.tickDespawn(); } // Paper - OBFHELPER
|
|
protected void tickDespawn() {
|
|
++this.life;
|
|
if (this.life >= (pickup == Pickup.CREATIVE_ONLY ? level.paperConfig.creativeArrowDespawnRate : (pickup == Pickup.DISALLOWED ? level.paperConfig.nonPlayerArrowDespawnRate : ((this instanceof ThrownTrident) ? level.spigotConfig.tridentDespawnRate : level.spigotConfig.arrowDespawnRate)))) { // Spigot // Paper - TODO: Extract this to init?
|