make sniffer health attributes configurable

This commit is contained in:
granny
2023-03-21 23:35:58 -07:00
parent 20115a4b2e
commit ac3a469545
38 changed files with 238 additions and 213 deletions

View File

@@ -1,5 +1,5 @@
- [x] make Sniffer ridable
- [ ] give Sniffer entity attributes config
- [x] give Sniffer entity attributes config
- [ ] fix ridables around water
- [ ] test player ridable underwater
- [ ] OPTIONAL: custom damage type instead of magic for scissors & stone cutter patch

View File

@@ -34,7 +34,7 @@ index 7b1ca8fd2908b8a02ec2cd1966a31e06eaa2dd1f..b86329a18dc83073462049da975dd71b
@Override
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index ff1bccf8c6a3b9adda11981b5d59bdfa82c1367a..cbbef7730e7743c05ddc8011eab77f05829132f5 100644
index e8798de526e2836308eca8e5f4a4388aa7e9d3c0..1152cdb64ff72358292400d33a4a4f3ca88eff75 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -286,6 +286,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -474,6 +474,22 @@ index f30aad7e722f895b8f6966f042021fc80f470994..eaf2e6b9865a36b7c648bd1205db922a
// Purpur end
@Override
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 47a9e7a036e647c05d8abebdda4cab0d69aac997..bc74bae29b8426ced84e203edb0c41065062f422 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
@@ -96,6 +96,11 @@ public class Sniffer extends Animal {
public boolean isControllable() {
return level.purpurConfig.snifferControllable;
}
+
+ @Override
+ public void initAttributes() {
+ this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.snifferMaxHealth);
+ }
// Purpur end
// CraftBukkit start - SPIGOT-7295: moved from constructor to appropriate location
diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
index d4561ddfd79e80414ce006d54b90a45345017378..09ed5144c448f7620b5c856a9fa12da07ec0cce6 100644
--- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java
@@ -1220,7 +1236,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 de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb026d1638e4 100644
index de0b2d79435f55f35f1063094ac9c674b186fc79..550d1722c17048ea38886382062dd0e1c4ef7e78 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 +1911,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -456,146 +797,288 @@ public class PurpurWorldConfig {
@@ -456,189 +797,361 @@ 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);
@@ -2184,7 +2200,15 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean snifferRidable = false;
@@ -609,36 +1092,64 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = false;
public boolean snifferControllable = true;
+ public double snifferMaxHealth = 14.0D;
private void snifferSettings() {
snifferRidable = getBoolean("mobs.sniffer.ridable", snifferRidable);
snifferRidableInWater = getBoolean("mobs.sniffer.ridable-in-water", snifferRidableInWater);
snifferControllable = getBoolean("mobs.sniffer.controllable", snifferControllable);
+ snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
}
public boolean squidRidable = false;
public boolean squidControllable = true;
@@ -2249,7 +2273,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean tadpoleRidable = false;
@@ -653,64 +1164,125 @@ public class PurpurWorldConfig {
@@ -653,64 +1166,125 @@ public class PurpurWorldConfig {
public boolean traderLlamaRidable = false;
public boolean traderLlamaRidableInWater = false;
public boolean traderLlamaControllable = true;
@@ -2375,7 +2399,7 @@ index de0b2d79435f55f35f1063094ac9c674b186fc79..4a831f434f27a117fdcd1364a18deb02
}
public boolean wardenRidable = false;
@@ -725,81 +1297,165 @@ public class PurpurWorldConfig {
@@ -725,81 +1299,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 89ec247625aefc065b6a050d0749d144fcb6bdd6..d476a826abbeb7fd4206c0598cb18dc0d365bc4d 100644
index 6dd4777739ee284f251c844c7c54cb1114488e6f..47f8839902463214d9e171f676fafd7ce4e55632 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1477,6 +1477,7 @@ public class PurpurWorldConfig {
@@ -1479,6 +1479,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -41,7 +41,7 @@ index 89ec247625aefc065b6a050d0749d144fcb6bdd6..d476a826abbeb7fd4206c0598cb18dc0
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1492,6 +1493,7 @@ public class PurpurWorldConfig {
@@ -1494,6 +1495,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

@@ -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 8a5f7ac669f160fd7d77b51e531741769b1d804c..bbf5edf41f4b8070b806ba2de6329e05324f2586 100644
index afccb980aa518659c733859e8175dcb998a45f58..a41aa38eb0f219309603ad5c8605dd47a3b24951 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1433,6 +1433,7 @@ public class PurpurWorldConfig {
@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig {
public boolean villagerRidableInWater = false;
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
@@ -65,7 +65,7 @@ index 8a5f7ac669f160fd7d77b51e531741769b1d804c..bbf5edf41f4b8070b806ba2de6329e05
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1443,6 +1444,7 @@ public class PurpurWorldConfig {
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -73,7 +73,7 @@ index 8a5f7ac669f160fd7d77b51e531741769b1d804c..bbf5edf41f4b8070b806ba2de6329e05
}
public boolean vindicatorRidable = false;
@@ -1465,6 +1467,7 @@ public class PurpurWorldConfig {
@@ -1467,6 +1469,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index 8a5f7ac669f160fd7d77b51e531741769b1d804c..bbf5edf41f4b8070b806ba2de6329e05
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1475,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1477,6 +1480,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 bbf5edf41f4b8070b806ba2de6329e05324f2586..9298aae62a7a80f3876025f23387639fe2ae45c4 100644
index a41aa38eb0f219309603ad5c8605dd47a3b24951..5f76361dcd69083d6a78be07fc722f73d9d29022 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1434,6 +1434,7 @@ public class PurpurWorldConfig {
@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig {
public boolean villagerControllable = true;
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index bbf5edf41f4b8070b806ba2de6329e05324f2586..9298aae62a7a80f3876025f23387639f
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig {
@@ -1447,6 +1448,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 bbf5edf41f4b8070b806ba2de6329e05324f2586..9298aae62a7a80f3876025f23387639f
}
public boolean vindicatorRidable = false;
@@ -1468,6 +1470,7 @@ public class PurpurWorldConfig {
@@ -1470,6 +1472,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderControllable = true;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index bbf5edf41f4b8070b806ba2de6329e05324f2586..9298aae62a7a80f3876025f23387639f
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1479,6 +1482,7 @@ public class PurpurWorldConfig {
@@ -1481,6 +1484,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 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd2b9d630d 100644
index 71415037419ed8351477670c879cf1dee9e74ac0..0b0ba101d66004606061bdfe1304b28cc991bd9b 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 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
}
public boolean illusionerRidable = false;
@@ -1672,6 +1684,9 @@ public class PurpurWorldConfig {
@@ -1674,6 +1686,9 @@ public class PurpurWorldConfig {
public boolean zombieControllable = true;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1683,6 +1698,9 @@ public class PurpurWorldConfig {
@@ -1685,6 +1700,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 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
}
public boolean zombieHorseRidableInWater = false;
@@ -1717,6 +1735,9 @@ public class PurpurWorldConfig {
@@ -1719,6 +1737,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerControllable = true;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1728,6 +1749,9 @@ public class PurpurWorldConfig {
@@ -1730,6 +1751,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 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
}
public boolean zombifiedPiglinRidable = false;
@@ -1735,6 +1759,9 @@ public class PurpurWorldConfig {
@@ -1737,6 +1761,9 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinControllable = true;
public double zombifiedPiglinMaxHealth = 20.0D;
public double zombifiedPiglinSpawnReinforcements = 0.0D;
@@ -260,7 +260,7 @@ index 56cca241fcbc1936dff7b2a4bbee73c63a9c8fe0..bd1ed1f4b8469ab5ab547ebe5e3ce9cd
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1746,5 +1773,8 @@ public class PurpurWorldConfig {
@@ -1748,5 +1775,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 dabf276d365e17865995bb6ce1083ced58c8b97b..58985f99ae1db4c749bd589f7dced86336dbdd2b 100644
index a6d807ac6c9486bddac5a15bdb345aa6d660c3d9..027d52ced384f3add57432bbdf5321ce7ea3cf22 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1451,6 +1451,7 @@ public class PurpurWorldConfig {
@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index dabf276d365e17865995bb6ce1083ced58c8b97b..58985f99ae1db4c749bd589f7dced863
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1460,6 +1461,7 @@ public class PurpurWorldConfig {
@@ -1462,6 +1463,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 e05c07533300c567a9083e28e1f4c81b9381010d..cf2904fabe3389ef72d1b4901961192a2b1d3072 100644
index b9a70e8da46923d5efc31dfac54d2fe58acb4f82..f5c1434946d54deb6a5924146f0c0003e1cd3176 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1609,6 +1609,7 @@ public class PurpurWorldConfig {
@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index e05c07533300c567a9083e28e1f4c81b9381010d..cf2904fabe3389ef72d1b4901961192a
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1621,6 +1622,7 @@ public class PurpurWorldConfig {
@@ -1623,6 +1624,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 d9e7eaec0834940c5b4c03fe0370e3dbc7f9308d..cf71954aaadd8ac23fb11f034000c42ad6944973 100644
index a8111222cdcb7697ce761b4ed5b9e62922e7459b..d1fa483763b3f96e2274ebb74cbeec03ee0ca3af 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1636,6 +1636,7 @@ public class PurpurWorldConfig {
@@ -1638,6 +1638,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = false;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index d9e7eaec0834940c5b4c03fe0370e3dbc7f9308d..cf71954aaadd8ac23fb11f034000c42a
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1646,6 +1647,7 @@ public class PurpurWorldConfig {
@@ -1648,6 +1649,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 5c6a3ea3be08d0228bff5fb52620b0524b024c9e..a3f3a2516e50cbb22057c8328fe20862845bcdc2 100644
index b8411a9bd9ce0cab81173411a850108f7192d27d..a5897f8a95808c40235d587f9a8e063bcd08e388 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1476,6 +1476,7 @@ public class PurpurWorldConfig {
@@ -1478,6 +1478,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index 5c6a3ea3be08d0228bff5fb52620b0524b024c9e..a3f3a2516e50cbb22057c8328fe20862
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1486,6 +1487,7 @@ public class PurpurWorldConfig {
@@ -1488,6 +1489,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 a3a29cde25d0c6e0fd1c0167393916b185b2fd1f..4b091763e462a6e475985a24152e2b05e380265e 100644
index d13c4040ce81d701fe9c26f9cc00d661d631b991..6fc696e6260691c93facfebb6fc8db25ff72d102 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1715,6 +1715,8 @@ public class PurpurWorldConfig {
@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index a3a29cde25d0c6e0fd1c0167393916b185b2fd1f..4b091763e462a6e475985a24152e2b05
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1730,6 +1732,8 @@ public class PurpurWorldConfig {
@@ -1732,6 +1734,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 67c2aea750bc3c80e12533c5e75013d91e9b31ae..656635b15d8ed270cbf3f8d35a0fca24726a90f2 100644
index 14f4c4ff339da8db6f43f14250047f77656d1d8d..f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1848,6 +1848,7 @@ public class PurpurWorldConfig {
@@ -1850,6 +1850,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 67c2aea750bc3c80e12533c5e75013d91e9b31ae..656635b15d8ed270cbf3f8d35a0fca24
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1862,6 +1863,7 @@ public class PurpurWorldConfig {
@@ -1864,6 +1865,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 656635b15d8ed270cbf3f8d35a0fca24726a90f2..c95b58c5d68c7a5f1061c306c0a9b20c4436e2d8 100644
index f05ca6fab4e3622f9f96fdb24d27095fc5fc8bf2..b2649b3960f48b09028327d30b374de94bf6cbf6 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 656635b15d8ed270cbf3f8d35a0fca24726a90f2..c95b58c5d68c7a5f1061c306c0a9b20c
}
public boolean goatRidable = false;
@@ -1535,6 +1537,7 @@ public class PurpurWorldConfig {
@@ -1537,6 +1539,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 656635b15d8ed270cbf3f8d35a0fca24726a90f2..c95b58c5d68c7a5f1061c306c0a9b20c
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1546,6 +1549,7 @@ public class PurpurWorldConfig {
@@ -1548,6 +1551,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,12 +477,12 @@ 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 47a9e7a036e647c05d8abebdda4cab0d69aac997..28c20f7f79fed655d4a746e8ef3d5d4d15118e04 100644
index bc74bae29b8426ced84e203edb0c41065062f422..12aab69aca179717ea2a2ac04e28a78eff98af20 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
@@ -96,6 +96,11 @@ public class Sniffer extends Animal {
public boolean isControllable() {
return level.purpurConfig.snifferControllable;
@@ -101,6 +101,11 @@ public class Sniffer extends Animal {
public void initAttributes() {
this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.snifferMaxHealth);
}
+
+ @Override
@@ -525,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 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089b2c86dc1 100644
index de9435f336643a0654796b2545210829569ec01f..b74313333e8bd1b0302f6c13e7effbb73c4c37b5 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 {
@@ -854,20 +854,21 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
}
public boolean shulkerRidable = false;
@@ -1564,10 +1606,12 @@ public class PurpurWorldConfig {
public boolean snifferRidable = false;
@@ -1565,11 +1607,13 @@ public class PurpurWorldConfig {
public boolean snifferRidableInWater = false;
public boolean snifferControllable = true;
public double snifferMaxHealth = 14.0D;
+ 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);
snifferMaxHealth = getDouble("mobs.sniffer.attributes.max_health", snifferMaxHealth);
+ snifferBreedingTicks = getInt("mobs.sniffer.breeding-delay-ticks", chickenBreedingTicks);
}
public boolean squidRidable = false;
@@ -1626,6 +1670,7 @@ public class PurpurWorldConfig {
@@ -1628,6 +1672,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -875,7 +876,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1636,6 +1681,7 @@ public class PurpurWorldConfig {
@@ -1638,6 +1683,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -883,7 +884,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
}
public boolean tadpoleRidable = false;
@@ -1656,6 +1702,7 @@ public class PurpurWorldConfig {
@@ -1658,6 +1704,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -891,7 +892,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1673,6 +1720,7 @@ public class PurpurWorldConfig {
@@ -1675,6 +1722,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);
@@ -899,7 +900,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
}
public boolean tropicalFishRidable = false;
@@ -1693,6 +1741,7 @@ public class PurpurWorldConfig {
@@ -1695,6 +1743,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = false;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -907,7 +908,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1703,6 +1752,7 @@ public class PurpurWorldConfig {
@@ -1705,6 +1754,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -915,7 +916,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
}
public boolean vexRidable = false;
@@ -1730,6 +1780,7 @@ public class PurpurWorldConfig {
@@ -1732,6 +1782,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -923,7 +924,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1743,6 +1794,7 @@ public class PurpurWorldConfig {
@@ -1745,6 +1796,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);
@@ -931,7 +932,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
}
public boolean vindicatorRidable = false;
@@ -1854,6 +1906,7 @@ public class PurpurWorldConfig {
@@ -1856,6 +1908,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -939,7 +940,7 @@ index 01794fced783d09073ce84647a93d94c35e713da..a74e68d7f449fba94f0cc10c3988a089
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1864,6 +1917,7 @@ public class PurpurWorldConfig {
@@ -1866,6 +1919,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

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 092e7417d5a3edb13ca673fc0d44f86327fd443f..9fcf04fb03fead5c7850efddf5032c0e34f55ce6 100644
index 8f1fff3af6bc648823e27d795d254e33b6dd977f..5fa70176984d1bb7c84572bf40b6f338261c7745 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1806,6 +1806,8 @@ public class PurpurWorldConfig {
@@ -1808,6 +1808,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index 092e7417d5a3edb13ca673fc0d44f86327fd443f..9fcf04fb03fead5c7850efddf5032c0e
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1820,6 +1822,8 @@ public class PurpurWorldConfig {
@@ -1822,6 +1824,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 9fcf04fb03fead5c7850efddf5032c0e34f55ce6..a5dc84e5f5806a9529dc3643f4624424ecf03e1e 100644
index 5fa70176984d1bb7c84572bf40b6f338261c7745..267b35d0f2ae6bca527787c276bf50600f28a589 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2050,6 +2050,7 @@ public class PurpurWorldConfig {
@@ -2052,6 +2052,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 9fcf04fb03fead5c7850efddf5032c0e34f55ce6..a5dc84e5f5806a9529dc3643f4624424
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2064,5 +2065,6 @@ public class PurpurWorldConfig {
@@ -2066,5 +2067,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 a5dc84e5f5806a9529dc3643f4624424ecf03e1e..ccce1d974cbf4157748de7731a6c792c4e3bfd63 100644
index 267b35d0f2ae6bca527787c276bf50600f28a589..db8cae3ff986b41984341d7407741edcdfecb558 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1935,6 +1935,8 @@ public class PurpurWorldConfig {
@@ -1937,6 +1937,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index a5dc84e5f5806a9529dc3643f4624424ecf03e1e..ccce1d974cbf4157748de7731a6c792c
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1946,6 +1948,8 @@ public class PurpurWorldConfig {
@@ -1948,6 +1950,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 ccce1d974cbf4157748de7731a6c792c4e3bfd63..07e6caaae07797fbed03f57ea057aad68509122c 100644
index db8cae3ff986b41984341d7407741edcdfecb558..e364d1b0ea6be04ec2ff624c36e13f14e7e1ac45 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 ccce1d974cbf4157748de7731a6c792c4e3bfd63..07e6caaae07797fbed03f57ea057aad6
}
public boolean caveSpiderRidable = false;
@@ -1935,6 +1941,7 @@ public class PurpurWorldConfig {
@@ -1937,6 +1943,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index ccce1d974cbf4157748de7731a6c792c4e3bfd63..07e6caaae07797fbed03f57ea057aad6
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1948,6 +1955,11 @@ public class PurpurWorldConfig {
@@ -1950,6 +1957,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 9ad72bb746226e1fcbc91293e8608e7e53c51b02..104aee7648b5553604dda03b7fcee7fea89282e4 100644
index 9160e593d71ec5a6eea9646a50dfd465f3cf0ed8..cee38f830945231e567a9400d227f06b6aa80790 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1709,6 +1709,7 @@ public class PurpurWorldConfig {
@@ -1711,6 +1711,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 9ad72bb746226e1fcbc91293e8608e7e53c51b02..104aee7648b5553604dda03b7fcee7fe
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1720,6 +1721,7 @@ public class PurpurWorldConfig {
@@ -1722,6 +1723,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 56781b5cf331400703bdda49508390651b506208..11f7902e30771d5c279e0116b813295a5daf3510 100644
index b5d6060af4f806896ea499cad4073778ed5659e4..3ac340ec29845321e1ed4d1afb3687ba564b06b3 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1715,7 +1715,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -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 a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe91808baec6c 100644
index 71d4ba7f97b9898dca7efb55a81833b43a9624ee..8c21f611c515a18fae777d86e96f9010a921b75a 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 {
@@ -629,7 +629,7 @@ index a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
}
public boolean snifferRidable = false;
@@ -1836,6 +1875,7 @@ public class PurpurWorldConfig {
@@ -1838,6 +1877,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1852,6 +1892,7 @@ public class PurpurWorldConfig {
@@ -1854,6 +1894,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 a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
}
public boolean vindicatorRidable = false;
@@ -1924,6 +1965,7 @@ public class PurpurWorldConfig {
@@ -1926,6 +1967,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1941,6 +1983,7 @@ public class PurpurWorldConfig {
@@ -1943,6 +1985,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 a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
}
public boolean witherSkeletonRidable = false;
@@ -2012,6 +2055,7 @@ public class PurpurWorldConfig {
@@ -2014,6 +2057,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index a9cef10353547680630d5d7916858f027a2669e2..cbe45869a27177a7d83db1b6562fe918
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2027,6 +2071,7 @@ public class PurpurWorldConfig {
@@ -2029,6 +2073,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f119aacd889 100644
index 3a55cbbaae5740749e8f7763bf6caaef357170ed..762aa1100c9ee748d04e69a60b8609798fcba5b8 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 {
@@ -2027,7 +2027,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean snifferRidable = false;
@@ -1728,6 +1834,7 @@ public class PurpurWorldConfig {
@@ -1730,6 +1836,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -2035,7 +2035,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1740,12 +1847,14 @@ public class PurpurWorldConfig {
@@ -1742,12 +1849,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1756,12 +1865,14 @@ public class PurpurWorldConfig {
@@ -1758,12 +1867,14 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2065,7 +2065,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1772,6 +1883,7 @@ public class PurpurWorldConfig {
@@ -1774,6 +1885,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2073,7 +2073,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean striderRidable = false;
@@ -1780,6 +1892,7 @@ public class PurpurWorldConfig {
@@ -1782,6 +1894,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2081,7 +2081,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1792,6 +1905,7 @@ public class PurpurWorldConfig {
@@ -1794,6 +1907,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean tadpoleRidable = false;
@@ -1813,6 +1927,7 @@ public class PurpurWorldConfig {
@@ -1815,6 +1929,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2097,7 +2097,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1831,11 +1946,13 @@ public class PurpurWorldConfig {
@@ -1833,11 +1948,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -1845,6 +1962,7 @@ public class PurpurWorldConfig {
@@ -1847,6 +1964,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean turtleRidable = false;
@@ -1852,6 +1970,7 @@ public class PurpurWorldConfig {
@@ -1854,6 +1972,7 @@ public class PurpurWorldConfig {
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
@@ -2127,7 +2127,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1863,6 +1982,7 @@ public class PurpurWorldConfig {
@@ -1865,6 +1984,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean vexRidable = false;
@@ -1870,6 +1990,7 @@ public class PurpurWorldConfig {
@@ -1872,6 +1992,7 @@ public class PurpurWorldConfig {
public boolean vexControllable = true;
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
@@ -2143,7 +2143,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1881,6 +2002,7 @@ public class PurpurWorldConfig {
@@ -1883,6 +2004,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2151,7 +2151,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean villagerRidable = false;
@@ -1894,6 +2016,7 @@ public class PurpurWorldConfig {
@@ -1896,6 +2018,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2159,7 +2159,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1911,6 +2034,7 @@ public class PurpurWorldConfig {
@@ -1913,6 +2036,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean vindicatorRidable = false;
@@ -1918,6 +2042,7 @@ public class PurpurWorldConfig {
@@ -1920,6 +2044,7 @@ public class PurpurWorldConfig {
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
@@ -2175,7 +2175,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1929,6 +2054,7 @@ public class PurpurWorldConfig {
@@ -1931,6 +2056,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean wanderingTraderRidable = false;
@@ -1937,6 +2063,7 @@ public class PurpurWorldConfig {
@@ -1939,6 +2065,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2191,7 +2191,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1949,6 +2076,7 @@ public class PurpurWorldConfig {
@@ -1951,6 +2078,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean wardenRidable = false;
@@ -1964,6 +2092,7 @@ public class PurpurWorldConfig {
@@ -1966,6 +2094,7 @@ public class PurpurWorldConfig {
public boolean witchRidableInWater = false;
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
@@ -2207,7 +2207,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1974,6 +2103,7 @@ public class PurpurWorldConfig {
@@ -1976,6 +2105,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2215,7 +2215,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean witherRidable = false;
@@ -1984,6 +2114,7 @@ public class PurpurWorldConfig {
@@ -1986,6 +2116,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2223,7 +2223,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2002,12 +2133,14 @@ public class PurpurWorldConfig {
@@ -2004,12 +2135,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2018,6 +2151,7 @@ public class PurpurWorldConfig {
@@ -2020,6 +2153,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean wolfRidable = false;
@@ -2028,6 +2162,7 @@ public class PurpurWorldConfig {
@@ -2030,6 +2164,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2254,7 +2254,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2046,12 +2181,14 @@ public class PurpurWorldConfig {
@@ -2048,12 +2183,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2062,6 +2199,7 @@ public class PurpurWorldConfig {
@@ -2064,6 +2201,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2277,7 +2277,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean zombieRidable = false;
@@ -2074,6 +2212,7 @@ public class PurpurWorldConfig {
@@ -2076,6 +2214,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2285,7 +2285,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2090,6 +2229,7 @@ public class PurpurWorldConfig {
@@ -2092,6 +2231,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean zombieHorseRidableInWater = false;
@@ -2101,6 +2241,7 @@ public class PurpurWorldConfig {
@@ -2103,6 +2243,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2301,7 +2301,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2117,6 +2258,7 @@ public class PurpurWorldConfig {
@@ -2119,6 +2260,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean zombieVillagerRidable = false;
@@ -2127,6 +2269,7 @@ public class PurpurWorldConfig {
@@ -2129,6 +2271,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2317,7 +2317,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2141,6 +2284,7 @@ public class PurpurWorldConfig {
@@ -2143,6 +2286,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 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
}
public boolean zombifiedPiglinRidable = false;
@@ -2152,6 +2296,7 @@ public class PurpurWorldConfig {
@@ -2154,6 +2298,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2333,7 +2333,7 @@ index 636c973d29f72d4e793afb7c448e20ff5a9c12a2..e749a8864c4cd4d5cf5726974c3e7f11
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2167,5 +2312,6 @@ public class PurpurWorldConfig {
@@ -2169,5 +2314,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 d14eab17a45f234f08383ea5091157f1ada279f5..6425f7651120c76118506b130c98deb1b68deb6f 100644
index 131b344fac984d9653e76e9a66826d8c2c3a670f..98eab7de6ce8dc52012a2b909ac613e520414d7e 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 d14eab17a45f234f08383ea5091157f1ada279f5..6425f7651120c76118506b130c98deb1
}
public boolean endermanRidable = false;
@@ -2154,6 +2156,7 @@ public class PurpurWorldConfig {
@@ -2156,6 +2158,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index d14eab17a45f234f08383ea5091157f1ada279f5..6425f7651120c76118506b130c98deb1
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2173,6 +2176,7 @@ public class PurpurWorldConfig {
@@ -2175,6 +2178,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 12fa98f0a2e2579e7ca4c749b53302dfcd2294a6..442554da3ea74845e9e7a97dea9f497caa48e78a 100644
index 040201827a0c272141050094aa1929f539a3fa73..a3af9a02fa8c589603b3a6b10bbebb101ff665ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2121,6 +2121,7 @@ public class PurpurWorldConfig {
@@ -2123,6 +2123,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 12fa98f0a2e2579e7ca4c749b53302dfcd2294a6..442554da3ea74845e9e7a97dea9f497c
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2139,6 +2140,7 @@ public class PurpurWorldConfig {
@@ -2141,6 +2142,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 12fa98f0a2e2579e7ca4c749b53302dfcd2294a6..442554da3ea74845e9e7a97dea9f497c
}
public boolean vindicatorRidable = false;
@@ -2168,6 +2170,7 @@ public class PurpurWorldConfig {
@@ -2170,6 +2172,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 12fa98f0a2e2579e7ca4c749b53302dfcd2294a6..442554da3ea74845e9e7a97dea9f497c
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2181,6 +2184,7 @@ public class PurpurWorldConfig {
@@ -2183,6 +2186,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 0c37f3a761d602b9a2a1041b1f2d4e56df372d18..f46420e65ff6d5863815d9c2d7a8bccd48481d4c 100644
index 93ae5787def42553d1b7864b7d6e648ac2e40827..6856d986732c5a3e17d148448eb4fa8b7452f137 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2288,6 +2288,7 @@ public class PurpurWorldConfig {
@@ -2290,6 +2290,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index 0c37f3a761d602b9a2a1041b1f2d4e56df372d18..f46420e65ff6d5863815d9c2d7a8bccd
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2308,6 +2309,7 @@ public class PurpurWorldConfig {
@@ -2310,6 +2311,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 79ee0e450e2f740c5818c4b1b092b2cb93307dee..bd6745d1d4ef878f6add91259ef888dafdb0f1cd 100644
index 3c62b930de04cb993b2df071d3f8e908d4951c27..03a92969423d2e709594fc1de3c787237664bec3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2592,4 +2592,9 @@ public class PurpurWorldConfig {
@@ -2594,4 +2594,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 00706a28fb5a0967ccaa0e402de1281d85df0fc5..046266cce1c07950645a7dad832e1944af880550 100644
index e66eb3fef49a10d660f42b060af604081ce60723..c73401d9a23fc86d1964c3a104e652636d17b899 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -718,6 +718,11 @@ public class PurpurWorldConfig {
@@ -39,7 +39,7 @@ index 00706a28fb5a0967ccaa0e402de1281d85df0fc5..046266cce1c07950645a7dad832e1944
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2753,3 +2758,4 @@ public class PurpurWorldConfig {
@@ -2755,3 +2760,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 e16210dc87535705091b9aa9edb4a59fef06cbfd..e503b9018183fa6491529d1c5fe630906fb61a50 100644
index 4b8ff2fbd341c3cf7f957591cfe80093e88c16d9..c6c827b261d4223678a9363de96b0067d5fc514a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2737,6 +2737,8 @@ public class PurpurWorldConfig {
@@ -2739,6 +2739,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index e16210dc87535705091b9aa9edb4a59fef06cbfd..e503b9018183fa6491529d1c5fe63090
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2752,6 +2754,8 @@ public class PurpurWorldConfig {
@@ -2754,6 +2756,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 24232ea98d8ba1983b363689397ce4cef2826557..9d16759f8e736e3981a448ab3a7d784636bc05f3 100644
index d984ddd6b9afc4c978583cbbc0f7a43f83c8863c..e8ebff7e15d2e2262b395db4c516125d6bc665e3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2582,6 +2582,7 @@ public class PurpurWorldConfig {
@@ -2584,6 +2584,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index 24232ea98d8ba1983b363689397ce4cef2826557..9d16759f8e736e3981a448ab3a7d7846
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2603,6 +2604,7 @@ public class PurpurWorldConfig {
@@ -2605,6 +2606,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 6146547d1d980ccf78e7265e51b1c34718834773..2ad07c394672ccda23853ee8e384219fb49bcdb4 100644
index 758df2d0a41b94ba81b0574d1e95dd9485bb4127..b20b22b6551a4a9763836d7d866cb95602e97d8b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2801,5 +2801,28 @@ public class PurpurWorldConfig {
@@ -2803,5 +2803,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 2ad07c394672ccda23853ee8e384219fb49bcdb4..ad4cc60a0187965f7d7ba5c5bd28dfc56b0ee69d 100644
index b20b22b6551a4a9763836d7d866cb95602e97d8b..b5be88177c3840f81dd2e8719e7ee3d5974fba60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2824,5 +2824,16 @@ public class PurpurWorldConfig {
@@ -2826,5 +2826,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 1e7fed6def1273d84fa9d30aeaaf2850d4c3955d..59829bbc091874f2ae8d640c9e2c400bb9fcd93b 100644
index c7eb338292be3715d1817159e47fc44909ab4e95..e706d6246ab83656486abc5474b3b70d2a126558 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2801,6 +2801,7 @@ public class PurpurWorldConfig {
@@ -2803,6 +2803,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index 1e7fed6def1273d84fa9d30aeaaf2850d4c3955d..59829bbc091874f2ae8d640c9e2c400b
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2818,6 +2819,7 @@ public class PurpurWorldConfig {
@@ -2820,6 +2821,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

@@ -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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f2949003416179 100644
index ab6266ebf59e6f00c9dc2fe7d51456f49c4caef9..222ad342a7531c0a805e36ac6419b994a8d4ee56 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1017,12 +1017,14 @@ public class PurpurWorldConfig {
@@ -1985,7 +1985,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean snifferRidable = false;
@@ -2358,6 +2462,7 @@ public class PurpurWorldConfig {
@@ -2360,6 +2464,7 @@ public class PurpurWorldConfig {
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
public boolean squidTakeDamageFromWater = false;
@@ -1993,7 +1993,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -2371,6 +2476,7 @@ public class PurpurWorldConfig {
@@ -2373,6 +2478,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean spiderRidable = false;
@@ -2378,6 +2484,7 @@ public class PurpurWorldConfig {
@@ -2380,6 +2486,7 @@ public class PurpurWorldConfig {
public boolean spiderControllable = true;
public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false;
@@ -2009,7 +2009,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2389,6 +2496,7 @@ public class PurpurWorldConfig {
@@ -2391,6 +2498,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean strayRidable = false;
@@ -2396,6 +2504,7 @@ public class PurpurWorldConfig {
@@ -2398,6 +2506,7 @@ public class PurpurWorldConfig {
public boolean strayControllable = true;
public double strayMaxHealth = 20.0D;
public boolean strayTakeDamageFromWater = false;
@@ -2025,7 +2025,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -2407,6 +2516,7 @@ public class PurpurWorldConfig {
@@ -2409,6 +2518,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean striderRidable = false;
@@ -2416,6 +2526,7 @@ public class PurpurWorldConfig {
@@ -2418,6 +2528,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public boolean striderTakeDamageFromWater = true;
@@ -2041,7 +2041,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -2429,6 +2540,7 @@ public class PurpurWorldConfig {
@@ -2431,6 +2542,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean tadpoleRidable = false;
@@ -2451,6 +2563,7 @@ public class PurpurWorldConfig {
@@ -2453,6 +2565,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
public boolean traderLlamaTakeDamageFromWater = false;
@@ -2057,7 +2057,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -2470,12 +2583,14 @@ public class PurpurWorldConfig {
@@ -2472,12 +2585,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable);
@@ -2486,6 +2601,7 @@ public class PurpurWorldConfig {
@@ -2488,6 +2603,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean turtleRidable = false;
@@ -2494,6 +2610,7 @@ public class PurpurWorldConfig {
@@ -2496,6 +2612,7 @@ public class PurpurWorldConfig {
public double turtleMaxHealth = 30.0D;
public int turtleBreedingTicks = 6000;
public boolean turtleTakeDamageFromWater = false;
@@ -2088,7 +2088,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -2506,6 +2623,7 @@ public class PurpurWorldConfig {
@@ -2508,6 +2625,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean vexRidable = false;
@@ -2514,6 +2632,7 @@ public class PurpurWorldConfig {
@@ -2516,6 +2634,7 @@ public class PurpurWorldConfig {
public double vexMaxY = 320D;
public double vexMaxHealth = 14.0D;
public boolean vexTakeDamageFromWater = false;
@@ -2104,7 +2104,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -2526,6 +2645,7 @@ public class PurpurWorldConfig {
@@ -2528,6 +2647,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean villagerRidable = false;
@@ -2541,6 +2661,7 @@ public class PurpurWorldConfig {
@@ -2543,6 +2663,7 @@ public class PurpurWorldConfig {
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
@@ -2120,7 +2120,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2560,6 +2681,7 @@ public class PurpurWorldConfig {
@@ -2562,6 +2683,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean vindicatorRidable = false;
@@ -2568,6 +2690,7 @@ public class PurpurWorldConfig {
@@ -2570,6 +2692,7 @@ public class PurpurWorldConfig {
public double vindicatorMaxHealth = 24.0D;
public double vindicatorJohnnySpawnChance = 0D;
public boolean vindicatorTakeDamageFromWater = false;
@@ -2136,7 +2136,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -2580,6 +2703,7 @@ public class PurpurWorldConfig {
@@ -2582,6 +2705,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean wanderingTraderRidable = false;
@@ -2590,6 +2714,7 @@ public class PurpurWorldConfig {
@@ -2592,6 +2716,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
public boolean wanderingTraderAllowTrading = true;
@@ -2152,7 +2152,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2604,6 +2729,7 @@ public class PurpurWorldConfig {
@@ -2606,6 +2731,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean wardenRidable = false;
@@ -2620,6 +2746,7 @@ public class PurpurWorldConfig {
@@ -2622,6 +2748,7 @@ public class PurpurWorldConfig {
public boolean witchControllable = true;
public double witchMaxHealth = 26.0D;
public boolean witchTakeDamageFromWater = false;
@@ -2168,7 +2168,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -2631,6 +2758,7 @@ public class PurpurWorldConfig {
@@ -2633,6 +2760,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean witherRidable = false;
@@ -2645,6 +2773,7 @@ public class PurpurWorldConfig {
@@ -2647,6 +2775,7 @@ public class PurpurWorldConfig {
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
public boolean witherPlaySpawnSound = true;
@@ -2184,7 +2184,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2667,6 +2796,7 @@ public class PurpurWorldConfig {
@@ -2669,6 +2798,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean witherSkeletonRidable = false;
@@ -2674,6 +2804,7 @@ public class PurpurWorldConfig {
@@ -2676,6 +2806,7 @@ public class PurpurWorldConfig {
public boolean witherSkeletonControllable = true;
public double witherSkeletonMaxHealth = 20.0D;
public boolean witherSkeletonTakeDamageFromWater = false;
@@ -2200,7 +2200,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -2685,6 +2816,7 @@ public class PurpurWorldConfig {
@@ -2687,6 +2818,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean wolfRidable = false;
@@ -2696,6 +2828,7 @@ public class PurpurWorldConfig {
@@ -2698,6 +2830,7 @@ public class PurpurWorldConfig {
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
public boolean wolfTakeDamageFromWater = false;
@@ -2216,7 +2216,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -2715,6 +2848,7 @@ public class PurpurWorldConfig {
@@ -2717,6 +2850,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean zoglinRidable = false;
@@ -2722,6 +2856,7 @@ public class PurpurWorldConfig {
@@ -2724,6 +2858,7 @@ public class PurpurWorldConfig {
public boolean zoglinControllable = true;
public double zoglinMaxHealth = 40.0D;
public boolean zoglinTakeDamageFromWater = false;
@@ -2232,7 +2232,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -2733,6 +2868,7 @@ public class PurpurWorldConfig {
@@ -2735,6 +2870,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean zombieRidable = false;
@@ -2746,6 +2882,7 @@ public class PurpurWorldConfig {
@@ -2748,6 +2884,7 @@ public class PurpurWorldConfig {
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
@@ -2248,7 +2248,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2763,6 +2900,7 @@ public class PurpurWorldConfig {
@@ -2765,6 +2902,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean zombieHorseRidableInWater = false;
@@ -2775,6 +2913,7 @@ public class PurpurWorldConfig {
@@ -2777,6 +2915,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
public boolean zombieHorseTakeDamageFromWater = false;
@@ -2264,7 +2264,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -2792,6 +2931,7 @@ public class PurpurWorldConfig {
@@ -2794,6 +2933,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean zombieVillagerRidable = false;
@@ -2806,6 +2946,7 @@ public class PurpurWorldConfig {
@@ -2808,6 +2948,7 @@ public class PurpurWorldConfig {
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
public boolean zombieVillagerCureEnabled = true;
@@ -2280,7 +2280,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2824,6 +2965,7 @@ public class PurpurWorldConfig {
@@ -2826,6 +2967,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 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
}
public boolean zombifiedPiglinRidable = false;
@@ -2836,6 +2978,7 @@ public class PurpurWorldConfig {
@@ -2838,6 +2980,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
public boolean zombifiedPiglinTakeDamageFromWater = false;
@@ -2296,7 +2296,7 @@ index 6496bd5297acf36a38994a39c97c4615179993e4..599328c1adb0f285d32f41f4f5f29490
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2852,6 +2995,7 @@ public class PurpurWorldConfig {
@@ -2854,6 +2997,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

@@ -5,7 +5,7 @@ Subject: [PATCH] Mob head visibility percent
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 10dbf4f3fb5b5acb87496c0f06da1d29f7a26521..6da57caf6ed0deb17bb99d0ba0a7344ff5143767 100644
index 74ab12e61eb81c64d1ab805a737318c84b17c84a..2574641ef0c3614a856e358e712d2b2eec2630a2 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -1024,9 +1024,20 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -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 d380c5881400bdddb75f2bff98d9230ad404b961..3635da728b6444a05a5eaf378f04ad3a6f3cb0a5 100644
index fd5c5126e69a4ae55c15c2b28aaad7b73d8cf7c8..aab384cd322b7ba57b92b703db32849e46277fa7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig {
@@ -83,7 +83,7 @@ index d380c5881400bdddb75f2bff98d9230ad404b961..3635da728b6444a05a5eaf378f04ad3a
}
public boolean skeletonHorseRidableInWater = true;
@@ -2891,6 +2897,7 @@ public class PurpurWorldConfig {
@@ -2893,6 +2899,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index d380c5881400bdddb75f2bff98d9230ad404b961..3635da728b6444a05a5eaf378f04ad3a
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2909,6 +2916,7 @@ public class PurpurWorldConfig {
@@ -2911,6 +2918,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 9c26165d36bf392767f4e6dfb4d1e813a75d8d30..e88f55c61d502f691fbeb1ebd0ed31ecbfe0a819 100644
index 551576e80373a16c98df67631bcd68f103dd9f7b..baa8ca905e3151addaa64418a337ae66d4e1d622 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2693,6 +2693,7 @@ public class PurpurWorldConfig {
@@ -2695,6 +2695,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 9c26165d36bf392767f4e6dfb4d1e813a75d8d30..e88f55c61d502f691fbeb1ebd0ed31ec
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2713,6 +2714,7 @@ public class PurpurWorldConfig {
@@ -2715,6 +2716,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 e88f55c61d502f691fbeb1ebd0ed31ecbfe0a819..7fd4af2288fcd91d7f845b0a76cdf76d2ca92c3b 100644
index baa8ca905e3151addaa64418a337ae66d4e1d622..6ba943d04afef431decbdf22fc9c140da758ecb0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2694,6 +2694,8 @@ public class PurpurWorldConfig {
@@ -2696,6 +2696,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -120,7 +120,7 @@ index e88f55c61d502f691fbeb1ebd0ed31ecbfe0a819..7fd4af2288fcd91d7f845b0a76cdf76d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2715,6 +2717,17 @@ public class PurpurWorldConfig {
@@ -2717,6 +2719,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 7fd4af2288fcd91d7f845b0a76cdf76d2ca92c3b..ce7d7aafcdd59618c13b7cbb0c037601014db26f 100644
index 6ba943d04afef431decbdf22fc9c140da758ecb0..50be8afc743492d9cbb9d815ff70f1d89dfd84ef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2696,6 +2696,7 @@ public class PurpurWorldConfig {
@@ -2698,6 +2698,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index 7fd4af2288fcd91d7f845b0a76cdf76d2ca92c3b..ce7d7aafcdd59618c13b7cbb0c037601
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2728,6 +2729,7 @@ public class PurpurWorldConfig {
@@ -2730,6 +2731,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 6c0077316aa3fc284d93ad9b21d3e3760ec1e183..29ad2bdcc29b3758369acc130517c64d4ce56fa0 100644
index e270917327520602d7dded100963d5a4d59d1f2f..7f2e969c56b1a0d6f7ab999810aa242a0db68a48 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2707,6 +2707,8 @@ public class PurpurWorldConfig {
@@ -2709,6 +2709,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 6c0077316aa3fc284d93ad9b21d3e3760ec1e183..29ad2bdcc29b3758369acc130517c64d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2740,6 +2742,8 @@ public class PurpurWorldConfig {
@@ -2742,6 +2744,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

@@ -39,7 +39,7 @@ index 314ab6183e31b4bac6a40c1f8007d48e9cab1760..6b05907bfec377e72a8858534d001bda
return b0;
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 9118cf6bcfee04e1e718acd5d1f859ebf836a6c3..4d85f6aada666a88a64ef37c1bdf69df52bdb2a5 100644
index 7e6afc1f09bae9b9a52ca0fa3238bad6c406bef9..cb69dbf0261eee1f6d77e052ff474e0b142c356b 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -340,13 +340,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -794,7 +794,7 @@ index 087fd880ec62fed20383ef665b4f4d2e4aa882c7..ef56e8e8496443c85474bfc98a71518f
this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities()));
playerlist.sendLevelInfo(this, worldserver);
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 82fcf0593b4739e32d02ffc779f9fbb5f64d26f1..bae407c9aeb71494e1aac1776e3b891f08575a14 100644
index c904c50eb44be76293727f203b3abd5d220d8a31..d6305552fee6d849dd1dbc2603b584bd8d957a5f 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -407,7 +407,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -1146,7 +1146,7 @@ index b7f1dad5ffe5a0f5d337fbe39345242940b82e4b..ffe329e624b4d7db6c2b6f49f31093ab
}
} else {
diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java
index 9ff8a54f48d0f3c8a4b434f5dae7bf31c7a334e5..64ddf35722640fa764b6b508196f0303676193cb 100644
index ed46721bd5d6802bb74a7c478c411d964e6aa9a2..13279cc07ceb45f5c04dfac838a639eb0fbe2130 100644
--- a/src/main/java/net/minecraft/world/entity/LivingEntity.java
+++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java
@@ -394,7 +394,7 @@ public abstract class LivingEntity extends Entity implements Attackable {
@@ -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 28c20f7f79fed655d4a746e8ef3d5d4d15118e04..dcbf9eb615116e7c0dec96272cca319a02259456 100644
index 12aab69aca179717ea2a2ac04e28a78eff98af20..b04fed9d827d195fb8c014b99ccc677a15726d44 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
@@ -457,11 +457,11 @@ public class Sniffer extends Animal {
@@ -462,11 +462,11 @@ public class Sniffer extends Animal {
@Override
protected void customServerAiStep() {