From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: William Blake Galbreath Date: Sat, 17 Jul 2021 15:55:14 -0500 Subject: [PATCH] Player ridable in water option diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java index ee88c493119a4a4629d6456c8698dd89e4f477f4..dda9391962b7360714cc1491e6cabfc2616dab25 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -2037,6 +2037,13 @@ public abstract class Player extends LivingEntity { return slot != EquipmentSlot.BODY; } + // Purpur start + @Override + public boolean dismountsUnderwater() { + return !level().purpurConfig.playerRidableInWater; + } + // Purpur end + public boolean setEntityOnShoulder(CompoundTag entityNbt) { if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java index 20d4021d6222c58e97062756cf8c66b4f819d666..363fba258c19fddb45b6bca459007def8c0da981 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -389,6 +389,7 @@ public class PurpurWorldConfig { public double playerCriticalDamageMultiplier = 1.5D; public int playerBurpDelay = 10; public boolean playerBurpWhenFull = false; + public boolean playerRidableInWater = false; private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); @@ -411,6 +412,7 @@ public class PurpurWorldConfig { playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); playerBurpDelay = getInt("gameplay-mechanics.player.burp-delay", playerBurpDelay); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); + playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); } public boolean silkTouchEnabled = false;