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() {

View File

@@ -1220,7 +1220,7 @@ index 774da46962f70e73d31ea523eb5bfc286f38856d..d2324e2dbd72fcd5a8ab562bc3b6e530
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962ccda2cd49 100644
index de0b2d79435f55f35f1063094ac9c674b186fc79..267833342e74cf71b5199d261620ace5ea988c1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -112,94 +112,181 @@ public class PurpurWorldConfig {
@@ -1895,7 +1895,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962c
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -456,180 +797,350 @@ public class PurpurWorldConfig {
@@ -456,146 +797,288 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);
@@ -2183,6 +2183,9 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962c
+ snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
}
public boolean snifferRidable = false;
@@ -609,36 +1092,64 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
+ public double squidMaxHealth = 10.0D;
@@ -2246,7 +2249,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962c
}
public boolean tadpoleRidable = false;
@@ -644,64 +1155,125 @@ public class PurpurWorldConfig {
@@ -653,64 +1164,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2372,7 +2375,7 @@ index 5925b4e4707818e70a94eb0e77327c6eaa669312..9402abb6f417dc25fe6549a22239962c
}
public boolean wardenRidable = false;
@@ -716,81 +1288,165 @@ public class PurpurWorldConfig {
@@ -725,81 +1297,165 @@ public class PurpurWorldConfig {
public boolean witchRidable = false;
public boolean witchRidableInWater = false;
public boolean witchControllable = true;

View File

@@ -30,10 +30,10 @@ index ffde1d129c5434e7748cbdaac9109cbd3d0d29bc..057f4b71ff295cf6fed9cc5b86aa4034
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 39e8c47af17dadce6e253a803954b50341dcba9c..fd9f7d6c52454e520411ab76142c7b93c04b6205 100644
index 2633d54585678dcbe0b8131d3b28e502cc76b5f8..6a1d6578b8d95b7afcb12de0316d89ffe744d167 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1468,6 +1468,7 @@ public class PurpurWorldConfig {
@@ -1477,6 +1477,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D; // TODO: re-implement
public double zombieHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
@@ -41,7 +41,7 @@ index 39e8c47af17dadce6e253a803954b50341dcba9c..fd9f7d6c52454e520411ab76142c7b93
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1483,6 +1484,7 @@ public class PurpurWorldConfig {
@@ -1492,6 +1493,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -32,7 +32,7 @@ index 6f6542f57ed942de91957edf49ef8d92b5233aa8..b6431dbb41163f9ef0d43e96fcf89750
this.forceDrops = false; // CraftBukkit
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9fcf8bdd944cf0c7a91cd3032e40d53c44fde9ce..06f0fa854cef604fd36073734f4bbf42f3ea497e 100644
index e82fdd52ae6fff3223d87c8a4695158dfd9740e6..5fefc46500a6bb824350c7b7aea3db20e5acfcb7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1169,6 +1169,8 @@ public class PurpurWorldConfig {
@@ -52,4 +52,4 @@ index 9fcf8bdd944cf0c7a91cd3032e40d53c44fde9ce..06f0fa854cef604fd36073734f4bbf42
+ snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
}
public boolean squidRidable = false;
public boolean snifferRidable = false;

View File

@@ -54,10 +54,10 @@ index d2324e2dbd72fcd5a8ab562bc3b6e53088647137..c61e4ee036c60c6eaeabccd9785fb690
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5bd1546082466cac963cce61c72d2698267f3554..d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe 100644
index 8a5f7ac669f160fd7d77b51e531741769b1d804c..bbf5edf41f4b8070b806ba2de6329e05324f2586 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1424,6 +1424,7 @@ public class PurpurWorldConfig {
@@ -1433,6 +1433,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false;
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
@@ -65,7 +65,7 @@ index 5bd1546082466cac963cce61c72d2698267f3554..d9ab35ffe3b5c10209b0d3c9de1bb7a6
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1434,6 +1435,7 @@ public class PurpurWorldConfig {
@@ -1443,6 +1444,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,7 +73,7 @@ index 5bd1546082466cac963cce61c72d2698267f3554..d9ab35ffe3b5c10209b0d3c9de1bb7a6
}
public boolean vindicatorRidable = false;
@@ -1456,6 +1458,7 @@ public class PurpurWorldConfig {
@@ -1465,6 +1467,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index 5bd1546082466cac963cce61c72d2698267f3554..d9ab35ffe3b5c10209b0d3c9de1bb7a6
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1466,6 +1469,7 @@ public class PurpurWorldConfig {
@@ -1475,6 +1478,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -49,10 +49,10 @@ index c61e4ee036c60c6eaeabccd9785fb690520fdcf2..fbbeacb94aeda40e9fc5c0553ab68948
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe..a8d607729fe645bfc2cd51d2374876c4dcfb389c 100644
index bbf5edf41f4b8070b806ba2de6329e05324f2586..9298aae62a7a80f3876025f23387639fe2ae45c4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig {
@@ -1434,6 +1434,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe..a8d607729fe645bfc2cd51d2374876c4
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1436,6 +1437,7 @@ public class PurpurWorldConfig {
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe..a8d607729fe645bfc2cd51d2374876c4
}
public boolean vindicatorRidable = false;
@@ -1459,6 +1461,7 @@ public class PurpurWorldConfig {
@@ -1468,6 +1470,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index d9ab35ffe3b5c10209b0d3c9de1bb7a66b38e6fe..a8d607729fe645bfc2cd51d2374876c4
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1470,6 +1473,7 @@ public class PurpurWorldConfig {
@@ -1479,6 +1482,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -167,7 +167,7 @@ index cdeb39d02b618b648681ca51a592b7b3508e46f5..b5b4cb3fefd769f5d8ec5b60b4b41ffb
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627f25a9be6 100644
index 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd2b9d630d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -588,6 +588,9 @@ public class PurpurWorldConfig {
@@ -210,7 +210,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
}
public boolean illusionerRidable = false;
@@ -1663,6 +1675,9 @@ public class PurpurWorldConfig {
@@ -1672,6 +1684,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1674,6 +1689,9 @@ public class PurpurWorldConfig {
@@ -1683,6 +1698,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
}
public boolean zombieHorseRidableInWater = false;
@@ -1708,6 +1726,9 @@ public class PurpurWorldConfig {
@@ -1717,6 +1735,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1719,6 +1740,9 @@ public class PurpurWorldConfig {
@@ -1728,6 +1749,9 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -250,7 +250,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
}
public boolean zombifiedPiglinRidable = false;
@@ -1726,6 +1750,9 @@ public class PurpurWorldConfig {
@@ -1735,6 +1759,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 803d2da4dd2922adfdb6bcb261073b89024b87f5..8d0c535b30bf61f56f5f62c851fdc627
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1737,5 +1764,8 @@ public class PurpurWorldConfig {
@@ -1746,5 +1773,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c85d096834fea5ed4f6805267226b34cf0bb79ac..3ddbfdfe9422f7c1f87f9a26d35ad11507b93573 100644
index dabf276d365e17865995bb6ce1083ced58c8b97b..58985f99ae1db4c749bd589f7dced86336dbdd2b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig {
@@ -1451,6 +1451,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index c85d096834fea5ed4f6805267226b34cf0bb79ac..3ddbfdfe9422f7c1f87f9a26d35ad115
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1451,6 +1452,7 @@ public class PurpurWorldConfig {
@@ -1460,6 +1461,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -18,10 +18,10 @@ index cb8ea90c03bcd5ad81d9478abcd556838143850e..ab3497bd22beffaf7a66bdd502b9e1bf
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9c4a016d9567e0e6737e60d7518a23537ef87bd7..c0fa33bf963055dee50b03cec6e284fa02f41c61 100644
index e05c07533300c567a9083e28e1f4c81b9381010d..cf2904fabe3389ef72d1b4901961192a2b1d3072 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1600,6 +1600,7 @@ public class PurpurWorldConfig {
@@ -1609,6 +1609,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index 9c4a016d9567e0e6737e60d7518a23537ef87bd7..c0fa33bf963055dee50b03cec6e284fa
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1612,6 +1613,7 @@ public class PurpurWorldConfig {
@@ -1621,6 +1622,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -22,10 +22,10 @@ index 32c7836fcceaeee018dd965f77ac1d2c2ab45ea0..5e732fd80cd0ac814e56c741717e3335
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 33913d10ac708aa682a9384c016097ed20c91a20..30ae5a63acc91b943c6c08b5e44e4648a3d7f3e6 100644
index d9e7eaec0834940c5b4c03fe0370e3dbc7f9308d..cf71954aaadd8ac23fb11f034000c42ad6944973 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1627,6 +1627,7 @@ public class PurpurWorldConfig {
@@ -1636,6 +1636,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = false;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index 33913d10ac708aa682a9384c016097ed20c91a20..30ae5a63acc91b943c6c08b5e44e4648
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1637,6 +1638,7 @@ public class PurpurWorldConfig {
@@ -1646,6 +1647,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -54,10 +54,10 @@ index ffc76354ead6937daf366c3d87bcb51d3e4c47f5..5b98d42b5d6bc07265fbb017e51a6281
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4b72a70baa59c4411900a0f152d144318e8636fa..c5b4db93286c73a49ff3f48e5a761f1ccb96780b 100644
index 5c6a3ea3be08d0228bff5fb52620b0524b024c9e..a3f3a2516e50cbb22057c8328fe20862845bcdc2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1467,6 +1467,7 @@ public class PurpurWorldConfig {
@@ -1476,6 +1476,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index 4b72a70baa59c4411900a0f152d144318e8636fa..c5b4db93286c73a49ff3f48e5a761f1c
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1477,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1486,6 +1487,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -23,10 +23,10 @@ index 52cf58145788da4cb0ec447d1cf485f86141d1d8..631349e333fcc8285b7f23dec86275d0
this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth());
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4603aacc827aef7dd71096525703932ac3aed0c8..69984de957b742137588a5d5be7f7c2539515e2e 100644
index a3a29cde25d0c6e0fd1c0167393916b185b2fd1f..4b091763e462a6e475985a24152e2b05e380265e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1706,6 +1706,8 @@ public class PurpurWorldConfig {
@@ -1715,6 +1715,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index 4603aacc827aef7dd71096525703932ac3aed0c8..69984de957b742137588a5d5be7f7c25
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1721,6 +1723,8 @@ public class PurpurWorldConfig {
@@ -1730,6 +1732,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -71,10 +71,10 @@ index 4a38fec232e2a087f8ef3f7a0c8fff17ddd714d0..0d4abed58cd14f7804e61c6e6a62891c
this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4556563c317ca919cddf354e97eb581cb8371916..5bf6c17747fcd7059b9a434f7f185f432e90bee4 100644
index 67c2aea750bc3c80e12533c5e75013d91e9b31ae..656635b15d8ed270cbf3f8d35a0fca24726a90f2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1839,6 +1839,7 @@ public class PurpurWorldConfig {
@@ -1848,6 +1848,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 4556563c317ca919cddf354e97eb581cb8371916..5bf6c17747fcd7059b9a434f7f185f43
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1853,6 +1854,7 @@ public class PurpurWorldConfig {
@@ -1862,6 +1863,7 @@ public class PurpurWorldConfig {
zombieJockeyOnlyBaby = getBoolean("mobs.zombie.jockey.only-babies", zombieJockeyOnlyBaby);
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);

View File

@@ -58,7 +58,7 @@ index de1bf4aea2661763948aba01d93e7685f3ef73cb..c396874d24ae535b4c07649e303e60b7
float f1 = Mth.cos(f) * 0.2F;
float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5bf6c17747fcd7059b9a434f7f185f432e90bee4..bbb562478d11f4bf4b4f4efc228b911a736506a4 100644
index 656635b15d8ed270cbf3f8d35a0fca24726a90f2..c95b58c5d68c7a5f1061c306c0a9b20c4436e2d8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -902,10 +902,12 @@ public class PurpurWorldConfig {
@@ -74,7 +74,7 @@ index 5bf6c17747fcd7059b9a434f7f185f432e90bee4..bbb562478d11f4bf4b4f4efc228b911a
}
public boolean goatRidable = false;
@@ -1526,6 +1528,7 @@ public class PurpurWorldConfig {
@@ -1535,6 +1537,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 5bf6c17747fcd7059b9a434f7f185f432e90bee4..bbb562478d11f4bf4b4f4efc228b911a
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1537,6 +1540,7 @@ public class PurpurWorldConfig {
@@ -1546,6 +1549,7 @@ public class PurpurWorldConfig {
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);

View File

@@ -477,23 +477,21 @@ index e9f1d53599168c4c4b44a14b445143025c4be83a..df438bc84c5b90f2fc66965f926dc2ef
public static AttributeSupplier.Builder createAttributes() {
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 d79c55668c2077869e08a77a03aeffefefafd788..f15e7a9e37339afa733bd319b192f2a8dc2a7b56 100644
index 47a9e7a036e647c05d8abebdda4cab0d69aac997..28c20f7f79fed655d4a746e8ef3d5d4d15118e04 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
@@ -81,6 +81,13 @@ public class Sniffer extends Animal {
this.setPathfindingMalus(BlockPathTypes.WATER, -2.0F);
@@ -96,6 +96,11 @@ public class Sniffer extends Animal {
public boolean isControllable() {
return level.purpurConfig.snifferControllable;
}
+ // Purpur start
+
+ @Override
+ public int getPurpurBreedTime() {
+ return this.level.purpurConfig.snifferBreedingTicks;
+ }
+ // Purpur end
+
// Purpur end
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
@Override
protected void defineSynchedData() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java
index b512ac4b75e53c272a3c41fb5b66c84b6b0e9847..fbc2e3f0b73608a999619469cd701692cb1cb788 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Strider.java
@@ -527,7 +525,7 @@ index 9cc42b4a1ea0d2315350e038034dfe7171668658..8e837ce3069ca05bcc93ea93f94c7934
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cdddd59400 100644
index 823130a1a6505bf900a455858ba9224e5a242a64..7077abe83b9c1cd6cc81c11740947f465049b1c5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -510,10 +510,12 @@ public class PurpurWorldConfig {
@@ -856,19 +854,20 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
}
public boolean shulkerRidable = false;
@@ -1561,6 +1603,11 @@ public class PurpurWorldConfig {
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
@@ -1564,10 +1606,12 @@ public class PurpurWorldConfig {
public boolean snifferRidable = false;
public boolean snifferRidableInWater = false;
public boolean snifferControllable = true;
+ public int snifferBreedingTicks = 6000;
private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
}
+ public int snifferBreedingTicks = 6000;
+ private void snifferSettings() {
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
+ }
+
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -1617,6 +1664,7 @@ public class PurpurWorldConfig {
@@ -1626,6 +1670,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -876,7 +875,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1627,6 +1675,7 @@ public class PurpurWorldConfig {
@@ -1636,6 +1681,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -884,7 +883,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
}
public boolean tadpoleRidable = false;
@@ -1647,6 +1696,7 @@ public class PurpurWorldConfig {
@@ -1656,6 +1702,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D; // TODO: re-implement
public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
@@ -892,7 +891,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1664,6 +1714,7 @@ public class PurpurWorldConfig {
@@ -1673,6 +1720,7 @@ public class PurpurWorldConfig {
traderLlamaJumpStrengthMax = getDouble("mobs.trader_llama.attributes.jump_strength.max", traderLlamaJumpStrengthMax);
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
@@ -900,7 +899,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
}
public boolean tropicalFishRidable = false;
@@ -1684,6 +1735,7 @@ public class PurpurWorldConfig {
@@ -1693,6 +1741,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = false;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -908,7 +907,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1694,6 +1746,7 @@ public class PurpurWorldConfig {
@@ -1703,6 +1752,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -916,7 +915,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
}
public boolean vexRidable = false;
@@ -1721,6 +1774,7 @@ public class PurpurWorldConfig {
@@ -1730,6 +1780,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -924,7 +923,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1734,6 +1788,7 @@ public class PurpurWorldConfig {
@@ -1743,6 +1794,7 @@ public class PurpurWorldConfig {
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -932,7 +931,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
}
public boolean vindicatorRidable = false;
@@ -1845,6 +1900,7 @@ public class PurpurWorldConfig {
@@ -1854,6 +1906,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -940,7 +939,7 @@ index bd46b5fa3404a4a64fefe1165735c03d9c2ec0db..d7669999bcf294c71c4238ccbeade1cd
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1855,6 +1911,7 @@ public class PurpurWorldConfig {
@@ -1864,6 +1917,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -23,7 +23,7 @@ index b6431dbb41163f9ef0d43e96fcf89750c5a6eef7..5ae7f8dcb39cdf9bfc760f47a6745b81
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3745b401457a60df0f4f6436a52bedc130acca25..01bca5885f0dd14fbb746c635116ac41a2b73bb5 100644
index 0b22b19a53758affe761fe81a10bdc252261c8a9..092e7417d5a3edb13ca673fc0d44f86327fd443f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1605,6 +1605,10 @@ public class PurpurWorldConfig {
@@ -47,4 +47,4 @@ index 3745b401457a60df0f4f6436a52bedc130acca25..01bca5885f0dd14fbb746c635116ac41
+ snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
}
public int snifferBreedingTicks = 6000;
public boolean snifferRidable = false;

View File

@@ -181,10 +181,10 @@ index ac70c2c03241e73943bd517a8c69dd05e0873634..0318663a824d2a9515f867a075d148c3
public static final VillagerProfession FISHERMAN = register("fisherman", PoiTypes.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiTypes.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 01bca5885f0dd14fbb746c635116ac41a2b73bb5..8896e4b02f1a659561c2462c59ffeb13d419d6e8 100644
index 092e7417d5a3edb13ca673fc0d44f86327fd443f..9fcf04fb03fead5c7850efddf5032c0e34f55ce6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1800,6 +1800,8 @@ public class PurpurWorldConfig {
@@ -1806,6 +1806,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index 01bca5885f0dd14fbb746c635116ac41a2b73bb5..8896e4b02f1a659561c2462c59ffeb13
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1814,6 +1816,8 @@ public class PurpurWorldConfig {
@@ -1820,6 +1822,8 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index b5b4cb3fefd769f5d8ec5b60b4b41ffb023d19c5..65d035647f7caf23647ec00beb20a4a2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8896e4b02f1a659561c2462c59ffeb13d419d6e8..427e89ea6014bd3668632ef5cda87b59dc97d5f0 100644
index 9fcf04fb03fead5c7850efddf5032c0e34f55ce6..a5dc84e5f5806a9529dc3643f4624424ecf03e1e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2044,6 +2044,7 @@ public class PurpurWorldConfig {
@@ -2050,6 +2050,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 8896e4b02f1a659561c2462c59ffeb13d419d6e8..427e89ea6014bd3668632ef5cda87b59
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2058,5 +2059,6 @@ public class PurpurWorldConfig {
@@ -2064,5 +2065,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby);
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);

View File

@@ -222,10 +222,10 @@ index e43fd3e59fd8c74828ae65965fade27f56beef65..b2f133c8baabba1cffa6e92ea0f85453
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 427e89ea6014bd3668632ef5cda87b59dc97d5f0..0d320ce7d833bbddbecb39b96dddf459f9babaf5 100644
index a5dc84e5f5806a9529dc3643f4624424ecf03e1e..ccce1d974cbf4157748de7731a6c792c4e3bfd63 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1929,6 +1929,8 @@ public class PurpurWorldConfig {
@@ -1935,6 +1935,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index 427e89ea6014bd3668632ef5cda87b59dc97d5f0..0d320ce7d833bbddbecb39b96dddf459
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1940,6 +1942,8 @@ public class PurpurWorldConfig {
@@ -1946,6 +1948,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,7 +43,7 @@ index a38cea2dead98ffb1a555df7a494d2e12ab504f5..06f2225743e27c7f1f0eb15ee6beedc5
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0d320ce7d833bbddbecb39b96dddf459f9babaf5..056d74886fc50508de302c75f32e5d541f142a3f 100644
index ccce1d974cbf4157748de7731a6c792c4e3bfd63..07e6caaae07797fbed03f57ea057aad68509122c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -621,6 +621,7 @@ public class PurpurWorldConfig {
@@ -66,7 +66,7 @@ index 0d320ce7d833bbddbecb39b96dddf459f9babaf5..056d74886fc50508de302c75f32e5d54
}
public boolean caveSpiderRidable = false;
@@ -1929,6 +1935,7 @@ public class PurpurWorldConfig {
@@ -1935,6 +1941,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 0d320ce7d833bbddbecb39b96dddf459f9babaf5..056d74886fc50508de302c75f32e5d54
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1942,6 +1949,11 @@ public class PurpurWorldConfig {
@@ -1948,6 +1955,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -29,10 +29,10 @@ index fbc2e3f0b73608a999619469cd701692cb1cb788..7d10e81669177d0df5c6eba79a2aac46
if (!this.level.isClientSide) {
player.startRiding(this);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 84577116234c339e378b8bada2476b2f596ff228..8871243460a9ecb89fa02aba138b5d00d49382b9 100644
index 9ad72bb746226e1fcbc91293e8608e7e53c51b02..104aee7648b5553604dda03b7fcee7fea89282e4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1703,6 +1703,7 @@ public class PurpurWorldConfig {
@@ -1709,6 +1709,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 84577116234c339e378b8bada2476b2f596ff228..8871243460a9ecb89fa02aba138b5d00
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1714,6 +1715,7 @@ public class PurpurWorldConfig {
@@ -1720,6 +1721,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -374,7 +374,7 @@ index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b3
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1e571b5de 100644
index a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe91808baec6c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -117,8 +117,11 @@ public class PurpurWorldConfig {
@@ -628,8 +628,8 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
+ snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
}
public int snifferBreedingTicks = 6000;
@@ -1830,6 +1869,7 @@ public class PurpurWorldConfig {
public boolean snifferRidable = false;
@@ -1836,6 +1875,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1846,6 +1886,7 @@ public class PurpurWorldConfig {
@@ -1852,6 +1892,7 @@ public class PurpurWorldConfig {
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -645,7 +645,7 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
}
public boolean vindicatorRidable = false;
@@ -1918,6 +1959,7 @@ public class PurpurWorldConfig {
@@ -1924,6 +1965,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1935,6 +1977,7 @@ public class PurpurWorldConfig {
@@ -1941,6 +1983,7 @@ public class PurpurWorldConfig {
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
@@ -661,7 +661,7 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
}
public boolean witherSkeletonRidable = false;
@@ -2006,6 +2049,7 @@ public class PurpurWorldConfig {
@@ -2012,6 +2055,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index e4a4632628d0426f558823e245be942763104191..553a3996e7d5eb350d070bd53162cde1
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2021,6 +2065,7 @@ public class PurpurWorldConfig {
@@ -2027,6 +2071,7 @@ public class PurpurWorldConfig {
zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance);
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);

View File

@@ -1197,7 +1197,7 @@ index fbbeacb94aeda40e9fc5c0553ab68948de9019c4..64c8890a54a10abd454a62671fbabfcf
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f530727d2d2be0 100644
index ac544371839dc9d5e0540ef2a5936d946e91ac7a..198d963d3fea007638ccac26fafc0dfaa3cbe570 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -577,11 +577,13 @@ public class PurpurWorldConfig {
@@ -2026,8 +2026,8 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
+ snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater);
}
public int snifferBreedingTicks = 6000;
@@ -1722,6 +1828,7 @@ public class PurpurWorldConfig {
public boolean snifferRidable = false;
@@ -1728,6 +1834,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -2035,7 +2035,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1734,12 +1841,14 @@ public class PurpurWorldConfig {
@@ -1740,12 +1847,14 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -2050,7 +2050,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1750,12 +1859,14 @@ public class PurpurWorldConfig {
@@ -1756,12 +1865,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2065,7 +2065,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1766,6 +1877,7 @@ public class PurpurWorldConfig {
@@ -1772,6 +1883,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2073,7 +2073,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean striderRidable = false;
@@ -1774,6 +1886,7 @@ public class PurpurWorldConfig {
@@ -1780,6 +1892,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2081,7 +2081,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1786,6 +1899,7 @@ public class PurpurWorldConfig {
@@ -1792,6 +1905,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2089,7 +2089,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean tadpoleRidable = false;
@@ -1807,6 +1921,7 @@ public class PurpurWorldConfig {
@@ -1813,6 +1927,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D; // TODO: re-implement
public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int traderLlamaBreedingTicks = 6000;
@@ -2097,7 +2097,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1825,11 +1940,13 @@ public class PurpurWorldConfig {
@@ -1831,11 +1946,13 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2111,7 +2111,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1839,6 +1956,7 @@ public class PurpurWorldConfig {
@@ -1845,6 +1962,7 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2119,7 +2119,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean turtleRidable = false;
@@ -1846,6 +1964,7 @@ public class PurpurWorldConfig {
@@ -1852,6 +1970,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
@@ -2127,7 +2127,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1857,6 +1976,7 @@ public class PurpurWorldConfig {
@@ -1863,6 +1982,7 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2135,7 +2135,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean vexRidable = false;
@@ -1864,6 +1984,7 @@ public class PurpurWorldConfig {
@@ -1870,6 +1990,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true;
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
@@ -2143,7 +2143,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1875,6 +1996,7 @@ public class PurpurWorldConfig {
@@ -1881,6 +2002,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2151,7 +2151,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean villagerRidable = false;
@@ -1888,6 +2010,7 @@ public class PurpurWorldConfig {
@@ -1894,6 +2016,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2159,7 +2159,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1905,6 +2028,7 @@ public class PurpurWorldConfig {
@@ -1911,6 +2034,7 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2167,7 +2167,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean vindicatorRidable = false;
@@ -1912,6 +2036,7 @@ public class PurpurWorldConfig {
@@ -1918,6 +2042,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2175,7 +2175,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1923,6 +2048,7 @@ public class PurpurWorldConfig {
@@ -1929,6 +2054,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2183,7 +2183,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean wanderingTraderRidable = false;
@@ -1931,6 +2057,7 @@ public class PurpurWorldConfig {
@@ -1937,6 +2063,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2191,7 +2191,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1943,6 +2070,7 @@ public class PurpurWorldConfig {
@@ -1949,6 +2076,7 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
@@ -2199,7 +2199,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean wardenRidable = false;
@@ -1958,6 +2086,7 @@ public class PurpurWorldConfig {
@@ -1964,6 +2092,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = false;
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
@@ -2207,7 +2207,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1968,6 +2097,7 @@ public class PurpurWorldConfig {
@@ -1974,6 +2103,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2215,7 +2215,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean witherRidable = false;
@@ -1978,6 +2108,7 @@ public class PurpurWorldConfig {
@@ -1984,6 +2114,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2223,7 +2223,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1996,12 +2127,14 @@ public class PurpurWorldConfig {
@@ -2002,12 +2133,14 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2238,7 +2238,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2012,6 +2145,7 @@ public class PurpurWorldConfig {
@@ -2018,6 +2151,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2246,7 +2246,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean wolfRidable = false;
@@ -2022,6 +2156,7 @@ public class PurpurWorldConfig {
@@ -2028,6 +2162,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2254,7 +2254,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2040,12 +2175,14 @@ public class PurpurWorldConfig {
@@ -2046,12 +2181,14 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2269,7 +2269,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2056,6 +2193,7 @@ public class PurpurWorldConfig {
@@ -2062,6 +2199,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2277,7 +2277,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean zombieRidable = false;
@@ -2068,6 +2206,7 @@ public class PurpurWorldConfig {
@@ -2074,6 +2212,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2285,7 +2285,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2084,6 +2223,7 @@ public class PurpurWorldConfig {
@@ -2090,6 +2229,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2293,7 +2293,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean zombieHorseRidableInWater = false;
@@ -2095,6 +2235,7 @@ public class PurpurWorldConfig {
@@ -2101,6 +2241,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D; // TODO: re-implement
public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
public double zombieHorseSpawnChance = 0.0D;
@@ -2301,7 +2301,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2111,6 +2252,7 @@ public class PurpurWorldConfig {
@@ -2117,6 +2258,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2309,7 +2309,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean zombieVillagerRidable = false;
@@ -2121,6 +2263,7 @@ public class PurpurWorldConfig {
@@ -2127,6 +2269,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2317,7 +2317,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2135,6 +2278,7 @@ public class PurpurWorldConfig {
@@ -2141,6 +2284,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2325,7 +2325,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
}
public boolean zombifiedPiglinRidable = false;
@@ -2146,6 +2290,7 @@ public class PurpurWorldConfig {
@@ -2152,6 +2296,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2333,7 +2333,7 @@ index 1cada527ffee79197c54f2504b3c4616746f8e9c..efee0da104d1ad78d7a4c99338f53072
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2161,5 +2306,6 @@ public class PurpurWorldConfig {
@@ -2167,5 +2312,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);

View File

@@ -29,7 +29,7 @@ index 0c329f66d0a26b881ddddf4c555850f6ce0481bc..2a4dce1a5ffa3902a50044b14e6c02b3
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6b5486a76aa65e46af46eeaf4252e37b6d98d3cc..d7a87f582ba3f9f1af1605313208212011c53c58 100644
index d14eab17a45f234f08383ea5091157f1ada279f5..6425f7651120c76118506b130c98deb1b68deb6f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -947,6 +947,7 @@ public class PurpurWorldConfig {
@@ -48,7 +48,7 @@ index 6b5486a76aa65e46af46eeaf4252e37b6d98d3cc..d7a87f582ba3f9f1af16053132082120
}
public boolean endermanRidable = false;
@@ -2148,6 +2150,7 @@ public class PurpurWorldConfig {
@@ -2154,6 +2156,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 6b5486a76aa65e46af46eeaf4252e37b6d98d3cc..d7a87f582ba3f9f1af16053132082120
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2167,6 +2170,7 @@ public class PurpurWorldConfig {
@@ -2173,6 +2176,7 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index 64c8890a54a10abd454a62671fbabfcf9720b7c0..e06f3ee85dde587f1146d4a3d70e8a2e
this.openTradingScreen(player, this.getDisplayName(), 1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e678172651bd14 100644
index f875df82b1b92ddcf8a23a021b7d77a4a5802ce9..7c2f2b5bc48d1c1d34ad9b1b265be97f1423c36e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2111,6 +2111,7 @@ public class PurpurWorldConfig {
@@ -2117,6 +2117,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e67817
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2129,6 +2130,7 @@ public class PurpurWorldConfig {
@@ -2135,6 +2136,7 @@ public class PurpurWorldConfig {
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
@@ -50,7 +50,7 @@ index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e67817
}
public boolean vindicatorRidable = false;
@@ -2158,6 +2160,7 @@ public class PurpurWorldConfig {
@@ -2164,6 +2166,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 5454a4aa35095ea2fdb6def38dc49c3cc4ec7474..0b63e4ef8789382001cc7fe579e67817
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2171,6 +2174,7 @@ public class PurpurWorldConfig {
@@ -2177,6 +2180,7 @@ public class PurpurWorldConfig {
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 093a00e52062868b4fbf358b307513d0f599f69d..ba753735f3cbb2cb3d0a491d1bd94a04
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 186d24b7b671665ee7cedc7b53cb98ede17ac0ca..4f40b284691f67b0ba8ddfd73d321dbc134444ab 100644
index be9fb06b266a3cce69cd5650f52a0df05e4dd750..be3c63b843cc24314becf29d4c27273866c776b4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2278,6 +2278,7 @@ public class PurpurWorldConfig {
@@ -2284,6 +2284,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 186d24b7b671665ee7cedc7b53cb98ede17ac0ca..4f40b284691f67b0ba8ddfd73d321dbc
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2298,6 +2299,7 @@ public class PurpurWorldConfig {
@@ -2304,6 +2305,7 @@ public class PurpurWorldConfig {
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);

View File

@@ -18,10 +18,10 @@ index 87f9e03fb5e095396e054a84be60ec455d3fbd35..3d2e3c7dd3bf5c8f483a933e9f686858
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f5ba56624339ff8b3ac87eb2f42ad5339bf83e3c..13877fd45731680332b84c3580ddc0ac5050ad02 100644
index d5161e92f05a0e8b6722cd5b56e10a2861e75d15..cf1ff8dc7e1279c11293740f1b1bdb6a413ce870 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2582,4 +2582,9 @@ public class PurpurWorldConfig {
@@ -2588,4 +2588,9 @@ public class PurpurWorldConfig {
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);
}

View File

@@ -24,7 +24,7 @@ index bedccb8717d08d5a60058445b04ddff149e7d36c..5293ffca3da94c9c485a87d1232b6a90
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ff30b8356a3f3e012f8184fc32d91028a95f1e3a..7eeef57472233160eef67069589ddc22e5cc8222 100644
index e84aa0fc0fabc6b3fc4602e0803d21e07f6d5b2e..3b51d99cefd879b5a723017c77f2f8a7cc5f6b70 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,11 @@ public class PurpurWorldConfig {
@@ -39,7 +39,7 @@ index ff30b8356a3f3e012f8184fc32d91028a95f1e3a..7eeef57472233160eef67069589ddc22
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2743,3 +2748,4 @@ public class PurpurWorldConfig {
@@ -2749,3 +2754,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}
}

View File

@@ -18,10 +18,10 @@ index 1084adce8dc55b19ed9d90c0c5ad6675fff0afc5..9d981e392143baa43b6006ca9ef319fd
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b89017929fa6f5353620ce47d06a79346d960286..9500363b31d9fcaec0b647778ff331378626d76b 100644
index 478b00fd65409724fa152fde36b6c7929d07622d..ef4d18edfc90e978e365e5ea0134d72b1c5c386e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2727,6 +2727,8 @@ public class PurpurWorldConfig {
@@ -2733,6 +2733,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index b89017929fa6f5353620ce47d06a79346d960286..9500363b31d9fcaec0b647778ff33137
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2742,6 +2744,8 @@ public class PurpurWorldConfig {
@@ -2748,6 +2750,8 @@ public class PurpurWorldConfig {
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index cb869ddaeed10f8edd0a327553bfe5dcbb405e3d..588ff25c19f7c0acc627f2d8425dbae5
// this.world.globalLevelEvent(1023, new BlockPosition(this), 0);
int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f3fc30796a2b117595ae306add12242e6b54e41d..bb4c60d16ad2dc618b08a9cc7c1c6f3d5f57b3dd 100644
index e306f28641f14897a14eab7f618b4ae954df3afc..e4d20da9aedf0b0232781936d791b6c4a1463f88 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2572,6 +2572,7 @@ public class PurpurWorldConfig {
@@ -2578,6 +2578,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index f3fc30796a2b117595ae306add12242e6b54e41d..bb4c60d16ad2dc618b08a9cc7c1c6f3d
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2593,6 +2594,7 @@ public class PurpurWorldConfig {
@@ -2599,6 +2600,7 @@ public class PurpurWorldConfig {
witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater);
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);

View File

@@ -77,10 +77,10 @@ index 963a596154091b79ca139af6274aa323518ad1ad..4dcac3899a500d8586580bcfd5b4516e
});
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 34c454ebca52787c77c7db4b197fe2092235f06f..b151ecb65760b18bed6498db598f3de329975998 100644
index 5cb2cfea76523cd0dabc1918a5b426ef0052edc1..5d17356098c6d38249e3c813f78836da6d50dc07 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2791,5 +2791,28 @@ public class PurpurWorldConfig {
@@ -2797,5 +2797,28 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index 6b909d41ccdf6c1ac3ac0c4e673ff52f0d14a238..b8f69063cec4d31c9d9525a04c46ed89
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b151ecb65760b18bed6498db598f3de329975998..5db387cf0b8e0fdf31da1f5b957332381590f4b3 100644
index 5d17356098c6d38249e3c813f78836da6d50dc07..54a086a14ffad32496b5602a4fe1aa4535055579 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2814,5 +2814,16 @@ public class PurpurWorldConfig {
@@ -2820,5 +2820,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -18,10 +18,10 @@ index 9d981e392143baa43b6006ca9ef319fd538c304a..ce644b92598f70872e365584844eaefa
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7c9708769c402a3724bf20d29ee1d5de368f32b3..613dffca78f5120d0c905e62f2f60b1763cd0c55 100644
index 3c12d3ef4815f191078211582b25092b9c4f984c..c8b77f1838d0edfea3e5750e3e04aaeaa87e1f17 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2791,6 +2791,7 @@ public class PurpurWorldConfig {
@@ -2797,6 +2797,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index 7c9708769c402a3724bf20d29ee1d5de368f32b3..613dffca78f5120d0c905e62f2f60b17
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2808,6 +2809,7 @@ public class PurpurWorldConfig {
@@ -2814,6 +2815,7 @@ public class PurpurWorldConfig {
zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater);
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);

View File

@@ -645,7 +645,7 @@ index 0217eebab2bac9f647ec00888190fafb7c741497..916cf5137808003058a787210fc3343d
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
index 7b6287231131fb39a8bab756f7fda3c9edded93d..8accf3abb5ba38faad29bd7d7e1a594d9ba6ced2 100644
index 9e5f6666cbc4303d095a4f95db9acd0bbc38f825..9de39557196e4a25d9227608d20f992b521a55c9 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java
@@ -112,6 +112,11 @@ public class EnderMan extends Monster implements NeutralMob {
@@ -1157,7 +1157,7 @@ index e06f3ee85dde587f1146d4a3d70e8a2e5b9a128b..2e9dd920e5c3943cba4c53ec2a2b48ee
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db9630b5c9631 100644
index e4f06854d30c4f441dc55af91c010ad34a5888c0..2f99965a4ed34d48f62ad19338e7728f8b8bb7e7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1013,12 +1013,14 @@ public class PurpurWorldConfig {
@@ -1984,8 +1984,8 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
+ snowGolemAlwaysDropExp = getBoolean("mobs.snow_golem.always-drop-exp", snowGolemAlwaysDropExp);
}
public int snifferBreedingTicks = 6000;
@@ -2348,6 +2452,7 @@ public class PurpurWorldConfig {
public boolean snifferRidable = false;
@@ -2354,6 +2458,7 @@ public class PurpurWorldConfig {
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
public boolean squidTakeDamageFromWater = false;
@@ -1993,7 +1993,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -2361,6 +2466,7 @@ public class PurpurWorldConfig {
@@ -2367,6 +2472,7 @@ public class PurpurWorldConfig {
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater);
@@ -2001,7 +2001,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean spiderRidable = false;
@@ -2368,6 +2474,7 @@ public class PurpurWorldConfig {
@@ -2374,6 +2480,7 @@ public class PurpurWorldConfig {
public boolean spiderControllable = true;
public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false;
@@ -2009,7 +2009,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2379,6 +2486,7 @@ public class PurpurWorldConfig {
@@ -2385,6 +2492,7 @@ public class PurpurWorldConfig {
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
@@ -2017,7 +2017,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean strayRidable = false;
@@ -2386,6 +2494,7 @@ public class PurpurWorldConfig {
@@ -2392,6 +2500,7 @@ public class PurpurWorldConfig {
public boolean strayControllable = true;
public double strayMaxHealth = 20.0D;
public boolean strayTakeDamageFromWater = false;
@@ -2025,7 +2025,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -2397,6 +2506,7 @@ public class PurpurWorldConfig {
@@ -2403,6 +2512,7 @@ public class PurpurWorldConfig {
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater);
@@ -2033,7 +2033,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean striderRidable = false;
@@ -2406,6 +2516,7 @@ public class PurpurWorldConfig {
@@ -2412,6 +2522,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public boolean striderTakeDamageFromWater = true;
@@ -2041,7 +2041,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -2419,6 +2530,7 @@ public class PurpurWorldConfig {
@@ -2425,6 +2536,7 @@ public class PurpurWorldConfig {
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater);
@@ -2049,7 +2049,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean tadpoleRidable = false;
@@ -2441,6 +2553,7 @@ public class PurpurWorldConfig {
@@ -2447,6 +2559,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMax = 0.175D; // TODO: re-implement
public int traderLlamaBreedingTicks = 6000;
public boolean traderLlamaTakeDamageFromWater = false;
@@ -2057,7 +2057,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2460,12 +2573,14 @@ public class PurpurWorldConfig {
@@ -2466,12 +2579,14 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater);
@@ -2072,7 +2072,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -2476,6 +2591,7 @@ public class PurpurWorldConfig {
@@ -2482,6 +2597,7 @@ public class PurpurWorldConfig {
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater);
@@ -2080,7 +2080,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean turtleRidable = false;
@@ -2484,6 +2600,7 @@ public class PurpurWorldConfig {
@@ -2490,6 +2606,7 @@ public class PurpurWorldConfig {
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
public boolean turtleTakeDamageFromWater = false;
@@ -2088,7 +2088,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -2496,6 +2613,7 @@ public class PurpurWorldConfig {
@@ -2502,6 +2619,7 @@ public class PurpurWorldConfig {
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater);
@@ -2096,7 +2096,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean vexRidable = false;
@@ -2504,6 +2622,7 @@ public class PurpurWorldConfig {
@@ -2510,6 +2628,7 @@ public class PurpurWorldConfig {
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
public boolean vexTakeDamageFromWater = false;
@@ -2104,7 +2104,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -2516,6 +2635,7 @@ public class PurpurWorldConfig {
@@ -2522,6 +2641,7 @@ public class PurpurWorldConfig {
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater);
@@ -2112,7 +2112,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean villagerRidable = false;
@@ -2531,6 +2651,7 @@ public class PurpurWorldConfig {
@@ -2537,6 +2657,7 @@ public class PurpurWorldConfig {
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
@@ -2120,7 +2120,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2550,6 +2671,7 @@ public class PurpurWorldConfig {
@@ -2556,6 +2677,7 @@ public class PurpurWorldConfig {
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
@@ -2128,7 +2128,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean vindicatorRidable = false;
@@ -2558,6 +2680,7 @@ public class PurpurWorldConfig {
@@ -2564,6 +2686,7 @@ public class PurpurWorldConfig {
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
public boolean vindicatorTakeDamageFromWater = false;
@@ -2136,7 +2136,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -2570,6 +2693,7 @@ public class PurpurWorldConfig {
@@ -2576,6 +2699,7 @@ public class PurpurWorldConfig {
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater);
@@ -2144,7 +2144,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean wanderingTraderRidable = false;
@@ -2580,6 +2704,7 @@ public class PurpurWorldConfig {
@@ -2586,6 +2710,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
public boolean wanderingTraderAllowTrading = true;
@@ -2152,7 +2152,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2594,6 +2719,7 @@ public class PurpurWorldConfig {
@@ -2600,6 +2725,7 @@ public class PurpurWorldConfig {
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater);
wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading);
@@ -2160,7 +2160,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean wardenRidable = false;
@@ -2610,6 +2736,7 @@ public class PurpurWorldConfig {
@@ -2616,6 +2742,7 @@ public class PurpurWorldConfig {
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
public boolean witchTakeDamageFromWater = false;
@@ -2168,7 +2168,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -2621,6 +2748,7 @@ public class PurpurWorldConfig {
@@ -2627,6 +2754,7 @@ public class PurpurWorldConfig {
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater);
@@ -2176,7 +2176,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean witherRidable = false;
@@ -2635,6 +2763,7 @@ public class PurpurWorldConfig {
@@ -2641,6 +2769,7 @@ public class PurpurWorldConfig {
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
public boolean witherPlaySpawnSound = true;
@@ -2184,7 +2184,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2657,6 +2786,7 @@ public class PurpurWorldConfig {
@@ -2663,6 +2792,7 @@ public class PurpurWorldConfig {
witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles);
witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius);
witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound);
@@ -2192,7 +2192,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean witherSkeletonRidable = false;
@@ -2664,6 +2794,7 @@ public class PurpurWorldConfig {
@@ -2670,6 +2800,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonControllable = true;
public double witherSkeletonMaxHealth = 20.0D;
public boolean witherSkeletonTakeDamageFromWater = false;
@@ -2200,7 +2200,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2675,6 +2806,7 @@ public class PurpurWorldConfig {
@@ -2681,6 +2812,7 @@ public class PurpurWorldConfig {
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater);
@@ -2208,7 +2208,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean wolfRidable = false;
@@ -2686,6 +2818,7 @@ public class PurpurWorldConfig {
@@ -2692,6 +2824,7 @@ public class PurpurWorldConfig {
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
public boolean wolfTakeDamageFromWater = false;
@@ -2216,7 +2216,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2705,6 +2838,7 @@ public class PurpurWorldConfig {
@@ -2711,6 +2844,7 @@ public class PurpurWorldConfig {
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater);
@@ -2224,7 +2224,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean zoglinRidable = false;
@@ -2712,6 +2846,7 @@ public class PurpurWorldConfig {
@@ -2718,6 +2852,7 @@ public class PurpurWorldConfig {
public boolean zoglinControllable = true;
public double zoglinMaxHealth = 40.0D;
public boolean zoglinTakeDamageFromWater = false;
@@ -2232,7 +2232,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2723,6 +2858,7 @@ public class PurpurWorldConfig {
@@ -2729,6 +2864,7 @@ public class PurpurWorldConfig {
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater);
@@ -2240,7 +2240,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean zombieRidable = false;
@@ -2736,6 +2872,7 @@ public class PurpurWorldConfig {
@@ -2742,6 +2878,7 @@ public class PurpurWorldConfig {
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
@@ -2248,7 +2248,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2753,6 +2890,7 @@ public class PurpurWorldConfig {
@@ -2759,6 +2896,7 @@ public class PurpurWorldConfig {
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
@@ -2256,7 +2256,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean zombieHorseRidableInWater = false;
@@ -2765,6 +2903,7 @@ public class PurpurWorldConfig {
@@ -2771,6 +2909,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMax = 0.2D; // TODO: re-implement
public double zombieHorseSpawnChance = 0.0D;
public boolean zombieHorseTakeDamageFromWater = false;
@@ -2264,7 +2264,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2782,6 +2921,7 @@ public class PurpurWorldConfig {
@@ -2788,6 +2927,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater);
@@ -2272,7 +2272,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean zombieVillagerRidable = false;
@@ -2796,6 +2936,7 @@ public class PurpurWorldConfig {
@@ -2802,6 +2942,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true;
@@ -2280,7 +2280,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2814,6 +2955,7 @@ public class PurpurWorldConfig {
@@ -2820,6 +2961,7 @@ public class PurpurWorldConfig {
zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin);
zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax);
zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled);
@@ -2288,7 +2288,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
}
public boolean zombifiedPiglinRidable = false;
@@ -2826,6 +2968,7 @@ public class PurpurWorldConfig {
@@ -2832,6 +2974,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false;
@@ -2296,7 +2296,7 @@ index 8a9f7b7d831d2b812f4833835bcba68845f42f39..2261e51166b9bf487bb109977b6db963
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2842,6 +2985,7 @@ public class PurpurWorldConfig {
@@ -2848,6 +2991,7 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater);

View File

@@ -32,7 +32,7 @@ index 10dbf4f3fb5b5acb87496c0f06da1d29f7a26521..6da57caf6ed0deb17bb99d0ba0a7344f
// Purpur start
if (entity instanceof LivingEntity entityliving) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9622f8be1d3a4c46ad63868cc237c5ca6f1a25f5..84d3449f19e91098797c9e32139024f5419477b5 100644
index f2b9ad0a778390e4de54075be0f4404260349c4d..004936fc906b0c463625d780341d3da4ef80c9c3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1265,6 +1265,7 @@ public class PurpurWorldConfig {
@@ -83,7 +83,7 @@ index 9622f8be1d3a4c46ad63868cc237c5ca6f1a25f5..84d3449f19e91098797c9e32139024f5
}
public boolean skeletonHorseRidableInWater = true;
@@ -2881,6 +2887,7 @@ public class PurpurWorldConfig {
@@ -2887,6 +2893,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index 9622f8be1d3a4c46ad63868cc237c5ca6f1a25f5..84d3449f19e91098797c9e32139024f5
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2899,6 +2906,7 @@ public class PurpurWorldConfig {
@@ -2905,6 +2912,7 @@ public class PurpurWorldConfig {
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater);
zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp);

View File

@@ -40,10 +40,10 @@ index fd50d1c2435b82215bc5b3fdbe5044d426bc342e..68ffea572045634f1ad67a6954d480e6
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b76778dde88408667e43c0ea54906051157067b0..12aac9a21d8ded7429bcda4dc62fcd52787982a8 100644
index db54150501636ed4ea06b271f3041787933ec2b4..d8e070261c1043a7ec612deb4561b361dbc3939d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2683,6 +2683,7 @@ public class PurpurWorldConfig {
@@ -2689,6 +2689,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index b76778dde88408667e43c0ea54906051157067b0..12aac9a21d8ded7429bcda4dc62fcd52
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2703,6 +2704,7 @@ public class PurpurWorldConfig {
@@ -2709,6 +2710,7 @@ public class PurpurWorldConfig {
villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater);
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);

View File

@@ -108,10 +108,10 @@ index a1a8ac55e572156671e47317ba061855be79e5ac..ec3fb8865211bd7625103c37af7b96df
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 12aac9a21d8ded7429bcda4dc62fcd52787982a8..da09ff6ee051cc811fdcbbe134126bc98b9964fa 100644
index d8e070261c1043a7ec612deb4561b361dbc3939d..bb1f800a4e621b2d283f196e2208a9e4ee2db11f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2684,6 +2684,8 @@ public class PurpurWorldConfig {
@@ -2690,6 +2690,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -120,7 +120,7 @@ index 12aac9a21d8ded7429bcda4dc62fcd52787982a8..da09ff6ee051cc811fdcbbe134126bc9
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2705,6 +2707,17 @@ public class PurpurWorldConfig {
@@ -2711,6 +2713,17 @@ public class PurpurWorldConfig {
villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading);
villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp);
villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand);

View File

@@ -17,10 +17,10 @@ index 98373e013748817209b811d4adbb40a8787242a6..567b501f4de7556e55e2418d2f5700b4
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index da09ff6ee051cc811fdcbbe134126bc98b9964fa..8908383b77c638ef3d224c5c7d055eca959efee4 100644
index bb1f800a4e621b2d283f196e2208a9e4ee2db11f..f61af2b223f687ec3d64441c37fb6b47c6b513ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2686,6 +2686,7 @@ public class PurpurWorldConfig {
@@ -2692,6 +2692,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index da09ff6ee051cc811fdcbbe134126bc98b9964fa..8908383b77c638ef3d224c5c7d055eca
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2718,6 +2719,7 @@ public class PurpurWorldConfig {
@@ -2724,6 +2725,7 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);

View File

@@ -18,10 +18,10 @@ index 45579a592f519b54df5761a22f4abb0deff7feb6..d5fce1215d99de3393d06fdc65939920
AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D);
List<Villager> list = world.getEntitiesOfClass(Villager.class, axisalignedbb);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2d6b1f21daa9813e50c5e8ae1773169ba4f63ef2..a333c3daae7e6416ec1ff897ca5fc6629c31a9c8 100644
index 1d1712d2f766939edc7eedbfbdf1e54d17005d1e..a5a40aab0a23bb2d3f39ed156aed682570f6b344 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2697,6 +2697,8 @@ public class PurpurWorldConfig {
@@ -2703,6 +2703,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 2d6b1f21daa9813e50c5e8ae1773169ba4f63ef2..a333c3daae7e6416ec1ff897ca5fc662
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2730,6 +2732,8 @@ public class PurpurWorldConfig {
@@ -2736,6 +2738,8 @@ public class PurpurWorldConfig {
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);
villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem);

View File

@@ -1575,10 +1575,10 @@ index f61843b76ad0dd50ed0ccaaf5f83a0c63e460343..5229a5af3ba875247db0228fef290f76
}
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 f15e7a9e37339afa733bd319b192f2a8dc2a7b56..e4788facd8d504bb9aebbb292efb9f203c2af66b 100644
index 28c20f7f79fed655d4a746e8ef3d5d4d15118e04..dcbf9eb615116e7c0dec96272cca319a02259456 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
@@ -442,11 +442,11 @@ public class Sniffer extends Animal {
@@ -457,11 +457,11 @@ public class Sniffer extends Animal {
@Override
protected void customServerAiStep() {