add migrations for explosions configs

This commit is contained in:
BillyGalbreath
2022-12-09 07:18:05 -06:00
parent 9eca3cab29
commit 78e9a806d3
100 changed files with 628 additions and 608 deletions

View File

@@ -172,7 +172,7 @@ index e072a5475a64d110f25ebcc871aa7703c2fc1e70..1913792032ef81a6f331cfdfc97052cf
.withRequiredArg()
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..3fc92f92138d8223e18461758f5fe372b6552480
index 0000000000000000000000000000000000000000..bd9ea8dfbd986c96000efb7dc36fc93d12a2c8b9
--- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -0,0 +1,175 @@
@@ -253,8 +253,8 @@ index 0000000000000000000000000000000000000000..3fc92f92138d8223e18461758f5fe372
+ commands = new HashMap<>();
+ commands.put("purpur", new PurpurCommand("purpur"));
+
+ version = getInt("config-version", 30);
+ set("config-version", 30);
+ version = getInt("config-version", 31);
+ set("config-version", 31);
+
+ readConfig(PurpurConfig.class, null);
+

View File

@@ -27,10 +27,10 @@ index f1a7c5202d4efbfaf5d88609d243f25f6817ecbe..812a93197774b8fbcb5745a5590717e1
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ed3170c111741fe7e0d0044d3c02da2d6352268d..a6a38979b3d7ea8a4a2bcba2f9c74df547ffcc75 100644
index 4421f48e9dd433cdcff5b7c5ac249bae49a67bd8..e619b2cf060a8137bc8b3e7d8062e702b3f9e799 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -291,6 +291,22 @@ public class PurpurWorldConfig {
@@ -291,6 +291,27 @@ public class PurpurWorldConfig {
});
}
@@ -39,13 +39,18 @@ index ed3170c111741fe7e0d0044d3c02da2d6352268d..a6a38979b3d7ea8a4a2bcba2f9c74df5
+ public boolean bedExplosionFire = true;
+ public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
+ private void bedSettings() {
+ if (PurpurConfig.version < 31) {
+ if ("DESTROY".equals(getString("blocks.bed.explosion-effect", bedExplosionEffect.name()))) {
+ set("blocks.bed.explosion-effect", "BLOCK");
+ }
+ }
+ bedExplode = getBoolean("blocks.bed.explode", bedExplode);
+ bedExplosionPower = getDouble("blocks.bed.explosion-power", bedExplosionPower);
+ bedExplosionFire = getBoolean("blocks.bed.explosion-fire", bedExplosionFire);
+ try {
+ bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.valueOf(getString("blocks.bed.explosion-effect", bedExplosionEffect.name()));
+ } catch (IllegalArgumentException e) {
+ log(Level.SEVERE, "Unknown value for `blocks.bed.explosion-effect`! Using default of `DESTROY`");
+ log(Level.SEVERE, "Unknown value for `blocks.bed.explosion-effect`! Using default of `BLOCK`");
+ bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
+ }
+ }

View File

@@ -18,10 +18,10 @@ index 53b35f003034e7f4c9dd8ccfaf77389163009453..de5d51eb67205d2f62582aea9465bbb9
public static boolean canSetSpawn(Level world) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a6a38979b3d7ea8a4a2bcba2f9c74df547ffcc75..7a01302e0ce1a89f2107cbb110ae4819daf118d2 100644
index e619b2cf060a8137bc8b3e7d8062e702b3f9e799..aa04010dc4780f0f19937314f521208a164c2ae3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -328,6 +328,22 @@ public class PurpurWorldConfig {
@@ -333,6 +333,27 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -30,6 +30,11 @@ index a6a38979b3d7ea8a4a2bcba2f9c74df547ffcc75..7a01302e0ce1a89f2107cbb110ae4819
+ public boolean respawnAnchorExplosionFire = true;
+ public net.minecraft.world.level.Level.ExplosionInteraction respawnAnchorExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
+ private void respawnAnchorSettings() {
+ if (PurpurConfig.version < 31) {
+ if ("DESTROY".equals(getString("blocks.respawn_anchor.explosion-effect", respawnAnchorExplosionEffect.name()))) {
+ set("blocks.respawn_anchor.explosion-effect", "BLOCK");
+ }
+ }
+ respawnAnchorExplode = getBoolean("blocks.respawn_anchor.explode", respawnAnchorExplode);
+ respawnAnchorExplosionPower = getDouble("blocks.respawn_anchor.explosion-power", respawnAnchorExplosionPower);
+ respawnAnchorExplosionFire = getBoolean("blocks.respawn_anchor.explosion-fire", respawnAnchorExplosionFire);

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 4c03d57fbed6501fd26cb8c745e042fe76b95835..d7f2a4a6b432c296ece503036de7b2e7fc8ad965 100644
index 395634815198b7c754ee070783b20ca340ad8f09..dd5ff44bd1fbf6b55fa35ad5c889e2398bef60f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1422,6 +1422,7 @@ public class PurpurWorldConfig {
@@ -1432,6 +1432,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 4c03d57fbed6501fd26cb8c745e042fe76b95835..d7f2a4a6b432c296ece503036de7b2e7
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1431,6 +1432,7 @@ public class PurpurWorldConfig {
@@ -1441,6 +1442,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -53,10 +53,10 @@ index b9d737a20b8cca81fca290c13cb640c17d25bc6e..11cbb89eb062de0cd30158dbfbef1355
list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error
Iterator iterator = list.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5cb9eeb5f33de2bbf34780976275641a8f584ece..cdbf56d05d09e1269493ef6a7c1730f229f2b0a8 100644
index dd5ff44bd1fbf6b55fa35ad5c889e2398bef60f0..48f8ffce68f75142e29d9f71e3f245eb9c31f912 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1103,6 +1103,9 @@ public class PurpurWorldConfig {
@@ -1113,6 +1113,9 @@ public class PurpurWorldConfig {
public double phantomSpawnLocalDifficultyChance = 3.0D;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -66,7 +66,7 @@ index 5cb9eeb5f33de2bbf34780976275641a8f584ece..cdbf56d05d09e1269493ef6a7c1730f2
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1133,6 +1136,9 @@ public class PurpurWorldConfig {
@@ -1143,6 +1146,9 @@ public class PurpurWorldConfig {
phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance);
phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt);
phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt);

View File

@@ -18,10 +18,10 @@ index ce70ddaf68cc0c4959fc520492b31f65deb7a3d6..80a0639c35906fdb3ed07f14395fc300
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5102b1787b9d4d95c5d90ab0d24e8e53f81b038..f8fa8af8471a6c0194f7d303910d04a5d50f712e 100644
index 48f8ffce68f75142e29d9f71e3f245eb9c31f912..6e97e7ac18695e8b0f1c9d333ba4b5afa3eee460 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1580,6 +1580,7 @@ public class PurpurWorldConfig {
@@ -1590,6 +1590,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -29,7 +29,7 @@ index a5102b1787b9d4d95c5d90ab0d24e8e53f81b038..f8fa8af8471a6c0194f7d303910d04a5
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1592,6 +1593,7 @@ public class PurpurWorldConfig {
@@ -1602,6 +1603,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

@@ -17,10 +17,10 @@ index af799b61cec48ca290ed66cb47cfc0b244ac41a7..4e1e1fdbf12768b95dd499bf011009a4
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a93f0bc3b0f567118651acb3f7b71bc1ae1157a9..3cf911e9a9f58fbceed3f371c65cf946a8b31637 100644
index 6e97e7ac18695e8b0f1c9d333ba4b5afa3eee460..218756b5db10fab3a0f32ff03a091838b2c87fe9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -356,6 +356,11 @@ public class PurpurWorldConfig {
@@ -366,6 +366,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -22,10 +22,10 @@ index c3b8bce2d8e1dccb619267923964e06abfed8762..021550a0465dd1fd152b4c2e76301405
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ef6a8a5460f5f8994ce6712b11b58af15d217648..645368a53a15760660f1a683ebc8c14a7a49bedc 100644
index b9dedd9a4318d82fbdc7393182ac07fae34779b1..141796ae466dcd2aa57f8662785bdb5140a3fe60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1607,6 +1607,7 @@ public class PurpurWorldConfig {
@@ -1617,6 +1617,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidableInWater = false;
public boolean vindicatorControllable = true;
public double vindicatorMaxHealth = 24.0D;
@@ -33,7 +33,7 @@ index ef6a8a5460f5f8994ce6712b11b58af15d217648..645368a53a15760660f1a683ebc8c14a
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1617,6 +1618,7 @@ public class PurpurWorldConfig {
@@ -1627,6 +1628,7 @@ public class PurpurWorldConfig {
set("mobs.vindicator.attributes.max_health", oldValue);
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);

View File

@@ -41,10 +41,10 @@ index a548d09fa7646254c34f41d30fbc1300e7cef3c1..4205a44473bd5131c9601d1cc56dd629
static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 614051e304c04c4c561b91155a451671a76dfaf2..5f297cd2a0ea4661c6f59efce49abd6cb38a3042 100644
index 141796ae466dcd2aa57f8662785bdb5140a3fe60..df1e48e325a6cec03cda2fe7471249f1d93b77f7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -317,8 +317,10 @@ public class PurpurWorldConfig {
@@ -322,8 +322,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -17,10 +17,10 @@ index 1ca3ffe212da2c3914c290172e729ba8017f631c..a8ca2d120a545d423fc00aef5299b66b
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2358fcbaa13705ce80956514804aadf400aa53a9..25212d3a715cb1c9942101fe6ffac51b11916a2c 100644
index ca70fd0cee8c0d8b4c398a8dc12c4f3bbadab665..0ae4a84f953c5f68d50124e6446df88f276ad2f6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -590,6 +590,7 @@ public class PurpurWorldConfig {
@@ -600,6 +600,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 2358fcbaa13705ce80956514804aadf400aa53a9..25212d3a715cb1c9942101fe6ffac51b
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -602,6 +603,7 @@ public class PurpurWorldConfig {
@@ -612,6 +613,7 @@ public class PurpurWorldConfig {
set("mobs.dolphin.attributes.max_health", oldValue);
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);

View File

@@ -54,10 +54,10 @@ index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc8
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6548864871e91f7aed24ef4ca7b67699d79e8654..69c54739d8dd3b7810bbee210f5f80dca555c653 100644
index 0ae4a84f953c5f68d50124e6446df88f276ad2f6..5a6da03ce41cc78a36dc0c4fb0f89bbbacb0a6da 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1447,6 +1447,7 @@ public class PurpurWorldConfig {
@@ -1457,6 +1457,7 @@ public class PurpurWorldConfig {
public boolean squidControllable = true;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index 6548864871e91f7aed24ef4ca7b67699d79e8654..69c54739d8dd3b7810bbee210f5f80dc
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1457,6 +1458,7 @@ public class PurpurWorldConfig {
@@ -1467,6 +1468,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 8e2711325ee32dda903f191ec4f338173370e738..991525cb5f0265678d61759ff55c1479
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 acdb6408fe44e452c1c58ad8954c3330abfd532f..be451ee8dc88b60556fd441cd914a4952437742c 100644
index 3bd18d72f996d93e0c5c31a7fb143a29401fca75..d6a4e3dead9ffc7cc779cb1b8413c61308850a01 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1686,6 +1686,8 @@ public class PurpurWorldConfig {
@@ -1696,6 +1696,8 @@ public class PurpurWorldConfig {
public boolean witherControllable = true;
public double witherMaxY = 320D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index acdb6408fe44e452c1c58ad8954c3330abfd532f..be451ee8dc88b60556fd441cd914a495
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1701,6 +1703,8 @@ public class PurpurWorldConfig {
@@ -1711,6 +1713,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 05cb9eff1ce0d5af9efcd47033878feb22397a2d..35e1e8264d9f1e30b37ad598adab478b
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 231b76d2c3025e75b881f62796504954b0bb524d..75a3a8361726c12a6de63f4ecb3389c413704db0 100644
index 34b1fa9b540bc42e13bf4a1949c266fc8a973398..d16469a057c6782bdd13d92ca114e89f93744238 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1819,6 +1819,7 @@ public class PurpurWorldConfig {
@@ -1829,6 +1829,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 231b76d2c3025e75b881f62796504954b0bb524d..75a3a8361726c12a6de63f4ecb3389c4
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1833,6 +1834,7 @@ public class PurpurWorldConfig {
@@ -1843,6 +1844,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,10 +58,10 @@ index 709aaa9dc834d91219ce1087d8f89ef5bf3d915c..4850960c7c4f38c7d81b8945f8c87504
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 75a3a8361726c12a6de63f4ecb3389c413704db0..761433576c8a5c810a23a10db11f49ae31965fb5 100644
index d16469a057c6782bdd13d92ca114e89f93744238..0d0bfec73d3b4419220d7f82ff6d4d6c3778a381 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -882,10 +882,12 @@ public class PurpurWorldConfig {
@@ -892,10 +892,12 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public boolean glowSquidControllable = true;
public double glowSquidMaxHealth = 10.0D;
@@ -74,7 +74,7 @@ index 75a3a8361726c12a6de63f4ecb3389c413704db0..761433576c8a5c810a23a10db11f49ae
}
public boolean goatRidable = false;
@@ -1506,6 +1508,7 @@ public class PurpurWorldConfig {
@@ -1516,6 +1518,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -82,7 +82,7 @@ index 75a3a8361726c12a6de63f4ecb3389c413704db0..761433576c8a5c810a23a10db11f49ae
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
squidControllable = getBoolean("mobs.squid.controllable", squidControllable);
@@ -1517,6 +1520,7 @@ public class PurpurWorldConfig {
@@ -1527,6 +1530,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

@@ -47,10 +47,10 @@ index cac2768fe520b591990c7bc943ae7e95f49efb31..bbff7466cecf50285c97fadaf68682a6
private static boolean canBurn(@Nullable Recipe<?> recipe, NonNullList<ItemStack> slots, int count) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index df653093c4d00f45f1536c9c9cb2293ad69f9e2e..0acc57bf9ca2a2cfef8a662c8893ca1bc34b9e9a 100644
index c15e6d7a666ddde4d6fc957ca2986d4af3eaebf9..3593489c838c514be2703d7f81e2eb825fc5cd1b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -411,6 +411,17 @@ public class PurpurWorldConfig {
@@ -416,6 +416,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -24,10 +24,10 @@ index 4208833252a5b5c74d294dc3435869d71d774e37..a3ff99c461dd862733816d9d1204cf8b
return;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72a409ca200864040eb317fef3090e5719c076f6..df0d0cdf8a1d8e8119a35445a0364289dce0ab03 100644
index 14f756a561ceb07772126715f00f11b14d5f29b5..49c714c07903b8620051f256b36ba62d59c3fac4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -412,8 +412,10 @@ public class PurpurWorldConfig {
@@ -417,8 +417,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -509,10 +509,10 @@ index 2d06a3ac4a5763cf948fc578ff5320c22c01c219..56dba90d0bb76b85cf21ace7ad50531f
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fbadbbeb08 100644
index 213ee1230206fe9afcf89b1be5af738cd64afbb1..7ebe655892cd22e06e41eea0cdb705ccbb123622 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -505,10 +505,12 @@ public class PurpurWorldConfig {
@@ -515,10 +515,12 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public boolean axolotlControllable = true;
public double axolotlMaxHealth = 14.0D;
@@ -525,7 +525,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean batRidable = false;
@@ -541,6 +543,7 @@ public class PurpurWorldConfig {
@@ -551,6 +553,7 @@ public class PurpurWorldConfig {
public boolean beeControllable = true;
public double beeMaxY = 320D;
public double beeMaxHealth = 10.0D;
@@ -533,7 +533,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -552,6 +555,7 @@ public class PurpurWorldConfig {
@@ -562,6 +565,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -541,7 +541,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean blazeRidable = false;
@@ -572,6 +576,11 @@ public class PurpurWorldConfig {
@@ -582,6 +586,11 @@ public class PurpurWorldConfig {
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
}
@@ -553,7 +553,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
public boolean catRidable = false;
public boolean catRidableInWater = false;
public boolean catControllable = true;
@@ -579,6 +588,7 @@ public class PurpurWorldConfig {
@@ -589,6 +598,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -561,7 +561,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -592,6 +602,7 @@ public class PurpurWorldConfig {
@@ -602,6 +612,7 @@ public class PurpurWorldConfig {
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
@@ -569,7 +569,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean caveSpiderRidable = false;
@@ -615,6 +626,7 @@ public class PurpurWorldConfig {
@@ -625,6 +636,7 @@ public class PurpurWorldConfig {
public boolean chickenControllable = true;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -577,7 +577,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -626,6 +638,7 @@ public class PurpurWorldConfig {
@@ -636,6 +648,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -585,7 +585,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean codRidable = false;
@@ -647,6 +660,7 @@ public class PurpurWorldConfig {
@@ -657,6 +670,7 @@ public class PurpurWorldConfig {
public boolean cowControllable = true;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -593,7 +593,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -658,6 +672,7 @@ public class PurpurWorldConfig {
@@ -668,6 +682,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -601,7 +601,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean creeperRidable = false;
@@ -709,6 +724,7 @@ public class PurpurWorldConfig {
@@ -719,6 +734,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -609,7 +609,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -724,6 +740,7 @@ public class PurpurWorldConfig {
@@ -734,6 +750,7 @@ public class PurpurWorldConfig {
donkeyJumpStrengthMax = getDouble("mobs.donkey.attributes.jump_strength.max", donkeyJumpStrengthMax);
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
@@ -617,7 +617,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean drownedRidable = false;
@@ -843,6 +860,7 @@ public class PurpurWorldConfig {
@@ -853,6 +870,7 @@ public class PurpurWorldConfig {
public boolean foxControllable = true;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -625,7 +625,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -854,17 +872,20 @@ public class PurpurWorldConfig {
@@ -864,17 +882,20 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -646,7 +646,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean ghastRidable = false;
@@ -932,11 +953,13 @@ public class PurpurWorldConfig {
@@ -942,11 +963,13 @@ public class PurpurWorldConfig {
public boolean goatRidableInWater = false;
public boolean goatControllable = true;
public double goatMaxHealth = 10.0D;
@@ -660,7 +660,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean guardianRidable = false;
@@ -957,6 +980,7 @@ public class PurpurWorldConfig {
@@ -967,6 +990,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidableInWater = false;
public boolean hoglinControllable = true;
public double hoglinMaxHealth = 40.0D;
@@ -668,7 +668,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -967,6 +991,7 @@ public class PurpurWorldConfig {
@@ -977,6 +1001,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -676,7 +676,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean horseRidableInWater = false;
@@ -976,6 +1001,7 @@ public class PurpurWorldConfig {
@@ -986,6 +1011,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -684,7 +684,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -991,6 +1017,7 @@ public class PurpurWorldConfig {
@@ -1001,6 +1027,7 @@ public class PurpurWorldConfig {
horseJumpStrengthMax = getDouble("mobs.horse.attributes.jump_strength.max", horseJumpStrengthMax);
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
@@ -692,7 +692,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean huskRidable = false;
@@ -1068,6 +1095,7 @@ public class PurpurWorldConfig {
@@ -1078,6 +1105,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -700,7 +700,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1085,6 +1113,7 @@ public class PurpurWorldConfig {
@@ -1095,6 +1123,7 @@ public class PurpurWorldConfig {
llamaJumpStrengthMax = getDouble("mobs.llama.attributes.jump_strength.max", llamaJumpStrengthMax);
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
@@ -708,7 +708,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean magmaCubeRidable = false;
@@ -1113,6 +1142,7 @@ public class PurpurWorldConfig {
@@ -1123,6 +1152,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidableInWater = false;
public boolean mooshroomControllable = true;
public double mooshroomMaxHealth = 10.0D;
@@ -716,7 +716,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1123,6 +1153,7 @@ public class PurpurWorldConfig {
@@ -1133,6 +1163,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -724,7 +724,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean muleRidableInWater = false;
@@ -1132,6 +1163,7 @@ public class PurpurWorldConfig {
@@ -1142,6 +1173,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -732,7 +732,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1147,12 +1179,14 @@ public class PurpurWorldConfig {
@@ -1157,12 +1189,14 @@ public class PurpurWorldConfig {
muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax);
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
@@ -747,7 +747,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1163,12 +1197,14 @@ public class PurpurWorldConfig {
@@ -1173,12 +1207,14 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -762,7 +762,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1179,6 +1215,7 @@ public class PurpurWorldConfig {
@@ -1189,6 +1225,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -770,7 +770,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean parrotRidable = false;
@@ -1262,6 +1299,7 @@ public class PurpurWorldConfig {
@@ -1272,6 +1309,7 @@ public class PurpurWorldConfig {
public boolean pigControllable = true;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -778,7 +778,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1273,6 +1311,7 @@ public class PurpurWorldConfig {
@@ -1283,6 +1321,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -786,7 +786,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean piglinRidable = false;
@@ -1329,6 +1368,7 @@ public class PurpurWorldConfig {
@@ -1339,6 +1378,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -794,7 +794,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1342,6 +1382,7 @@ public class PurpurWorldConfig {
@@ -1352,6 +1392,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -802,7 +802,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean pufferfishRidable = false;
@@ -1364,6 +1405,7 @@ public class PurpurWorldConfig {
@@ -1374,6 +1415,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -810,7 +810,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1376,6 +1418,7 @@ public class PurpurWorldConfig {
@@ -1386,6 +1428,7 @@ public class PurpurWorldConfig {
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
@@ -818,7 +818,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean ravagerRidable = false;
@@ -1412,6 +1455,7 @@ public class PurpurWorldConfig {
@@ -1422,6 +1465,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false;
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
@@ -826,7 +826,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1422,6 +1466,7 @@ public class PurpurWorldConfig {
@@ -1432,6 +1476,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -834,7 +834,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean shulkerRidable = false;
@@ -1597,6 +1642,7 @@ public class PurpurWorldConfig {
@@ -1607,6 +1652,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
@@ -842,7 +842,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1607,6 +1653,7 @@ public class PurpurWorldConfig {
@@ -1617,6 +1663,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -850,7 +850,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean tadpoleRidable = false;
@@ -1627,6 +1674,7 @@ public class PurpurWorldConfig {
@@ -1637,6 +1684,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -858,7 +858,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1644,6 +1692,7 @@ public class PurpurWorldConfig {
@@ -1654,6 +1702,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);
@@ -866,7 +866,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean tropicalFishRidable = false;
@@ -1664,6 +1713,7 @@ public class PurpurWorldConfig {
@@ -1674,6 +1723,7 @@ public class PurpurWorldConfig {
public boolean turtleRidableInWater = false;
public boolean turtleControllable = true;
public double turtleMaxHealth = 30.0D;
@@ -874,7 +874,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1674,6 +1724,7 @@ public class PurpurWorldConfig {
@@ -1684,6 +1734,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -882,7 +882,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean vexRidable = false;
@@ -1701,6 +1752,7 @@ public class PurpurWorldConfig {
@@ -1711,6 +1762,7 @@ public class PurpurWorldConfig {
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
@@ -890,7 +890,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1714,6 +1766,7 @@ public class PurpurWorldConfig {
@@ -1724,6 +1776,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);
@@ -898,7 +898,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
}
public boolean vindicatorRidable = false;
@@ -1825,6 +1878,7 @@ public class PurpurWorldConfig {
@@ -1835,6 +1888,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -906,7 +906,7 @@ index 4195261edfb9119cced1250443c7392238cd19c6..0ce0d80860071b5e77b08e02a58007fb
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1835,6 +1889,7 @@ public class PurpurWorldConfig {
@@ -1845,6 +1899,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -21,10 +21,10 @@ index f130f3f8ceb5ab30e0b53e8b78281bfb953af5a9..72bddd57059e4dfffa0c5ac04bb3c80c
private static class EndermanFreezeWhenLookedAt extends Goal {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 08f73c8e1a54769f1c292f0a49dac7dc4a5263c0..216167f1f3b80cc9f84999165aa6b5057f22cf28 100644
index d3c9285d5f7aa51367e5052ab8b00a9bd269dddd..6c1f8b9aa052f78a59bb3dcbe0c3f480b73e9f34 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -816,6 +816,7 @@ public class PurpurWorldConfig {
@@ -826,6 +826,7 @@ public class PurpurWorldConfig {
public boolean endermanControllable = true;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index 08f73c8e1a54769f1c292f0a49dac7dc4a5263c0..216167f1f3b80cc9f84999165aa6b505
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -827,6 +828,7 @@ public class PurpurWorldConfig {
@@ -837,6 +838,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -23,10 +23,10 @@ index b4459d68397cc5bac4f7ef79a2dfb18f3eb24f77..b9025929fcc89e72aa820953b91a6542
this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F));
this.goalSelector.addGoal(4, new RandomLookAroundGoal(this));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72eabfd1543177cb02ff33f98d20b7f0e57f386e..e64db82ac1305a89a692e851040bd0b6a1202282 100644
index 24154b253a27bd72f8cfcec700fc385d535b84a3..77859fdf49d86c5577457abdd1594ad9b6c1df61 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1588,6 +1588,10 @@ public class PurpurWorldConfig {
@@ -1598,6 +1598,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index 72eabfd1543177cb02ff33f98d20b7f0e57f386e..e64db82ac1305a89a692e851040bd0b6
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1601,6 +1605,10 @@ public class PurpurWorldConfig {
@@ -1611,6 +1615,10 @@ public class PurpurWorldConfig {
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);

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 e64db82ac1305a89a692e851040bd0b6a1202282..60b2375d5dceeda700a20a4e7f5d19c0dcd0e8e0 100644
index 77859fdf49d86c5577457abdd1594ad9b6c1df61..1acfc3776bdaaef852c67bc9f7b20e6365df684e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1778,6 +1778,8 @@ public class PurpurWorldConfig {
@@ -1788,6 +1788,8 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -193,7 +193,7 @@ index e64db82ac1305a89a692e851040bd0b6a1202282..60b2375d5dceeda700a20a4e7f5d19c0
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1792,6 +1794,8 @@ public class PurpurWorldConfig {
@@ -1802,6 +1804,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 9bec6222a8145f84f4b748e8c96e02fa0d6f14d2..2ff0166a26ede86e8410b003a5e7f051
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 60b2375d5dceeda700a20a4e7f5d19c0dcd0e8e0..49db5068a28a1ee08b076aeef3d9f10c5c206254 100644
index 1acfc3776bdaaef852c67bc9f7b20e6365df684e..89b2a4c5adb70c8790dad34a5474011f9ad681b2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2022,6 +2022,7 @@ public class PurpurWorldConfig {
@@ -2032,6 +2032,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 60b2375d5dceeda700a20a4e7f5d19c0dcd0e8e0..49db5068a28a1ee08b076aeef3d9f10c
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -2036,5 +2037,6 @@ public class PurpurWorldConfig {
@@ -2046,5 +2047,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 49db5068a28a1ee08b076aeef3d9f10c5c206254..4df6138a186d3dc8701a580596a27c0676d5c65a 100644
index 89b2a4c5adb70c8790dad34a5474011f9ad681b2..419e89bd2f825d449238f0d7234d0f33abc5ec05 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1907,6 +1907,8 @@ public class PurpurWorldConfig {
@@ -1917,6 +1917,8 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index 49db5068a28a1ee08b076aeef3d9f10c5c206254..4df6138a186d3dc8701a580596a27c06
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1918,6 +1920,8 @@ public class PurpurWorldConfig {
@@ -1928,6 +1930,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -43,10 +43,10 @@ index 73741cd019cbe57225203f76f645a6b58c02b5e3..ef2405b5e32e581c488e8b943e143fae
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4df6138a186d3dc8701a580596a27c0676d5c65a..c7e0b1bc3b07bf7f163978348c5cf34d09f85d26 100644
index 419e89bd2f825d449238f0d7234d0f33abc5ec05..f87081b6424a58bee2f74c1a7f85d0a388bac3cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -604,6 +604,7 @@ public class PurpurWorldConfig {
@@ -614,6 +614,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -54,7 +54,7 @@ index 4df6138a186d3dc8701a580596a27c0676d5c65a..c7e0b1bc3b07bf7f163978348c5cf34d
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -618,6 +619,11 @@ public class PurpurWorldConfig {
@@ -628,6 +629,11 @@ public class PurpurWorldConfig {
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange);
catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks);
@@ -66,7 +66,7 @@ index 4df6138a186d3dc8701a580596a27c0676d5c65a..c7e0b1bc3b07bf7f163978348c5cf34d
}
public boolean caveSpiderRidable = false;
@@ -1907,6 +1913,7 @@ public class PurpurWorldConfig {
@@ -1917,6 +1923,7 @@ public class PurpurWorldConfig {
public boolean wolfRidableInWater = false;
public boolean wolfControllable = true;
public double wolfMaxHealth = 8.0D;
@@ -74,7 +74,7 @@ index 4df6138a186d3dc8701a580596a27c0676d5c65a..c7e0b1bc3b07bf7f163978348c5cf34d
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1920,6 +1927,11 @@ public class PurpurWorldConfig {
@@ -1930,6 +1937,11 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -17,10 +17,10 @@ index 11cbb89eb062de0cd30158dbfbef13554f81cf9f..162f8f6f368266ce238247901277f78c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 87951bef82e17c96299f17ed559d39f7c1100bf0..dea71dc10747f814a33f2e0dc8fe022b8acba3d1 100644
index f87081b6424a58bee2f74c1a7f85d0a388bac3cd..7312198c3059058de967f4caf5ca0bcc0a31f445 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1282,6 +1282,7 @@ public class PurpurWorldConfig {
@@ -1292,6 +1292,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -28,7 +28,7 @@ index 87951bef82e17c96299f17ed559d39f7c1100bf0..dea71dc10747f814a33f2e0dc8fe022b
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1315,6 +1316,7 @@ public class PurpurWorldConfig {
@@ -1325,6 +1326,7 @@ public class PurpurWorldConfig {
phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight);
phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight);
phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch);

View File

@@ -17,10 +17,10 @@ index c6b57d45383441aa35510e759ce3cb82bc98f305..330ff3bc5fd8625e37b79e1204eddbe8
return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ce7477b823d8e7516cc67bb381ab4ffc81996879..7f0454cdda13b145dc6ed3209ddd60f4363ee3c4 100644
index 7312198c3059058de967f4caf5ca0bcc0a31f445..615ceb5c0d465de3e86e5b6556b73e08c8bb9baf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -421,6 +421,11 @@ public class PurpurWorldConfig {
@@ -426,6 +426,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -29,10 +29,10 @@ index 162fc0f879b882c934000ebb71e6eef6459876b6..521680926277d4c2bcfa0c6e482c92d9
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 0569eb47d4b5d5ae318cbeadeb5a855695ade43e..d761febcea8b9e4f139cd59f916a29181d9f40c5 100644
index 615ceb5c0d465de3e86e5b6556b73e08c8bb9baf..3ad07d56faf7bf206d24d2c0a1d8790c3e910227 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1681,6 +1681,7 @@ public class PurpurWorldConfig {
@@ -1691,6 +1691,7 @@ public class PurpurWorldConfig {
public boolean striderControllable = true;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -40,7 +40,7 @@ index 0569eb47d4b5d5ae318cbeadeb5a855695ade43e..d761febcea8b9e4f139cd59f916a2918
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1692,6 +1693,7 @@ public class PurpurWorldConfig {
@@ -1702,6 +1703,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -374,7 +374,7 @@ index d54a46fc8d78df54777e4a7a250a8d0ae74e9831..4eeb777a49556c54a3f31c1b9d755b11
return true;
// Purpur end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac118310c7d 100644
index 992f6aeb2e75217d997db528de70c05a6a689cc1..56ffdcc2a4546bff83979d4d7071fbce79617d46 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -118,8 +118,11 @@ public class PurpurWorldConfig {
@@ -401,7 +401,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -446,9 +452,11 @@ public class PurpurWorldConfig {
@@ -451,9 +457,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -413,7 +413,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -475,6 +483,11 @@ public class PurpurWorldConfig {
@@ -480,6 +488,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
@@ -425,7 +425,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -504,10 +517,12 @@ public class PurpurWorldConfig {
@@ -514,10 +527,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
@@ -438,7 +438,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean waterInfinite = true;
@@ -720,6 +735,7 @@ public class PurpurWorldConfig {
@@ -730,6 +745,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -446,7 +446,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -732,6 +748,7 @@ public class PurpurWorldConfig {
@@ -742,6 +758,7 @@ public class PurpurWorldConfig {
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
@@ -454,7 +454,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean dolphinRidable = false;
@@ -826,6 +843,7 @@ public class PurpurWorldConfig {
@@ -836,6 +853,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 320D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -462,7 +462,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -842,6 +860,7 @@ public class PurpurWorldConfig {
@@ -852,6 +870,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -470,7 +470,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean endermanRidable = false;
@@ -850,6 +869,7 @@ public class PurpurWorldConfig {
@@ -860,6 +879,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -478,7 +478,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -862,6 +882,7 @@ public class PurpurWorldConfig {
@@ -872,6 +892,7 @@ public class PurpurWorldConfig {
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
@@ -486,7 +486,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean endermiteRidable = false;
@@ -884,6 +905,7 @@ public class PurpurWorldConfig {
@@ -894,6 +915,7 @@ public class PurpurWorldConfig {
public boolean evokerRidableInWater = false;
public boolean evokerControllable = true;
public double evokerMaxHealth = 24.0D;
@@ -494,7 +494,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -894,6 +916,7 @@ public class PurpurWorldConfig {
@@ -904,6 +926,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -502,7 +502,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean foxRidable = false;
@@ -902,6 +925,7 @@ public class PurpurWorldConfig {
@@ -912,6 +935,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -510,7 +510,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -914,6 +938,7 @@ public class PurpurWorldConfig {
@@ -924,6 +948,7 @@ public class PurpurWorldConfig {
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
@@ -518,7 +518,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean frogRidable = false;
@@ -1361,6 +1386,7 @@ public class PurpurWorldConfig {
@@ -1371,6 +1396,7 @@ public class PurpurWorldConfig {
public boolean piglinRidableInWater = false;
public boolean piglinControllable = true;
public double piglinMaxHealth = 16.0D;
@@ -526,7 +526,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1371,6 +1397,7 @@ public class PurpurWorldConfig {
@@ -1381,6 +1407,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -534,7 +534,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean piglinBruteRidable = false;
@@ -1393,6 +1420,7 @@ public class PurpurWorldConfig {
@@ -1403,6 +1430,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidableInWater = false;
public boolean pillagerControllable = true;
public double pillagerMaxHealth = 24.0D;
@@ -542,7 +542,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1403,6 +1431,7 @@ public class PurpurWorldConfig {
@@ -1413,6 +1441,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -550,7 +550,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean polarBearRidable = false;
@@ -1449,6 +1478,7 @@ public class PurpurWorldConfig {
@@ -1459,6 +1488,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -558,7 +558,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1462,12 +1492,14 @@ public class PurpurWorldConfig {
@@ -1472,12 +1502,14 @@ public class PurpurWorldConfig {
rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast);
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
@@ -573,7 +573,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1478,6 +1510,7 @@ public class PurpurWorldConfig {
@@ -1488,6 +1520,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -581,7 +581,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean salmonRidable = false;
@@ -1499,6 +1532,7 @@ public class PurpurWorldConfig {
@@ -1509,6 +1542,7 @@ public class PurpurWorldConfig {
public boolean sheepControllable = true;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -589,7 +589,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1510,6 +1544,7 @@ public class PurpurWorldConfig {
@@ -1520,6 +1554,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -597,7 +597,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean shulkerRidable = false;
@@ -1532,6 +1567,7 @@ public class PurpurWorldConfig {
@@ -1542,6 +1577,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidableInWater = false;
public boolean silverfishControllable = true;
public double silverfishMaxHealth = 8.0D;
@@ -605,7 +605,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1542,6 +1578,7 @@ public class PurpurWorldConfig {
@@ -1552,6 +1588,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -613,7 +613,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean skeletonRidable = false;
@@ -1618,6 +1655,7 @@ public class PurpurWorldConfig {
@@ -1628,6 +1665,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -621,7 +621,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1635,6 +1673,7 @@ public class PurpurWorldConfig {
@@ -1645,6 +1683,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax);
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
@@ -629,7 +629,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean squidRidable = false;
@@ -1808,6 +1847,7 @@ public class PurpurWorldConfig {
@@ -1818,6 +1857,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -637,7 +637,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1824,6 +1864,7 @@ public class PurpurWorldConfig {
@@ -1834,6 +1874,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 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean vindicatorRidable = false;
@@ -1896,6 +1937,7 @@ public class PurpurWorldConfig {
@@ -1906,6 +1947,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -653,7 +653,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1913,6 +1955,7 @@ public class PurpurWorldConfig {
@@ -1923,6 +1965,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 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
}
public boolean witherSkeletonRidable = false;
@@ -1984,6 +2027,7 @@ public class PurpurWorldConfig {
@@ -1994,6 +2037,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -669,7 +669,7 @@ index 86076fc3c6ede94f1b71389dcd10de6aff5b8c63..851b31b6cfa7db4414ab3489bdcdeac1
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1999,6 +2043,7 @@ public class PurpurWorldConfig {
@@ -2009,6 +2053,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

@@ -37,10 +37,10 @@ index d92ea9f29b9d919871662977d3e3eb41ddf2eb35..e5a3e3a4367dfb924624a913b816b3fd
if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) {
return;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1a26ba2b0eb2126278b052a41e80944c864dd74c..08501fcd8b74a378b5294b96f379ecdc0d67f494 100644
index db2e69bc1882eedd4800eca54da69d350fe4ec7a..b6d531a34a1e29f5956ee3b27dacaedf73711e7c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -459,10 +459,16 @@ public class PurpurWorldConfig {
@@ -464,10 +464,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -54,10 +54,10 @@ index d9c7ed7ef8f00e2f903fac3d61590589449b6763..eccd32b4cdff15bee637ba6784ce92f5
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e3aea802041b5d1d499de35e7bfe8c0cee2cf34..503d1a914f90f6b99b10db27ee004c023f631631 100644
index b5b3661c9b4a7e24d8a62ad7e33f3cd22b56c79b..8fea71f17bad0805764568acd75f75972ea1b0e6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -466,6 +466,35 @@ public class PurpurWorldConfig {
@@ -471,6 +471,43 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -70,6 +70,14 @@ index 2e3aea802041b5d1d499de35e7bfe8c0cee2cf34..503d1a914f90f6b99b10db27ee004c02
+ public boolean basedEndCrystalExplosionFire = false;
+ public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
+ private void endCrystalSettings() {
+ if (PurpurConfig.version < 31) {
+ if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) {
+ set("blocks.end-crystal.baseless.explosion-effect", "BLOCK");
+ }
+ if ("DESTROY".equals(getString("blocks.end-crystal.base.explosion-effect", basedEndCrystalExplosionEffect.name()))) {
+ set("blocks.end-crystal.base.explosion-effect", "BLOCK");
+ }
+ }
+ baselessEndCrystalExplode = getBoolean("blocks.end-crystal.baseless.explode", baselessEndCrystalExplode);
+ baselessEndCrystalExplosionPower = getDouble("blocks.end-crystal.baseless.explosion-power", baselessEndCrystalExplosionPower);
+ baselessEndCrystalExplosionFire = getBoolean("blocks.end-crystal.baseless.explosion-fire", baselessEndCrystalExplosionFire);

View File

@@ -29,10 +29,10 @@ index dcd6b4eadca53d202135957025b577b2cfed9eb0..2ef066f01fe4dbebc147fb5ec2591bdb
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 618f22db55cccdab8ca5787e093e188dc726e06f..490ed4bc5bb3fa54b48417533888094de3a25559 100644
index 8fea71f17bad0805764568acd75f75972ea1b0e6..44dc44f0959c65ea4a856e39c3ca23270a9c4631 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -922,6 +922,7 @@ public class PurpurWorldConfig {
@@ -940,6 +940,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index 618f22db55cccdab8ca5787e093e188dc726e06f..490ed4bc5bb3fa54b48417533888094d
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -940,6 +941,7 @@ public class PurpurWorldConfig {
@@ -958,6 +959,7 @@ public class PurpurWorldConfig {
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater);
@@ -48,7 +48,7 @@ index 618f22db55cccdab8ca5787e093e188dc726e06f..490ed4bc5bb3fa54b48417533888094d
}
public boolean endermanRidable = false;
@@ -2118,6 +2120,7 @@ public class PurpurWorldConfig {
@@ -2136,6 +2138,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index 618f22db55cccdab8ca5787e093e188dc726e06f..490ed4bc5bb3fa54b48417533888094d
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2137,6 +2140,7 @@ public class PurpurWorldConfig {
@@ -2155,6 +2158,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

@@ -18,10 +18,10 @@ index 3cab85703315ea9f79b77b6fbb52d50596350454..22b74af4ead64389a53fe019b259c498
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 521db43e966b01de3e0e1659a04d129f2deba5a6..75c2b5a19b22b4c6b69ccf2f65f19506631467a4 100644
index 110d17b38eff5396fd7632befe90ceefea32406b..09ba595d6256764dab412e2f46909499746fdfc6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -968,6 +968,8 @@ public class PurpurWorldConfig {
@@ -986,6 +986,8 @@ public class PurpurWorldConfig {
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
public boolean endermanTakeDamageFromWater = true;
@@ -30,7 +30,7 @@ index 521db43e966b01de3e0e1659a04d129f2deba5a6..75c2b5a19b22b4c6b69ccf2f65f19506
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -977,11 +979,17 @@ public class PurpurWorldConfig {
@@ -995,11 +997,17 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max-health", null);
set("mobs.enderman.attributes.max_health", oldValue);
}

View File

@@ -20,10 +20,10 @@ index 22b74af4ead64389a53fe019b259c498ac10feaf..b7ca9f5135cb65d7fdd69f258f2e84ee
} else {
Vec3 vec3d = player.getViewVector(1.0F).normalize();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 75c2b5a19b22b4c6b69ccf2f65f19506631467a4..d305af7b7d890de9e9d1ebf25bc8b8b5f5e130ba 100644
index 09ba595d6256764dab412e2f46909499746fdfc6..9fdb3e1e162ff331ef14ec6ab207b29502f99396 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -970,6 +970,8 @@ public class PurpurWorldConfig {
@@ -988,6 +988,8 @@ public class PurpurWorldConfig {
public boolean endermanTakeDamageFromWater = true;
public boolean endermanAggroEndermites = true;
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
@@ -32,7 +32,7 @@ index 75c2b5a19b22b4c6b69ccf2f65f19506631467a4..d305af7b7d890de9e9d1ebf25bc8b8b5
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -990,6 +992,8 @@ public class PurpurWorldConfig {
@@ -1008,6 +1010,8 @@ public class PurpurWorldConfig {
endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater);
endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites);
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);

View File

@@ -32,10 +32,10 @@ index 5db7ddd3f4bd79dbcb241aad2abf96ade57ae4c4..c8d3f2ffb0f4d5586921421cda8acf27
this.caravanHead.caravanTail = this;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 469fac4b5a27b6fc2d1e49bce67dae4e5b5eed60..016772cdd18f82d8aaeefdc9db7e080a8517f9ee 100644
index 83de63bcec03b82068f95e24c167449618967141..13f8050acaa8d50e759b320ba031e2afbf03f611 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1302,6 +1302,7 @@ public class PurpurWorldConfig {
@@ -1320,6 +1320,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
public boolean llamaTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 469fac4b5a27b6fc2d1e49bce67dae4e5b5eed60..016772cdd18f82d8aaeefdc9db7e080a
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1321,6 +1322,7 @@ public class PurpurWorldConfig {
@@ -1339,6 +1340,7 @@ public class PurpurWorldConfig {
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index f4b6345777a8f48b0d156bdfa80a5207376caeaf..b6f8d2927152a8e5a1203f3d57efb436
private void spawnLingeringCloud() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 016772cdd18f82d8aaeefdc9db7e080a8517f9ee..94e383fa58b99e3c35916a5ee80cf997e8b99316 100644
index 13f8050acaa8d50e759b320ba031e2afbf03f611..214c46eed9e2460da40fbc3c8be7d6d9d885d7cb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -822,6 +822,7 @@ public class PurpurWorldConfig {
@@ -840,6 +840,7 @@ public class PurpurWorldConfig {
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 016772cdd18f82d8aaeefdc9db7e080a8517f9ee..94e383fa58b99e3c35916a5ee80cf997
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -836,6 +837,7 @@ public class PurpurWorldConfig {
@@ -854,6 +855,7 @@ public class PurpurWorldConfig {
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);

View File

@@ -31,10 +31,10 @@ index f0fbd16c9b9c3772492c32b3924e99e147e412f0..c0c3bba1555e356c0af7e79e1ecb2aa0
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0f2e6d7a3114cfb6a41daa0a75d3448bed6c906e..59be4a17c4317f8d73e157b1d8d0f5e2468a2a5f 100644
index 214c46eed9e2460da40fbc3c8be7d6d9d885d7cb..026d84d19c1a9077b17846dea050f3048eefe9e5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1674,6 +1674,7 @@ public class PurpurWorldConfig {
@@ -1692,6 +1692,7 @@ public class PurpurWorldConfig {
public double ravagerMaxHealth = 100.0D;
public boolean ravagerBypassMobGriefing = false;
public boolean ravagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 0f2e6d7a3114cfb6a41daa0a75d3448bed6c906e..59be4a17c4317f8d73e157b1d8d0f5e2
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1686,6 +1687,23 @@ public class PurpurWorldConfig {
@@ -1704,6 +1705,23 @@ public class PurpurWorldConfig {
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater);

View File

@@ -90,10 +90,10 @@ index 564822911c25238900b361d564c5db3103900fb3..5d1567f7413b4065b5587ae45ccf9a3e
int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a319d476d7aef05a06aa59fbf310adcfa061bdc4..ddeb49925b984f4b9feff238970e3c60ce06d227 100644
index 026d84d19c1a9077b17846dea050f3048eefe9e5..528a12dea32ac2646fb2039aaa1edeb6bec0c94a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -477,6 +477,11 @@ public class PurpurWorldConfig {
@@ -482,6 +482,11 @@ public class PurpurWorldConfig {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
}

View File

@@ -31,10 +31,10 @@ index a028732368cdc6b249135742b4a86920d95fa76e..eed9fed34fde4d27e424507f2f05510d
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 309b024341615a3605e0f1dad3a1dd913e2ab08d..e981e3e1e22b7f5a85484d3577a989995f183ad1 100644
index 4d9f2529245958ddd9f6b74e758f73420b8a7ed6..6a915354f9f3fd0fc18ea0f44cc242623c989477 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2081,6 +2081,7 @@ public class PurpurWorldConfig {
@@ -2099,6 +2099,7 @@ public class PurpurWorldConfig {
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
public boolean villagerTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index 309b024341615a3605e0f1dad3a1dd913e2ab08d..e981e3e1e22b7f5a85484d3577a98999
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2099,6 +2100,7 @@ public class PurpurWorldConfig {
@@ -2117,6 +2118,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 309b024341615a3605e0f1dad3a1dd913e2ab08d..e981e3e1e22b7f5a85484d3577a98999
}
public boolean vindicatorRidable = false;
@@ -2128,6 +2130,7 @@ public class PurpurWorldConfig {
@@ -2146,6 +2148,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
public boolean wanderingTraderTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 309b024341615a3605e0f1dad3a1dd913e2ab08d..e981e3e1e22b7f5a85484d3577a98999
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -2141,6 +2144,7 @@ public class PurpurWorldConfig {
@@ -2159,6 +2162,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

@@ -47,10 +47,10 @@ index 18b603d646081926343dea108b55d641df1c2c34..fdbbd2e5d4fd970a4593b55f16bd0f82
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9a8a2cca4de503d07ee61cd32f7b6b8484804631..e3f8b5f644c9b64f1aa5f97a38a65180c455cb9f 100644
index 6f6095f01ef7e6d8cb0ba94570e5f96c31c9fd18..e97ea0945e31b81baee731574e6ba315435b8cbc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -592,6 +592,11 @@ public class PurpurWorldConfig {
@@ -610,6 +610,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}

View File

@@ -24,10 +24,10 @@ index 55c245d0dfa369dc6de2197ae37335fba4fae4ae..c9b40515f4c2ff1eedfc9510930c3bae
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e3f8b5f644c9b64f1aa5f97a38a65180c455cb9f..723bcd1c3cd4fd95a5cdf78595edf302a55d1df4 100644
index e97ea0945e31b81baee731574e6ba315435b8cbc..bde85d5b7525cda37bfa1b9849ed9b6817e28609 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -555,6 +555,13 @@ public class PurpurWorldConfig {
@@ -568,6 +568,13 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -67,10 +67,10 @@ index fc4793fefe52adfeb0272bf5324c32c1c3946416..58e5acea025287214757cba632e1268e
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 802325603b28fa624f01b2c29e5c770d4ecf3b3e..81a27a654c70cd11b16f1fa49063e813b3c79762 100644
index c5233ee4bd651b8931009963c321128b8083507a..cd8a1fb7c21d48bcb63087846acc1f981197fc86 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -502,6 +502,16 @@ public class PurpurWorldConfig {
@@ -507,6 +507,16 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -43,10 +43,10 @@ index 7304b2659eb45bc4bc9fa7c43e6ca07221d0fc73..d96e3fbc0fd4275c29e7e6154ef66e9e
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 19c0943594b702066d0781e7b222507fce098b93..1de94f0bfcc60be28896274cebd0c9a8c7aa4810 100644
index cd8a1fb7c21d48bcb63087846acc1f981197fc86..35e362e61c6a4bac0a9d774f23659a01b3540c7a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -621,6 +621,13 @@ public class PurpurWorldConfig {
@@ -639,6 +639,13 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}

View File

@@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b
} else {
int j = pos.getX();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7b7a74d2bd7112ad1774a3b4e3bc0cffa69d1b84..7412f5be64ea35d3bc6248d81ee239ccdd09bce2 100644
index 9c58b51b463fe12aa34951b2eeb73cb2600914cb..e2a4729effa575f8a125210a7629e2a83cab7412 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -607,6 +607,11 @@ public class PurpurWorldConfig {
@@ -620,6 +620,11 @@ public class PurpurWorldConfig {
powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing);
}

View File

@@ -31,10 +31,10 @@ index 03bed5ec0aa42b36f290e04c20915e934f07b629..307a05fa07bdfbc1586dde5f7672522f
pos = pos.below();
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b6d2452556ab670a8ec2c021b157e93a21ac53d2..29d260249617d22bd706d24d1bfab8f3a60fe516 100644
index e2a4729effa575f8a125210a7629e2a83cab7412..43489708ce0e21ea10abfb9e7f2cb92d18fa21f4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1618,6 +1618,7 @@ public class PurpurWorldConfig {
@@ -1636,6 +1636,7 @@ public class PurpurWorldConfig {
public double piglinMaxHealth = 16.0D;
public boolean piglinBypassMobGriefing = false;
public boolean piglinTakeDamageFromWater = false;
@@ -42,7 +42,7 @@ index b6d2452556ab670a8ec2c021b157e93a21ac53d2..29d260249617d22bd706d24d1bfab8f3
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1630,6 +1631,7 @@ public class PurpurWorldConfig {
@@ -1648,6 +1649,7 @@ public class PurpurWorldConfig {
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 9665095240a370983878350aed41badacfb6f261..623b90b263257dd633af330a63e4bb9d
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d00bb10ca6b010cd05ae75bdcc85170d0267a689..edb7b84f6170369f7044f8233554fc6b449e036d 100644
index 43489708ce0e21ea10abfb9e7f2cb92d18fa21f4..5c02af6ff74909bfa41323857080d3c0d1443f17 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2248,6 +2248,7 @@ public class PurpurWorldConfig {
@@ -2266,6 +2266,7 @@ public class PurpurWorldConfig {
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
@@ -29,7 +29,7 @@ index d00bb10ca6b010cd05ae75bdcc85170d0267a689..edb7b84f6170369f7044f8233554fc6b
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2268,6 +2269,7 @@ public class PurpurWorldConfig {
@@ -2286,6 +2287,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

@@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dcd136732def702a76666095f35dbf2d19fecb11..cba3ee6c0cd140c0d0dd5023cb79806dfa46b8c0 100644
index 275a3fff5a87c774cbd91a88ed0da50d78e8e886..6027a587e86c6b75d819cca938e273d7f7465382 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -617,6 +617,11 @@ public class PurpurWorldConfig {
@@ -630,6 +630,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}

View File

@@ -21,10 +21,10 @@ index b6f8d2927152a8e5a1203f3d57efb436cf72b30a..5e7dcb99daf6dcb61b8cd907d882778b
if (!event.isCancelled()) {
this.dead = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 85ef8d61fbd9aab463a0bf4690652097b0b8cde0..c954275dbb593ae5500e3deccbecac3abbffaac7 100644
index 79f58ce6df2471e3348c772594524ba01dbc83aa..c52fad4471aef8fe62ce6c873d7a77741577d0b7 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -914,6 +914,7 @@ public class PurpurWorldConfig {
@@ -932,6 +932,7 @@ public class PurpurWorldConfig {
public boolean creeperBypassMobGriefing = false;
public boolean creeperTakeDamageFromWater = false;
public boolean creeperExplodeWhenKilled = false;
@@ -32,7 +32,7 @@ index 85ef8d61fbd9aab463a0bf4690652097b0b8cde0..c954275dbb593ae5500e3deccbecac3a
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -929,6 +930,7 @@ public class PurpurWorldConfig {
@@ -947,6 +948,7 @@ public class PurpurWorldConfig {
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater);
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);

View File

@@ -26,10 +26,10 @@ index e3d725e656bc5ffc5fc92133794a80799fb21c48..fdad66c329ff8945a76a944deca7751a
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c954275dbb593ae5500e3deccbecac3abbffaac7..4726b08ee6b5bba463f912ccbe3ee7ba750e620b 100644
index c52fad4471aef8fe62ce6c873d7a77741577d0b7..a590a89d8e90a70509a13c78d7c4ee93b042f1d0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1372,6 +1372,8 @@ public class PurpurWorldConfig {
@@ -1390,6 +1390,8 @@ public class PurpurWorldConfig {
public boolean ironGolemCanSwim = false;
public double ironGolemMaxHealth = 100.0D;
public boolean ironGolemTakeDamageFromWater = false;
@@ -38,7 +38,7 @@ index c954275dbb593ae5500e3deccbecac3abbffaac7..4726b08ee6b5bba463f912ccbe3ee7ba
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1384,6 +1386,8 @@ public class PurpurWorldConfig {
@@ -1402,6 +1404,8 @@ public class PurpurWorldConfig {
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater);

View File

@@ -50,10 +50,10 @@ index ab00e8d796ff7c903ea678dedb64cb25cf7e462e..29c13eee52a9f32a07853bd824687601
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4726b08ee6b5bba463f912ccbe3ee7ba750e620b..d6d47760639841dabcbba39326c248fa9e6ee514 100644
index a590a89d8e90a70509a13c78d7c4ee93b042f1d0..b1e2f45601d71f31cd001bbd3b0668650d7e5635 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1542,6 +1542,7 @@ public class PurpurWorldConfig {
@@ -1560,6 +1560,7 @@ public class PurpurWorldConfig {
public double parrotMaxY = 320D;
public double parrotMaxHealth = 6.0D;
public boolean parrotTakeDamageFromWater = false;
@@ -61,7 +61,7 @@ index 4726b08ee6b5bba463f912ccbe3ee7ba750e620b..d6d47760639841dabcbba39326c248fa
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1554,6 +1555,7 @@ public class PurpurWorldConfig {
@@ -1572,6 +1573,7 @@ public class PurpurWorldConfig {
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater);

View File

@@ -19,10 +19,10 @@ index 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7
BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d1608a3054e9cb1d55d3fec953e9f3526c7d8bab..58294dd6629f3296cf9f86b35c73abe6e019f0e4 100644
index 7987d427be1a19693b735365812f317a10812ff5..2d2f2b15cbd982f2ae2e3ec0c68ebcc8ecf4d557 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -550,6 +550,11 @@ public class PurpurWorldConfig {
@@ -555,6 +555,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -35,10 +35,10 @@ index c89978ecbc5a13dda6f76ea6d1cc3056efc9a174..39868ad3ee4bb573a4dd562894d93f64
blockEntity.saveToItem(itemStack);
if (shulkerBoxBlockEntity.hasCustomName()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 58294dd6629f3296cf9f86b35c73abe6e019f0e4..6f0cc1fb353b017c2476b933958668affd6f8a09 100644
index 2d2f2b15cbd982f2ae2e3ec0c68ebcc8ecf4d557..7b7d9ec76c0ea940da99971a27568b1ce743f7f1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -659,6 +659,11 @@ public class PurpurWorldConfig {
@@ -677,6 +677,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -31,10 +31,10 @@ index a16a1df28258d605cf5908dbe19bda5d71ad4f45..7b82842b97ce795745cf6ee6399f618c
return false;
} else {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6f0cc1fb353b017c2476b933958668affd6f8a09..dad973fb21b2c3259c323e83c1ed08fbd696ca88 100644
index 7b7d9ec76c0ea940da99971a27568b1ce743f7f1..41b09eae6132497def6c5c615236b76fed94c911 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -769,6 +769,8 @@ public class PurpurWorldConfig {
@@ -787,6 +787,8 @@ public class PurpurWorldConfig {
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
public boolean beeTakeDamageFromWater = false;
@@ -43,7 +43,7 @@ index 6f0cc1fb353b017c2476b933958668affd6f8a09..dad973fb21b2c3259c323e83c1ed08fb
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -782,6 +784,8 @@ public class PurpurWorldConfig {
@@ -800,6 +802,8 @@ public class PurpurWorldConfig {
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater);

View File

@@ -27,10 +27,10 @@ index 72f1866226269396ba0f0c1be269e237925d9322..7e6cff38ad3f160efb0a30b482304e03
}
// Paper end - fix sand duping
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 19d90a881168409514fa4d31d3ccaa770b4edac3..25e7d308281131b066642140abc64e648e959d78 100644
index b35b621346d4c9f284fe3c1d1b358c4f08a6fe4d..346b5ae9ea7c581d7d28314fa62fcc1c153b36cd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -685,6 +685,11 @@ public class PurpurWorldConfig {
@@ -703,6 +703,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -45,10 +45,10 @@ index 04bae5085756842ce88710646a17e9dc1aad5994..e7658fa9806701505e15cbf1d28ea3bd
entity.portalWorld = ((ServerLevel)world);
entity.portalBlock = pos.immutable();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 25e7d308281131b066642140abc64e648e959d78..12fd1b68a04caa9e5b6c2ea6d92845f01464bff9 100644
index 346b5ae9ea7c581d7d28314fa62fcc1c153b36cd..e2bcb73a99843dff02b2dcede9b3451262428a31 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -636,6 +636,11 @@ public class PurpurWorldConfig {
@@ -649,6 +649,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -67,10 +67,10 @@ index 2170715ed0e81a3055e4ab546c8b294c5ef7f142..beae4e2b9f61df83215de860d64c4ce2
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 23213eb78d9f30101c3de2b7806e2898fe5c333e..931bba87be78463c21c79752caf4e2b274daa4de 100644
index 22baf3d82b2304c27d4a6fc50101478a9d3e7966..a94a3bc8be6f1aa518195e17d99655b02d292d14 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1908,6 +1908,11 @@ public class PurpurWorldConfig {
@@ -1926,6 +1926,11 @@ public class PurpurWorldConfig {
public boolean shulkerControllable = true;
public double shulkerMaxHealth = 30.0D;
public boolean shulkerTakeDamageFromWater = false;
@@ -82,7 +82,7 @@ index 23213eb78d9f30101c3de2b7806e2898fe5c333e..931bba87be78463c21c79752caf4e2b2
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1919,6 +1924,11 @@ public class PurpurWorldConfig {
@@ -1937,6 +1942,11 @@ public class PurpurWorldConfig {
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater);

View File

@@ -34,10 +34,10 @@ index 037d77b47d0be69dfeda01f4a0d52ad72aea2c8d..6e0a575a95ac0bcbc9e3909178ea566a
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dd61c0f37205c22553004a185816f966f3ec859d..c23313f82064352244205709f5c792201cbb7629 100644
index d3ed64a39a91e4b12df9f4fc91ffd2f426d54778..b3b7f1f624382d8105410d942eac697848cba6f5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1054,6 +1054,7 @@ public class PurpurWorldConfig {
@@ -1072,6 +1072,7 @@ public class PurpurWorldConfig {
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
public boolean drownedTakeDamageFromWater = false;
@@ -45,7 +45,7 @@ index dd61c0f37205c22553004a185816f966f3ec859d..c23313f82064352244205709f5c79220
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -1069,6 +1070,7 @@ public class PurpurWorldConfig {
@@ -1087,6 +1088,7 @@ public class PurpurWorldConfig {
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater);

View File

@@ -18,10 +18,10 @@ index 4c1e9b6f4a52d7b1506b9016cc4d30e583eeab04..0e753dd68d9506a2a4e5ad74e7f4d04c
this.tickTimer = 0;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 90a33d6b180a56ce46d6e755a28597a5e9768efd..f9b9c735cf280bd9e8d7a0ba6d56568eb579e044 100644
index b3b7f1f624382d8105410d942eac697848cba6f5..3cd04d8e1bf920c36fbab1968df1cb65fbcdc068 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2552,4 +2552,9 @@ public class PurpurWorldConfig {
@@ -2570,4 +2570,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,10 +24,10 @@ 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 cc16e72f6033d3fe3cf06186eb11fe9767bfa15c..233ef41ac3801807fa4508d466d892c298261cdf 100644
index b297ce9d27c44d87e90b6893b73516e716e1df47..f39c8dc011eea4bee42bbc10dd8061d07921d8de 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,11 @@ public class PurpurWorldConfig {
@@ -719,6 +719,11 @@ public class PurpurWorldConfig {
}
}
@@ -39,7 +39,7 @@ index cc16e72f6033d3fe3cf06186eb11fe9767bfa15c..233ef41ac3801807fa4508d466d892c2
public boolean chestOpenWithBlockOnTop = false;
private void chestSettings() {
chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop);
@@ -2717,3 +2722,4 @@ public class PurpurWorldConfig {
@@ -2735,3 +2740,4 @@ public class PurpurWorldConfig {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}
}

View File

@@ -24,10 +24,10 @@ index 8537581e7ca1f4efb492a2e734f46f947f36cffa..5f89229ff68d923c5cdee40e72e379ba
if (i != -1) {
world.scheduleTick(blockposition, (Block) this, i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 40407828fbaab1989f6753ee04a6f2b86ee60c2b..31f7106acadb04a97bd5017039018a76d0aaa3c5 100644
index f39c8dc011eea4bee42bbc10dd8061d07921d8de..8cf43bbc34383a4471f669c2d8b66d45aa15be4c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -714,6 +714,22 @@ public class PurpurWorldConfig {
@@ -719,6 +719,22 @@ public class PurpurWorldConfig {
}
}

View File

@@ -18,10 +18,10 @@ index b7ca9f5135cb65d7fdd69f258f2e84ee9e252d26..8b9462496ee60c44a1a28082563c573a
boolean flag;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c016c63feb293a84b4d7824f380cce03936598f9..e8a7237ed1594d0b61e197e6be1ba5c501ada927 100644
index 6f94eeeeb03341621e7a8340b0d91073fa96fbbe..27b06d6ebe464c14b7795161a0692540858ad4f9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1313,6 +1313,7 @@ public class PurpurWorldConfig {
@@ -1331,6 +1331,7 @@ public class PurpurWorldConfig {
public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false;
public boolean endermanIgnorePlayerDragonHead = false;
public boolean endermanDisableStareAggro = false;
@@ -29,7 +29,7 @@ index c016c63feb293a84b4d7824f380cce03936598f9..e8a7237ed1594d0b61e197e6be1ba5c5
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -1335,6 +1336,7 @@ public class PurpurWorldConfig {
@@ -1353,6 +1354,7 @@ public class PurpurWorldConfig {
endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned);
endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead);
endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro);

View File

@@ -18,10 +18,10 @@ index cd1e454b1e178b5bb2c2a9b83bdab2b70206bde3..4ec10cf9613d03da66fb03bec3e9b06e
return InteractionResult.SUCCESS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 09808785c382f9c78119b8f306cc73eef24ef471..117b17bc01e0df17bdc15269ac99a63330cbdab0 100644
index e1997fa949d21d2c5f4c248ed8292fbb5d2eb4e6..674fbe85641dfcb2c93090457c24bc198aa40b65 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2701,6 +2701,8 @@ public class PurpurWorldConfig {
@@ -2719,6 +2719,8 @@ public class PurpurWorldConfig {
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
public boolean zombieVillagerTakeDamageFromWater = false;
@@ -30,7 +30,7 @@ index 09808785c382f9c78119b8f306cc73eef24ef471..117b17bc01e0df17bdc15269ac99a633
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2716,6 +2718,8 @@ public class PurpurWorldConfig {
@@ -2734,6 +2736,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 d96e3fbc0fd4275c29e7e6154ef66e9ed1a5d829..df04a571ebd3c04bc7b58c1ee5661a1f
++i;
if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9fe05daa2303ca44c9e50f5f30c1974e5fb49152..4977df6436cc889944c169dc2d173f0475a7a188 100644
index 674fbe85641dfcb2c93090457c24bc198aa40b65..df61924acdbc23e8c30d9be82ba26b74d07d2d5b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -914,9 +914,11 @@ public class PurpurWorldConfig {
@@ -932,9 +932,11 @@ public class PurpurWorldConfig {
public int spongeAbsorptionArea = 64;
public int spongeAbsorptionRadius = 6;

View File

@@ -18,10 +18,10 @@ index 97c5ffd383a02afecba035e65823ac12e03c7295..e0c5a8afa5c394ab8bbd3e982632518c
// 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 cc0f3cf3fca3ea59caa914ecf568bc24fa85ad92..3116bee32f70357639666a5fc9ebad990b7a3cd0 100644
index df61924acdbc23e8c30d9be82ba26b74d07d2d5b..4025e00da97b1477ca76a927b01e2020cfa2d563 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2546,6 +2546,7 @@ public class PurpurWorldConfig {
@@ -2564,6 +2564,7 @@ public class PurpurWorldConfig {
public boolean witherTakeDamageFromWater = false;
public boolean witherCanRideVehicles = false;
public float witherExplosionRadius = 1.0F;
@@ -29,7 +29,7 @@ index cc0f3cf3fca3ea59caa914ecf568bc24fa85ad92..3116bee32f70357639666a5fc9ebad99
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -2567,6 +2568,7 @@ public class PurpurWorldConfig {
@@ -2585,6 +2586,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

@@ -18,10 +18,10 @@ index 1ec242205b82a5a1f10deb2312795cc5dc157a76..2fd7e33a161bc89c91deca1f245d6dac
return false;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5c7fff668ed33f402eb73c0d99728e177cff5b01..5ff17517d11b79537fec4a581251649eca44ced2 100644
index 4025e00da97b1477ca76a927b01e2020cfa2d563..df687020c0d3e7b5a4cf7ce5871b2aae3c5fd5a1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -746,6 +746,11 @@ public class PurpurWorldConfig {
@@ -751,6 +751,11 @@ public class PurpurWorldConfig {
buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch);
}

View File

@@ -77,10 +77,10 @@ index 05eab04e4aec4151018f25b59f92ddbbb4c09f87..3b5c502fc211940dd908f1d276fa11e3
});
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e483a5d31202d52d7b2a7fead19e54176f28c6a3..c70427f27af63bfe543659dea4f939446d48c448 100644
index 9ebd8b4b527fe8c30483abf34a5840fe0c77355e..9207e3f4c61c478365ab43a138c8738bd4d89732 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2765,5 +2765,28 @@ public class PurpurWorldConfig {
@@ -2783,5 +2783,28 @@ public class PurpurWorldConfig {
private void hungerSettings() {
hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage);
}

View File

@@ -47,10 +47,10 @@ index e78fdd317d59cfca6a28deb6e0bd02aabe91e930..895fea12e9780521573bfe6f6a3d9c86
if (dripChance < f1) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c70427f27af63bfe543659dea4f939446d48c448..f458db54538a78731027469511d200ae5e6341a0 100644
index 9207e3f4c61c478365ab43a138c8738bd4d89732..99358fb2f2f97dde8df4c8f4606b4e2e70ee11d1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2788,5 +2788,16 @@ public class PurpurWorldConfig {
@@ -2806,5 +2806,16 @@ public class PurpurWorldConfig {
});
conduitBlocks = conduitBlockList.toArray(Block[]::new);
}

View File

@@ -47,10 +47,10 @@ index 70237d8891889818135ea024d0c8f31cbfe75524..3e6a8c541292a7ac7ca290e79bb14b70
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c0e48e8c6e815e8c388c62ba1a451a5517de2288..bb32ec5b6526b27f61c2d15e10be13bae2596427 100644
index 1731c84ba16f56e12640132f693639db89ceded6..ae772a31e0a53c26cb0f10dd23bdbef783df9770 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 {
@@ -2139,6 +2139,7 @@ public class PurpurWorldConfig {
public double shulkerSpawnFromBulletNearbyRange = 8.0D;
public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0";
public boolean shulkerSpawnFromBulletRandomColor = false;
@@ -58,7 +58,7 @@ index c0e48e8c6e815e8c388c62ba1a451a5517de2288..bb32ec5b6526b27f61c2d15e10be13ba
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -2137,6 +2138,7 @@ public class PurpurWorldConfig {
@@ -2155,6 +2156,7 @@ public class PurpurWorldConfig {
shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange);
shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation);
shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor);

View File

@@ -45,7 +45,7 @@ index fdd3aa81644087bff33a47c5f98e14ca0452f3ef..c75404ddcb36105b84ff8c21545549be
public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS)));
public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF)));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 08ef6efc26d3798a651b9fd1400d1b73d21b6b20..3acbb777269b1b117821383ed931dbe71bf0479b 100644
index feeb2e385650207cee824847c10c611ff7e6ba26..22e6426270a5f6a2fb7f7b0bafff6f6d43dcb865 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -706,6 +706,11 @@ public class PurpurWorldConfig {
@@ -60,7 +60,7 @@ index 08ef6efc26d3798a651b9fd1400d1b73d21b6b20..3acbb777269b1b117821383ed931dbe7
public int beaconLevelOne = 20;
public int beaconLevelTwo = 30;
public int beaconLevelThree = 40;
@@ -835,6 +840,11 @@ public class PurpurWorldConfig {
@@ -848,6 +853,11 @@ public class PurpurWorldConfig {
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);
}

View File

@@ -47,10 +47,10 @@ index b0c933644c1f4b5aa142c7c4d26a9b81cb4051f7..f8be4c96e7e7b8e6d8c538b1f425f01d
public static AttributeSupplier.Builder createAttributes() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 40ee2cb4d1224cbc61676581acd483b8c84c5d76..46c414e51837bedd7f347a125925d1704750e0db 100644
index f3778a9b35bf0b70ff786160a713e39895370bed..658e7838b0400346ee417d9b9ab238ba8c014312 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1219,6 +1219,7 @@ public class PurpurWorldConfig {
@@ -1237,6 +1237,7 @@ public class PurpurWorldConfig {
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
public boolean dolphinTakeDamageFromWater = false;
@@ -58,7 +58,7 @@ index 40ee2cb4d1224cbc61676581acd483b8c84c5d76..46c414e51837bedd7f347a125925d170
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable);
@@ -1233,6 +1234,7 @@ public class PurpurWorldConfig {
@@ -1251,6 +1252,7 @@ public class PurpurWorldConfig {
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater);

View File

@@ -59,10 +59,10 @@ index 48d20fcd481e76e180410c11040b2164315fce23..7bf4b399d68b04a43465e85061113249
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 46c414e51837bedd7f347a125925d1704750e0db..d822f5f1fcbe0ff404fba384bdf52e10f20f0004 100644
index 658e7838b0400346ee417d9b9ab238ba8c014312..9d1eb60814e57ede2235aaa695c57fc9b07fd795 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1168,7 +1168,14 @@ public class PurpurWorldConfig {
@@ -1186,7 +1186,14 @@ public class PurpurWorldConfig {
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
public boolean cowTakeDamageFromWater = false;
@@ -77,7 +77,7 @@ index 46c414e51837bedd7f347a125925d1704750e0db..d822f5f1fcbe0ff404fba384bdf52e10
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
cowControllable = getBoolean("mobs.cow.controllable", cowControllable);
@@ -1181,6 +1188,8 @@ public class PurpurWorldConfig {
@@ -1199,6 +1206,8 @@ public class PurpurWorldConfig {
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater);

View File

@@ -22,10 +22,10 @@ index 1db5d966c2ce26c2e5e2999ae8639a20e30d6fa8..a2cf362d84135ff39a427024f7df1d1b
this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error
this.brain.eraseMemory(MemoryModuleType.WALK_TARGET);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ccaf3309162fe4f916bcadbe665e09c151bc2241..ad7f3c58f2b7c5ba565914d34177d311b61182dc 100644
index 9d1eb60814e57ede2235aaa695c57fc9b07fd795..f534cb88365dce7054bec5367594fc21172c740d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -725,11 +725,13 @@ public class PurpurWorldConfig {
@@ -725,6 +725,7 @@ public class PurpurWorldConfig {
}
public boolean bedExplode = true;
@@ -33,7 +33,9 @@ index ccaf3309162fe4f916bcadbe665e09c151bc2241..ad7f3c58f2b7c5ba565914d34177d311
public double bedExplosionPower = 5.0D;
public boolean bedExplosionFire = true;
public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK;
private void bedSettings() {
@@ -735,6 +736,7 @@ public class PurpurWorldConfig {
}
}
bedExplode = getBoolean("blocks.bed.explode", bedExplode);
+ bedExplodeOnVillagerSleep = getBoolean("blocks.bed.explode-on-villager-sleep", bedExplodeOnVillagerSleep);
bedExplosionPower = getDouble("blocks.bed.explosion-power", bedExplosionPower);

View File

@@ -60,10 +60,10 @@ index d6093557894789eb20f79b83547620b47bb65ffb..dfa2806faedf70ca5ffe77087a67822a
this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 334e2f78bdaf76118e2af9749e5c820a6c7e0ca2..73aa9d484d2fac2e1776b2b90fc261968e042b06 100644
index f534cb88365dce7054bec5367594fc21172c740d..512e3ce4f83c592dfb0cef2b4eb94560a2d7eb48 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1561,6 +1561,13 @@ public class PurpurWorldConfig {
@@ -1579,6 +1579,13 @@ public class PurpurWorldConfig {
guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater);
}

View File

@@ -18,10 +18,10 @@ index a4c44cb59dee29cf227dbb51bfc1576d89dfb2e3..551bacade8642e6aad17120d8a901bcc
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 32fa948d3ff145762463b0e57c1de8ea5dbe3ac5..a851ce8066f8365343cb4e732b61947f931ba610 100644
index 512e3ce4f83c592dfb0cef2b4eb94560a2d7eb48..afba5f1a4699aa6852175e47ed82fa165afac8dd 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -768,6 +768,11 @@ public class PurpurWorldConfig {
@@ -773,6 +773,11 @@ public class PurpurWorldConfig {
cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors);
}

View File

@@ -18,10 +18,10 @@ index 4ec10cf9613d03da66fb03bec3e9b06ec5b56c7a..c51e04e90e6a5b5b549666fe739491c1
itemstack.shrink(1);
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 33728459066467cee5bf3ba03f810eb664778bcf..db8fdf11ccd9ab83cfd42784d68e341a26c48ed9 100644
index 479295d603169b3858bb1bcafe6c0f63f140c5b3..138823179c7afff52f504bddfcf07fdc5302c398 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2765,6 +2765,7 @@ public class PurpurWorldConfig {
@@ -2783,6 +2783,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerTakeDamageFromWater = false;
public int zombieVillagerCuringTimeMin = 3600;
public int zombieVillagerCuringTimeMax = 6000;
@@ -29,7 +29,7 @@ index 33728459066467cee5bf3ba03f810eb664778bcf..db8fdf11ccd9ab83cfd42784d68e341a
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -2782,6 +2783,7 @@ public class PurpurWorldConfig {
@@ -2800,6 +2801,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

@@ -17,7 +17,7 @@ index db7bf36474ac0e0a95b11ab212d9c866368a161b..05c442041e11d7a87359857ad9d6fed3
this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos()));
this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos()));
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index cbcaf80736ab50f781b65f7a8c813331238c74ec..69011c01936eae6a8939b94acfaac56c2cf6cae6 100644
index 7e7a69968b9a8e6d6c97910703cc8521026c35c2..03519ba7c2f93dc0bd4bdaba2f33808d24acbcc1 100644
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -3513,11 +3513,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
@@ -70,10 +70,10 @@ index 4da4edae517a0efec6e03a719ec47b700509dab1..9e760a8e8244b15daaf0abdfc5f8a51d
public CompoundTag getUpdateTag() {
return this.saveWithoutMetadata();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 610279d349dad0c9f8e0d99f64b80425efad0933..bda122612dc1336baa2be0a01276a598312873aa 100644
index f7ba61dea5f0f1ab82a3f193cebcaa7f162c2435..c68ec3b20ed829ed4d63ce7bdd1f266bf9d00d71 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -938,8 +938,10 @@ public class PurpurWorldConfig {
@@ -956,8 +956,10 @@ public class PurpurWorldConfig {
}
public boolean signRightClickEdit = false;

File diff suppressed because it is too large Load Diff

View File

@@ -39,10 +39,10 @@ index b1f23e67f7f21cb9a85301a819e8079d9000c0f6..62996f5e65cc04744852897ecca0c83a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b914f7712765720f1fb375f639f9ce3913b03280..8b7738f48e287370f46d11110fa27a03e6cfece6 100644
index 550442ebdd824a799c65efeebf2d2e5e9cdc10e8..51df14e58858012b21931f57df0a30fe96c873f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2449,6 +2449,7 @@ public class PurpurWorldConfig {
@@ -2467,6 +2467,7 @@ public class PurpurWorldConfig {
public double spiderMaxHealth = 16.0D;
public boolean spiderTakeDamageFromWater = false;
public boolean spiderAlwaysDropExp = false;
@@ -50,7 +50,7 @@ index b914f7712765720f1fb375f639f9ce3913b03280..8b7738f48e287370f46d11110fa27a03
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -2461,6 +2462,7 @@ public class PurpurWorldConfig {
@@ -2479,6 +2480,7 @@ public class PurpurWorldConfig {
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater);
spiderAlwaysDropExp = getBoolean("mobs.spider.always-drop-exp", spiderAlwaysDropExp);

View File

@@ -18,10 +18,10 @@ index 492316925f06d1bc7950c6b9d37615b2bd0138fd..99dbbe59116ae4fbdfb506a72959e3a6
if (entityitem != null) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 158db79b4db5e768371aef45ec36f7ac4b96c051..4ba424ca8d0daf0cd01bafbaf21f65c1776813d7 100644
index 95020427ac3848db5d4a1387ffba3263fe4767a6..df92f8f6ede63bf0967666993a9e59a7377c18fb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2242,6 +2242,7 @@ public class PurpurWorldConfig {
@@ -2260,6 +2260,7 @@ public class PurpurWorldConfig {
public boolean sheepBypassMobGriefing = false;
public boolean sheepTakeDamageFromWater = false;
public boolean sheepAlwaysDropExp = false;
@@ -29,7 +29,7 @@ index 158db79b4db5e768371aef45ec36f7ac4b96c051..4ba424ca8d0daf0cd01bafbaf21f65c1
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -2256,6 +2257,7 @@ public class PurpurWorldConfig {
@@ -2274,6 +2275,7 @@ public class PurpurWorldConfig {
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater);
sheepAlwaysDropExp = getBoolean("mobs.sheep.always-drop-exp", sheepAlwaysDropExp);

View File

@@ -32,10 +32,10 @@ index 4eeb777a49556c54a3f31c1b9d755b110a3e8fab..d4896c4d1eca6a1494571a40024422ad
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 90a43499dcd3c1b6f8582eaadc766c35a3a5b591..4ad75e8fc73639a1b53ee2e654d8766b84ff37f6 100644
index df92f8f6ede63bf0967666993a9e59a7377c18fb..0387895a705860549c85178ff5436762db207897 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -971,11 +971,13 @@ public class PurpurWorldConfig {
@@ -989,11 +989,13 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;

View File

@@ -32,10 +32,10 @@ index 001dbb7427f963cb570fc593eaeb0d728ef028f3..3328dfb1790d66de36b92d0ef82ec6ca
// 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 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8ed6f554b 100644
index 0387895a705860549c85178ff5436762db207897..c42d1c68bfcd53bdfb7a2bad31391641babc2dec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1244,6 +1244,7 @@ public class PurpurWorldConfig {
@@ -1262,6 +1262,7 @@ public class PurpurWorldConfig {
public boolean creeperExplodeWhenKilled = false;
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
@@ -43,7 +43,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1261,6 +1262,7 @@ public class PurpurWorldConfig {
@@ -1279,6 +1280,7 @@ public class PurpurWorldConfig {
creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled);
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
@@ -51,7 +51,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
}
public boolean dolphinRidable = false;
@@ -2047,6 +2049,7 @@ public class PurpurWorldConfig {
@@ -2065,6 +2067,7 @@ public class PurpurWorldConfig {
public boolean piglinTakeDamageFromWater = false;
public int piglinPortalSpawnModifier = 2000;
public boolean piglinAlwaysDropExp = false;
@@ -59,7 +59,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -2061,6 +2064,7 @@ public class PurpurWorldConfig {
@@ -2079,6 +2082,7 @@ public class PurpurWorldConfig {
piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater);
piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier);
piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp);
@@ -67,7 +67,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
}
public boolean piglinBruteRidable = false;
@@ -2322,6 +2326,7 @@ public class PurpurWorldConfig {
@@ -2340,6 +2344,7 @@ public class PurpurWorldConfig {
public double skeletonMaxHealth = 20.0D;
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
@@ -75,7 +75,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2334,6 +2339,7 @@ public class PurpurWorldConfig {
@@ -2352,6 +2357,7 @@ public class PurpurWorldConfig {
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
@@ -83,7 +83,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
}
public boolean skeletonHorseRidableInWater = true;
@@ -2857,6 +2863,7 @@ public class PurpurWorldConfig {
@@ -2875,6 +2881,7 @@ public class PurpurWorldConfig {
public boolean zombieBypassMobGriefing = false;
public boolean zombieTakeDamageFromWater = false;
public boolean zombieAlwaysDropExp = false;
@@ -91,7 +91,7 @@ index 5ceae41cdaa99c5ce8e1746f317403a2dcd844c7..f84f1d2027845fc371e17d48bb4df4f8
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -2875,6 +2882,7 @@ public class PurpurWorldConfig {
@@ -2893,6 +2900,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

@@ -17,10 +17,10 @@ index 251fc8c09d3856464b8f5c64f7840a65553ae16c..7d8ab3c5d5277b81157d56b408293cc3
++this.timeSinceSting;
if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, (int) 1, (int) 1200)) == 0) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d4a25e677f2c40e53a881beca434ff1c5c5ab420..82ac1fbdd5f3d859902bdfa621837ea1977772ef 100644
index c42d1c68bfcd53bdfb7a2bad31391641babc2dec..f8fa43440495512bdec81fbd3b9ddd66df5a2958 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1059,6 +1059,7 @@ public class PurpurWorldConfig {
@@ -1077,6 +1077,7 @@ public class PurpurWorldConfig {
public boolean beeCanWorkAtNight = false;
public boolean beeCanWorkInRain = false;
public boolean beeAlwaysDropExp = false;
@@ -28,7 +28,7 @@ index d4a25e677f2c40e53a881beca434ff1c5c5ab420..82ac1fbdd5f3d859902bdfa621837ea1
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -1075,6 +1076,7 @@ public class PurpurWorldConfig {
@@ -1093,6 +1094,7 @@ public class PurpurWorldConfig {
beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight);
beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain);
beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp);

View File

@@ -35,10 +35,10 @@ index e5a3e3a4367dfb924624a913b816b3fd56e3fefd..7068cb39ab264fa0c65febff01236b8d
org.bukkit.event.Cancellable cancellable;
if (entity instanceof Player) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 82ac1fbdd5f3d859902bdfa621837ea1977772ef..ae51ffce1c829f8e62cf5c90a1eedfac982f8c4f 100644
index f8fa43440495512bdec81fbd3b9ddd66df5a2958..bcb7ec819310444b1263afccf65de60108b31a5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -852,6 +852,7 @@ public class PurpurWorldConfig {
@@ -865,6 +865,7 @@ public class PurpurWorldConfig {
public boolean farmlandTramplingDisabled = false;
public boolean farmlandTramplingOnlyPlayers = false;
public boolean farmlandTramplingFeatherFalling = false;
@@ -46,7 +46,7 @@ index 82ac1fbdd5f3d859902bdfa621837ea1977772ef..ae51ffce1c829f8e62cf5c90a1eedfac
private void farmlandSettings() {
farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing);
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
@@ -859,6 +860,7 @@ public class PurpurWorldConfig {
@@ -872,6 +873,7 @@ public class PurpurWorldConfig {
farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled);
farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers);
farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling);

View File

@@ -22,10 +22,10 @@ index 35da78d79ee90acc69600adb78bc81ff75cee752..cf6f7c6c5754ab712e06a7bfb8c1ef8e
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ec6c0fb48ed2f8005bc53ef9a4efbb911f3eddd5..7fd1e5567a37d2434fd54042773211e21604a58a 100644
index abe46f309b48f4376f8019aa3d7f07476de727f2..1c938baeb7d2b30d457b3dcb1e416f45944b708a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1987,6 +1987,8 @@ public class PurpurWorldConfig {
@@ -2005,6 +2005,8 @@ public class PurpurWorldConfig {
public boolean phantomFlamesOnSwoop = false;
public boolean phantomTakeDamageFromWater = false;
public boolean phantomAlwaysDropExp = false;
@@ -34,7 +34,7 @@ index ec6c0fb48ed2f8005bc53ef9a4efbb911f3eddd5..7fd1e5567a37d2434fd54042773211e2
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -2023,6 +2025,13 @@ public class PurpurWorldConfig {
@@ -2041,6 +2043,13 @@ public class PurpurWorldConfig {
phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop);
phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater);
phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp);

View File

@@ -40,10 +40,10 @@ index 8a9a701baabdaf066cd9b28c05430f673fcafb4e..17cc3237c7fc8ceda136b2371fabf6f0
public ItemStack assemble() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 67111ebca413fff823ec5dc4a46ab7216709f0a4..b16666f2490416c9e93d8c1cd75536eba02f5385 100644
index 1c938baeb7d2b30d457b3dcb1e416f45944b708a..bba87691e639bdb24194934b1ba22ef70fb6b763 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2659,6 +2659,7 @@ public class PurpurWorldConfig {
@@ -2677,6 +2677,7 @@ public class PurpurWorldConfig {
public boolean villagerTakeDamageFromWater = false;
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 67111ebca413fff823ec5dc4a46ab7216709f0a4..b16666f2490416c9e93d8c1cd75536eb
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2679,6 +2680,7 @@ public class PurpurWorldConfig {
@@ -2697,6 +2698,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

@@ -105,10 +105,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 b16666f2490416c9e93d8c1cd75536eba02f5385..31fb28fb38cdf7684ad2d6535a602fa7a8b83c5d 100644
index bba87691e639bdb24194934b1ba22ef70fb6b763..83be208e91862534c927f2090665ded9a23e74b6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2660,6 +2660,8 @@ public class PurpurWorldConfig {
@@ -2678,6 +2678,8 @@ public class PurpurWorldConfig {
public boolean villagerAllowTrading = true;
public boolean villagerAlwaysDropExp = false;
public int villagerMinimumDemand = 0;
@@ -117,7 +117,7 @@ index b16666f2490416c9e93d8c1cd75536eba02f5385..31fb28fb38cdf7684ad2d6535a602fa7
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2681,6 +2683,17 @@ public class PurpurWorldConfig {
@@ -2699,6 +2701,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 31fb28fb38cdf7684ad2d6535a602fa7a8b83c5d..3181045cbd3836e45c276699081feec8b5d15c48 100644
index 83be208e91862534c927f2090665ded9a23e74b6..b30ca4fd74523a56d865e778b9423981846a0603 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2662,6 +2662,7 @@ public class PurpurWorldConfig {
@@ -2680,6 +2680,7 @@ public class PurpurWorldConfig {
public int villagerMinimumDemand = 0;
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
@@ -28,7 +28,7 @@ index 31fb28fb38cdf7684ad2d6535a602fa7a8b83c5d..3181045cbd3836e45c276699081feec8
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2694,6 +2695,7 @@ public class PurpurWorldConfig {
@@ -2712,6 +2713,7 @@ public class PurpurWorldConfig {
}
villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled);
villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval);

View File

@@ -17,10 +17,10 @@ index 18389f46902bb9879ac6d734723e9a720724dc48..b2b8663a9cff08bacdab91c7bb014ba6
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b2077af824453927f5c70f7d45977d4f53d71fe7..8bbfa9cfa17a3d654c4267b3a36335530e87c430 100644
index b30ca4fd74523a56d865e778b9423981846a0603..49bb74b5d7dbbca52b7e195897ee75153e498c6d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -960,8 +960,10 @@ public class PurpurWorldConfig {
@@ -978,8 +978,10 @@ public class PurpurWorldConfig {
}
public boolean spawnerDeactivateByRedstone = false;

View File

@@ -20,10 +20,10 @@ index d4896c4d1eca6a1494571a40024422ada41d1e78..9f56496fd327f5baaf6b12f40d75646a
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d1f0e4ebecc7ddd9c6728334d6e784113a657a10..ccbaf28b720ec1e61272e16eecf7dc26a1195584 100644
index 992c178a540753ae13ca3cb7c23dabf7663be160..56cd5573751c43db15c42a34b25ffd25d5e370be 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -986,12 +986,14 @@ public class PurpurWorldConfig {
@@ -1004,12 +1004,14 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromMinecarts = true;
public boolean turtleEggsBypassMobGriefing = false;
public int turtleEggsRandomTickCrackChance = 500;

View File

@@ -18,10 +18,10 @@ index f8c78da70ad8b36c07c02259227a43444642e926..dd724eccd08c60f482f74dfadea21ef6
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 60ed1b3caed82256686fe75447f6d5cd4a2b14aa..51347d45266cfaf0bc662271ed19deae5ab98fdb 100644
index 56cd5573751c43db15c42a34b25ffd25d5e370be..e0025af94a2516e6f7f8a2855175cb34870f493a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2673,6 +2673,8 @@ public class PurpurWorldConfig {
@@ -2691,6 +2691,8 @@ public class PurpurWorldConfig {
public boolean villagerLobotomizeEnabled = false;
public int villagerLobotomizeCheckInterval = 100;
public boolean villagerDisplayTradeItem = true;
@@ -30,7 +30,7 @@ index 60ed1b3caed82256686fe75447f6d5cd4a2b14aa..51347d45266cfaf0bc662271ed19deae
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -2706,6 +2708,8 @@ public class PurpurWorldConfig {
@@ -2724,6 +2726,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

@@ -80,7 +80,7 @@ index 07ecccf5eddb0088e5409b3bb8a6b3c1883189d2..8378c458b03bf0fe71dbc7452dce40f6
throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager, source.msgId));
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
index 6ae12d6684620a0e524294b28a5abcbc53392089..fec6308aeb99826040fdf5424362b99e07b42838 100644
index 8a517170c6076badd47e48b64538816857ed413e..44d6b32ad6a760a12fa8ea27f09b2f950e1376f3 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java
@@ -205,8 +205,10 @@ public class PurpurConfig {
@@ -95,10 +95,10 @@ index 6ae12d6684620a0e524294b28a5abcbc53392089..fec6308aeb99826040fdf5424362b99e
public static boolean advancementOnlyBroadcastToAffectedPlayer = false;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9d3418e5e13e7750d22ea26c2a448daf1b05573a..4267a4ef91b7bed9a8d145ade36f7f6bd461053e 100644
index e0025af94a2516e6f7f8a2855175cb34870f493a..a16fa8e1e59f01cd61cd10affd132c1e1d0fbbbc 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -981,6 +981,11 @@ public class PurpurWorldConfig {
@@ -999,6 +999,11 @@ public class PurpurWorldConfig {
spongeAbsorbsLava = getBoolean("blocks.sponge.absorbs-lava", spongeAbsorbsLava);
}

View File

@@ -18,10 +18,10 @@ index d3540a4daaa8021ae009bfd4d9ef4f1172ab4c56..2b250439f263f64db7920536ed6eaf64
entity.hurt(DamageSource.HOT_FLOOR, 1.0F);
org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4267a4ef91b7bed9a8d145ade36f7f6bd461053e..d7aa5e5119c085ad806e3207b260e612bb27f806 100644
index a16fa8e1e59f01cd61cd10affd132c1e1d0fbbbc..8f2721502dbc55a0c791e4d1745279b5650c1a62 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -917,6 +917,13 @@ public class PurpurWorldConfig {
@@ -930,6 +930,13 @@ public class PurpurWorldConfig {
pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit);
}

View File

@@ -22,10 +22,10 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d7aa5e5119c085ad806e3207b260e612bb27f806..e790112855f67f2fd19dfa3fa6b49cadcf7e10a4 100644
index 8f2721502dbc55a0c791e4d1745279b5650c1a62..23caa98fdd5f81e513e1ed57a3666f90c1040e0a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -896,9 +896,11 @@ public class PurpurWorldConfig {
@@ -909,9 +909,11 @@ public class PurpurWorldConfig {
public boolean mobsSpawnOnPackedIce = true;
public boolean mobsSpawnOnBlueIce = true;

View File

@@ -94,10 +94,10 @@ index f5e8fbccd819f6fb66918bceb93d000da038d7ef..e0352f073c95f8caf47d6789c0bd10e5
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8b6a50794b65e8dadf74a4be0f86d40f26d1d63a..edc51e44e219d1adf9428074086f53b54f2e5ad8 100644
index 23caa98fdd5f81e513e1ed57a3666f90c1040e0a..95bc0deadfca22f84a21c0f17431a504cd7e0306 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2368,6 +2368,7 @@ public class PurpurWorldConfig {
@@ -2386,6 +2386,7 @@ public class PurpurWorldConfig {
public boolean skeletonTakeDamageFromWater = false;
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
@@ -105,7 +105,7 @@ index 8b6a50794b65e8dadf74a4be0f86d40f26d1d63a..edc51e44e219d1adf9428074086f53b5
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2381,6 +2382,7 @@ public class PurpurWorldConfig {
@@ -2399,6 +2400,7 @@ public class PurpurWorldConfig {
skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater);
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);

View File

@@ -146,10 +146,10 @@ index 65e1381bb2d10bd212463feb602c60f8fdb9ade1..b7370e64fd0d50e8725d7d5afc30af2e
+ // Purpur
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb23007b6424eb76dcdb61d615f2dd6fc11ad5ca..e91d40e861ec5aa1f04ab73a16e8facae72d556f 100644
index 95bc0deadfca22f84a21c0f17431a504cd7e0306..d3887f0f0fafa98a89f73bc6178fc4cb4bacee60 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1403,6 +1403,11 @@ public class PurpurWorldConfig {
@@ -1421,6 +1421,11 @@ public class PurpurWorldConfig {
elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp);
}

View File

@@ -18,10 +18,10 @@ index e0998215841e500e5982a242e9f4e646402e1521..11038ba560439dab04c54c31a32d63be
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4a141f9278eb31998f2bdac890274630374b929c..38c8ed48427ba1862bc3ab2219d3f162d76dbe3c 100644
index d3887f0f0fafa98a89f73bc6178fc4cb4bacee60..c76a5953788a33e2466c02a5553521ff8c3d9a18 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -957,6 +957,11 @@ public class PurpurWorldConfig {
@@ -975,6 +975,11 @@ public class PurpurWorldConfig {
fixSandDuping = getBoolean("blocks.sand.fix-duping", fixSandDuping);
}

View File

@@ -29,10 +29,10 @@ index 88faea00be60a519f56f975a5311df5e1eb3e6b8..cbb726ac367be81e27d3a86643baf7c4
int i = aenumdirection.length;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 38c8ed48427ba1862bc3ab2219d3f162d76dbe3c..d8067822ee9b94a070773950bc893032b10e7c3a 100644
index c76a5953788a33e2466c02a5553521ff8c3d9a18..a34e8a7ec9c42c562646cbf7db767919e3128086 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -805,6 +805,11 @@ public class PurpurWorldConfig {
@@ -810,6 +810,11 @@ public class PurpurWorldConfig {
composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess);
}

View File

@@ -18,10 +18,10 @@ index e542407894f58fb8c0339a7a6d2e7b2cb5891eb4..0cfe5cb3ce0ac8554bbdb68c66583693
org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper
if (event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6a162fa85ea2a3efa53bc89d68f0a5b4ed5ac79a..c6279a549d68bff81e14f1ad4793266638d19442 100644
index ec87511c3cbb0300fd7e918971b43ec94db630d4..7e20ab899271be23ed90b7d3c3b8f79d07076716 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -2388,6 +2388,8 @@ public class PurpurWorldConfig {
@@ -2406,6 +2406,8 @@ public class PurpurWorldConfig {
public boolean skeletonAlwaysDropExp = false;
public double skeletonHeadVisibilityPercent = 0.5D;
public int skeletonFeedWitherRoses = 0;
@@ -30,7 +30,7 @@ index 6a162fa85ea2a3efa53bc89d68f0a5b4ed5ac79a..c6279a549d68bff81e14f1ad47932666
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -2402,6 +2404,18 @@ public class PurpurWorldConfig {
@@ -2420,6 +2422,18 @@ public class PurpurWorldConfig {
skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp);
skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent);
skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses);

View File

@@ -44,10 +44,10 @@ index c03eca3f9e5ca87e7607aeca86ff62638d294ff9..a3d34e100647853f887d6ee8a5cf87a3
private boolean allayConsidersItemEqual(ItemStack stack, ItemStack stack2) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a5515245fdcf096dea59dc0e93298633c2ae7f06..fe34899a605525361e5cb6b2b8f7f0d097cbf788 100644
index 7e20ab899271be23ed90b7d3c3b8f79d07076716..6fcbdb4b6567196f99fddaa70b9b1f393edf4ae6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1043,10 +1043,13 @@ public class PurpurWorldConfig {
@@ -1061,10 +1061,13 @@ public class PurpurWorldConfig {
public boolean allayRidable = false;
public boolean allayRidableInWater = false;
public boolean allayControllable = true;

View File

@@ -40,10 +40,10 @@ index b7abcaa32341c292f9f884fa6319fd65596e1b37..5d6cddc221887be20ef75d688817dfe5
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 474685edca03561bfd08e9efce4fb9086d46be41..eda923723929f95489715d617baa13b2bc8a9a16 100644
index 6fcbdb4b6567196f99fddaa70b9b1f393edf4ae6..1234a56a9320d79cf524e11dc959f672e12b45ae 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1640,6 +1640,7 @@ public class PurpurWorldConfig {
@@ -1658,6 +1658,7 @@ public class PurpurWorldConfig {
public boolean glowSquidsCanFly = false;
public boolean glowSquidTakeDamageFromWater = false;
public boolean glowSquidAlwaysDropExp = false;
@@ -51,7 +51,7 @@ index 474685edca03561bfd08e9efce4fb9086d46be41..eda923723929f95489715d617baa13b2
private void glowSquidSettings() {
glowSquidRidable = getBoolean("mobs.glow_squid.ridable", glowSquidRidable);
glowSquidControllable = getBoolean("mobs.glow_squid.controllable", glowSquidControllable);
@@ -1647,6 +1648,7 @@ public class PurpurWorldConfig {
@@ -1665,6 +1666,7 @@ public class PurpurWorldConfig {
glowSquidsCanFly = getBoolean("mobs.glow_squid.can-fly", glowSquidsCanFly);
glowSquidTakeDamageFromWater = getBoolean("mobs.glow_squid.takes-damage-from-water", glowSquidTakeDamageFromWater);
glowSquidAlwaysDropExp = getBoolean("mobs.glow_squid.always-drop-exp", glowSquidAlwaysDropExp);

View File

@@ -24,10 +24,10 @@ index e241ae250f4f04a17ef2c583d00b065a4ca56a4c..02b567e4e808e1a809d285ef39e1abc5
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 79da889535ce03c87f41b828119db85c594bc8e1..f6d7b27063e08e2d65b8b73f2ef7ddc764537bf7 100644
index 0ccc7acb4e11b45cf95ea3b79e80611da9ffa8e7..cee5ba9488fe7823b5c86647c22fa042b5c43333 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1296,6 +1296,7 @@ public class PurpurWorldConfig {
@@ -1314,6 +1314,7 @@ public class PurpurWorldConfig {
public boolean creeperHealthRadius = false;
public boolean creeperAlwaysDropExp = false;
public double creeperHeadVisibilityPercent = 0.5D;
@@ -35,7 +35,7 @@ index 79da889535ce03c87f41b828119db85c594bc8e1..f6d7b27063e08e2d65b8b73f2ef7ddc7
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -1314,6 +1315,7 @@ public class PurpurWorldConfig {
@@ -1332,6 +1333,7 @@ public class PurpurWorldConfig {
creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius);
creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp);
creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent);