Add cache for slime max health (resolves #234)

This commit is contained in:
BillyGalbreath
2021-03-25 12:54:05 -05:00
parent 39dd78a0dd
commit 0d25d391e3
38 changed files with 86 additions and 79 deletions

View File

@@ -1078,7 +1078,7 @@ index cb52c4e63ac487d55dc16accca6976f44f904112..62f1808a456f46a6c7fbb5e030d9ed65
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47bc97f9e4 100644
index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..ce0d52a501dbff7c4eb70270bafa3e2a77599107 100644
--- a/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
+++ b/src/main/java/net/minecraft/world/entity/monster/EntitySlime.java
@@ -51,6 +51,7 @@ import com.destroystokyo.paper.event.entity.SlimeChangeDirectionEvent;
@@ -1097,7 +1097,7 @@ index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47
public float b;
public float c;
public float d;
@@ -104,6 +106,25 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -104,6 +106,30 @@ public class EntitySlime extends EntityInsentient implements IMonster {
}
return true; // do not jump() in wasd controller, let vanilla controller handle
}
@@ -1113,17 +1113,22 @@ index 0cbe3032fd3b048b0eb8ec3d8592a662c69c9e30..b80b426acd8aec61c5e970ca039c8c47
+
+ public double generateMaxHealth() {
+ int size = getSize();
+ try {
+ scriptEngine.eval("size = " + size);
+ return (double) scriptEngine.eval(getMaxHealthEquation());
+ } catch (Exception e) {
+ return size * size;
+ Double maxHealth = world.purpurConfig.slimeMaxHealthCache.get(size);
+ if (maxHealth == null) {
+ try {
+ scriptEngine.eval("size = " + size);
+ maxHealth = (double) scriptEngine.eval(getMaxHealthEquation());
+ } catch (Exception e) {
+ maxHealth = (double) size * size;
+ }
+ world.purpurConfig.slimeMaxHealthCache.put(size, maxHealth);
+ }
+ return maxHealth;
+ }
// Purpur end
@Override
@@ -130,7 +151,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
@@ -130,7 +156,7 @@ public class EntitySlime extends EntityInsentient implements IMonster {
this.datawatcher.set(EntitySlime.bo, i);
this.af();
this.updateSize();
@@ -1402,7 +1407,7 @@ index 90cbef7fe8803295f82bddd6709fdf303aedcaba..b84916c0c58fd208ef5547299f8db846
@Nullable
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d4507787f 100644
index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..c423bc6a535a61dc7deed0b2c5f94eb1633aa1a3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -496,30 +496,58 @@ public class PurpurWorldConfig {
@@ -2145,7 +2150,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean rabbitRidable = false;
@@ -936,68 +1292,142 @@ public class PurpurWorldConfig {
@@ -936,68 +1292,144 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -2276,6 +2281,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
public boolean slimeRidable = false;
public boolean slimeRidableInWater = false;
+ public String slimeMaxHealth = "size * size";
+ public Map<Integer, Double> slimeMaxHealthCache = new HashMap<>();
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -2285,10 +2291,11 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
+ set("mobs.slime.attributes.max_health", oldValue);
+ }
+ slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth);
+ slimeMaxHealthCache.clear();
}
public boolean snowGolemRidable = false;
@@ -1009,6 +1439,7 @@ public class PurpurWorldConfig {
@@ -1009,6 +1441,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -2296,7 +2303,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1019,63 +1450,118 @@ public class PurpurWorldConfig {
@@ -1019,63 +1452,118 @@ 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);
@@ -2415,7 +2422,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean villagerRidable = false;
@@ -1093,6 +1579,7 @@ public class PurpurWorldConfig {
@@ -1093,6 +1581,7 @@ public class PurpurWorldConfig {
public int villagerLobotomizeCheck = 60;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -2423,7 +2430,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1114,33 +1601,60 @@ public class PurpurWorldConfig {
@@ -1114,33 +1603,60 @@ public class PurpurWorldConfig {
villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck);
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
@@ -2484,7 +2491,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean witherRidable = false;
@@ -1157,19 +1671,30 @@ public class PurpurWorldConfig {
@@ -1157,19 +1673,30 @@ public class PurpurWorldConfig {
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
double oldValue = getDouble("mobs.wither.max-health", witherMaxHealth);
@@ -2517,7 +2524,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean wolfRidable = false;
@@ -1178,6 +1703,7 @@ public class PurpurWorldConfig {
@@ -1178,6 +1705,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2525,7 +2532,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1189,13 +1715,26 @@ public class PurpurWorldConfig {
@@ -1189,13 +1717,26 @@ public class PurpurWorldConfig {
wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies);
wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid);
wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks);
@@ -2552,7 +2559,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean zombieRidable = false;
@@ -1205,6 +1744,8 @@ public class PurpurWorldConfig {
@@ -1205,6 +1746,8 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public EnumDifficulty zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
@@ -2561,7 +2568,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1217,15 +1758,40 @@ public class PurpurWorldConfig {
@@ -1217,15 +1760,40 @@ public class PurpurWorldConfig {
} catch (IllegalArgumentException ignore) {
zombieBreakDoorMinDifficulty = EnumDifficulty.HARD;
}
@@ -2602,7 +2609,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean zombifiedPiglinRidable = false;
@@ -1234,6 +1800,8 @@ public class PurpurWorldConfig {
@@ -1234,6 +1802,8 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2611,7 +2618,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1241,6 +1809,13 @@ public class PurpurWorldConfig {
@@ -1241,6 +1811,13 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);
@@ -2625,7 +2632,7 @@ index 6f1ea7f760bd3a4ab6ba0787776b4017f9e6d52e..894c0e86dbbd7bcbdbd7af48cd50d38d
}
public boolean zombieVillagerRidable = false;
@@ -1248,11 +1823,20 @@ public class PurpurWorldConfig {
@@ -1248,11 +1825,20 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;

View File

@@ -17,7 +17,7 @@ index 902b26d609aef8dd46e8875cb7c06f187511e8d5..4f3d4f2596c69881f0653bddcc3bf2b9
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 894c0e86dbbd7bcbdbd7af48cd50d38d4507787f..572fcffa3c09cb55abe3799575a1e2cbfbeda186 100644
index c423bc6a535a61dc7deed0b2c5f94eb1633aa1a3..0740dbce49417bc8788bb61bc9c079ef2d98d68a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1160,6 +1160,7 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index a45ee959f41e7f349ff2c309f21fa44ec671cb87..cddf8e3d34385eb264cd28ba6b4392d6
return iblockaccess.getType(blockposition1).isOccluding(iblockaccess, blockposition1);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 572fcffa3c09cb55abe3799575a1e2cbfbeda186..53fbe648404aa1681c1fe9116247d267ca461b28 100644
index 0740dbce49417bc8788bb61bc9c079ef2d98d68a..a675a19b123e3d8aa2010aa6aaa93344bc301a50 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -393,6 +393,11 @@ public class PurpurWorldConfig {

View File

@@ -28,10 +28,10 @@ index 892aa844a98ae0d192737c6fc6df0a219256a47b..5e4cc99a746d98231bbb71672fbc0243
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 53fbe648404aa1681c1fe9116247d267ca461b28..7f9720b4d3239dcbd2bba4d8fb61680600647f25 100644
index a675a19b123e3d8aa2010aa6aaa93344bc301a50..57779ceb3c1e2ff27130e5eba204370a3eb0fe14 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1514,11 +1514,13 @@ public class PurpurWorldConfig {
@@ -1516,11 +1516,13 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public int striderBreedingTicks = 6000;

View File

@@ -26,7 +26,7 @@ index 907bfe42bd866188639f7d25150fcde039c1e5f7..b63019f40b28a2e543528a7919bbc08a
protected ItemCooldown i() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7f9720b4d3239dcbd2bba4d8fb61680600647f25..ea9b5be83f65eee0651c0ca5afd514b41944bb85 100644
index 57779ceb3c1e2ff27130e5eba204370a3eb0fe14..b8c9c8e5ed7f3ffea4dc2cbe29d308afe0069773 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -310,6 +310,19 @@ public class PurpurWorldConfig {

View File

@@ -338,7 +338,7 @@ index 04504901b1933ed760b34b8abb994de8ec340a4e..e18be05c9a9230105ec54395d4391c86
return true;
// Purpur end
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec77acdd23e 100644
index b8c9c8e5ed7f3ffea4dc2cbe29d308afe0069773..a5086549c5cb034b47989141efabeaf9980ad2ff 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -252,6 +252,7 @@ public class PurpurWorldConfig {
@@ -509,7 +509,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
if (PurpurConfig.version < 10) {
double oldValue = getDouble("mobs.silverfish.attributes.max-health", silverfishMaxHealth);
set("mobs.silverfish.attributes.max-health", null);
@@ -1453,6 +1477,7 @@ public class PurpurWorldConfig {
@@ -1455,6 +1479,7 @@ public class PurpurWorldConfig {
public boolean snowGolemRidable = false;
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
@@ -517,7 +517,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
public int snowGolemSnowBallMin = 20;
@@ -1464,6 +1489,7 @@ public class PurpurWorldConfig {
@@ -1466,6 +1491,7 @@ public class PurpurWorldConfig {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
snowGolemLeaveTrailWhenRidden = getBoolean("mobs.snow_golem.leave-trail-when-ridden", snowGolemLeaveTrailWhenRidden);
@@ -525,7 +525,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin);
snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack);
snowGolemSnowBallMin = getInt("mobs.snow_golem.min-shoot-interval-ticks", snowGolemSnowBallMin);
@@ -1682,6 +1708,7 @@ public class PurpurWorldConfig {
@@ -1684,6 +1710,7 @@ public class PurpurWorldConfig {
public boolean witherRidable = false;
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
@@ -533,7 +533,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
@@ -1689,6 +1716,7 @@ public class PurpurWorldConfig {
@@ -1691,6 +1718,7 @@ public class PurpurWorldConfig {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
witherMaxY = getDouble("mobs.wither.ridable-max-y", witherMaxY);
@@ -541,7 +541,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
if (PurpurConfig.version < 8) {
@@ -1761,6 +1789,7 @@ public class PurpurWorldConfig {
@@ -1763,6 +1791,7 @@ public class PurpurWorldConfig {
public boolean zombieRidable = false;
public boolean zombieRidableInWater = false;
@@ -549,7 +549,7 @@ index ea9b5be83f65eee0651c0ca5afd514b41944bb85..7c9c425b6917f3fbcdecdff718421ec7
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -1771,6 +1800,7 @@ public class PurpurWorldConfig {
@@ -1773,6 +1802,7 @@ public class PurpurWorldConfig {
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);

View File

@@ -22,7 +22,7 @@ index 148718f8f96d94e76a4a7a96d5955b624c2dc661..075987567cd4412c8f0fb4e31b786394
org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.get(BlockNote.INSTRUMENT), data.get(BlockNote.NOTE));
if (!event.isCancelled()) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7c9c425b6917f3fbcdecdff718421ec77acdd23e..08cc40919630e942578507bbd11b73666c68c3ef 100644
index a5086549c5cb034b47989141efabeaf9980ad2ff..6bea16303dbcee4f8523547c44e4ee282fdb44ae 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -254,6 +254,7 @@ public class PurpurWorldConfig {

View File

@@ -94,10 +94,10 @@ index 936933ab4c9e78877e1a2fc250721c2158e3810c..c47c98480572e83b1385fcd62940d4c6
public void a(IBlockData iblockdata, World world, BlockPosition blockposition, Entity entity) {}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 08cc40919630e942578507bbd11b73666c68c3ef..559f79dd4280ed513c4a2aa320d2a80342a4cd9f 100644
index 6bea16303dbcee4f8523547c44e4ee282fdb44ae..05a473104d1108f529243de032a9500093ce2959 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1893,4 +1893,9 @@ public class PurpurWorldConfig {
@@ -1895,4 +1895,9 @@ public class PurpurWorldConfig {
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
}

View File

@@ -54,7 +54,7 @@ index d3fd0b418b9088b621e44f5da452db74b433efe8..e7e5ee52cb7ac7e406c837db686d0a96
if (CraftEventFactory.callEntityChangeBlockEvent(entity, blockposition, Blocks.DIRT.getBlockData()).isCancelled()) {
return;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 559f79dd4280ed513c4a2aa320d2a80342a4cd9f..61a8525667951ec777134dc0b38f079ace407c6f 100644
index 05a473104d1108f529243de032a9500093ce2959..4343e7536fa5320579496f6c116fb93c938b34e5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -425,10 +425,16 @@ public class PurpurWorldConfig {

View File

@@ -74,7 +74,7 @@ index 43dc0925887e2e9e86445cccff57be7994ca0d58..ecb797e67554d30e35b3aca4d0fc9b0e
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 61a8525667951ec777134dc0b38f079ace407c6f..28648fc6cfd5592071d3f0674e6e72bcadb0b7f1 100644
index 4343e7536fa5320579496f6c116fb93c938b34e5..a3e6844602b8baea643ec1ae65ef7161789cac6c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -111,10 +111,16 @@ public class PurpurWorldConfig {

View File

@@ -37,7 +37,7 @@ index ee1f0ccce5c5c920b2595ced9e72fd1544e2459a..fcbbf100990faf60250357b744cbd587
this.inPortal = true;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 28648fc6cfd5592071d3f0674e6e72bcadb0b7f1..f75838c6b1f5788b2e18a6f7af5bee8023fd37e7 100644
index a3e6844602b8baea643ec1ae65ef7161789cac6c..8e4843e47abf4a084653b0e338eb72f1e5c1e1b3 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -362,6 +362,11 @@ public class PurpurWorldConfig {

View File

@@ -20,7 +20,7 @@ index c7e20b25b4d09463fa54c66e62208e90515013e2..59b803ec4552058f2dda269e9435daf6
} else {
entityhuman.c(enumhand);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index f75838c6b1f5788b2e18a6f7af5bee8023fd37e7..a103dbcf9c91204b1993cc3d33fc726f2a9083fb 100644
index 8e4843e47abf4a084653b0e338eb72f1e5c1e1b3..b701402cf9109aa9729bd3ab5585d24532147246 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -209,10 +209,12 @@ public class PurpurWorldConfig {

View File

@@ -83,7 +83,7 @@ index 5e4cc99a746d98231bbb71672fbc02431e4fab48..f52ae7446c16d5b8ac51bd2e12bb51d2
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab8452871dfd4788 100644
index b701402cf9109aa9729bd3ab5585d24532147246..6036f39cd3aaeee459cbb45d9e3bd7450b6f08b0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -583,6 +583,7 @@ public class PurpurWorldConfig {
@@ -118,7 +118,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287
}
public boolean endermiteRidable = false;
@@ -1506,6 +1510,7 @@ public class PurpurWorldConfig {
@@ -1508,6 +1512,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public double snowGolemMaxHealth = 4.0D;
@@ -126,7 +126,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1523,6 +1528,7 @@ public class PurpurWorldConfig {
@@ -1525,6 +1530,7 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);
@@ -134,7 +134,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287
}
public boolean squidRidable = false;
@@ -1576,6 +1582,7 @@ public class PurpurWorldConfig {
@@ -1578,6 +1584,7 @@ public class PurpurWorldConfig {
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
public double striderMaxHealth = 20.0D;
@@ -142,7 +142,7 @@ index a103dbcf9c91204b1993cc3d33fc726f2a9083fb..d28a19721a700f8fe706c90eab845287
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1587,6 +1594,7 @@ public class PurpurWorldConfig {
@@ -1589,6 +1596,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);

View File

@@ -59,7 +59,7 @@ index 090903fbc8f6cd1522c7afb358f708f5ae3395f4..884a3f03c73efb8fb0863976615fba5e
this.navigation.o();
this.setGoalTarget((EntityLiving) null);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d28a19721a700f8fe706c90eab8452871dfd4788..c9ef027ed3785de20155e27c6e8cc8e3f7112ce0 100644
index 6036f39cd3aaeee459cbb45d9e3bd7450b6f08b0..71566df66d763c2e05442a75a940cc50011fee7a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -255,6 +255,7 @@ public class PurpurWorldConfig {

View File

@@ -52,10 +52,10 @@ index 2c983e6a092464d1867fcbe875b2e1461ec8556b..a92c900a6092c07b34711428fac268f4
this.a(damagesource);
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c9ef027ed3785de20155e27c6e8cc8e3f7112ce0..593dfa8fdfbceb74bcc78072ac5c6e7df8ded242 100644
index 71566df66d763c2e05442a75a940cc50011fee7a..535d30e65fcdf59aa42af0564aa8747504b804d5 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1927,4 +1927,33 @@ public class PurpurWorldConfig {
@@ -1929,4 +1929,33 @@ public class PurpurWorldConfig {
private void imposeTeleportRestrictionsOnGateways() {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
}

View File

@@ -38,7 +38,7 @@ index 61f06eacb4ea4ef869b60c9014cc23b25583eead..627915ee205fdcc93c5424ad7d7ea057
// CraftBukkit start - fire ExplosionPrimeEvent
ExplosionPrimeEvent event = new ExplosionPrimeEvent((org.bukkit.entity.Explosive) this.getBukkitEntity());
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 593dfa8fdfbceb74bcc78072ac5c6e7df8ded242..fcf3f156ac8a2ec9078a00c326105888a8412df9 100644
index 535d30e65fcdf59aa42af0564aa8747504b804d5..3ea3c35865e0a467f86b93377dd069c3cf59ceb4 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -880,6 +880,7 @@ public class PurpurWorldConfig {

View File

@@ -42,7 +42,7 @@ index fa6b72c7a12b20f8ccffa360a3895e4d8f4277e4..4a3e0f7f59ca4fd64be62a580d08b6ab
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5f4076b86 100644
index 3ea3c35865e0a467f86b93377dd069c3cf59ceb4..7afc05f54f4b2fda3b250cb8fd1973247be5933f 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -787,6 +787,7 @@ public class PurpurWorldConfig {
@@ -61,7 +61,7 @@ index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5
}
public boolean endermanRidable = false;
@@ -1745,6 +1747,7 @@ public class PurpurWorldConfig {
@@ -1747,6 +1749,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public double witherMaxHealth = 300.0D;
@@ -69,7 +69,7 @@ index fcf3f156ac8a2ec9078a00c326105888a8412df9..292ae9b4196654b2aff9e959a9c39da5
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1762,6 +1765,7 @@ public class PurpurWorldConfig {
@@ -1764,6 +1767,7 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -22,7 +22,7 @@ index c7c26cd1b99c911efd12e325e0ca09d9ac98c6f4..bdcc8ced52a858d2dd0bbfaab5a21197
this.o = this.player.locX();
this.p = this.player.locY();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 292ae9b4196654b2aff9e959a9c39da5f4076b86..4beb7c5f2f2782d032348f491c04fda050f97bae 100644
index 7afc05f54f4b2fda3b250cb8fd1973247be5933f..bd3a7b45746ec2981cd4f6373e7af11ac668bba6 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -168,6 +168,8 @@ public class PurpurWorldConfig {

View File

@@ -45,7 +45,7 @@ index 132972755ac74838f3386e0fac5033380b71fce5..26fff0540e3d8863e83b0a60df220542
Object object;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 4beb7c5f2f2782d032348f491c04fda050f97bae..7adae0150198a35f3e7cec8916b38a998e2bd43e 100644
index bd3a7b45746ec2981cd4f6373e7af11ac668bba6..2299ad06b89fc22832285be745de40192987dce2 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -274,6 +274,7 @@ public class PurpurWorldConfig {

View File

@@ -29,7 +29,7 @@ index d44b88185ce58346007c6ef70b76f8e0df23e95c..4b7497acc5b26da48375625b4a31fb05
@Override
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7adae0150198a35f3e7cec8916b38a998e2bd43e..e4b1019b89febf04e544208ccabc43798ccd44ef 100644
index 2299ad06b89fc22832285be745de40192987dce2..e1af2d86660f28798e5da8932f5b97b731eefbc7 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -431,6 +431,11 @@ public class PurpurWorldConfig {

View File

@@ -43,7 +43,7 @@ index 9896d77381e7fadf1ef2619210713e190c1445d0..61512c6755f29cb2c228ae3e80b1e083
// Paper end
if (entityhuman instanceof net.minecraft.server.level.EntityPlayer) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index e4b1019b89febf04e544208ccabc43798ccd44ef..db4f818982d7f920b1083c25f1272f88a719302f 100644
index e1af2d86660f28798e5da8932f5b97b731eefbc7..6d0a017eec94b85f3d033c7cb494a82bdd18a2d0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -170,6 +170,10 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index ccee67df065dcdee5e0e24ab12476572ca696687..b4dbc59faff3fd6ceb74d829762eb68e
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index db4f818982d7f920b1083c25f1272f88a719302f..dc6eb1a7bda92d28fafa722b4a1ccb4cf0319fd2 100644
index 6d0a017eec94b85f3d033c7cb494a82bdd18a2d0..a7cbfb08f3e855bff3acbdd6e8064a00b192ad88 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -283,6 +283,7 @@ public class PurpurWorldConfig {

View File

@@ -19,7 +19,7 @@ index d290787f74579dd4c138eb827e44544814bfe315..46143a710e057378ebe0ad644de27560
private int br = Integer.MIN_VALUE;
private int bs;
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index dc6eb1a7bda92d28fafa722b4a1ccb4cf0319fd2..b770d490868b2bf4691fbb8f3a7843e405d39093 100644
index a7cbfb08f3e855bff3acbdd6e8064a00b192ad88..0f3b0bfef14c5533a45bd44eaa6899779b5820d0 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -835,6 +835,7 @@ public class PurpurWorldConfig {

View File

@@ -28,7 +28,7 @@ index 46143a710e057378ebe0ad644de275604b11d886..0ed19429c1a9021e636fdfffa582b4e0
} else {
Vec3D vec3d = entityhuman.f(1.0F).d();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index b770d490868b2bf4691fbb8f3a7843e405d39093..9699b9fa71a70df64b31b9313d3a24164b3abf44 100644
index 0f3b0bfef14c5533a45bd44eaa6899779b5820d0..6e26a462e8b376d3a8fe12d2f14df226fc5d1a49 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -836,6 +836,8 @@ public class PurpurWorldConfig {

View File

@@ -36,7 +36,7 @@ index 0ed8d938b8fafdb03e01a00a201ba3f8597ac6e9..0eff89bf9e114271c34c37cad1b98691
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 9699b9fa71a70df64b31b9313d3a24164b3abf44..0d970ee7a6a38d2ecd920176acd7b43831d776bc 100644
index 6e26a462e8b376d3a8fe12d2f14df226fc5d1a49..8491e9198c302bf62648498d84f62b505695cfef 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -261,6 +261,11 @@ public class PurpurWorldConfig {

View File

@@ -32,7 +32,7 @@ index 762fed5ba27474951c1962e6f034e8494b1035d6..567a1da3c167c20ae3fb86c2a1f3608e
this.bB.bC = this;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 0d970ee7a6a38d2ecd920176acd7b43831d776bc..bdfa0908692db012c437e78428bc5fa0e0c62c42 100644
index 8491e9198c302bf62648498d84f62b505695cfef..61361ca712cdc92c76b64dd2a87cea0080edc02e 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1075,6 +1075,7 @@ public class PurpurWorldConfig {

View File

@@ -57,7 +57,7 @@ index 6461e09e05f9255a399a6ce65d8fb90789a2fd7f..5e70746494c5397d4d798d24b7292c57
private void createEffectCloud() {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bdfa0908692db012c437e78428bc5fa0e0c62c42..cddab26ccdf6725538d93733774d472aaed0bc16 100644
index 61361ca712cdc92c76b64dd2a87cea0080edc02e..1adedace256828ba34c643eaf2b480601ede1b2b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -711,12 +711,14 @@ public class PurpurWorldConfig {

View File

@@ -31,7 +31,7 @@ index 5f8366beeaac7153a0421554f9bf91fbf265edca..7fca4d1713e8061d9de825cdae484012
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index cddab26ccdf6725538d93733774d472aaed0bc16..ff26d61385981c9bac3fd9ceeee76068824d10a7 100644
index 1adedace256828ba34c643eaf2b480601ede1b2b..58f2440498039bfa0af030f34372d0b1e6e82bed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1416,6 +1416,7 @@ public class PurpurWorldConfig {

View File

@@ -44,7 +44,7 @@ index e4e519ba773388b8d26a8f794a6eff51e3d8f72e..c0b235d5edf3cd14021696d1b4f76ce3
// CraftBukkit start
double rand = worldserver.getRandom().nextDouble();
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ff26d61385981c9bac3fd9ceeee76068824d10a7..02d95020f24c02af7cda3937d7bc510d3c2e15f1 100644
index 58f2440498039bfa0af030f34372d0b1e6e82bed..0e1f6e0bda27547a59c2116f9eec3e29be9f36eb 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -456,6 +456,11 @@ public class PurpurWorldConfig {

View File

@@ -18,7 +18,7 @@ index fc77904699bb75cf55e7ea77a55c8ad4a9412c18..5d8326b465458f1f4eeff9f17ef4fe3f
})) {
// CraftBukkit start
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 02d95020f24c02af7cda3937d7bc510d3c2e15f1..bcebbb0ada90236edc22602884076c47c68a49b1 100644
index 0e1f6e0bda27547a59c2116f9eec3e29be9f36eb..8bb134ee7be7ff52cda4807f7c9a393f92b8fbc1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -289,6 +289,7 @@ public class PurpurWorldConfig {

View File

@@ -31,10 +31,10 @@ index b84916c0c58fd208ef5547299f8db8462d1c42fe..0b6b6aa6b358759c45bbcf4a9ffa5377
this.openTrade(entityhuman, this.getScoreboardDisplayName(), 1);
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d8768026a37a9c 100644
index 8bb134ee7be7ff52cda4807f7c9a393f92b8fbc1..e17bf229f8bca03f5a2c78203d1e95093ff9bac1 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1724,6 +1724,7 @@ public class PurpurWorldConfig {
@@ -1726,6 +1726,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public double villagerMaxHealth = 20.0D;
@@ -42,7 +42,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1751,6 +1752,7 @@ public class PurpurWorldConfig {
@@ -1753,6 +1754,7 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
@@ -50,7 +50,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680
}
public boolean villagerTraderRidable = false;
@@ -1758,6 +1760,7 @@ public class PurpurWorldConfig {
@@ -1760,6 +1762,7 @@ public class PurpurWorldConfig {
public boolean villagerTraderCanBeLeashed = false;
public boolean villagerTraderFollowEmeraldBlock = false;
public double villagerTraderMaxHealth = 20.0D;
@@ -58,7 +58,7 @@ index bcebbb0ada90236edc22602884076c47c68a49b1..ae2137017cd149812e3e51d513d87680
private void villagerTraderSettings() {
villagerTraderRidable = getBoolean("mobs.wandering_trader.ridable", villagerTraderRidable);
villagerTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", villagerTraderRidableInWater);
@@ -1769,6 +1772,7 @@ public class PurpurWorldConfig {
@@ -1771,6 +1774,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
villagerTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", villagerTraderMaxHealth);

View File

@@ -40,10 +40,10 @@ index 659ccc8075945531ca714c43a034f2d5baa5defb..1d319ad82179ae261738d6e70aac3bbb
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index ae2137017cd149812e3e51d513d8768026a37a9c..7eb1353adb100a73645ca63e012ee60afc53ae5e 100644
index e17bf229f8bca03f5a2c78203d1e95093ff9bac1..c09c3a326e6ea80f3037a3d9fd6b78f03d8a7ecd 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -1999,6 +1999,15 @@ public class PurpurWorldConfig {
@@ -2001,6 +2001,15 @@ public class PurpurWorldConfig {
imposeTeleportRestrictionsOnGateways = getBoolean("gameplay-mechanics.impose-teleport-restrictions-on-gateways", imposeTeleportRestrictionsOnGateways);
}

View File

@@ -57,7 +57,7 @@ index 12c0fa5072755fd2a4f575b0cc5e4222617490ce..94965b216d50b29b95f09fa9019c177b
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 7eb1353adb100a73645ca63e012ee60afc53ae5e..c5988ff57622eb64922e447d9387068097377c98 100644
index c09c3a326e6ea80f3037a3d9fd6b78f03d8a7ecd..8054d6242358dc2bf212c7aff55ebf011c22e474 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -529,6 +529,11 @@ public class PurpurWorldConfig {

View File

@@ -22,7 +22,7 @@ index c484e27650364b6537fe6b2e8e14de98382b86a3..096a7b76e0ae42ba8b859159e20fb72e
return false;
} else {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index c5988ff57622eb64922e447d9387068097377c98..d82bb5bc5d4ba9fafcbbfaa1a4fcede3118e5562 100644
index 8054d6242358dc2bf212c7aff55ebf011c22e474..aa401d246373fba0d6c66bff5fda5febdc59480a 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -449,8 +449,12 @@ public class PurpurWorldConfig {

View File

@@ -17,7 +17,7 @@ index ecb797e67554d30e35b3aca4d0fc9b0e3f6c1a50..ddc1c3383cdc32fa832485f3922c7418
public EntityArmorStand(World world, double d0, double d1, double d2) {
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index d82bb5bc5d4ba9fafcbbfaa1a4fcede3118e5562..327adbf000c6b6e22126d0a8a0df661fc555a702 100644
index aa401d246373fba0d6c66bff5fda5febdc59480a..40771bafbcf3b65e3a9d6397d492296eee01c85b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -114,6 +114,7 @@ public class PurpurWorldConfig {

View File

@@ -70,7 +70,7 @@ index 453b46851f021d4285be123bedc8982fc8844da2..2a7695c899b12c87ab89d00116b6f0dd
+ // Purpur end
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index 327adbf000c6b6e22126d0a8a0df661fc555a702..eb91425fa9bdbb2bd2a25e7362b99e2b6687da80 100644
index 40771bafbcf3b65e3a9d6397d492296eee01c85b..be6637a7de0dc9514af5f0d30e1095c95652e26b 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -450,6 +450,16 @@ public class PurpurWorldConfig {

View File

@@ -43,7 +43,7 @@ index d80eee47390ab202eea0368571421bbc94655ab1..b36536d4cc95797c59549f5db1f67b34
}
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index eb91425fa9bdbb2bd2a25e7362b99e2b6687da80..a4cf0231861e6554df912cea77eaff2200c65c5f 100644
index be6637a7de0dc9514af5f0d30e1095c95652e26b..1584d1e5d0ae6adda1ace0fb8abeb9bb92771bed 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -555,6 +555,13 @@ public class PurpurWorldConfig {

View File

@@ -96,7 +96,7 @@ index 0711d195c654edef5875f587e391bacfdea096da..2341c98859faa61662d7ed343e6ed157
entitythrowntrident.fromPlayer = EntityArrow.PickupStatus.CREATIVE_ONLY;
}
diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
index a4cf0231861e6554df912cea77eaff2200c65c5f..99b2b34f38e289f277a291220217cae4205d2c4e 100644
index 1584d1e5d0ae6adda1ace0fb8abeb9bb92771bed..adbb934ce58a0ece9839d35369f830e4028c197c 100644
--- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
+++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java
@@ -273,6 +273,23 @@ public class PurpurWorldConfig {