testserver/patches/server/0579-Configurable-max-leash...

46 lines
2.4 KiB
Diff
Raw Normal View History

2021-06-11 12:02:28 +00:00
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jake Potrebic <jake.m.potrebic@gmail.com>
Date: Sun, 3 Jan 2021 21:04:03 -0800
Subject: [PATCH] Configurable max leash distance
diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
2022-03-11 20:13:46 +00:00
index ea5f021c4ce2274869d884b90aeaba35d4e2db84..8a97978f16f8a4c759cb2eba9f408159b3382db6 100644
2021-06-11 12:02:28 +00:00
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
2021-11-29 11:55:13 +00:00
@@ -301,6 +301,12 @@ public class PaperWorldConfig {
2021-06-11 12:02:28 +00:00
}
}
+ public float maxLeashDistance = 10f;
+ private void maxLeashDistance() {
+ maxLeashDistance = getFloat("max-leash-distance", maxLeashDistance);
+ log("Max leash distance: " + maxLeashDistance);
+ }
+
public boolean disableEndCredits;
private void disableEndCredits() {
disableEndCredits = getBoolean("game-mechanics.disable-end-credits", false);
diff --git a/src/main/java/net/minecraft/world/entity/PathfinderMob.java b/src/main/java/net/minecraft/world/entity/PathfinderMob.java
2021-11-24 18:27:25 +00:00
index d1ab31d03ae421e628448fe2492ff138dc57c00f..999d18610666ec442bb038da5c452e3cd77e7428 100644
2021-06-11 12:02:28 +00:00
--- a/src/main/java/net/minecraft/world/entity/PathfinderMob.java
+++ b/src/main/java/net/minecraft/world/entity/PathfinderMob.java
2021-11-24 18:27:25 +00:00
@@ -48,7 +48,7 @@ public abstract class PathfinderMob extends Mob {
2021-06-11 12:02:28 +00:00
float f = this.distanceTo(entity);
if (this instanceof TamableAnimal && ((TamableAnimal) this).isInSittingPose()) {
- if (f > 10.0F) {
+ if (f > entity.level.paperConfig.maxLeashDistance) { // Paper
this.level.getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit
this.dropLeash(true, true);
}
2021-11-24 18:27:25 +00:00
@@ -57,7 +57,7 @@ public abstract class PathfinderMob extends Mob {
2021-06-11 12:02:28 +00:00
}
this.onLeashDistance(f);
- if (f > 10.0F) {
+ if (f > entity.level.paperConfig.maxLeashDistance) { // Paper
this.level.getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit
this.dropLeash(true, true);
this.goalSelector.disableControlFlag(Goal.Flag.MOVE);