Files
Purpur/patches/server/0235-Config-to-prevent-horses-from-standing-with-riders.patch
2021-09-29 14:50:07 -04:00

42 lines
2.5 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Encode42 <me@encode42.dev>
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 16b72398645757ca194cb638f46b4528283e2199..03ae6519a523ee73cce664d85074b5f9525de6d6 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
@@ -394,7 +394,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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4640b1a34018c09a97b60efd0278b3fca81fc468..d0aceb0c113979ba427e4067a4a782d76d82d5a8 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1463,6 +1463,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
+ public boolean horseStandWithRider = true;
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1479,6 +1480,7 @@ public class PurpurWorldConfig {
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
+ horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider);
}
public boolean huskRidable = false;