4d40e87b33
Had to drop some hunks modifying getEntities, as those methods were rewritten by Mojang in 1.17
45 lines
2.4 KiB
Diff
45 lines
2.4 KiB
Diff
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
|
|
index 013c6f898faca8c22b805c8a476666a0b73828f3..a001f5cd737cf5c76dc14b2b3442238adaa5f79e 100644
|
|
--- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
+++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java
|
|
@@ -263,6 +263,12 @@ public class PaperWorldConfig {
|
|
}
|
|
}
|
|
|
|
+ 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
|
|
index 7c82d453388a27b69207d051dec316fc14715e2b..a884940cc576704951d42c6b0d00f5a319297c29 100644
|
|
--- a/src/main/java/net/minecraft/world/entity/PathfinderMob.java
|
|
+++ b/src/main/java/net/minecraft/world/entity/PathfinderMob.java
|
|
@@ -46,7 +46,7 @@ public abstract class PathfinderMob extends Mob {
|
|
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);
|
|
}
|
|
@@ -55,7 +55,7 @@ public abstract class PathfinderMob extends Mob {
|
|
}
|
|
|
|
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);
|