060bc7bbee
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 4543fb40 SPIGOT-4943: Zombie villager conversion player API. CraftBukkit Changes: 585b2ebd Tweak thresholds for can't keep up message 91ada5c2 SPIGOT-4956: EntityTameEvent not triggered when taming a Cat 9bda4134 SPIGOT-4943: Zombie villager conversion player API. 5a027071 SPIGOT-4947: Allow setting the content on a lectern 09d00e9f SPIGOT-4938: Call EntityPickupItemEvent for dolphins a278e445 SPIGOT-4948: Lectern.getInventory should return a LecternInventory Spigot Changes: 4f661b22 Rebuild patches
52 lines
2.6 KiB
Diff
52 lines
2.6 KiB
Diff
From 7218767528ebd0d22a17c1a943fa5ba7d52969ec Mon Sep 17 00:00:00 2001
|
|
From: Suddenly <suddenly@suddenly.coffee>
|
|
Date: Tue, 1 Mar 2016 13:51:54 -0600
|
|
Subject: [PATCH] Add configurable despawn distances for living entities
|
|
|
|
|
|
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
index 341038fc4..3e1f4be10 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -92,4 +92,20 @@ public class PaperWorldConfig {
|
|
private void nerfedMobsShouldJump() {
|
|
nerfedMobsShouldJump = getBoolean("spawner-nerfed-mobs-should-jump", false);
|
|
}
|
|
+
|
|
+ public int softDespawnDistance;
|
|
+ public int hardDespawnDistance;
|
|
+ private void despawnDistances() {
|
|
+ softDespawnDistance = getInt("despawn-ranges.soft", 32); // 32^2 = 1024, Minecraft Default
|
|
+ hardDespawnDistance = getInt("despawn-ranges.hard", 128); // 128^2 = 16384, Minecraft Default
|
|
+
|
|
+ if (softDespawnDistance > hardDespawnDistance) {
|
|
+ softDespawnDistance = hardDespawnDistance;
|
|
+ }
|
|
+
|
|
+ log("Living Entity Despawn Ranges: Soft: " + softDespawnDistance + " Hard: " + hardDespawnDistance);
|
|
+
|
|
+ softDespawnDistance = softDespawnDistance*softDespawnDistance;
|
|
+ hardDespawnDistance = hardDespawnDistance*hardDespawnDistance;
|
|
+ }
|
|
}
|
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
index 946e89c49..e9203479a 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
@@ -612,11 +612,11 @@ public abstract class EntityInsentient extends EntityLiving {
|
|
if (entityhuman != null) {
|
|
double d0 = entityhuman.h(this);
|
|
|
|
- if (d0 > 16384.0D) { // CraftBukkit - remove isTypeNotPersistent() check
|
|
+ if (d0 > world.paperConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances
|
|
this.die();
|
|
}
|
|
|
|
- if (this.ticksFarFromPlayer > 600 && this.random.nextInt(800) == 0 && d0 > 1024.0D) { // CraftBukkit - remove isTypeNotPersistent() check
|
|
+ if (this.ticksFarFromPlayer > 600 && this.random.nextInt(800) == 0 && d0 > world.paperConfig.softDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances
|
|
this.die();
|
|
} else if (d0 < 1024.0D) {
|
|
this.ticksFarFromPlayer = 0;
|
|
--
|
|
2.21.0
|
|
|