update ridable settings

This commit is contained in:
Ben Kerllenevich
2023-06-11 21:48:15 -04:00
parent 8731b19f93
commit 188f461ccf
81 changed files with 619 additions and 599 deletions

View File

@@ -2261,6 +2261,24 @@ index 2682a49cd3948e0f80e2d7e58abcd3e6d8f7ac4e..ede5469f26f530beacfc655581e213d3
}
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
index 4efa7e331cc974008c653a04687a336e97626445..76a38d235de3499ca19c3ccacd9289c7355012db 100644
--- a/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
+++ b/src/main/java/net/minecraft/world/entity/animal/camel/Camel.java
@@ -84,6 +84,13 @@ public class Camel extends AbstractHorse implements PlayerRideableJumping, Rider
groundPathNavigation.setCanWalkOverFences(true);
}
+ // Purpur start
+ @Override
+ public boolean dismountsUnderwater() {
+ return level().purpurConfig.useDismountsUnderwaterTag ? super.dismountsUnderwater() : !level().purpurConfig.camelRidableInWater;
+ }
+ // Purpur end
+
@Override
public void addAdditionalSaveData(CompoundTag nbt) {
super.addAdditionalSaveData(nbt);
diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
index 203691417e208b9e023e5f8c3b76993db2747ba8..d4100aab149913a3146ce00f20baf15e2c3ecbfb 100644
--- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java
@@ -5214,10 +5232,10 @@ index 9fe1cdafdafc3f718ef4eb4fd4150971e2832738..0cab29584c4d5205950571660b6c271d
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2b7f1dedb3289efc7e42a138f4483f4969902801..ec168b917d60cc6d8c48620eb4dcd89b0b121aea 100644
index 2b7f1dedb3289efc7e42a138f4483f4969902801..3ad11a5c1e661d7a8752f0f7682e5eee98aa0c0a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -91,4 +91,717 @@ public class PurpurWorldConfig {
@@ -91,4 +91,722 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}
@@ -5282,6 +5300,11 @@ index 2b7f1dedb3289efc7e42a138f4483f4969902801..ec168b917d60cc6d8c48620eb4dcd89b
+ blazeMaxY = getDouble("mobs.blaze.ridable-max-y", blazeMaxY);
+ }
+
+ public boolean camelRidableInWater = false;
+ private void camelSettings() {
+ camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater);
+ }
+
+ public boolean catRidable = false;
+ public boolean catRidableInWater = true;
+ public boolean catControllable = true;