make sniffer ridable

This commit is contained in:
granny
2023-03-18 21:29:23 -07:00
parent ab3bcc95b4
commit ea899cadeb
40 changed files with 264 additions and 229 deletions

View File

@@ -2695,10 +2695,34 @@ index e2935115c8d41af1d623da4f0d4f73de80386129..e9f1d53599168c4c4b44a14b44514302
}
}
diff --git a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
index c6949c7ec0766bda07324a6f004b29cbd37d0f1f..d79c55668c2077869e08a77a03aeffefefafd788 100644
index c6949c7ec0766bda07324a6f004b29cbd37d0f1f..47a9e7a036e647c05d8abebdda4cab0d69aac997 100644
--- a/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
+++ b/src/main/java/net/minecraft/world/entity/animal/sniffer/Sniffer.java
@@ -296,7 +296,7 @@ public class Sniffer extends Animal {
@@ -81,6 +81,23 @@ public class Sniffer extends Animal {
this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F);
}
+ // Purpur start
+ @Override
+ public boolean isRidable() {
+ return level.purpurConfig.snifferRidable;
+ }
+
+ @Override
+ public boolean dismountsUnderwater() {
+ return !level.purpurConfig.snifferRidableInWater || super.dismountsUnderwater();
+ }
+
+ @Override
+ public boolean isControllable() {
+ return level.purpurConfig.snifferControllable;
+ }
+ // Purpur end
+
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
@Override
protected void defineSynchedData() {
@@ -296,7 +313,7 @@ public class Sniffer extends Animal {
}
@Override
@@ -5185,10 +5209,10 @@ index bd9ea8dfbd986c96000efb7dc36fc93d12a2c8b9..b0344a0baa22c4312ac9d1049b14671d
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2b7f1dedb3289efc7e42a138f4483f4969902801..5925b4e4707818e70a94eb0e77327c6eaa669312 100644
index 2b7f1dedb3289efc7e42a138f4483f4969902801..de0b2d79435f55f35f1063094ac9c674b186fc79 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -91,4 +91,706 @@ public class PurpurWorldConfig {
@@ -91,4 +91,715 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}
@@ -5699,6 +5723,15 @@ index 2b7f1dedb3289efc7e42a138f4483f4969902801..5925b4e4707818e70a94eb0e77327c6e
+ snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
+ }
+
+ public boolean snifferRidable = false;
+ public boolean snifferRidableInWater = false;
+ public boolean snifferControllable = true;
+ private void snifferSettings() {
+ snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
+ snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
+ snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
+ }
+
+ public boolean squidRidable = false;
+ public boolean squidControllable = true;
+ private void squidSettings() {