From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -0,0 +0,0 @@ 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/EntityCreature.java b/src/main/java/net/minecraft/world/entity/EntityCreature.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/entity/EntityCreature.java +++ b/src/main/java/net/minecraft/world/entity/EntityCreature.java @@ -0,0 +0,0 @@ public abstract class EntityCreature extends EntityInsentient { float f = this.g(entity); if (this instanceof EntityTameableAnimal && ((EntityTameableAnimal) this).isSitting()) { - if (f > 10.0F) { + if (f > entity.world.paperConfig.maxLeashDistance) { // Paper this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); } @@ -0,0 +0,0 @@ public abstract class EntityCreature extends EntityInsentient { } this.x(f); - if (f > 10.0F) { + if (f > entity.world.paperConfig.maxLeashDistance) { // Paper this.world.getServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.unleash(true, true); this.goalSelector.a(PathfinderGoal.Type.MOVE);