aboutsummaryrefslogtreecommitdiffhomepage
path: root/Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch
diff options
context:
space:
mode:
Diffstat (limited to 'Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch')
-rw-r--r--Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch52
1 files changed, 52 insertions, 0 deletions
diff --git a/Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch b/Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch
new file mode 100644
index 0000000000..edb9677fb5
--- /dev/null
+++ b/Spigot-Server-Patches-Unmapped/0015-Add-configurable-despawn-distances-for-living-entiti.patch
@@ -0,0 +1,52 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: Suddenly <[email protected]>
+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 b41e7922dd96c3358eb849ab39982a75736e3476..2f0d582baf0eb2bb477944d0cb1369db6ca33956 100644
+--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
++++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+@@ -102,4 +102,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/world/entity/EntityInsentient.java b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
+index 28aa0a9361e8a32763d7fe1af060f0016e8c1e50..f93af56f68d5fd27eca38d333ca429ce22fc397b 100644
+--- a/src/main/java/net/minecraft/world/entity/EntityInsentient.java
++++ b/src/main/java/net/minecraft/world/entity/EntityInsentient.java
+@@ -763,14 +763,14 @@ public abstract class EntityInsentient extends EntityLiving {
+ int i = this.getEntityType().e().f();
+ int j = i * i;
+
+- if (d0 > (double) j) { // CraftBukkit - remove isTypeNotPersistent() check
++ if (d0 > (double) world.paperConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // Paper - custom despawn distances
+ this.die();
+ }
+
+ int k = this.getEntityType().e().g();
+ int l = k * k;
+
+- if (this.ticksFarFromPlayer > 600 && this.random.nextInt(800) == 0 && d0 > (double) l) { // 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 < (double) l) {
+ this.ticksFarFromPlayer = 0;