From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Wed, 28 Jul 2021 15:52:32 -0400 Subject: [PATCH] Config to prevent horses from standing with riders Horses have a chance to stand (rear) when their ambient noise is played. This can happen while the horse is moving with a rider, which will cause the horse to suddenly stop for a moment. diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java index 56694c9918ab2e8d0ff5cfda6d60360b0cd16674..c9daf65ce500e29ce8f73d1ec6379fc2e172ae64 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java @@ -396,7 +396,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @Nullable @Override protected SoundEvent getAmbientSound() { - if (this.random.nextInt(10) == 0 && !this.isImmobile()) { + if (this.random.nextInt(10) == 0 && !this.isImmobile() && !(!this.level.purpurConfig.horseStandWithRider && this.getControllingPassenger() != null)) { // Purpur this.stand(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 37c96672f890b32892ba8eeac25baab714a3d095..1543d6e375246190777e85f1e097e93b187c3edc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1484,6 +1484,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; + public boolean horseStandWithRider = true; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { @@ -1501,6 +1502,7 @@ public class PurpurWorldConfig { horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); + horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); } public boolean huskRidable = false;