geforkt von Mirrors/Paper
f243a4024d
Removes PlayerMicroMoveEvent API, the ability to disable the AsyncCatcher, and the TeleportPassengerVehicleWithPlayer patch
57 Zeilen
2.9 KiB
Diff
57 Zeilen
2.9 KiB
Diff
From 38ac29dbbda20d4ba78b51249c311026d597a50d Mon Sep 17 00:00:00 2001
|
|
From: Suddenly <suddenly@suddenly.coffee>
|
|
Date: Sat, 7 Mar 2015 21:40:48 -0600
|
|
Subject: [PATCH] Add configurable despawn distances for living entities
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/EntityInsentient.java b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
index aa38fe6..2d4d34c 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityInsentient.java
|
|
@@ -439,13 +439,13 @@ public abstract class EntityInsentient extends EntityLiving {
|
|
double d2 = entityhuman.locZ - this.locZ;
|
|
double d3 = d0 * d0 + d1 * d1 + d2 * d2;
|
|
|
|
- if (d3 > 16384.0D) { // CraftBukkit - remove isTypeNotPersistent() check
|
|
+ if (d3 > this.world.paperSpigotConfig.hardDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // PaperSpigot - custom despawn distances
|
|
this.die();
|
|
}
|
|
|
|
- if (this.ticksFarFromPlayer > 600 && this.random.nextInt(800) == 0 && d3 > 1024.0D) { // CraftBukkit - remove isTypeNotPersistent() check
|
|
+ if (this.ticksFarFromPlayer > 600 && this.random.nextInt(800) == 0 && d3 > this.world.paperSpigotConfig.softDespawnDistance) { // CraftBukkit - remove isTypeNotPersistent() check // PaperSpigot - custom despawn distance
|
|
this.die();
|
|
- } else if (d3 < 1024.0D) {
|
|
+ } else if (d3 < this.world.paperSpigotConfig.softDespawnDistance) { // PaperSpigot - custom despawn distances
|
|
this.ticksFarFromPlayer = 0;
|
|
}
|
|
}
|
|
diff --git a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
index 23a2a96..1164186 100644
|
|
--- a/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
+++ b/src/main/java/org/github/paperspigot/PaperSpigotWorldConfig.java
|
|
@@ -122,4 +122,21 @@ public class PaperSpigotWorldConfig
|
|
blockBreakExhaustion = getFloat( "player-exhaustion.block-break", 0.025F );
|
|
playerSwimmingExhaustion = getFloat( "player-exhaustion.swimming", 0.015F );
|
|
}
|
|
+
|
|
+ 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;
|
|
+ }
|
|
}
|
|
--
|
|
2.5.1
|
|
|