[ci-skip] Reorder configs

This commit is contained in:
BillyGalbreath
2021-12-31 09:45:42 -06:00
parent 2e4174e033
commit 1c9c6b910a
180 changed files with 906 additions and 903 deletions

View File

@@ -30,7 +30,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..7bc497bcae6a6a752e3c432178cb1e3c
metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> {
Map<String, Map<String, Integer>> map = new HashMap<>();
diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java
index cb0045fc4ddd738c45dee89d57b213a633b9a136..6e8111ef16439d2b3025ebe2a0418b245420bd88 100644
index 098182d2426a25cef0bc285356bc346db0af8172..c26435a6b5cdc61ae5d123dacea711a4a9f666d1 100644
--- a/src/main/java/net/minecraft/commands/CommandSourceStack.java
+++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java
@@ -236,6 +236,30 @@ public class CommandSourceStack implements SharedSuggestionProvider, com.destroy
@@ -85,7 +85,7 @@ index fd3d3e22613511a42f7fc343079b081c72ff3f61..8bf98d8f8e9f0baaf203a9e8d1868323
io.papermc.paper.util.ObfHelper.INSTANCE.getClass(); // load mappings for stacktrace deobf and etc.
io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 4247dcb003626535dbb997f48ad9f61380bd17e9..03a4c5fa746033825c26a031fbf79f721be6fa84 100644
index 4247dcb003626535dbb997f48ad9f61380bd17e9..76faf838e27813595850ebb8c9a028f1c68325ad 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -169,6 +169,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -101,7 +101,7 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..03a4c5fa746033825c26a031fbf79f72
protected Level(WritableLevelData worlddatamutable, ResourceKey<Level> resourcekey, final DimensionType dimensionmanager, Supplier<ProfilerFiller> supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
+ this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -338,16 +338,14 @@ index 0000000000000000000000000000000000000000..fdfb20170c27711085aa077286687603
+}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..41e1c1c801f7734d123e7e8fb68b84167d49ff6c
index 0000000000000000000000000000000000000000..ad0c7304f8791b2dca92d9e0c5412354e174d5be
--- /dev/null
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -0,0 +1,96 @@
@@ -0,0 +1,90 @@
+package org.purpurmc.purpur;
+
+import net.minecraft.core.Registry;
+import net.minecraft.resources.ResourceLocation;
+import net.minecraft.server.level.ServerLevel;
+import net.minecraft.world.Difficulty;
+import net.minecraft.world.item.DyeColor;
+import net.minecraft.world.item.Item;
+import net.minecraft.world.item.Items;
@@ -366,10 +364,8 @@ index 0000000000000000000000000000000000000000..41e1c1c801f7734d123e7e8fb68b8416
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.function.Predicate;
+import java.util.logging.Level;
+import static org.purpurmc.purpur.PurpurConfig.log;
@@ -377,12 +373,10 @@ index 0000000000000000000000000000000000000000..41e1c1c801f7734d123e7e8fb68b8416
+@SuppressWarnings("unused")
+public class PurpurWorldConfig {
+
+ private final ServerLevel level;
+ private final String worldName;
+ private final World.Environment environment;
+
+ public PurpurWorldConfig(ServerLevel level, String worldName, World.Environment environment) {
+ this.level = level;
+ public PurpurWorldConfig(String worldName, World.Environment environment) {
+ this.worldName = worldName;
+ this.environment = environment;
+ init();

View File

@@ -4651,10 +4651,10 @@ index fdfb20170c27711085aa0772866876035e0d98c2..5350ffab8477a2da4891132cf8b7a65c
+ }
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 41e1c1c801f7734d123e7e8fb68b84167d49ff6c..181b5912341612862a85553b2d9b43fc3b236557 100644
index ad0c7304f8791b2dca92d9e0c5412354e174d5be..b8103294d3963a9bfe7d4f4199be866158f580ec 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -93,4 +93,532 @@ public class PurpurWorldConfig {
@@ -87,4 +87,532 @@ public class PurpurWorldConfig {
final Map<String, Object> value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null);
return value.isEmpty() ? fallback : value;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes
diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java
index 5c1a9dc4eab3ecdf7f8ea35733717a3de501d85a..7af5b443983d557199100c0ab5044e96ebf52d9b 100644
index 43697061ddbbdf160453d3ab189097a6a56e6246..d1e937e7294d360e4f81dc54730b3f4ef1fe3c27 100644
--- a/src/main/java/net/minecraft/world/entity/Entity.java
+++ b/src/main/java/net/minecraft/world/entity/Entity.java
@@ -149,7 +149,7 @@ import org.bukkit.plugin.PluginManager;
@@ -1083,7 +1083,7 @@ index b72866283e92433e95f0140037a1fd3182b0577a..cd26c22664fb23457f99fe04607146c8
@Override
diff --git a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
index 909a7bffcd0d7432f0714417c286fb75b6b951b9..f3d73b9cf3d3cd0d69ea2f8152a1ced4289ee417 100644
index a8c6971cc7d004bdc61a2b49e4542a8af46e8539..9448bdd5026f35bba805dee19ceead5d76bda951 100644
--- a/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
+++ b/src/main/java/net/minecraft/world/entity/monster/Skeleton.java
@@ -35,6 +35,11 @@ public class Skeleton extends AbstractSkeleton {
@@ -1422,10 +1422,10 @@ index ab648e7dafd78f414646cef96b422e87da5c1982..0bcfece84ac11f04671ed38a99b31da9
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 181b5912341612862a85553b2d9b43fc3b236557..c250faf84817f67dea7f088fa2530be82fcf7688 100644
index b8103294d3963a9bfe7d4f4199be866158f580ec..373bdce6590564bd9de4a571a91bbf05e287ee08 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -104,257 +104,573 @@ public class PurpurWorldConfig {
@@ -98,257 +98,573 @@ public class PurpurWorldConfig {
}
public boolean axolotlRidable = false;
@@ -1999,7 +1999,7 @@ index 181b5912341612862a85553b2d9b43fc3b236557..c250faf84817f67dea7f088fa2530be8
}
public boolean phantomRidable = false;
@@ -363,6 +679,7 @@ public class PurpurWorldConfig {
@@ -357,6 +673,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -2007,7 +2007,7 @@ index 181b5912341612862a85553b2d9b43fc3b236557..c250faf84817f67dea7f088fa2530be8
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -370,255 +687,559 @@ public class PurpurWorldConfig {
@@ -364,255 +681,559 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -276,10 +276,10 @@ index b404fcddc67b7593201f1679587d0ac4c4bfd51c..25f31ce77337079ebc2074f1ae2990cc
public static int barrelRows = 3;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c250faf84817f67dea7f088fa2530be82fcf7688..3fdd013d88e1c4ef62b277ed71a3531e2db8253f 100644
index 373bdce6590564bd9de4a571a91bbf05e287ee08..27d70e8e29902fe4275200cf7508298047b578cf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -94,6 +94,24 @@ public class PurpurWorldConfig {
@@ -88,6 +88,24 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}

View File

@@ -146,10 +146,10 @@ index 2cdd8d9708fbd692bd0530ed63dc245af943ffb9..5d8422cc51c20837a74e1aa4425c70bf
// Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3fdd013d88e1c4ef62b277ed71a3531e2db8253f..e5ba1b21c18c07297b69d1f8b1cb34cdb15135b2 100644
index 27d70e8e29902fe4275200cf7508298047b578cf..29de4c4316285b7ddf77c508d098584d2cb365e9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -99,6 +99,8 @@ public class PurpurWorldConfig {
@@ -93,6 +93,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutCountAsSleeping = false;
public boolean idleTimeoutUpdateTabList = false;
public boolean idleTimeoutTargetPlayer = true;
@@ -158,7 +158,7 @@ index 3fdd013d88e1c4ef62b277ed71a3531e2db8253f..e5ba1b21c18c07297b69d1f8b1cb34cd
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -110,6 +112,8 @@ public class PurpurWorldConfig {
@@ -104,6 +106,8 @@ public class PurpurWorldConfig {
idleTimeoutCountAsSleeping = getBoolean("gameplay-mechanics.player.idle-timeout.count-as-sleeping", idleTimeoutCountAsSleeping);
idleTimeoutUpdateTabList = getBoolean("gameplay-mechanics.player.idle-timeout.update-tab-list", idleTimeoutUpdateTabList);
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable villager brain ticks
diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java
index 0a2131d7455d7de7c9a3f9d50710da870062e714..4c20685b3d8735272f9f97a75485a6438cef6501 100644
index 9a8e08e9a44900ad3899a63992948941abe7c5d8..17eb573debec8e67dab2f5790ba9fc0a1f09a208 100644
--- a/src/main/java/net/minecraft/world/entity/npc/Villager.java
+++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java
@@ -137,6 +137,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler
@@ -36,10 +36,10 @@ index 0a2131d7455d7de7c9a3f9d50710da870062e714..4c20685b3d8735272f9f97a75485a643
this.level.getProfiler().pop();
if (this.assignProfessionWhenSpawned) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8e9ba3a8582c8e5d1e14bf3bfa8ecfce5ccf7b0c..6df320ab8214669517d5de30a28f044a5a6b4a33 100644
index 29de4c4316285b7ddf77c508d098584d2cb365e9..ccd3597d78a12d8e6a3514c0f9cfa2aa31b688f8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1077,6 +1077,8 @@ public class PurpurWorldConfig {
@@ -1071,6 +1071,8 @@ public class PurpurWorldConfig {
public boolean villagerRidable = false;
public boolean villagerRidableInWater = false;
public double villagerMaxHealth = 20.0D;
@@ -48,7 +48,7 @@ index 8e9ba3a8582c8e5d1e14bf3bfa8ecfce5ccf7b0c..6df320ab8214669517d5de30a28f044a
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1086,6 +1088,8 @@ public class PurpurWorldConfig {
@@ -1080,6 +1082,8 @@ public class PurpurWorldConfig {
set("mobs.villager.attributes.max_health", oldValue);
}
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);

View File

@@ -139,10 +139,10 @@ index 130ffb06b12565efb35afb55b6da20b1b16f6f06..bc4646a7a72c33a3671115953a2bbd7c
// this.popExperience(worldserver, blockposition, i);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f32045fa03634879dd88711c1f657a7635ce3011..4019c768748b65a0d039d3ef0a86a01b098e91c0 100644
index ccd3597d78a12d8e6a3514c0f9cfa2aa31b688f8..0b6d6763e8ba54768c35fdb2a30fbb89f81c7b67 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -116,6 +116,38 @@ public class PurpurWorldConfig {
@@ -110,6 +110,38 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
}

View File

@@ -50,11 +50,11 @@ index 8033d2074d68635515b4737b4416ec9354a3edad..b942e7c85e6c8f9a7664d9e5bf93bcd7
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4019c768748b65a0d039d3ef0a86a01b098e91c0..7bad7595539102a063b3f3b417eaa9462a243e74 100644
index 0b6d6763e8ba54768c35fdb2a30fbb89f81c7b67..345b55b1d44499d7b748a3f75906a66867afef10 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -94,6 +94,15 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
@@ -142,6 +142,15 @@ public class PurpurWorldConfig {
});
}
+ public boolean turtleEggsBreakFromExpOrbs = true;
@@ -66,6 +66,6 @@ index 4019c768748b65a0d039d3ef0a86a01b098e91c0..7bad7595539102a063b3f3b417eaa946
+ turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
+ }
+
public boolean idleTimeoutKick = true;
public boolean idleTimeoutTickNearbyEntities = true;
public boolean idleTimeoutCountAsSleeping = false;
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;

View File

@@ -120,10 +120,10 @@ index d1756353b9fc22f6e9b957a708073545ab3c941a..de7c2064b2c3876eebdee01908b39b1b
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7bad7595539102a063b3f3b417eaa9462a243e74..5beb1ae55b0426b065133b14d0d1618aa1a82eea 100644
index 345b55b1d44499d7b748a3f75906a66867afef10..fd207fad3f094edb0c531edd396fc56da9b24521 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -477,6 +477,10 @@ public class PurpurWorldConfig {
@@ -471,6 +471,10 @@ public class PurpurWorldConfig {
public double giantMovementSpeed = 0.5D;
public double giantAttackDamage = 50.0D;
public double giantMaxHealth = 100.0D;
@@ -134,7 +134,7 @@ index 7bad7595539102a063b3f3b417eaa9462a243e74..5beb1ae55b0426b065133b14d0d1618a
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -492,6 +496,10 @@ public class PurpurWorldConfig {
@@ -486,6 +490,10 @@ public class PurpurWorldConfig {
set("mobs.giant.attributes.max_health", oldValue);
}
giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth);

View File

@@ -28,10 +28,10 @@ index f7cfc6d5ad13dba64c2350fe3fac7f31471e8642..ba095685ec775cb5a7ac9a5b7b0a9179
entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ());
this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5beb1ae55b0426b065133b14d0d1618aa1a82eea..6e6c47e40926bd6bfe5c5af96d32757aa4972e96 100644
index fd207fad3f094edb0c531edd396fc56da9b24521..7c2fe960ae8c04b828ad549d33ccf36392521e99 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig {
@@ -1263,6 +1263,7 @@ public class PurpurWorldConfig {
public double zombieHorseJumpStrengthMax = 1.0D;
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
@@ -39,7 +39,7 @@ index 5beb1ae55b0426b065133b14d0d1618aa1a82eea..6e6c47e40926bd6bfe5c5af96d32757a
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1284,6 +1285,7 @@ public class PurpurWorldConfig {
@@ -1278,6 +1279,7 @@ public class PurpurWorldConfig {
zombieHorseJumpStrengthMax = getDouble("mobs.zombie_horse.attributes.jump_strength.max", zombieHorseJumpStrengthMax);
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);

View File

@@ -24,10 +24,10 @@ index cee9afa518547afab1f2772b0352dcf05752df44..624b736f11341816c91f422cf6098ac0
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6e6c47e40926bd6bfe5c5af96d32757aa4972e96..efa0e81763beca0cae5db70df7a64b4592587094 100644
index 7c2fe960ae8c04b828ad549d33ccf36392521e99..e93db3a16ac8ea0f7674dcdd508984b8c49a56b8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -299,6 +299,7 @@ public class PurpurWorldConfig {
@@ -293,6 +293,7 @@ public class PurpurWorldConfig {
public boolean creeperRidable = false;
public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
@@ -35,7 +35,7 @@ index 6e6c47e40926bd6bfe5c5af96d32757aa4972e96..efa0e81763beca0cae5db70df7a64b45
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -308,6 +309,7 @@ public class PurpurWorldConfig {
@@ -302,6 +303,7 @@ public class PurpurWorldConfig {
set("mobs.creeper.attributes.max_health", oldValue);
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);

View File

@@ -38,10 +38,10 @@ index 562262f4811d5748dd04a284f243024c059c8756..c1c2909728197dcb9137fb380ed210e7
int i = this.random.nextInt(100);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index efa0e81763beca0cae5db70df7a64b4592587094..11a27e475a2e1085d74c12080ff82559fd314184 100644
index e93db3a16ac8ea0f7674dcdd508984b8c49a56b8..572a9ce6a65be37e95fe308923c2a387cf2f47fe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -853,6 +853,8 @@ public class PurpurWorldConfig {
@@ -847,6 +847,8 @@ public class PurpurWorldConfig {
public boolean rabbitRidable = false;
public boolean rabbitRidableInWater = false;
public double rabbitMaxHealth = 3.0D;
@@ -50,7 +50,7 @@ index efa0e81763beca0cae5db70df7a64b4592587094..11a27e475a2e1085d74c12080ff82559
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -862,6 +864,8 @@ public class PurpurWorldConfig {
@@ -856,6 +858,8 @@ public class PurpurWorldConfig {
set("mobs.rabbit.attributes.max_health", oldValue);
}
rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth);

View File

@@ -75,10 +75,10 @@ index b07b1302978b2a1212e094652e46ad2754fb1d6c..a2e56aadf75918d3b2c30b54ec53ba4d
// Paper start - Cancellable death event
protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 11a27e475a2e1085d74c12080ff82559fd314184..d137a4661406f782e6379e88c3990c562583b7b5 100644
index 572a9ce6a65be37e95fe308923c2a387cf2f47fe..809ded91042e66c2c761b813816d9b432cd9dff5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -447,6 +447,7 @@ public class PurpurWorldConfig {
@@ -441,6 +441,7 @@ public class PurpurWorldConfig {
public boolean foxRidable = false;
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
@@ -86,7 +86,7 @@ index 11a27e475a2e1085d74c12080ff82559fd314184..d137a4661406f782e6379e88c3990c56
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -456,6 +457,7 @@ public class PurpurWorldConfig {
@@ -450,6 +451,7 @@ public class PurpurWorldConfig {
set("mobs.fox.attributes.max_health", oldValue);
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);

View File

@@ -59,10 +59,10 @@ index 69e495a93cd1519297dcd8ef4971cca61b80f201..0b5d4416ad4dc0a90cbd1826c45c4741
this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0D));
this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d137a4661406f782e6379e88c3990c562583b7b5..59e41d260eed40828c21a2e01b4717e01f4214fd 100644
index 809ded91042e66c2c761b813816d9b432cd9dff5..38af39e6b855be606240f3d6d85ed368cced78f8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -829,6 +829,8 @@ public class PurpurWorldConfig {
@@ -823,6 +823,8 @@ public class PurpurWorldConfig {
public boolean polarBearRidable = false;
public boolean polarBearRidableInWater = false;
public double polarBearMaxHealth = 30.0D;
@@ -71,7 +71,7 @@ index d137a4661406f782e6379e88c3990c562583b7b5..59e41d260eed40828c21a2e01b4717e0
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -838,6 +840,9 @@ public class PurpurWorldConfig {
@@ -832,6 +834,9 @@ public class PurpurWorldConfig {
set("mobs.polar_bear.attributes.max_health", oldValue);
}
polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth);

View File

@@ -51,10 +51,10 @@ index 419a774733ac3d562e636f2615005c953bbd87df..ca584a5a801d0909f4bdbaa8a635608e
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 59e41d260eed40828c21a2e01b4717e01f4214fd..d1458b7f039a960d70d70c949639bc25d4fe3441 100644
index 38af39e6b855be606240f3d6d85ed368cced78f8..42aca5776c26ce45469b742f5c7392f222984948 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -259,6 +259,7 @@ public class PurpurWorldConfig {
@@ -253,6 +253,7 @@ public class PurpurWorldConfig {
public boolean chickenRidable = false;
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
@@ -62,7 +62,7 @@ index 59e41d260eed40828c21a2e01b4717e01f4214fd..d1458b7f039a960d70d70c949639bc25
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -268,6 +269,7 @@ public class PurpurWorldConfig {
@@ -262,6 +263,7 @@ public class PurpurWorldConfig {
set("mobs.chicken.attributes.max_health", oldValue);
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);

View File

@@ -17,11 +17,11 @@ index e5ef24d92de21c4c0e6a98e06985e52d47bfdce0..dc1630a1a769f848059f576c3d1220a2
if (!this.canTick) {
if (this.noTickPoseDirty) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d1458b7f039a960d70d70c949639bc25d4fe3441..508b53f053997db9e250dd7d3e1a1fe32f07369d 100644
index 42aca5776c26ce45469b742f5c7392f222984948..26c72e481c116bf7ac459a2a817250e18357978e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -103,6 +103,11 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
@@ -88,6 +88,11 @@ public class PurpurWorldConfig {
return value.isEmpty() ? fallback : value;
}
+ public float armorstandStepHeight = 0.0F;

View File

@@ -49,10 +49,10 @@ index 436f9cb45ff5b83f55b12f291bed355fa12a0655..0784f6a0aa39c8e49b009f53d91432ff
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 508b53f053997db9e250dd7d3e1a1fe32f07369d..f698bc6c3614159be86239fb291dea4eb33202d3 100644
index 26c72e481c116bf7ac459a2a817250e18357978e..ea45c601cc5d4cacd7e216552d6375f8c1c0dc5c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -236,6 +236,9 @@ public class PurpurWorldConfig {
@@ -230,6 +230,9 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
public double catMaxHealth = 10.0D;
@@ -62,7 +62,7 @@ index 508b53f053997db9e250dd7d3e1a1fe32f07369d..f698bc6c3614159be86239fb291dea4e
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -245,6 +248,9 @@ public class PurpurWorldConfig {
@@ -239,6 +242,9 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max_health", oldValue);
}
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);

View File

@@ -114,10 +114,10 @@ index d602597132b69c51c6da9115d0a2c9a8a1f39405..0db4dd5423508acb5214ed3205bb5632
public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) {
return (Cow) EntityType.COW.create(world);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f698bc6c3614159be86239fb291dea4eb33202d3..3562a3b0a4b3817b3b415faaf4c54e2a8b6bd97d 100644
index ea45c601cc5d4cacd7e216552d6375f8c1c0dc5c..44751c0ebca4cbbb42e0de6fea30f0ea0f53c3f4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -298,6 +298,7 @@ public class PurpurWorldConfig {
@@ -292,6 +292,7 @@ public class PurpurWorldConfig {
public boolean cowRidable = false;
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
@@ -125,7 +125,7 @@ index f698bc6c3614159be86239fb291dea4eb33202d3..3562a3b0a4b3817b3b415faaf4c54e2a
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -307,6 +308,7 @@ public class PurpurWorldConfig {
@@ -301,6 +302,7 @@ public class PurpurWorldConfig {
set("mobs.cow.attributes.max_health", oldValue);
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);

View File

@@ -28,10 +28,10 @@ index 7313d6bd41a312a8f9352240f181543d7cccb378..f4ae6de32bc1d854c54da829e45ca2cd
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3562a3b0a4b3817b3b415faaf4c54e2a8b6bd97d..7f7f73d1bac20384ed04b32f8a080a4062124f34 100644
index 44751c0ebca4cbbb42e0de6fea30f0ea0f53c3f4..4dbf0d6e8bc62a7f0b0556042009681b83a0fd31 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -788,6 +788,7 @@ public class PurpurWorldConfig {
@@ -782,6 +782,7 @@ public class PurpurWorldConfig {
public boolean pigRidable = false;
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
@@ -39,7 +39,7 @@ index 3562a3b0a4b3817b3b415faaf4c54e2a8b6bd97d..7f7f73d1bac20384ed04b32f8a080a40
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -797,6 +798,7 @@ public class PurpurWorldConfig {
@@ -791,6 +792,7 @@ public class PurpurWorldConfig {
set("mobs.pig.attributes.max_health", oldValue);
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);

View File

@@ -32,10 +32,10 @@ index e194774b2ba7976565642534ceeca2079e23945e..a9c1b07f23c604d9364ccdee9478baf1
this.forceDrops = false; // CraftBukkit
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7f7f73d1bac20384ed04b32f8a080a4062124f34..ccbd2ce00a72d3dda6f362bcabc09694ee019b2d 100644
index 4dbf0d6e8bc62a7f0b0556042009681b83a0fd31..73d01ed4c0951a10372c2ed101c7964dc4bbdadb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1019,6 +1019,8 @@ public class PurpurWorldConfig {
@@ -1013,6 +1013,8 @@ public class PurpurWorldConfig {
public boolean snowGolemRidableInWater = false;
public boolean snowGolemLeaveTrailWhenRidden = false;
public double snowGolemMaxHealth = 4.0D;
@@ -44,7 +44,7 @@ index 7f7f73d1bac20384ed04b32f8a080a4062124f34..ccbd2ce00a72d3dda6f362bcabc09694
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1029,6 +1031,8 @@ public class PurpurWorldConfig {
@@ -1023,6 +1025,8 @@ public class PurpurWorldConfig {
set("mobs.snow_golem.attributes.max_health", oldValue);
}
snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth);

View File

@@ -18,10 +18,10 @@ index 73506ce90426bdfb8fbc08687c6e21de637fbd77..9d4dd8c460d1d69ab56e166e10fd7137
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ccbd2ce00a72d3dda6f362bcabc09694ee019b2d..7dcde9608d720b661b37232a729c6248e32b2186 100644
index 73d01ed4c0951a10372c2ed101c7964dc4bbdadb..2309deca435b740b5e27bd8413654b1e8137bb16 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -401,6 +401,7 @@ public class PurpurWorldConfig {
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
public boolean enderDragonRidableInWater = false;
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
@@ -29,7 +29,7 @@ index ccbd2ce00a72d3dda6f362bcabc09694ee019b2d..7dcde9608d720b661b37232a729c6248
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -415,6 +416,7 @@ public class PurpurWorldConfig {
@@ -409,6 +410,7 @@ public class PurpurWorldConfig {
set("mobs.ender_dragon.attributes.max_health", oldValue);
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);

View File

@@ -35,10 +35,10 @@ index ed3d78494735ceda14ad0ea23adeadc374f3b35e..a0d23b7e244e7df8a462b801dee18fd4
} else {
return InteractionResult.PASS;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7dcde9608d720b661b37232a729c6248e32b2186..4c8bacd089efa43616bd5c82b17bd0baa00b6ffc 100644
index 2309deca435b740b5e27bd8413654b1e8137bb16..e13d9a7b4bdd3d27cd72efdaa15f6ce4e777d012 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -162,6 +162,11 @@ public class PurpurWorldConfig {
@@ -147,6 +147,11 @@ public class PurpurWorldConfig {
});
}
@@ -47,6 +47,6 @@ index 7dcde9608d720b661b37232a729c6248e32b2186..4c8bacd089efa43616bd5c82b17bd0ba
+ signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;

View File

@@ -18,10 +18,10 @@ index d0720d5e6612d98d1e86e33e8e6564e371595630..e102795a2464eac028b30977be8d99ce
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4c8bacd089efa43616bd5c82b17bd0baa00b6ffc..57098618aba1e0c001bffdb51d144d56069bca49 100644
index e13d9a7b4bdd3d27cd72efdaa15f6ce4e777d012..da0bb5a0b7ba9b4ed0826a0318ba0288d8b8d9f8 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -162,6 +162,11 @@ public class PurpurWorldConfig {
@@ -147,6 +147,11 @@ public class PurpurWorldConfig {
});
}

View File

@@ -148,10 +148,10 @@ index 05c46f3b3bce5225b819d86e6e06729a5093e092..b2dd2a211bdd1441eae67dd6bd936919
protected final float explosionResistance;
protected final boolean isRandomlyTicking;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 57098618aba1e0c001bffdb51d144d56069bca49..128da7e1dececadcfa95e24fe2c2c32d5cce05d9 100644
index da0bb5a0b7ba9b4ed0826a0318ba0288d8b8d9f8..d7511e69b93231f5b1cbadea5a5847596153f2da 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -108,6 +108,68 @@ public class PurpurWorldConfig {
@@ -93,6 +93,68 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}

View File

@@ -22,11 +22,11 @@ index ab868741cdb9ad20c81d4ed3561d498d25fcbf12..d2944ac5002f77dee2ae111b4f529471
// CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment
org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 128da7e1dececadcfa95e24fe2c2c32d5cce05d9..25473a5431d036c02e4e29552c571e6f20eca71c 100644
index d7511e69b93231f5b1cbadea5a5847596153f2da..e101ee0bda27bbf7ff319d5dc748b13e8b954f26 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -224,6 +224,11 @@ public class PurpurWorldConfig {
});
@@ -93,6 +93,11 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
+ public boolean disableDropsOnCrammingDeath = false;
@@ -34,6 +34,6 @@ index 128da7e1dececadcfa95e24fe2c2c32d5cce05d9..25473a5431d036c02e4e29552c571e6f
+ disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
+ }
+
public boolean farmlandGetsMoistFromBelow = false;
private void farmlandSettings() {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
public double minecartMaxSpeed = 0.4D;
public boolean minecartPlaceAnywhere = false;
public boolean minecartControllable = false;

View File

@@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af
return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 25473a5431d036c02e4e29552c571e6f20eca71c..b730d3a026072e3b781793bb0415a0ba3dc54a5e 100644
index e101ee0bda27bbf7ff319d5dc748b13e8b954f26..50a1223f66adc486bae85e7c2a8567516473c8f0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -225,8 +225,10 @@ public class PurpurWorldConfig {
@@ -94,8 +94,10 @@ public class PurpurWorldConfig {
}
public boolean disableDropsOnCrammingDeath = false;
@@ -41,4 +41,4 @@ index 25473a5431d036c02e4e29552c571e6f20eca71c..b730d3a026072e3b781793bb0415a0ba
+ milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);
}
public boolean farmlandGetsMoistFromBelow = false;
public double minecartMaxSpeed = 0.4D;

View File

@@ -18,10 +18,10 @@ index a367f50b0e3fe9e7a1b87892a8c98e88bd678f6f..52d41fb8d0495f61346c718c8f2395bc
if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) {
this.spawnAtLocation(this.getPickupItem(), 0.1F);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b730d3a026072e3b781793bb0415a0ba3dc54a5e..10eba3e8a06702fd40d3ce0117b8874c773d9658 100644
index 50a1223f66adc486bae85e7c2a8567516473c8f0..95446bfc4fdb13d9eedc5ea9bf2b8797681886ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -226,9 +226,11 @@ public class PurpurWorldConfig {
@@ -95,9 +95,11 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
@@ -32,4 +32,4 @@ index b730d3a026072e3b781793bb0415a0ba3dc54a5e..10eba3e8a06702fd40d3ce0117b8874c
+ tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight);
}
public boolean farmlandGetsMoistFromBelow = false;
public double minecartMaxSpeed = 0.4D;

View File

@@ -38,10 +38,10 @@ index e5ddb64d1a212266c05170359e27927a5f9e243e..2e831d7901747d7957becddc2daf453c
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 10eba3e8a06702fd40d3ce0117b8874c773d9658..a285b8fdcced2c5f51283393e3e02b327497d1d0 100644
index 95446bfc4fdb13d9eedc5ea9bf2b8797681886ee..965e7ccb8175c18bad8d1ed92a70792f0656bebb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -396,6 +396,7 @@ public class PurpurWorldConfig {
@@ -390,6 +390,7 @@ public class PurpurWorldConfig {
public boolean creeperRidableInWater = false;
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
@@ -49,7 +49,7 @@ index 10eba3e8a06702fd40d3ce0117b8874c773d9658..a285b8fdcced2c5f51283393e3e02b32
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -406,6 +407,7 @@ public class PurpurWorldConfig {
@@ -400,6 +401,7 @@ public class PurpurWorldConfig {
}
creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth);
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
@@ -57,7 +57,7 @@ index 10eba3e8a06702fd40d3ce0117b8874c773d9658..a285b8fdcced2c5f51283393e3e02b32
}
public boolean dolphinRidable = false;
@@ -503,6 +505,7 @@ public class PurpurWorldConfig {
@@ -497,6 +499,7 @@ public class PurpurWorldConfig {
public boolean endermanRidable = false;
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
@@ -65,7 +65,7 @@ index 10eba3e8a06702fd40d3ce0117b8874c773d9658..a285b8fdcced2c5f51283393e3e02b32
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -512,6 +515,7 @@ public class PurpurWorldConfig {
@@ -506,6 +509,7 @@ public class PurpurWorldConfig {
set("mobs.enderman.attributes.max_health", oldValue);
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);

View File

@@ -54,10 +54,10 @@ index 0bcfece84ac11f04671ed38a99b31da9f8b03858..2f0bcf917af26fb7628bda134b650a8b
this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D));
this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F));
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a285b8fdcced2c5f51283393e3e02b327497d1d0..5024fedb18e23594bc6081cb5e57639d525812e1 100644
index 965e7ccb8175c18bad8d1ed92a70792f0656bebb..f97e9a32c0f5e330a491e06d5341f68520e36664 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1249,6 +1249,7 @@ public class PurpurWorldConfig {
@@ -1243,6 +1243,7 @@ public class PurpurWorldConfig {
public double villagerMaxHealth = 20.0D;
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
@@ -65,7 +65,7 @@ index a285b8fdcced2c5f51283393e3e02b327497d1d0..5024fedb18e23594bc6081cb5e57639d
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1260,6 +1261,7 @@ public class PurpurWorldConfig {
@@ -1254,6 +1255,7 @@ public class PurpurWorldConfig {
villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth);
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
@@ -73,7 +73,7 @@ index a285b8fdcced2c5f51283393e3e02b327497d1d0..5024fedb18e23594bc6081cb5e57639d
}
public boolean vindicatorRidable = false;
@@ -1279,6 +1281,7 @@ public class PurpurWorldConfig {
@@ -1273,6 +1275,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidable = false;
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
@@ -81,7 +81,7 @@ index a285b8fdcced2c5f51283393e3e02b327497d1d0..5024fedb18e23594bc6081cb5e57639d
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1288,6 +1291,7 @@ public class PurpurWorldConfig {
@@ -1282,6 +1285,7 @@ public class PurpurWorldConfig {
set("mobs.wandering_trader.attributes.max_health", oldValue);
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);

View File

@@ -49,10 +49,10 @@ index 2f0bcf917af26fb7628bda134b650a8b296091ea..c5dbb1c8210b71f7d9d91089cb139f65
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 5024fedb18e23594bc6081cb5e57639d525812e1..7418d367bfa4285d11daac81c61d5d68e4e0d9ee 100644
index f97e9a32c0f5e330a491e06d5341f68520e36664..9c2411632713b245746a943d3afb9f7611603267 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1250,6 +1250,7 @@ public class PurpurWorldConfig {
@@ -1244,6 +1244,7 @@ public class PurpurWorldConfig {
public int villagerBrainTicks = 1;
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
@@ -60,7 +60,7 @@ index 5024fedb18e23594bc6081cb5e57639d525812e1..7418d367bfa4285d11daac81c61d5d68
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1262,6 +1263,7 @@ public class PurpurWorldConfig {
@@ -1256,6 +1257,7 @@ public class PurpurWorldConfig {
villagerBrainTicks = getInt("mobs.villager.brain-ticks", villagerBrainTicks);
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
@@ -68,7 +68,7 @@ index 5024fedb18e23594bc6081cb5e57639d525812e1..7418d367bfa4285d11daac81c61d5d68
}
public boolean vindicatorRidable = false;
@@ -1282,6 +1284,7 @@ public class PurpurWorldConfig {
@@ -1276,6 +1278,7 @@ public class PurpurWorldConfig {
public boolean wanderingTraderRidableInWater = false;
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
@@ -76,7 +76,7 @@ index 5024fedb18e23594bc6081cb5e57639d525812e1..7418d367bfa4285d11daac81c61d5d68
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1292,6 +1295,7 @@ public class PurpurWorldConfig {
@@ -1286,6 +1289,7 @@ public class PurpurWorldConfig {
}
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);

View File

@@ -18,10 +18,10 @@ index 7396963b9b405f7c0ff022176ce55b6f27ac3f4c..6e047f7d9a77e8da563c377e65b42847
for (int i = 0; i < 10; ++i) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 7418d367bfa4285d11daac81c61d5d68e4e0d9ee..0d6a420ead59fba74fafd891efdc87e1d602ace7 100644
index 9c2411632713b245746a943d3afb9f7611603267..404c8a7c74fd997de323dc36ae90ed4cc8008dac 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1251,6 +1251,8 @@ public class PurpurWorldConfig {
@@ -1245,6 +1245,8 @@ public class PurpurWorldConfig {
public boolean villagerUseBrainTicksOnlyWhenLagging = true;
public boolean villagerFollowEmeraldBlock = false;
public boolean villagerCanBeLeashed = false;
@@ -30,7 +30,7 @@ index 7418d367bfa4285d11daac81c61d5d68e4e0d9ee..0d6a420ead59fba74fafd891efdc87e1
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1264,6 +1266,8 @@ public class PurpurWorldConfig {
@@ -1258,6 +1260,8 @@ public class PurpurWorldConfig {
villagerUseBrainTicksOnlyWhenLagging = getBoolean("mobs.villager.use-brain-ticks-only-when-lagging", villagerUseBrainTicksOnlyWhenLagging);
villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock);
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);

View File

@@ -81,10 +81,10 @@ index 56d50b9310d30e0f81f3d2549ff5c256eb07cc2a..4cc6d665c7d52b6edcaaa5f9ed131407
@Override
protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 0d6a420ead59fba74fafd891efdc87e1d602ace7..573180a79354b2ae3a61f5dfa98201d4b46a1195 100644
index 404c8a7c74fd997de323dc36ae90ed4cc8008dac..25f8fe880cc754c6a1f96b20925ea6002ab94f3a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -238,6 +238,20 @@ public class PurpurWorldConfig {
@@ -223,6 +223,13 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}
@@ -95,6 +95,13 @@ index 0d6a420ead59fba74fafd891efdc87e1d602ace7..573180a79354b2ae3a61f5dfa98201d4
+ lavaInfiniteRequiredSources = getInt("blocks.lava.infinite-required-sources", lavaInfiniteRequiredSources);
+ }
+
public boolean signRightClickEdit = false;
private void signSettings() {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
@@ -237,6 +244,13 @@ public class PurpurWorldConfig {
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
}
+ public boolean waterInfinite = true;
+ public int waterInfiniteRequiredSources = 2;
+ private void waterSources() {
@@ -102,6 +109,6 @@ index 0d6a420ead59fba74fafd891efdc87e1d602ace7..573180a79354b2ae3a61f5dfa98201d4
+ waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
+ }
+
public boolean signRightClickEdit = false;
private void signSettings() {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;

View File

@@ -18,10 +18,10 @@ index 9fc7bc3141c0fe6b65d78edf6bac3c45d46ae4fe..a7d2fcad13f1f9b7055732636cd58039
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 573180a79354b2ae3a61f5dfa98201d4b46a1195..30cb31b413cca3f7f1ad8f1745091f8c2f80f17f 100644
index 25f8fe880cc754c6a1f96b20925ea6002ab94f3a..e86533cfa8f24c135dfbee34429b58313d1839c5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -240,9 +240,13 @@ public class PurpurWorldConfig {
@@ -225,9 +225,13 @@ public class PurpurWorldConfig {
public boolean lavaInfinite = false;
public int lavaInfiniteRequiredSources = 2;
@@ -34,4 +34,4 @@ index 573180a79354b2ae3a61f5dfa98201d4b46a1195..30cb31b413cca3f7f1ad8f1745091f8c
+ lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
public boolean waterInfinite = true;
public boolean signRightClickEdit = false;

View File

@@ -31,10 +31,10 @@ index aad9de4019015ca42ad5509886ca35315aeb30d9..7518b7f7378eba01d12224db6264b6bc
return 0;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 30cb31b413cca3f7f1ad8f1745091f8c2f80f17f..136d236d6179942b942bfe25433180d3ef7e24e1 100644
index e86533cfa8f24c135dfbee34429b58313d1839c5..e7c0102d9c154b77ac2099f1f310762e0a384f12 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -177,6 +177,8 @@ public class PurpurWorldConfig {
@@ -171,6 +171,8 @@ public class PurpurWorldConfig {
public boolean idleTimeoutTargetPlayer = true;
public int playerSpawnInvulnerableTicks = 60;
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
@@ -43,7 +43,7 @@ index 30cb31b413cca3f7f1ad8f1745091f8c2f80f17f..136d236d6179942b942bfe25433180d3
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -190,6 +192,8 @@ public class PurpurWorldConfig {
@@ -184,6 +186,8 @@ public class PurpurWorldConfig {
idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer);
playerSpawnInvulnerableTicks = getInt("gameplay-mechanics.player.spawn-invulnerable-ticks", playerSpawnInvulnerableTicks);
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);

View File

@@ -31,10 +31,10 @@ index eec8fe7566a7911d1250286ecf525c851baecc8e..d5d315122326e923dd47ec25c59d81d4
protected void updateSwingTime() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 136d236d6179942b942bfe25433180d3ef7e24e1..e1e2077d9806302538c6d1af98512cb006ca9130 100644
index e7c0102d9c154b77ac2099f1f310762e0a384f12..a5f5aaa8eb31680dadb0e9a0b0c5d20f88e5df7c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -231,10 +231,14 @@ public class PurpurWorldConfig {
@@ -96,10 +96,14 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -48,4 +48,4 @@ index 136d236d6179942b942bfe25433180d3ef7e24e1..e1e2077d9806302538c6d1af98512cb0
+ voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}
public boolean farmlandGetsMoistFromBelow = false;
public double minecartMaxSpeed = 0.4D;

View File

@@ -43,11 +43,11 @@ index baa7e055d8ee4a153842128b07984b9f6deac6ca..014dd3aa8a7313d978d4781a1b7c6f53
// CraftBukkit start
Level world = pointer.getLevel();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e1e2077d9806302538c6d1af98512cb006ca9130..02f0376a16a05ea7569fc1710c390d4b2d65a8f4 100644
index a5f5aaa8eb31680dadb0e9a0b0c5d20f88e5df7c..ccfee8a75592c6dbf3a2256d3c0d0c338bc3eea5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -241,6 +241,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -226,6 +226,11 @@ public class PurpurWorldConfig {
});
}
+ public boolean dispenserApplyCursedArmor = true;

View File

@@ -17,11 +17,11 @@ index b967177cb10041f96831322c311579e409050e88..4b38f8186dcd9a98a5413a51c5563c49
} else {
return Boat.Status.IN_AIR;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 02f0376a16a05ea7569fc1710c390d4b2d65a8f4..9e8d6e63f71a692efc1c45e8ec47c2c935ac7627 100644
index ccfee8a75592c6dbf3a2256d3c0d0c338bc3eea5..417878da19deaf23018c5d1bf208479bf9aae4e5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -228,12 +228,14 @@ public class PurpurWorldConfig {
});
@@ -93,12 +93,14 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
+ public boolean boatEjectPlayersOnLand = false;

View File

@@ -73,18 +73,18 @@ index 7bc5aa35b52de0027cf58a6127a9903464ccaf47..f3ec99d2eae31ba7ce7d4b8e7399a56d
Entry<EquipmentSlot, ItemStack> entry = getRandomItemWith(enchantment, entityliving);
return entry != null ? entry.getValue() : ItemStack.EMPTY;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9e8d6e63f71a692efc1c45e8ec47c2c935ac7627..680e60a5ae4f6645b5acc7588f98e90b774d9fb9 100644
index 417878da19deaf23018c5d1bf208479bf9aae4e5..f9bfb328c2056d39df5b2a4092d03c75c8fdfc57 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -228,6 +228,7 @@ public class PurpurWorldConfig {
});
@@ -93,6 +93,7 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
}
+ public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
public boolean milkCuresBadOmen = true;
@@ -235,6 +236,7 @@ public class PurpurWorldConfig {
@@ -100,6 +101,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
private void miscGameplayMechanicsSettings() {

View File

@@ -99,11 +99,11 @@ index 998758be827efbcb7693ed36ab1dffc0ef0369bf..5beaafec0759543d3bddf99028c97d0d
entityhuman.startAutoSpinAttack(20);
if (entityhuman.isOnGround()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 680e60a5ae4f6645b5acc7588f98e90b774d9fb9..3bbaa73010cbcfdf3a918120cfc86c30ed22e4cf 100644
index f9bfb328c2056d39df5b2a4092d03c75c8fdfc57..9963ded057f721ad884f420d62a74b9e06f8b4b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -108,6 +108,19 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
@@ -110,6 +110,19 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
}
+ public int elytraDamagePerSecond = 1;

View File

@@ -147,10 +147,10 @@ index 8d56f0ab748373e55c0166b92382c126fe8e5381..0637e074dbe4a10bc19e7bf9dd79e2d9
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 3bbaa73010cbcfdf3a918120cfc86c30ed22e4cf..72d6c875070e16bacc40700e30b07d5fe5cf1236 100644
index 9963ded057f721ad884f420d62a74b9e06f8b4b9..4f2ce450267a98f6b5e2814eb0303fc37125f792 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -121,6 +121,49 @@ public class PurpurWorldConfig {
@@ -123,6 +123,49 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -167,10 +167,10 @@ index f30b36b3f1153e1cbd9b8242909d9ba8c995df1d..76f1bbec2b8ebe037de65ee5ec718e17
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf97873eb3 100644
index 4f2ce450267a98f6b5e2814eb0303fc37125f792..d251746cbb14fce9756af250e6e2276f75b86420 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -547,6 +547,9 @@ public class PurpurWorldConfig {
@@ -541,6 +541,9 @@ public class PurpurWorldConfig {
public boolean drownedRidableInWater = false;
public double drownedMaxHealth = 20.0D;
public double drownedSpawnReinforcements = 0.1D;
@@ -180,7 +180,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -557,6 +560,9 @@ public class PurpurWorldConfig {
@@ -551,6 +554,9 @@ public class PurpurWorldConfig {
}
drownedMaxHealth = getDouble("mobs.drowned.attributes.max_health", drownedMaxHealth);
drownedSpawnReinforcements = getDouble("mobs.drowned.attributes.spawn_reinforcements", drownedSpawnReinforcements);
@@ -190,7 +190,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
}
public boolean elderGuardianRidable = false;
@@ -769,6 +775,9 @@ public class PurpurWorldConfig {
@@ -763,6 +769,9 @@ public class PurpurWorldConfig {
public boolean huskRidableInWater = false;
public double huskMaxHealth = 20.0D;
public double huskSpawnReinforcements = 0.1D;
@@ -200,7 +200,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -779,6 +788,9 @@ public class PurpurWorldConfig {
@@ -773,6 +782,9 @@ public class PurpurWorldConfig {
}
huskMaxHealth = getDouble("mobs.husk.attributes.max_health", huskMaxHealth);
huskSpawnReinforcements = getDouble("mobs.husk.attributes.spawn_reinforcements", huskSpawnReinforcements);
@@ -210,7 +210,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
}
public boolean illusionerRidable = false;
@@ -1473,6 +1485,9 @@ public class PurpurWorldConfig {
@@ -1467,6 +1479,9 @@ public class PurpurWorldConfig {
public boolean zombieRidableInWater = false;
public double zombieMaxHealth = 20.0D;
public double zombieSpawnReinforcements = 0.1D;
@@ -220,7 +220,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1483,6 +1498,9 @@ public class PurpurWorldConfig {
@@ -1477,6 +1492,9 @@ public class PurpurWorldConfig {
}
zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth);
zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements);
@@ -230,7 +230,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
}
public boolean zombieHorseRidableInWater = false;
@@ -1516,6 +1534,9 @@ public class PurpurWorldConfig {
@@ -1510,6 +1528,9 @@ public class PurpurWorldConfig {
public boolean zombieVillagerRidableInWater = false;
public double zombieVillagerMaxHealth = 20.0D;
public double zombieVillagerSpawnReinforcements = 0.1D;
@@ -240,7 +240,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1526,12 +1547,18 @@ public class PurpurWorldConfig {
@@ -1520,12 +1541,18 @@ public class PurpurWorldConfig {
}
zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth);
zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements);
@@ -259,7 +259,7 @@ index 72d6c875070e16bacc40700e30b07d5fe5cf1236..f72530a2659e3d1568314f496aba06cf
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1542,5 +1569,8 @@ public class PurpurWorldConfig {
@@ -1536,5 +1563,8 @@ public class PurpurWorldConfig {
}
zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth);
zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements);

View File

@@ -258,10 +258,10 @@ index f4da51e75b3f8772f0d3de17ef4699845a08fdd1..5dc5bddfce5b46fd065fd14112febc41
private float speed = 0.1F;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f72530a2659e3d1568314f496aba06cf97873eb3..621f58ee6283bfa9e209e4018775a5b668201423 100644
index d251746cbb14fce9756af250e6e2276f75b86420..814d71572fdce49e02d7ee5ee20210b3de2a4076 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -960,6 +960,9 @@ public class PurpurWorldConfig {
@@ -954,6 +954,9 @@ public class PurpurWorldConfig {
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
public double phantomMaxHealth = 20.0D;
@@ -271,7 +271,7 @@ index f72530a2659e3d1568314f496aba06cf97873eb3..621f58ee6283bfa9e209e4018775a5b6
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -973,6 +976,9 @@ public class PurpurWorldConfig {
@@ -967,6 +970,9 @@ public class PurpurWorldConfig {
set("mobs.phantom.attributes.max_health", oldValue);
}
phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth);

View File

@@ -48,10 +48,10 @@ index 1e21d6cf2f03219fb2b7217c9a72bdd83c2146f7..dad5d3c754395b39e96be1e35a99c8bf
for (int l = 0; l < k; ++l) {
// Paper start
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 621f58ee6283bfa9e209e4018775a5b668201423..26b854985a53b9e287cb451178adeba223580fb7 100644
index 814d71572fdce49e02d7ee5ee20210b3de2a4076..98680d303bb17ddc72b64233670dabad9ab1d807 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -963,6 +963,18 @@ public class PurpurWorldConfig {
@@ -957,6 +957,18 @@ public class PurpurWorldConfig {
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
public double phantomOrbitCrystalRadius = 0.0D;
@@ -70,7 +70,7 @@ index 621f58ee6283bfa9e209e4018775a5b668201423..26b854985a53b9e287cb451178adeba2
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -979,6 +991,18 @@ public class PurpurWorldConfig {
@@ -973,6 +985,18 @@ public class PurpurWorldConfig {
phantomAttackedByCrystalRadius = getDouble("mobs.phantom.attacked-by-crystal-range", phantomAttackedByCrystalRadius);
phantomAttackedByCrystalDamage = (float) getDouble("mobs.phantom.attacked-by-crystal-damage", phantomAttackedByCrystalDamage);
phantomOrbitCrystalRadius = getDouble("mobs.phantom.orbit-crystal-radius", phantomOrbitCrystalRadius);

View File

@@ -27,11 +27,11 @@ index 20c0030d566012146021613325c6a979f392740e..340e5dee8bf5d8a865c19a8fe63399ae
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 26b854985a53b9e287cb451178adeba223580fb7..0b6d5cedbd32b07aa7c2fac3980b9dae48b950fb 100644
index 98680d303bb17ddc72b64233670dabad9ab1d807..13ad57956dadf60fbe9a1b6f12effa84cf321abf 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -301,6 +301,22 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -286,6 +286,22 @@ public class PurpurWorldConfig {
});
}
+ public boolean bedExplode = true;

View File

@@ -18,11 +18,11 @@ index 07e893f1859abe3c2a765694c21309d60346ca82..0fabe3ec1e9d7dae952db1f1e3dd3af8
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 0b6d5cedbd32b07aa7c2fac3980b9dae48b950fb..f31cf6a7107a67fa1986aa3d8d4b45ebc46af598 100644
index 13ad57956dadf60fbe9a1b6f12effa84cf321abf..96fd3a8735eacd42ec983b4f91ad88bec2a9a3a5 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -345,6 +345,22 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
@@ -323,6 +323,22 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
+ public boolean respawnAnchorExplode = true;

View File

@@ -89,10 +89,10 @@ index 3249ea9a4b7dc05a1b53373955c267e7a4c7903b..78f7022c6584e634b000cc0c079112fc
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f31cf6a7107a67fa1986aa3d8d4b45ebc46af598..250ef9cb38d0a767770ad6e638b3278ce049a2ce 100644
index 96fd3a8735eacd42ec983b4f91ad88bec2a9a3a5..29609a60af03e8334f847aeb90c57a9e352b1893 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -121,6 +121,11 @@ public class PurpurWorldConfig {
@@ -123,6 +123,11 @@ public class PurpurWorldConfig {
elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost);
}

View File

@@ -55,10 +55,10 @@ index 3756da97a8404ea573a66f3f160cfbfd857b12e5..e2d1c4f0084f981d2541313fb8cdb0b9
}
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 250ef9cb38d0a767770ad6e638b3278ce049a2ce..61ea1a9d292fbac2822752c869b60976850da933 100644
index 29609a60af03e8334f847aeb90c57a9e352b1893..b5d48e3979361e1b6407a1dcf0f5271542273974 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -240,6 +240,7 @@ public class PurpurWorldConfig {
@@ -242,6 +242,7 @@ public class PurpurWorldConfig {
public boolean playerInvulnerableWhileAcceptingResourcePack = false;
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
@@ -66,7 +66,7 @@ index 250ef9cb38d0a767770ad6e638b3278ce049a2ce..61ea1a9d292fbac2822752c869b60976
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -255,6 +256,7 @@ public class PurpurWorldConfig {
@@ -257,6 +258,7 @@ public class PurpurWorldConfig {
playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack);
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);

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 61ea1a9d292fbac2822752c869b60976850da933..5f6d5e743f5d19e153413fee1591bca48518163e 100644
index b5d48e3979361e1b6407a1dcf0f5271542273974..71eef6cc623db385db98d3fe98ea657453ae28fb 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 {
@@ -1290,6 +1290,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
@@ -16,7 +16,7 @@ index 61ea1a9d292fbac2822752c869b60976850da933..5f6d5e743f5d19e153413fee1591bca4
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1304,6 +1305,7 @@ public class PurpurWorldConfig {
@@ -1298,6 +1299,7 @@ public class PurpurWorldConfig {
set("mobs.squid.attributes.max_health", oldValue);
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);

View File

@@ -47,10 +47,10 @@ index 5dc5bddfce5b46fd065fd14112febc415e19860c..284532bfe697d288529eacbad0fcfcb6
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 5f6d5e743f5d19e153413fee1591bca48518163e..ad150a54c9a365bf4b7bd62394844c12d9db4cfa 100644
index 71eef6cc623db385db98d3fe98ea657453ae28fb..878173f5bfbd164eb9873dc5b38272c444f19715 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1014,6 +1014,9 @@ public class PurpurWorldConfig {
@@ -1008,6 +1008,9 @@ public class PurpurWorldConfig {
public int phantomSpawnOverheadRadius = 10;
public int phantomSpawnMinPerAttempt = 1;
public int phantomSpawnMaxPerAttempt = -1;
@@ -60,7 +60,7 @@ index 5f6d5e743f5d19e153413fee1591bca48518163e..ad150a54c9a365bf4b7bd62394844c12
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1042,6 +1045,9 @@ public class PurpurWorldConfig {
@@ -1036,6 +1039,9 @@ public class PurpurWorldConfig {
phantomSpawnOverheadRadius = getInt("mobs.phantom.spawn.overhead.radius", phantomSpawnOverheadRadius);
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 6e047f7d9a77e8da563c377e65b428479e4ca346..4e26e288a5bccd778a405b95f3a1d619
private boolean hungry() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ad150a54c9a365bf4b7bd62394844c12d9db4cfa..2442d8b6534d07c54f1262ca30b18a8a16b6db52 100644
index 878173f5bfbd164eb9873dc5b38272c444f19715..5d731291b435c5512143c01a59ee7a63e94f0c46 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1433,6 +1433,7 @@ public class PurpurWorldConfig {
@@ -1427,6 +1427,7 @@ public class PurpurWorldConfig {
public boolean villagerCanBeLeashed = false;
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
@@ -29,7 +29,7 @@ index ad150a54c9a365bf4b7bd62394844c12d9db4cfa..2442d8b6534d07c54f1262ca30b18a8a
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1448,6 +1449,7 @@ public class PurpurWorldConfig {
@@ -1442,6 +1443,7 @@ public class PurpurWorldConfig {
villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed);
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);

View File

@@ -17,10 +17,10 @@ index 03726227fdd60e9cf77213d50184abff438e01ef..76979991d2ded84161e8a0fc72cbb2d2
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2442d8b6534d07c54f1262ca30b18a8a16b6db52..f0bbe37d2eef60be9011414a2c86d1320bf0947c 100644
index 5d731291b435c5512143c01a59ee7a63e94f0c46..328a33211582554b3ec89ae1c28a00c980055eef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -373,6 +373,11 @@ public class PurpurWorldConfig {
@@ -351,6 +351,11 @@ public class PurpurWorldConfig {
signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit);
}
@@ -29,6 +29,6 @@ index 2442d8b6534d07c54f1262ca30b18a8a16b6db52..f0bbe37d2eef60be9011414a2c86d132
+ spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;

View File

@@ -29,10 +29,10 @@ index e2d1c4f0084f981d2541313fb8cdb0b9edd71f71..527fd1662b8ff007fbc383b0061f70b2
event.setCancelled(itemstack == null);
this.level.getCraftServer().getPluginManager().callEvent(event);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f0bbe37d2eef60be9011414a2c86d1320bf0947c..98fdcf99e92faaca3b30d20e085c85d6e4ec2ced 100644
index 328a33211582554b3ec89ae1c28a00c980055eef..e0e95b0956a0ee2f7f22bd04fb4d7d5b19868ebe 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -241,6 +241,7 @@ public class PurpurWorldConfig {
@@ -243,6 +243,7 @@ public class PurpurWorldConfig {
public String playerDeathExpDropEquation = "expLevel * 7";
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
@@ -40,7 +40,7 @@ index f0bbe37d2eef60be9011414a2c86d1320bf0947c..98fdcf99e92faaca3b30d20e085c85d6
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -257,6 +258,7 @@ public class PurpurWorldConfig {
@@ -259,6 +260,7 @@ public class PurpurWorldConfig {
playerDeathExpDropEquation = getString("gameplay-mechanics.player.exp-dropped-on-death.equation", playerDeathExpDropEquation);
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);

View File

@@ -30,10 +30,10 @@ index 780172760fbfe60216ac624598403c22a2fe30df..66ad217d541ce6a2071209abeedd1b68
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 98fdcf99e92faaca3b30d20e085c85d6e4ec2ced..5704e4578915ecd48b4555a659e1d604e9c049b6 100644
index e0e95b0956a0ee2f7f22bd04fb4d7d5b19868ebe..59b32ac760bc267182d1a6691ef18665d8d3dc15 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1462,6 +1462,7 @@ public class PurpurWorldConfig {
@@ -1456,6 +1456,7 @@ public class PurpurWorldConfig {
public boolean vindicatorRidable = false;
public boolean vindicatorRidableInWater = false;
public double vindicatorMaxHealth = 24.0D;
@@ -41,7 +41,7 @@ index 98fdcf99e92faaca3b30d20e085c85d6e4ec2ced..5704e4578915ecd48b4555a659e1d604
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig {
@@ -1465,6 +1466,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 59db245fe11384282af84ec1d5be08ab0e9484ca..a08eebaa08a75be4e7e8f6d560740ea1
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 5704e4578915ecd48b4555a659e1d604e9c049b6..59a6c46b37e4e0a64e3a029cb91452cf07eedb6d 100644
index 59b32ac760bc267182d1a6691ef18665d8d3dc15..a286c2651b3fd43806897a9fea7cddd5f624995d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -327,8 +327,10 @@ public class PurpurWorldConfig {
@@ -312,8 +312,10 @@ public class PurpurWorldConfig {
}
public boolean dispenserApplyCursedArmor = true;

View File

@@ -37,11 +37,11 @@ index 3314cb81d4d5ce9c1d5472e1213b6bcc1c688b9c..69d996fead45bcf9fe5a29727f7f0a7a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 59a6c46b37e4e0a64e3a029cb91452cf07eedb6d..1b3cb9b8330b979ce16363b0ea7096a594b96701 100644
index a286c2651b3fd43806897a9fea7cddd5f624995d..65e778e49e4d99988a68c7f069a55dfdf04502c2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -310,6 +310,11 @@ public class PurpurWorldConfig {
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
@@ -295,6 +295,11 @@ public class PurpurWorldConfig {
});
}
+ public boolean anvilAllowColors = false;

View File

@@ -17,10 +17,10 @@ index 16f32f0a58b090174f3d8b38c583adbcca58c9e4..ea0fb3b032a86223bfdee05a56baa15a
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1b3cb9b8330b979ce16363b0ea7096a594b96701..d9fb941c7330015fcef4c3d84ea5f19818bf834b 100644
index 65e778e49e4d99988a68c7f069a55dfdf04502c2..073eb58ae5eef87156c6951bf8eee356697fe3a6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -559,6 +559,7 @@ public class PurpurWorldConfig {
@@ -553,6 +553,7 @@ public class PurpurWorldConfig {
public float dolphinSpitSpeed = 1.0F;
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
@@ -28,7 +28,7 @@ index 1b3cb9b8330b979ce16363b0ea7096a594b96701..d9fb941c7330015fcef4c3d84ea5f198
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -570,6 +571,7 @@ public class PurpurWorldConfig {
@@ -564,6 +565,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 d9fb941c7330015fcef4c3d84ea5f19818bf834b..2e231bc97cf43a77da560f17f8c6827cfefea39a 100644
index 073eb58ae5eef87156c6951bf8eee356697fe3a6..852acd97bb38fedd6aeb16abe40fa1166af31799 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1319,6 +1319,7 @@ public class PurpurWorldConfig {
@@ -1313,6 +1313,7 @@ public class PurpurWorldConfig {
public boolean squidRidable = false;
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
@@ -65,7 +65,7 @@ index d9fb941c7330015fcef4c3d84ea5f19818bf834b..2e231bc97cf43a77da560f17f8c6827c
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1328,6 +1329,7 @@ public class PurpurWorldConfig {
@@ -1322,6 +1323,7 @@ public class PurpurWorldConfig {
}
squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth);
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);

View File

@@ -27,10 +27,10 @@ index 55635a8abf1ee69e01ba8a7d6119e6c7fdd7ac0d..0198b89d3ac768c826d5be22cde88004
public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 2e231bc97cf43a77da560f17f8c6827cfefea39a..ba954799cd5d2781417269d4150e36a6b0546cc2 100644
index 852acd97bb38fedd6aeb16abe40fa1166af31799..d1198bf0e9a64af5da22486982d15d7c68a8681c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -296,6 +296,7 @@ public class PurpurWorldConfig {
@@ -96,6 +96,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
public boolean disableDropsOnCrammingDeath = false;
@@ -38,7 +38,7 @@ index 2e231bc97cf43a77da560f17f8c6827cfefea39a..ba954799cd5d2781417269d4150e36a6
public boolean milkCuresBadOmen = true;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
@@ -304,6 +305,7 @@ public class PurpurWorldConfig {
@@ -104,6 +105,7 @@ public class PurpurWorldConfig {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);

View File

@@ -23,10 +23,10 @@ index 9a0a5da86e0502382cb538d6abea8e425e40dddc..93cc8dbf2ff435777a5edc11a834ca1b
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 ba954799cd5d2781417269d4150e36a6b0546cc2..27f5c59afe2e7b956d3414458d6633968c95d5ac 100644
index d1198bf0e9a64af5da22486982d15d7c68a8681c..549c69dc47896f90c6976e6c18bbaa139e698ab6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1524,6 +1524,8 @@ public class PurpurWorldConfig {
@@ -1518,6 +1518,8 @@ public class PurpurWorldConfig {
public boolean witherRidableInWater = false;
public double witherMaxY = 256D;
public double witherMaxHealth = 300.0D;
@@ -35,7 +35,7 @@ index ba954799cd5d2781417269d4150e36a6b0546cc2..27f5c59afe2e7b956d3414458d663396
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1538,6 +1540,8 @@ public class PurpurWorldConfig {
@@ -1532,6 +1534,8 @@ public class PurpurWorldConfig {
set("mobs.wither.attributes.max_health", oldValue);
}
witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth);

View File

@@ -94,10 +94,10 @@ index 323eea2bccacfcc85849b5d82c2b30d991e0c0d8..bb5918ff947eb4cc4d0c964b2a8a9166
if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) {
blockposition1 = blockposition2;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 27f5c59afe2e7b956d3414458d6633968c95d5ac..a82c259ba36ab7e88f17a74e54d06cee75e17ec5 100644
index 549c69dc47896f90c6976e6c18bbaa139e698ab6..16de8bd3f940e1d83970ddbd5aa89118c0b2a97c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -73,6 +73,12 @@ public class PurpurWorldConfig {
@@ -67,6 +67,12 @@ public class PurpurWorldConfig {
return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path));
}
@@ -110,7 +110,7 @@ index 27f5c59afe2e7b956d3414458d6633968c95d5ac..a82c259ba36ab7e88f17a74e54d06cee
private double getDouble(String path, double def) {
PurpurConfig.config.addDefault("world-settings.default." + path, def);
return PurpurConfig.config.getDouble("world-settings." + worldName + "." + path, PurpurConfig.config.getDouble("world-settings.default." + path));
@@ -231,6 +237,21 @@ public class PurpurWorldConfig {
@@ -235,6 +241,21 @@ public class PurpurWorldConfig {
}
}

View File

@@ -52,10 +52,10 @@ index e8dd1fdf1a3b697a2e040424df49ac6527b68312..120f77f52ef493f16c2bd8fbc8d8d0a4
if (!this.raidMap.containsKey(raid.getId())) {
this.raidMap.put(raid.getId(), raid);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a82c259ba36ab7e88f17a74e54d06cee75e17ec5..4bd290636e37464121f6fa74b59bf383c4545d7a 100644
index 16de8bd3f940e1d83970ddbd5aa89118c0b2a97c..cd001f91921ca908c1bc426c10640eaff25ad178 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -322,6 +322,7 @@ public class PurpurWorldConfig {
@@ -107,6 +107,7 @@ public class PurpurWorldConfig {
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -63,11 +63,11 @@ index a82c259ba36ab7e88f17a74e54d06cee75e17ec5..4bd290636e37464121f6fa74b59bf383
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -331,6 +332,7 @@ public class PurpurWorldConfig {
@@ -116,6 +117,7 @@ public class PurpurWorldConfig {
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);
+ raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
}
public boolean anvilAllowColors = false;
public int elytraDamagePerSecond = 1;

View File

@@ -289,10 +289,10 @@ index 2867e841e73a3edfdeb83af9d96e0d0cd4116a68..8613008090a9d7cf5cd7c2a598f2c725
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 4bd290636e37464121f6fa74b59bf383c4545d7a..2731eb75fd156dad7007292268137bbdb40e6f57 100644
index cd001f91921ca908c1bc426c10640eaff25ad178..6b22d0c7787dd9c866d27debc1e56795473d0140 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -282,6 +282,35 @@ public class PurpurWorldConfig {
@@ -288,6 +288,35 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -71,10 +71,10 @@ index 26ba3700d7c6f2502ab8fa8698430e7bbd2572dd..8fe5ce2242b136f930584fdf6b5fcf27
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 2731eb75fd156dad7007292268137bbdb40e6f57..44c0460a6dd785895d891a52ae13434c0ba40203 100644
index 6b22d0c7787dd9c866d27debc1e56795473d0140..a5d6ff6c7986088e653fcdfe0305ae144c87a4c1 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1645,6 +1645,7 @@ public class PurpurWorldConfig {
@@ -1639,6 +1639,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyOnlyBaby = true;
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
@@ -82,7 +82,7 @@ index 2731eb75fd156dad7007292268137bbdb40e6f57..44c0460a6dd785895d891a52ae13434c
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1658,6 +1659,7 @@ public class PurpurWorldConfig {
@@ -1652,6 +1653,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 55f94d28a536f5ceda00831e1b22c8db31c07c2f..d4e1e0117ce9105452679d64779086b8
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 44c0460a6dd785895d891a52ae13434c0ba40203..c9ff802d7449fb55583228fa6ed8aaa97b950946 100644
index a5d6ff6c7986088e653fcdfe0305ae144c87a4c1..366181b16bddb33cf0a447f086b3d7a2039b170a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -816,9 +816,11 @@ public class PurpurWorldConfig {
@@ -810,9 +810,11 @@ public class PurpurWorldConfig {
public boolean glowSquidRidable = false;
public double glowSquidMaxHealth = 10.0D;
@@ -73,7 +73,7 @@ index 44c0460a6dd785895d891a52ae13434c0ba40203..c9ff802d7449fb55583228fa6ed8aaa9
}
public boolean goatRidable = false;
@@ -1374,6 +1376,7 @@ public class PurpurWorldConfig {
@@ -1368,6 +1370,7 @@ public class PurpurWorldConfig {
public double squidMaxHealth = 10.0D;
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
@@ -81,7 +81,7 @@ index 44c0460a6dd785895d891a52ae13434c0ba40203..c9ff802d7449fb55583228fa6ed8aaa9
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1384,6 +1387,7 @@ public class PurpurWorldConfig {
@@ -1378,6 +1381,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

@@ -27,10 +27,10 @@ index 08d597db1a5345a343777a01427655e6bf2c926b..33df0ca406dc8321b76b393f317bbd1c
} else {
user.startUsingItem(hand);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c9ff802d7449fb55583228fa6ed8aaa97b950946..d10a5465fada1a1e7eb0dc0769a974da2a40746a 100644
index 366181b16bddb33cf0a447f086b3d7a2039b170a..8e3e8db4c77bdc15a7f77c5c981e338c0cd0dd39 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -132,6 +132,17 @@ public class PurpurWorldConfig {
@@ -138,6 +138,17 @@ public class PurpurWorldConfig {
entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan);
}

View File

@@ -111,10 +111,10 @@ index f0051835d259ecfd0300653645c3942749a31937..161dc422a331d02132d5158efeef8ac2
private static void serverModName() {
serverModName = getString("settings.server-mod-name", serverModName);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d10a5465fada1a1e7eb0dc0769a974da2a40746a..b26c67a506959757e1cb586bbdd4b0efd09e6382 100644
index 8e3e8db4c77bdc15a7f77c5c981e338c0cd0dd39..69cf9d1f726295f54a28f328a1fb4cb1d97d6824 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -452,6 +452,11 @@ public class PurpurWorldConfig {
@@ -430,6 +430,11 @@ public class PurpurWorldConfig {
spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone);
}
@@ -123,6 +123,6 @@ index d10a5465fada1a1e7eb0dc0769a974da2a40746a..b26c67a506959757e1cb586bbdd4b0ef
+ stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage);
+ }
+
public boolean babiesAreRidable = true;
public boolean untamedTamablesAreRidable = true;
public boolean useNightVisionWhenRiding = false;
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;

View File

@@ -88,11 +88,11 @@ index e0d2446a3e203a8980f2b4a8d45f677f5d7a7698..5e027260743202b69ce348ef5cd04709
public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) {
Iterator iterator = this.customSpawners.iterator();
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b26c67a506959757e1cb586bbdd4b0efd09e6382..c06a2f1e744c06a149b46ea7b6c07acb1622f7ee 100644
index 69cf9d1f726295f54a28f328a1fb4cb1d97d6824..5ba4b0d440a3de90a7e90a4a5331d2f48e42d962 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,6 +114,13 @@ public class PurpurWorldConfig {
armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight);
@@ -120,6 +120,13 @@ public class PurpurWorldConfig {
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
}
+ public int daytimeTicks = 12000;

View File

@@ -48,10 +48,10 @@ index fb15ece736dde16066818216749fb2efba0b3b21..0d9b592ebfd22dc679ba7dbfd339db4d
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 c06a2f1e744c06a149b46ea7b6c07acb1622f7ee..ef65f782ffc4710e425f2c44d5cb21f3ae61f481 100644
index 5ba4b0d440a3de90a7e90a4a5331d2f48e42d962..640dad1e45ba88862efa60505171f9353e968acb 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -415,6 +415,17 @@ public class PurpurWorldConfig {
@@ -400,6 +400,17 @@ public class PurpurWorldConfig {
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
}

View File

@@ -24,10 +24,10 @@ index e102795a2464eac028b30977be8d99ceca2339f7..f55a32c7c4e260b41a36b9fc3be01edb
return;
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index ef65f782ffc4710e425f2c44d5cb21f3ae61f481..24d40bb838b60df670711dcf57fd0b8e66215e64 100644
index 640dad1e45ba88862efa60505171f9353e968acb..9509af3328e25ba221f66ddde94f7b1f71f6bb06 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -411,8 +411,10 @@ public class PurpurWorldConfig {
@@ -396,8 +396,10 @@ public class PurpurWorldConfig {
}
public boolean farmlandGetsMoistFromBelow = false;

View File

@@ -33,7 +33,7 @@ index 2bc77858b4a78e24227b4b096fd44177202d5292..b26d5482d89e28897bcc9dc8a15042a5
entityageable.setBaby(true);
entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F);
diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
index 70d87c16734a5e1ac14cc494f95554137ba9f06e..d7c6e530e5391bfd8831c1c6364a3aa405d40724 100644
index 8493dc3447cc524f08732045df81b7c62aecb179..182b07219192a901289114a16b12eb32cc3caa4c 100644
--- a/src/main/java/net/minecraft/world/level/Level.java
+++ b/src/main/java/net/minecraft/world/level/Level.java
@@ -188,6 +188,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
@@ -89,16 +89,16 @@ index 70d87c16734a5e1ac14cc494f95554137ba9f06e..d7c6e530e5391bfd8831c1c6364a3aa4
@@ -314,6 +357,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot
this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig((ServerLevel) this, ((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
this.purpurConfig = new org.purpurmc.purpur.PurpurWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), env); // Purpur
+ this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur
this.generator = gen;
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 24d40bb838b60df670711dcf57fd0b8e66215e64..c2a5db3329c88493e4ae7da76569b6758e9848e3 100644
index 9509af3328e25ba221f66ddde94f7b1f71f6bb06..6455daf0495914d8cbfcb60d8d7e2d2a2926a0aa 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -370,6 +370,7 @@ public class PurpurWorldConfig {
@@ -108,6 +108,7 @@ public class PurpurWorldConfig {
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
public int raidCooldownSeconds = 0;
@@ -106,14 +106,14 @@ index 24d40bb838b60df670711dcf57fd0b8e66215e64..c2a5db3329c88493e4ae7da76569b675
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);
@@ -380,6 +381,7 @@ public class PurpurWorldConfig {
@@ -118,6 +119,7 @@ public class PurpurWorldConfig {
voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight);
voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt);
raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds);
+ animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds);
}
public boolean anvilAllowColors = false;
public int daytimeTicks = 12000;
diff --git a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java b/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java
index afdf04f8b22ad0b7c0b41675e44687b49c2f86d6..2621e54879e9ab0029a875f1d09eee67878b90d5 100644
--- a/src/main/java/org/purpurmc/purpur/command/PurpurCommand.java

View File

@@ -476,10 +476,10 @@ index 3ec9b8343cf80ceea8503ad78863a4b539c6ef6b..c536b0f0d0ebe5b6b6409972eb711f84
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab796722d3f329 100644
index 6455daf0495914d8cbfcb60d8d7e2d2a2926a0aa..de65734d13cedf5753a0560315e0f83c24d6c50b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -490,9 +490,11 @@ public class PurpurWorldConfig {
@@ -484,9 +484,11 @@ public class PurpurWorldConfig {
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
@@ -491,7 +491,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean batRidable = false;
@@ -522,6 +524,7 @@ public class PurpurWorldConfig {
@@ -516,6 +518,7 @@ public class PurpurWorldConfig {
public boolean beeRidableInWater = false;
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
@@ -499,7 +499,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -532,6 +535,7 @@ public class PurpurWorldConfig {
@@ -526,6 +529,7 @@ public class PurpurWorldConfig {
set("mobs.bee.attributes.max_health", oldValue);
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
@@ -507,7 +507,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean blazeRidable = false;
@@ -556,6 +560,7 @@ public class PurpurWorldConfig {
@@ -550,6 +554,7 @@ public class PurpurWorldConfig {
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
@@ -515,7 +515,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -568,6 +573,7 @@ public class PurpurWorldConfig {
@@ -562,6 +567,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);
@@ -523,7 +523,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean caveSpiderRidable = false;
@@ -588,6 +594,7 @@ public class PurpurWorldConfig {
@@ -582,6 +588,7 @@ public class PurpurWorldConfig {
public boolean chickenRidableInWater = false;
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
@@ -531,7 +531,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -598,6 +605,7 @@ public class PurpurWorldConfig {
@@ -592,6 +599,7 @@ public class PurpurWorldConfig {
}
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
@@ -539,7 +539,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean codRidable = false;
@@ -616,6 +624,7 @@ public class PurpurWorldConfig {
@@ -610,6 +618,7 @@ public class PurpurWorldConfig {
public boolean cowRidableInWater = false;
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
@@ -547,7 +547,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -626,6 +635,7 @@ public class PurpurWorldConfig {
@@ -620,6 +629,7 @@ public class PurpurWorldConfig {
}
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
@@ -555,7 +555,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean creeperRidable = false;
@@ -673,6 +683,7 @@ public class PurpurWorldConfig {
@@ -667,6 +677,7 @@ public class PurpurWorldConfig {
public double donkeyJumpStrengthMax = 0.5D;
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
@@ -563,7 +563,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -688,6 +699,7 @@ public class PurpurWorldConfig {
@@ -682,6 +693,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);
@@ -571,7 +571,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean drownedRidable = false;
@@ -794,6 +806,7 @@ public class PurpurWorldConfig {
@@ -788,6 +800,7 @@ public class PurpurWorldConfig {
public boolean foxRidableInWater = false;
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
@@ -579,7 +579,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -804,6 +817,7 @@ public class PurpurWorldConfig {
@@ -798,6 +811,7 @@ public class PurpurWorldConfig {
}
foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth);
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
@@ -587,7 +587,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean ghastRidable = false;
@@ -864,10 +878,12 @@ public class PurpurWorldConfig {
@@ -858,10 +872,12 @@ public class PurpurWorldConfig {
public boolean goatRidable = false;
public boolean goatRidableInWater = false;
public double goatMaxHealth = 10.0D;
@@ -600,7 +600,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean guardianRidable = false;
@@ -885,6 +901,7 @@ public class PurpurWorldConfig {
@@ -879,6 +895,7 @@ public class PurpurWorldConfig {
public boolean hoglinRidable = false;
public boolean hoglinRidableInWater = false;
public double hoglinMaxHealth = 40.0D;
@@ -608,7 +608,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -894,6 +911,7 @@ public class PurpurWorldConfig {
@@ -888,6 +905,7 @@ public class PurpurWorldConfig {
set("mobs.hoglin.attributes.max_health", oldValue);
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
@@ -616,7 +616,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean horseRidableInWater = false;
@@ -903,6 +921,7 @@ public class PurpurWorldConfig {
@@ -897,6 +915,7 @@ public class PurpurWorldConfig {
public double horseJumpStrengthMax = 1.0D;
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
@@ -624,7 +624,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -918,6 +937,7 @@ public class PurpurWorldConfig {
@@ -912,6 +931,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);
@@ -632,7 +632,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean huskRidable = false;
@@ -988,6 +1008,7 @@ public class PurpurWorldConfig {
@@ -982,6 +1002,7 @@ public class PurpurWorldConfig {
public double llamaJumpStrengthMax = 0.5D;
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
@@ -640,7 +640,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1004,6 +1025,7 @@ public class PurpurWorldConfig {
@@ -998,6 +1019,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);
@@ -648,7 +648,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean magmaCubeRidable = false;
@@ -1023,6 +1045,7 @@ public class PurpurWorldConfig {
@@ -1017,6 +1039,7 @@ public class PurpurWorldConfig {
public boolean mooshroomRidable = false;
public boolean mooshroomRidableInWater = false;
public double mooshroomMaxHealth = 10.0D;
@@ -656,7 +656,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1032,6 +1055,7 @@ public class PurpurWorldConfig {
@@ -1026,6 +1049,7 @@ public class PurpurWorldConfig {
set("mobs.mooshroom.attributes.max_health", oldValue);
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
@@ -664,7 +664,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean muleRidableInWater = false;
@@ -1041,6 +1065,7 @@ public class PurpurWorldConfig {
@@ -1035,6 +1059,7 @@ public class PurpurWorldConfig {
public double muleJumpStrengthMax = 0.5D;
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
@@ -672,7 +672,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1056,11 +1081,13 @@ public class PurpurWorldConfig {
@@ -1050,11 +1075,13 @@ 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);
@@ -686,7 +686,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1070,11 +1097,13 @@ public class PurpurWorldConfig {
@@ -1064,11 +1091,13 @@ public class PurpurWorldConfig {
set("mobs.ocelot.attributes.max_health", oldValue);
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
@@ -700,7 +700,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1084,6 +1113,7 @@ public class PurpurWorldConfig {
@@ -1078,6 +1107,7 @@ public class PurpurWorldConfig {
set("mobs.panda.attributes.max_health", oldValue);
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
@@ -708,7 +708,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean parrotRidable = false;
@@ -1164,6 +1194,7 @@ public class PurpurWorldConfig {
@@ -1158,6 +1188,7 @@ public class PurpurWorldConfig {
public boolean pigRidableInWater = false;
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
@@ -716,7 +716,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1174,6 +1205,7 @@ public class PurpurWorldConfig {
@@ -1168,6 +1199,7 @@ public class PurpurWorldConfig {
}
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
@@ -724,7 +724,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean piglinRidable = false;
@@ -1223,6 +1255,7 @@ public class PurpurWorldConfig {
@@ -1217,6 +1249,7 @@ public class PurpurWorldConfig {
public double polarBearMaxHealth = 30.0D;
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
@@ -732,7 +732,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1235,6 +1268,7 @@ public class PurpurWorldConfig {
@@ -1229,6 +1262,7 @@ public class PurpurWorldConfig {
polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString);
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
@@ -740,7 +740,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean pufferfishRidable = false;
@@ -1254,6 +1288,7 @@ public class PurpurWorldConfig {
@@ -1248,6 +1282,7 @@ public class PurpurWorldConfig {
public double rabbitMaxHealth = 3.0D;
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
@@ -748,7 +748,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1265,6 +1300,7 @@ public class PurpurWorldConfig {
@@ -1259,6 +1294,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);
@@ -756,7 +756,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean ravagerRidable = false;
@@ -1296,6 +1332,7 @@ public class PurpurWorldConfig {
@@ -1290,6 +1326,7 @@ public class PurpurWorldConfig {
public boolean sheepRidable = false;
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
@@ -764,7 +764,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1305,6 +1342,7 @@ public class PurpurWorldConfig {
@@ -1299,6 +1336,7 @@ public class PurpurWorldConfig {
set("mobs.sheep.attributes.max_health", oldValue);
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
@@ -772,7 +772,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean shulkerRidable = false;
@@ -1459,6 +1497,7 @@ public class PurpurWorldConfig {
@@ -1453,6 +1491,7 @@ public class PurpurWorldConfig {
public boolean striderRidable = false;
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
@@ -780,7 +780,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1468,6 +1507,7 @@ public class PurpurWorldConfig {
@@ -1462,6 +1501,7 @@ public class PurpurWorldConfig {
set("mobs.strider.attributes.max_health", oldValue);
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
@@ -788,7 +788,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean traderLlamaRidable = false;
@@ -1478,6 +1518,7 @@ public class PurpurWorldConfig {
@@ -1472,6 +1512,7 @@ public class PurpurWorldConfig {
public double traderLlamaJumpStrengthMax = 0.5D;
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
@@ -796,7 +796,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1494,6 +1535,7 @@ public class PurpurWorldConfig {
@@ -1488,6 +1529,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);
@@ -804,7 +804,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean tropicalFishRidable = false;
@@ -1511,6 +1553,7 @@ public class PurpurWorldConfig {
@@ -1505,6 +1547,7 @@ public class PurpurWorldConfig {
public boolean turtleRidable = false;
public boolean turtleRidableInWater = false;
public double turtleMaxHealth = 30.0D;
@@ -812,7 +812,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1520,6 +1563,7 @@ public class PurpurWorldConfig {
@@ -1514,6 +1557,7 @@ public class PurpurWorldConfig {
set("mobs.turtle.attributes.max_health", oldValue);
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
@@ -820,7 +820,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean vexRidable = false;
@@ -1548,6 +1592,7 @@ public class PurpurWorldConfig {
@@ -1542,6 +1586,7 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemRadius = 0;
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
@@ -828,7 +828,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1564,6 +1609,7 @@ public class PurpurWorldConfig {
@@ -1558,6 +1603,7 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius);
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
@@ -836,7 +836,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
}
public boolean vindicatorRidable = false;
@@ -1655,6 +1701,7 @@ public class PurpurWorldConfig {
@@ -1649,6 +1695,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -844,7 +844,7 @@ index c2a5db3329c88493e4ae7da76569b6758e9848e3..6fc3bd17ea397cc6fa00b9d0d5ab7967
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1664,6 +1711,7 @@ public class PurpurWorldConfig {
@@ -1658,6 +1705,7 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -142,10 +142,10 @@ index 0284201b0bb0f5c9a4a2393cf0d83e8e21262df3..1f46a2be362ed5f60a7ca75916fe7bd4
if (((HangingEntity) object).survives()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6fc3bd17ea397cc6fa00b9d0d5ab796722d3f329..1f431fe2bde60d82eef9502e689b8307c9fe27a8 100644
index de65734d13cedf5753a0560315e0f83c24d6c50b..6ec9bb36d3dcf175b90342f46d49a3c3ac30fb0c 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -110,8 +110,10 @@ public class PurpurWorldConfig {
@@ -95,8 +95,10 @@ public class PurpurWorldConfig {
}
public float armorstandStepHeight = 0.0F;
@@ -155,8 +155,8 @@ index 6fc3bd17ea397cc6fa00b9d0d5ab796722d3f329..1f431fe2bde60d82eef9502e689b8307
+ armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible);
}
public int daytimeTicks = 12000;
@@ -366,6 +368,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
@@ -104,6 +106,7 @@ public class PurpurWorldConfig {
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -164,7 +164,7 @@ index 6fc3bd17ea397cc6fa00b9d0d5ab796722d3f329..1f431fe2bde60d82eef9502e689b8307
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -377,6 +380,7 @@ public class PurpurWorldConfig {
@@ -115,6 +118,7 @@ public class PurpurWorldConfig {
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -17,10 +17,10 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155
((Mob) newEntityLiving).setPersistenceRequired();
// Paper end
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 1f431fe2bde60d82eef9502e689b8307c9fe27a8..0a67d4dbb4f38b583a5a001ff984f40f24a171da 100644
index 6ec9bb36d3dcf175b90342f46d49a3c3ac30fb0c..e65f8580dbd2112f7fdd2c9e66808f04afb073e2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -111,9 +111,11 @@ public class PurpurWorldConfig {
@@ -96,9 +96,11 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;
@@ -31,4 +31,4 @@ index 1f431fe2bde60d82eef9502e689b8307c9fe27a8..0a67d4dbb4f38b583a5a001ff984f40f
+ armorstandFixNametags = getBoolean("gameplay-mechanics.armorstand.fix-nametags", armorstandFixNametags);
}
public int daytimeTicks = 12000;
public boolean useBetterMending = false;

View File

@@ -21,10 +21,10 @@ index c72d5151d4d8eb784550022321578ca820c84948..a15be819a3c73cf3bdd5da148d6f2d56
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 0a67d4dbb4f38b583a5a001ff984f40f24a171da..c592683fa823f74197ee39a8e6921752eff3f7f9 100644
index e65f8580dbd2112f7fdd2c9e66808f04afb073e2..928d2a647236ad46f2c30280d4ed6e04ea552f65 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -768,6 +768,7 @@ public class PurpurWorldConfig {
@@ -762,6 +762,7 @@ public class PurpurWorldConfig {
public boolean endermanRidableInWater = false;
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
@@ -32,7 +32,7 @@ index 0a67d4dbb4f38b583a5a001ff984f40f24a171da..c592683fa823f74197ee39a8e6921752
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -778,6 +779,7 @@ public class PurpurWorldConfig {
@@ -772,6 +773,7 @@ public class PurpurWorldConfig {
}
endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth);
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);

View File

@@ -18,10 +18,10 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index c592683fa823f74197ee39a8e6921752eff3f7f9..f163025d4b30d34e2e6199e1c35bfbe9c3083af5 100644
index 928d2a647236ad46f2c30280d4ed6e04ea552f65..d262ce0d56d03a12c2eddc054a63bef42fe2c140 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -304,6 +304,11 @@ public class PurpurWorldConfig {
@@ -314,6 +314,11 @@ public class PurpurWorldConfig {
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
}

View File

@@ -18,10 +18,10 @@ index 78f7022c6584e634b000cc0c079112fc6cc8e869..2f75ebe8088d70f73a17557fe525ae11
} else {
this.setLeftHanded(false);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f163025d4b30d34e2e6199e1c35bfbe9c3083af5..8595f8086222cffb959c82d3ec8d06622a84c5aa 100644
index d262ce0d56d03a12c2eddc054a63bef42fe2c140..5679ea7fc6ae18b63f63d32ac91043ae12d897ba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -139,8 +139,10 @@ public class PurpurWorldConfig {
@@ -149,8 +149,10 @@ public class PurpurWorldConfig {
}
public int entityLifeSpan = 0;

View File

@@ -27,10 +27,10 @@ index 295658d4b479e8a3e825f0b5ce5dfc2c7c55a0fe..dfe547b7a2caa2ecfdddef9b9a49be40
if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8595f8086222cffb959c82d3ec8d06622a84c5aa..c6377ba74ed21e5414e8fb9ad3f427b141f0e443 100644
index 5679ea7fc6ae18b63f63d32ac91043ae12d897ba..69b9254f7f9d76e6d077081c7351fcb622f7c435 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -374,6 +374,7 @@ public class PurpurWorldConfig {
@@ -105,6 +105,7 @@ public class PurpurWorldConfig {
public boolean useBetterMending = false;
public boolean boatEjectPlayersOnLand = false;
@@ -38,7 +38,7 @@ index 8595f8086222cffb959c82d3ec8d06622a84c5aa..c6377ba74ed21e5414e8fb9ad3f427b1
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
public boolean milkCuresBadOmen = true;
@@ -386,6 +387,7 @@ public class PurpurWorldConfig {
@@ -117,6 +118,7 @@ public class PurpurWorldConfig {
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);
boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand);

View File

@@ -23,10 +23,10 @@ index a9c1b07f23c604d9364ccdee9478baf137af0816..10d68856c98b705158fe90623ef2b9ad
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 c6377ba74ed21e5414e8fb9ad3f427b141f0e443..6539c12836876791d17af877ae50103e57d09cac 100644
index 69b9254f7f9d76e6d077081c7351fcb622f7c435..b29eec4e4450d6943eeecbb6256be6f3a1b35763 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1451,6 +1451,10 @@ public class PurpurWorldConfig {
@@ -1445,6 +1445,10 @@ public class PurpurWorldConfig {
public double snowGolemMaxHealth = 4.0D;
public boolean snowGolemDropsPumpkin = true;
public boolean snowGolemPutPumpkinBack = false;
@@ -37,7 +37,7 @@ index c6377ba74ed21e5414e8fb9ad3f427b141f0e443..6539c12836876791d17af877ae50103e
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1463,6 +1467,10 @@ public class PurpurWorldConfig {
@@ -1457,6 +1461,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

@@ -183,10 +183,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612
public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN);
public static final VillagerProfession FLETCHER = register("fletcher", PoiType.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 6539c12836876791d17af877ae50103e57d09cac..9f3ec1e7555b3ccb018e1e5d4b7b161b386ca244 100644
index b29eec4e4450d6943eeecbb6256be6f3a1b35763..a7fa7b522996ffe19368a15c8d158c444da1e55d 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1618,6 +1618,8 @@ public class PurpurWorldConfig {
@@ -1612,6 +1612,8 @@ public class PurpurWorldConfig {
public int villagerSpawnIronGolemLimit = 0;
public boolean villagerCanBreed = true;
public int villagerBreedingTicks = 6000;
@@ -195,7 +195,7 @@ index 6539c12836876791d17af877ae50103e57d09cac..9f3ec1e7555b3ccb018e1e5d4b7b161b
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1635,6 +1637,8 @@ public class PurpurWorldConfig {
@@ -1629,6 +1631,8 @@ public class PurpurWorldConfig {
villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);
villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed);
villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks);

View File

@@ -35,10 +35,10 @@ index 76f1bbec2b8ebe037de65ee5ec718e17a6081c13..f8b742ee8e637edd8e8b05aff2fcc7a7
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 9f3ec1e7555b3ccb018e1e5d4b7b161b386ca244..b74ebb2086b03997d282a557b2e81c0b37ac4f66 100644
index a7fa7b522996ffe19368a15c8d158c444da1e55d..65baf4aafad765b9d8d053d024d604f5b6ff724a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1837,6 +1837,7 @@ public class PurpurWorldConfig {
@@ -1831,6 +1831,7 @@ public class PurpurWorldConfig {
public boolean zombifiedPiglinJockeyOnlyBaby = true;
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
@@ -46,7 +46,7 @@ index 9f3ec1e7555b3ccb018e1e5d4b7b161b386ca244..b74ebb2086b03997d282a557b2e81c0b
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1850,5 +1851,6 @@ public class PurpurWorldConfig {
@@ -1844,5 +1845,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 f856b42201c17f8da21251e54fcf052336916e70..ac0803d42be2f36a2f40487ee31413d0
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b74ebb2086b03997d282a557b2e81c0b37ac4f66..46e59d833a179b669ed58731a7ec828521b1322c 100644
index 65baf4aafad765b9d8d053d024d604f5b6ff724a..4dd081359254913c4ffd62e92f6621ee8b3074a0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1730,6 +1730,8 @@ public class PurpurWorldConfig {
@@ -1724,6 +1724,8 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -234,7 +234,7 @@ index b74ebb2086b03997d282a557b2e81c0b37ac4f66..46e59d833a179b669ed58731a7ec8285
public int wolfBreedingTicks = 6000;
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
@@ -1740,6 +1742,8 @@ public class PurpurWorldConfig {
@@ -1734,6 +1736,8 @@ public class PurpurWorldConfig {
set("mobs.wolf.attributes.max_health", oldValue);
}
wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth);

View File

@@ -45,10 +45,10 @@ index 38c69ddde8a54482a1de60387bace297869c47f3..20e0e74d7e43f436172ca7b4cb8b613b
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 46e59d833a179b669ed58731a7ec828521b1322c..fa4651425a396cd4a2b7d600d8bb6b69fc920167 100644
index 4dd081359254913c4ffd62e92f6621ee8b3074a0..8f5d38ce4bbcfa36e98c6d7b5720f82d94ed0fba 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -571,6 +571,7 @@ public class PurpurWorldConfig {
@@ -565,6 +565,7 @@ public class PurpurWorldConfig {
public boolean catRidable = false;
public boolean catRidableInWater = false;
@@ -56,7 +56,7 @@ index 46e59d833a179b669ed58731a7ec828521b1322c..fa4651425a396cd4a2b7d600d8bb6b69
public double catMaxHealth = 10.0D;
public int catSpawnDelay = 1200;
public int catSpawnSwampHutScanRange = 16;
@@ -584,6 +585,11 @@ public class PurpurWorldConfig {
@@ -578,6 +579,11 @@ public class PurpurWorldConfig {
set("mobs.cat.attributes.max-health", null);
set("mobs.cat.attributes.max_health", oldValue);
}
@@ -68,7 +68,7 @@ index 46e59d833a179b669ed58731a7ec828521b1322c..fa4651425a396cd4a2b7d600d8bb6b69
catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth);
catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay);
catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange);
@@ -1730,6 +1736,7 @@ public class PurpurWorldConfig {
@@ -1724,6 +1730,7 @@ public class PurpurWorldConfig {
public boolean wolfRidable = false;
public boolean wolfRidableInWater = false;
public double wolfMaxHealth = 8.0D;
@@ -76,7 +76,7 @@ index 46e59d833a179b669ed58731a7ec828521b1322c..fa4651425a396cd4a2b7d600d8bb6b69
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -1742,6 +1749,11 @@ public class PurpurWorldConfig {
@@ -1736,6 +1743,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 284532bfe697d288529eacbad0fcfcb6a3680446..97e3e25263e1cea87d0b420da05271b8
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fa4651425a396cd4a2b7d600d8bb6b69fc920167..ad2cb39996e516f43276f66b0d83c76ee3743f26 100644
index 8f5d38ce4bbcfa36e98c6d7b5720f82d94ed0fba..a8ef326a9616ce9ff16c8265aeb4b81b5f015e81 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1161,6 +1161,7 @@ public class PurpurWorldConfig {
@@ -1155,6 +1155,7 @@ public class PurpurWorldConfig {
public float phantomFlameDamage = 1.0F;
public int phantomFlameFireTime = 8;
public boolean phantomAllowGriefing = false;
@@ -28,7 +28,7 @@ index fa4651425a396cd4a2b7d600d8bb6b69fc920167..ad2cb39996e516f43276f66b0d83c76e
public double phantomMaxHealth = 20.0D;
public double phantomAttackedByCrystalRadius = 0.0D;
public float phantomAttackedByCrystalDamage = 1.0F;
@@ -1187,6 +1188,7 @@ public class PurpurWorldConfig {
@@ -1181,6 +1182,7 @@ public class PurpurWorldConfig {
phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage);
phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime);
phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing);

View File

@@ -17,10 +17,10 @@ index db726697b00afdee6078849fd224263483349912..c808664a67a9604e40ab388c6d0e6ac3
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 ad2cb39996e516f43276f66b0d83c76ee3743f26..f73b2641b0da7096e5522b266ff008c9a41d286e 100644
index a8ef326a9616ce9ff16c8265aeb4b81b5f015e81..8f4ff8bc8466263aaac5811572ce30f282084855 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -420,6 +420,11 @@ public class PurpurWorldConfig {
@@ -405,6 +405,11 @@ public class PurpurWorldConfig {
}
}

View File

@@ -28,10 +28,10 @@ index 74d11bf608ff26093d7995a09a463cac24304fa1..5902f0883ca0ad706801dc693bb3ac79
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index f73b2641b0da7096e5522b266ff008c9a41d286e..e9af5e1f42aa71c9d8472b88b99eac356e8f9e2f 100644
index 8f4ff8bc8466263aaac5811572ce30f282084855..41629af5929af46cbf164467289ae8f2e1de14ee 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -1536,6 +1536,7 @@ public class PurpurWorldConfig {
@@ -1530,6 +1530,7 @@ public class PurpurWorldConfig {
public boolean striderRidableInWater = false;
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
@@ -39,7 +39,7 @@ index f73b2641b0da7096e5522b266ff008c9a41d286e..e9af5e1f42aa71c9d8472b88b99eac35
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1546,6 +1547,7 @@ public class PurpurWorldConfig {
@@ -1540,6 +1541,7 @@ public class PurpurWorldConfig {
}
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);

View File

@@ -26,10 +26,10 @@ index 7518b7f7378eba01d12224db6264b6bcc1254432..b1ca8265d2104168b64e560634f319c7
protected ItemCooldowns createItemCooldowns() {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e9af5e1f42aa71c9d8472b88b99eac356e8f9e2f..ab2a909c34c9074916cdc1a5e0eabe920078180f 100644
index 41629af5929af46cbf164467289ae8f2e1de14ee..23b684830df37277dd35cedf5f415995e052eaf4 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -276,6 +276,19 @@ public class PurpurWorldConfig {
@@ -288,6 +288,19 @@ public class PurpurWorldConfig {
villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate);
}

View File

@@ -393,23 +393,10 @@ index b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1..5b29f3fced5435e172dd69f6f4eb265e
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 ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9846e06c9 100644
index 23b684830df37277dd35cedf5f415995e052eaf4..3875a19e5217e0752738d4d7ed52e7a0f4a0bd4b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -103,10 +103,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
+ public boolean turtleEggsBypassMobGriefing = false;
private void turtleEggSettings() {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
+ turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing);
}
public float armorstandStepHeight = 0.0F;
@@ -390,8 +392,11 @@ public class PurpurWorldConfig {
@@ -108,8 +108,11 @@ public class PurpurWorldConfig {
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
public boolean entitiesCanUsePortals = true;
@@ -421,7 +408,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
public double tridentLoyaltyVoidReturnHeight = 0.0D;
public double voidDamageHeight = -64.0D;
public double voidDamageDealt = 4.0D;
@@ -403,8 +408,11 @@ public class PurpurWorldConfig {
@@ -121,8 +124,11 @@ public class PurpurWorldConfig {
boatsDoFallDamage = getBoolean("gameplay-mechanics.boat.do-fall-damage", boatsDoFallDamage);
disableDropsOnCrammingDeath = getBoolean("gameplay-mechanics.disable-drops-on-cramming-death", disableDropsOnCrammingDeath);
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
@@ -433,7 +420,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
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);
@@ -445,9 +453,11 @@ public class PurpurWorldConfig {
@@ -430,9 +436,11 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}
@@ -445,8 +432,8 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow);
farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha);
}
@@ -481,6 +491,11 @@ public class PurpurWorldConfig {
waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources);
@@ -459,6 +467,11 @@ public class PurpurWorldConfig {
lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether);
}
+ public boolean powderSnowBypassMobGriefing = false;
@@ -457,7 +444,20 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
public boolean respawnAnchorExplode = true;
public double respawnAnchorExplosionPower = 5.0D;
public boolean respawnAnchorExplosionFire = true;
@@ -682,6 +697,7 @@ public class PurpurWorldConfig {
@@ -493,10 +506,12 @@ public class PurpurWorldConfig {
public boolean turtleEggsBreakFromExpOrbs = true;
public boolean turtleEggsBreakFromItems = true;
public boolean turtleEggsBreakFromMinecarts = true;
+ public boolean turtleEggsBypassMobGriefing = false;
private void turtleEggSettings() {
turtleEggsBreakFromExpOrbs = getBoolean("blocks.turtle_egg.break-from-exp-orbs", turtleEggsBreakFromExpOrbs);
turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems);
turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts);
+ turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing);
}
public boolean waterInfinite = true;
@@ -676,6 +691,7 @@ public class PurpurWorldConfig {
public double creeperMaxHealth = 20.0D;
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
@@ -465,7 +465,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -693,6 +709,7 @@ public class PurpurWorldConfig {
@@ -687,6 +703,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);
@@ -473,7 +473,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean dolphinRidable = false;
@@ -780,6 +797,7 @@ public class PurpurWorldConfig {
@@ -774,6 +791,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxY = 256D;
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
@@ -481,7 +481,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -795,6 +813,7 @@ public class PurpurWorldConfig {
@@ -789,6 +807,7 @@ public class PurpurWorldConfig {
}
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
@@ -489,7 +489,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean endermanRidable = false;
@@ -802,6 +821,7 @@ public class PurpurWorldConfig {
@@ -796,6 +815,7 @@ public class PurpurWorldConfig {
public double endermanMaxHealth = 40.0D;
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
@@ -497,7 +497,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -813,6 +833,7 @@ public class PurpurWorldConfig {
@@ -807,6 +827,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);
@@ -505,7 +505,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean endermiteRidable = false;
@@ -832,6 +853,7 @@ public class PurpurWorldConfig {
@@ -826,6 +847,7 @@ public class PurpurWorldConfig {
public boolean evokerRidable = false;
public boolean evokerRidableInWater = false;
public double evokerMaxHealth = 24.0D;
@@ -513,7 +513,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -841,6 +863,7 @@ public class PurpurWorldConfig {
@@ -835,6 +857,7 @@ public class PurpurWorldConfig {
set("mobs.evoker.attributes.max_health", oldValue);
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
@@ -521,7 +521,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean foxRidable = false;
@@ -848,6 +871,7 @@ public class PurpurWorldConfig {
@@ -842,6 +865,7 @@ public class PurpurWorldConfig {
public double foxMaxHealth = 10.0D;
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
@@ -529,7 +529,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -859,6 +883,7 @@ public class PurpurWorldConfig {
@@ -853,6 +877,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);
@@ -537,7 +537,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean ghastRidable = false;
@@ -1254,6 +1279,7 @@ public class PurpurWorldConfig {
@@ -1248,6 +1273,7 @@ public class PurpurWorldConfig {
public boolean piglinRidable = false;
public boolean piglinRidableInWater = false;
public double piglinMaxHealth = 16.0D;
@@ -545,7 +545,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1263,6 +1289,7 @@ public class PurpurWorldConfig {
@@ -1257,6 +1283,7 @@ public class PurpurWorldConfig {
set("mobs.piglin.attributes.max_health", oldValue);
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
@@ -553,7 +553,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean piglinBruteRidable = false;
@@ -1282,6 +1309,7 @@ public class PurpurWorldConfig {
@@ -1276,6 +1303,7 @@ public class PurpurWorldConfig {
public boolean pillagerRidable = false;
public boolean pillagerRidableInWater = false;
public double pillagerMaxHealth = 24.0D;
@@ -561,7 +561,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1291,6 +1319,7 @@ public class PurpurWorldConfig {
@@ -1285,6 +1313,7 @@ public class PurpurWorldConfig {
set("mobs.pillager.attributes.max_health", oldValue);
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
@@ -569,7 +569,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean polarBearRidable = false;
@@ -1332,6 +1361,7 @@ public class PurpurWorldConfig {
@@ -1326,6 +1355,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalToast = 0.0D;
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
@@ -577,7 +577,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1344,11 +1374,13 @@ public class PurpurWorldConfig {
@@ -1338,11 +1368,13 @@ 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);
@@ -591,7 +591,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1358,6 +1390,7 @@ public class PurpurWorldConfig {
@@ -1352,6 +1384,7 @@ public class PurpurWorldConfig {
set("mobs.ravager.attributes.max_health", oldValue);
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
@@ -599,7 +599,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean salmonRidable = false;
@@ -1376,6 +1409,7 @@ public class PurpurWorldConfig {
@@ -1370,6 +1403,7 @@ public class PurpurWorldConfig {
public boolean sheepRidableInWater = false;
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
@@ -607,7 +607,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1386,6 +1420,7 @@ public class PurpurWorldConfig {
@@ -1380,6 +1414,7 @@ public class PurpurWorldConfig {
}
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
@@ -615,7 +615,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean shulkerRidable = false;
@@ -1405,6 +1440,7 @@ public class PurpurWorldConfig {
@@ -1399,6 +1434,7 @@ public class PurpurWorldConfig {
public boolean silverfishRidable = false;
public boolean silverfishRidableInWater = false;
public double silverfishMaxHealth = 8.0D;
@@ -623,7 +623,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1414,6 +1450,7 @@ public class PurpurWorldConfig {
@@ -1408,6 +1444,7 @@ public class PurpurWorldConfig {
set("mobs.silverfish.attributes.max_health", oldValue);
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
@@ -631,7 +631,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean skeletonRidable = false;
@@ -1481,6 +1518,7 @@ public class PurpurWorldConfig {
@@ -1475,6 +1512,7 @@ public class PurpurWorldConfig {
public int snowGolemSnowBallMax = 20;
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
@@ -639,7 +639,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1497,6 +1535,7 @@ public class PurpurWorldConfig {
@@ -1491,6 +1529,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);
@@ -647,7 +647,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean squidRidable = false;
@@ -1648,6 +1687,7 @@ public class PurpurWorldConfig {
@@ -1642,6 +1681,7 @@ public class PurpurWorldConfig {
public int villagerBreedingTicks = 6000;
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
@@ -655,7 +655,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1667,6 +1707,7 @@ public class PurpurWorldConfig {
@@ -1661,6 +1701,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);
@@ -663,7 +663,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean vindicatorRidable = false;
@@ -1723,6 +1764,7 @@ public class PurpurWorldConfig {
@@ -1717,6 +1758,7 @@ public class PurpurWorldConfig {
public double witherMaxHealth = 300.0D;
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
@@ -671,7 +671,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1739,6 +1781,7 @@ public class PurpurWorldConfig {
@@ -1733,6 +1775,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);
@@ -679,7 +679,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
}
public boolean witherSkeletonRidable = false;
@@ -1803,6 +1846,7 @@ public class PurpurWorldConfig {
@@ -1797,6 +1840,7 @@ public class PurpurWorldConfig {
public double zombieJockeyChance = 0.05D;
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
@@ -687,7 +687,7 @@ index ab2a909c34c9074916cdc1a5e0eabe920078180f..cb3c57b1e257c8f5c196de6f09c6cff9
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1817,6 +1861,7 @@ public class PurpurWorldConfig {
@@ -1811,6 +1855,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

@@ -22,10 +22,10 @@ index 7dd423f6b92b7f27dd43e5ef3f4029a100a8cfa6..8d0a1da17c38118293d1f05849cdc999
org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.getValue(NoteBlock.INSTRUMENT), data.getValue(NoteBlock.NOTE));
if (!event.isCancelled()) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index cb3c57b1e257c8f5c196de6f09c6cff9846e06c9..febd1ef87a18e22c70a7aafbf7b0c149896ff691 100644
index 3875a19e5217e0752738d4d7ed52e7a0f4a0bd4b..6801237f445c9196c1a33bc8ff09d1181250aa65 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -395,6 +395,7 @@ public class PurpurWorldConfig {
@@ -111,6 +111,7 @@ public class PurpurWorldConfig {
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
public boolean milkCuresBadOmen = true;
@@ -33,7 +33,7 @@ index cb3c57b1e257c8f5c196de6f09c6cff9846e06c9..febd1ef87a18e22c70a7aafbf7b0c149
public boolean persistentDroppableEntityDisplayNames = false;
public boolean projectilesBypassMobGriefing = false;
public double tridentLoyaltyVoidReturnHeight = 0.0D;
@@ -411,6 +412,7 @@ public class PurpurWorldConfig {
@@ -127,6 +128,7 @@ public class PurpurWorldConfig {
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);
milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen);

View File

@@ -108,10 +108,10 @@ index 29d8a6f8e8278d8d43f63761443dc47933af263b..8c0eda7a974d99565d7ca55dc8e35c98
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index febd1ef87a18e22c70a7aafbf7b0c149896ff691..ee869d363b3a49099d3130da6168470f5f4d68b8 100644
index 6801237f445c9196c1a33bc8ff09d1181250aa65..b8d83dbdcea2b042f5c0688ee52b9d06461a1993 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -394,6 +394,7 @@ public class PurpurWorldConfig {
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
public boolean entitiesCanUsePortals = true;
public boolean entitiesPickUpLootBypassMobGriefing = false;
public boolean fireballsBypassMobGriefing = false;
@@ -119,7 +119,7 @@ index febd1ef87a18e22c70a7aafbf7b0c149896ff691..ee869d363b3a49099d3130da6168470f
public boolean milkCuresBadOmen = true;
public boolean noteBlockIgnoreAbove = false;
public boolean persistentDroppableEntityDisplayNames = false;
@@ -411,6 +412,7 @@ public class PurpurWorldConfig {
@@ -127,6 +128,7 @@ public class PurpurWorldConfig {
entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals);
entitiesPickUpLootBypassMobGriefing = getBoolean("gameplay-mechanics.entities-pick-up-loot-bypass-mob-griefing", entitiesPickUpLootBypassMobGriefing);
fireballsBypassMobGriefing = getBoolean("gameplay-mechanics.fireballs-bypass-mob-griefing", fireballsBypassMobGriefing);

View File

@@ -37,10 +37,10 @@ index 4c80e2a10715ce4d4442ea4636808d1e10025494..a750d9cfbb7ba9057004924cac2b5a81
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 ee869d363b3a49099d3130da6168470f5f4d68b8..e702d8320d0ab891c93171dd52f1021a20b096ff 100644
index b8d83dbdcea2b042f5c0688ee52b9d06461a1993..d3dbf71515ffca426e962e7466cd89b07d66ccc6 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -460,10 +460,16 @@ public class PurpurWorldConfig {
@@ -443,10 +443,16 @@ public class PurpurWorldConfig {
public boolean farmlandBypassMobGriefing = false;
public boolean farmlandGetsMoistFromBelow = false;
public boolean farmlandAlpha = false;

View File

@@ -66,10 +66,10 @@ index 50370dc8697569a4e5cf8ec3714d227a59357d64..e9e24435057cff9c0af758ca2aa822c3
+ // Purpur end
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index e702d8320d0ab891c93171dd52f1021a20b096ff..8b734ad52e775a970bee86c3c6f846f1b610de87 100644
index d3dbf71515ffca426e962e7466cd89b07d66ccc6..68ed6beaa74f9c29f2840e06713fc66e4e62ef32 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -114,10 +114,16 @@ public class PurpurWorldConfig {
@@ -97,10 +97,16 @@ public class PurpurWorldConfig {
public float armorstandStepHeight = 0.0F;
public boolean armorstandSetNameVisible = false;
public boolean armorstandFixNametags = false;
@@ -85,4 +85,4 @@ index e702d8320d0ab891c93171dd52f1021a20b096ff..8b734ad52e775a970bee86c3c6f846f1
+ armorstandWaterFence = getBoolean("gameplay-mechanics.armorstand.can-move-in-water-over-fence", armorstandWaterFence);
}
public int daytimeTicks = 12000;
public boolean useBetterMending = false;

View File

@@ -37,10 +37,10 @@ index 1747b075d86585f795cde85f390a0a95b80ad3d7..d046f2f85efd54c3fe91ca5020bbc7b3
this.isInsidePortal = true;
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 8b734ad52e775a970bee86c3c6f846f1b610de87..706ecb3790e64f9a2df6dd6c09909aed42260212 100644
index 68ed6beaa74f9c29f2840e06713fc66e4e62ef32..9806ccd697981b9e41af8eede4209d72159a4d52 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -308,6 +308,7 @@ public class PurpurWorldConfig {
@@ -328,6 +328,7 @@ public class PurpurWorldConfig {
public int playerDeathExpDropMax = 100;
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
@@ -48,7 +48,7 @@ index 8b734ad52e775a970bee86c3c6f846f1b610de87..706ecb3790e64f9a2df6dd6c09909aed
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -325,6 +326,7 @@ public class PurpurWorldConfig {
@@ -345,6 +346,7 @@ public class PurpurWorldConfig {
playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax);
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);

View File

@@ -1174,10 +1174,10 @@ index c5dbb1c8210b71f7d9d91089cb139f65605573a8..e5b78c9d6fb326771d65ea9afd9da38c
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7ef2372241 100644
index 9806ccd697981b9e41af8eede4209d72159a4d52..ccf38f6ca45815a2dea27131d45cab83f780e8b2 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -554,6 +554,7 @@ public class PurpurWorldConfig {
@@ -548,6 +548,7 @@ public class PurpurWorldConfig {
useNightVisionWhenRiding = getBoolean("ridable-settings.use-night-vision", useNightVisionWhenRiding);
}
@@ -1185,7 +1185,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
public boolean axolotlRidable = false;
public double axolotlMaxHealth = 14.0D;
public int axolotlBreedingTicks = 6000;
@@ -561,6 +562,7 @@ public class PurpurWorldConfig {
@@ -555,6 +556,7 @@ public class PurpurWorldConfig {
axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable);
axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth);
axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks);
@@ -1193,7 +1193,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean batRidable = false;
@@ -574,6 +576,7 @@ public class PurpurWorldConfig {
@@ -568,6 +570,7 @@ public class PurpurWorldConfig {
public double batArmor = 0.0D;
public double batArmorToughness = 0.0D;
public double batAttackKnockback = 0.0D;
@@ -1201,7 +1201,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void batSettings() {
batRidable = getBoolean("mobs.bat.ridable", batRidable);
batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater);
@@ -584,6 +587,7 @@ public class PurpurWorldConfig {
@@ -578,6 +581,7 @@ public class PurpurWorldConfig {
set("mobs.bat.attributes.max_health", oldValue);
}
batMaxHealth = getDouble("mobs.bat.attributes.max_health", batMaxHealth);
@@ -1209,7 +1209,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean beeRidable = false;
@@ -591,6 +595,7 @@ public class PurpurWorldConfig {
@@ -585,6 +589,7 @@ public class PurpurWorldConfig {
public double beeMaxY = 256D;
public double beeMaxHealth = 10.0D;
public int beeBreedingTicks = 6000;
@@ -1217,7 +1217,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void beeSettings() {
beeRidable = getBoolean("mobs.bee.ridable", beeRidable);
beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater);
@@ -602,12 +607,14 @@ public class PurpurWorldConfig {
@@ -596,12 +601,14 @@ public class PurpurWorldConfig {
}
beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth);
beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks);
@@ -1232,7 +1232,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void blazeSettings() {
blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable);
blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater);
@@ -618,6 +625,7 @@ public class PurpurWorldConfig {
@@ -612,6 +619,7 @@ public class PurpurWorldConfig {
set("mobs.blaze.attributes.max_health", oldValue);
}
blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth);
@@ -1240,7 +1240,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean catRidable = false;
@@ -628,6 +636,7 @@ public class PurpurWorldConfig {
@@ -622,6 +630,7 @@ public class PurpurWorldConfig {
public int catSpawnSwampHutScanRange = 16;
public int catSpawnVillageScanRange = 48;
public int catBreedingTicks = 6000;
@@ -1248,7 +1248,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void catSettings() {
catRidable = getBoolean("mobs.cat.ridable", catRidable);
catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater);
@@ -646,11 +655,13 @@ public class PurpurWorldConfig {
@@ -640,11 +649,13 @@ 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);
@@ -1262,7 +1262,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void caveSpiderSettings() {
caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable);
caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater);
@@ -660,6 +671,7 @@ public class PurpurWorldConfig {
@@ -654,6 +665,7 @@ public class PurpurWorldConfig {
set("mobs.cave_spider.attributes.max_health", oldValue);
}
caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth);
@@ -1270,7 +1270,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean chickenRidable = false;
@@ -667,6 +679,7 @@ public class PurpurWorldConfig {
@@ -661,6 +673,7 @@ public class PurpurWorldConfig {
public double chickenMaxHealth = 4.0D;
public boolean chickenRetaliate = false;
public int chickenBreedingTicks = 6000;
@@ -1278,7 +1278,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void chickenSettings() {
chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable);
chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater);
@@ -678,10 +691,12 @@ public class PurpurWorldConfig {
@@ -672,10 +685,12 @@ public class PurpurWorldConfig {
chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth);
chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate);
chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks);
@@ -1291,7 +1291,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void codSettings() {
codRidable = getBoolean("mobs.cod.ridable", codRidable);
if (PurpurConfig.version < 10) {
@@ -690,6 +705,7 @@ public class PurpurWorldConfig {
@@ -684,6 +699,7 @@ public class PurpurWorldConfig {
set("mobs.cod.attributes.max_health", oldValue);
}
codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth);
@@ -1299,7 +1299,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean cowRidable = false;
@@ -697,6 +713,7 @@ public class PurpurWorldConfig {
@@ -691,6 +707,7 @@ public class PurpurWorldConfig {
public double cowMaxHealth = 10.0D;
public int cowFeedMushrooms = 0;
public int cowBreedingTicks = 6000;
@@ -1307,7 +1307,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void cowSettings() {
cowRidable = getBoolean("mobs.cow.ridable", cowRidable);
cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater);
@@ -708,6 +725,7 @@ public class PurpurWorldConfig {
@@ -702,6 +719,7 @@ public class PurpurWorldConfig {
cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth);
cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms);
cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks);
@@ -1315,7 +1315,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean creeperRidable = false;
@@ -716,6 +734,7 @@ public class PurpurWorldConfig {
@@ -710,6 +728,7 @@ public class PurpurWorldConfig {
public double creeperChargedChance = 0.0D;
public boolean creeperAllowGriefing = true;
public boolean creeperBypassMobGriefing = false;
@@ -1323,7 +1323,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void creeperSettings() {
creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable);
creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater);
@@ -728,6 +747,7 @@ public class PurpurWorldConfig {
@@ -722,6 +741,7 @@ public class PurpurWorldConfig {
creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance);
creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing);
creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing);
@@ -1331,7 +1331,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean dolphinRidable = false;
@@ -736,6 +756,7 @@ public class PurpurWorldConfig {
@@ -730,6 +750,7 @@ public class PurpurWorldConfig {
public float dolphinSpitDamage = 2.0F;
public double dolphinMaxHealth = 10.0D;
public boolean dolphinDisableTreasureSearching = false;
@@ -1339,7 +1339,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void dolphinSettings() {
dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable);
dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown);
@@ -748,6 +769,7 @@ public class PurpurWorldConfig {
@@ -742,6 +763,7 @@ public class PurpurWorldConfig {
}
dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth);
dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching);
@@ -1347,7 +1347,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean donkeyRidableInWater = false;
@@ -758,6 +780,7 @@ public class PurpurWorldConfig {
@@ -752,6 +774,7 @@ public class PurpurWorldConfig {
public double donkeyMovementSpeedMin = 0.175D;
public double donkeyMovementSpeedMax = 0.175D;
public int donkeyBreedingTicks = 6000;
@@ -1355,7 +1355,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void donkeySettings() {
donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater);
if (PurpurConfig.version < 10) {
@@ -774,6 +797,7 @@ public class PurpurWorldConfig {
@@ -768,6 +791,7 @@ public class PurpurWorldConfig {
donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin);
donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax);
donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks);
@@ -1363,7 +1363,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean drownedRidable = false;
@@ -783,6 +807,7 @@ public class PurpurWorldConfig {
@@ -777,6 +801,7 @@ public class PurpurWorldConfig {
public boolean drownedJockeyOnlyBaby = true;
public double drownedJockeyChance = 0.05D;
public boolean drownedJockeyTryExistingChickens = true;
@@ -1371,7 +1371,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void drownedSettings() {
drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable);
drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater);
@@ -796,10 +821,12 @@ public class PurpurWorldConfig {
@@ -790,10 +815,12 @@ public class PurpurWorldConfig {
drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby);
drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance);
drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens);
@@ -1384,7 +1384,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void elderGuardianSettings() {
elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable);
if (PurpurConfig.version < 10) {
@@ -808,6 +835,7 @@ public class PurpurWorldConfig {
@@ -802,6 +829,7 @@ public class PurpurWorldConfig {
set("mobs.elder_guardian.attributes.max_health", oldValue);
}
elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth);
@@ -1392,7 +1392,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean enderDragonRidable = false;
@@ -816,6 +844,7 @@ public class PurpurWorldConfig {
@@ -810,6 +838,7 @@ public class PurpurWorldConfig {
public double enderDragonMaxHealth = 200.0D;
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
@@ -1400,7 +1400,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -832,6 +861,7 @@ public class PurpurWorldConfig {
@@ -826,6 +855,7 @@ public class PurpurWorldConfig {
enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth);
enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp);
enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing);
@@ -1408,7 +1408,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean endermanRidable = false;
@@ -840,6 +870,7 @@ public class PurpurWorldConfig {
@@ -834,6 +864,7 @@ public class PurpurWorldConfig {
public boolean endermanAllowGriefing = true;
public boolean endermanDespawnEvenWithBlock = false;
public boolean endermanBypassMobGriefing = false;
@@ -1416,7 +1416,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void endermanSettings() {
endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable);
endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater);
@@ -852,11 +883,13 @@ public class PurpurWorldConfig {
@@ -846,11 +877,13 @@ public class PurpurWorldConfig {
endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing);
endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock);
endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing);
@@ -1430,7 +1430,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void endermiteSettings() {
endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable);
endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater);
@@ -866,12 +899,14 @@ public class PurpurWorldConfig {
@@ -860,12 +893,14 @@ public class PurpurWorldConfig {
set("mobs.endermite.attributes.max_health", oldValue);
}
endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth);
@@ -1445,7 +1445,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void evokerSettings() {
evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable);
evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater);
@@ -882,6 +917,7 @@ public class PurpurWorldConfig {
@@ -876,6 +911,7 @@ public class PurpurWorldConfig {
}
evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth);
evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing);
@@ -1453,7 +1453,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean foxRidable = false;
@@ -890,6 +926,7 @@ public class PurpurWorldConfig {
@@ -884,6 +920,7 @@ public class PurpurWorldConfig {
public boolean foxTypeChangesWithTulips = false;
public int foxBreedingTicks = 6000;
public boolean foxBypassMobGriefing = false;
@@ -1461,7 +1461,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void foxSettings() {
foxRidable = getBoolean("mobs.fox.ridable", foxRidable);
foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater);
@@ -902,12 +939,14 @@ public class PurpurWorldConfig {
@@ -896,12 +933,14 @@ public class PurpurWorldConfig {
foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips);
foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks);
foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing);
@@ -1476,7 +1476,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void ghastSettings() {
ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable);
ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater);
@@ -918,6 +957,7 @@ public class PurpurWorldConfig {
@@ -912,6 +951,7 @@ public class PurpurWorldConfig {
set("mobs.ghast.attributes.max_health", oldValue);
}
ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth);
@@ -1484,7 +1484,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean giantRidable = false;
@@ -929,6 +969,7 @@ public class PurpurWorldConfig {
@@ -923,6 +963,7 @@ public class PurpurWorldConfig {
public float giantJumpHeight = 1.0F;
public boolean giantHaveAI = false;
public boolean giantHaveHostileAI = false;
@@ -1492,7 +1492,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void giantSettings() {
giantRidable = getBoolean("mobs.giant.ridable", giantRidable);
giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater);
@@ -948,30 +989,36 @@ public class PurpurWorldConfig {
@@ -942,30 +983,36 @@ public class PurpurWorldConfig {
giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight);
giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI);
giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI);
@@ -1529,7 +1529,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void guardianSettings() {
guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable);
if (PurpurConfig.version < 10) {
@@ -980,12 +1027,14 @@ public class PurpurWorldConfig {
@@ -974,12 +1021,14 @@ public class PurpurWorldConfig {
set("mobs.guardian.attributes.max_health", oldValue);
}
guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth);
@@ -1544,7 +1544,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void hoglinSettings() {
hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable);
hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater);
@@ -996,6 +1045,7 @@ public class PurpurWorldConfig {
@@ -990,6 +1039,7 @@ public class PurpurWorldConfig {
}
hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth);
hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks);
@@ -1552,7 +1552,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean horseRidableInWater = false;
@@ -1006,6 +1056,7 @@ public class PurpurWorldConfig {
@@ -1000,6 +1050,7 @@ public class PurpurWorldConfig {
public double horseMovementSpeedMin = 0.1125D;
public double horseMovementSpeedMax = 0.3375D;
public int horseBreedingTicks = 6000;
@@ -1560,7 +1560,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void horseSettings() {
horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1022,6 +1073,7 @@ public class PurpurWorldConfig {
@@ -1016,6 +1067,7 @@ public class PurpurWorldConfig {
horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin);
horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax);
horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks);
@@ -1568,7 +1568,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean huskRidable = false;
@@ -1031,6 +1083,7 @@ public class PurpurWorldConfig {
@@ -1025,6 +1077,7 @@ public class PurpurWorldConfig {
public boolean huskJockeyOnlyBaby = true;
public double huskJockeyChance = 0.05D;
public boolean huskJockeyTryExistingChickens = true;
@@ -1576,7 +1576,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void huskSettings() {
huskRidable = getBoolean("mobs.husk.ridable", huskRidable);
huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater);
@@ -1044,6 +1097,7 @@ public class PurpurWorldConfig {
@@ -1038,6 +1091,7 @@ public class PurpurWorldConfig {
huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby);
huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance);
huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens);
@@ -1584,7 +1584,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean illusionerRidable = false;
@@ -1051,6 +1105,7 @@ public class PurpurWorldConfig {
@@ -1045,6 +1099,7 @@ public class PurpurWorldConfig {
public double illusionerMovementSpeed = 0.5D;
public double illusionerFollowRange = 18.0D;
public double illusionerMaxHealth = 32.0D;
@@ -1592,7 +1592,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void illusionerSettings() {
illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable);
illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater);
@@ -1066,12 +1121,14 @@ public class PurpurWorldConfig {
@@ -1060,12 +1115,14 @@ public class PurpurWorldConfig {
set("mobs.illusioner.attributes.max_health", oldValue);
}
illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth);
@@ -1607,7 +1607,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void ironGolemSettings() {
ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable);
ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater);
@@ -1082,6 +1139,7 @@ public class PurpurWorldConfig {
@@ -1076,6 +1133,7 @@ public class PurpurWorldConfig {
set("mobs.iron_golem.attributes.max_health", oldValue);
}
ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth);
@@ -1615,7 +1615,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean llamaRidable = false;
@@ -1093,6 +1151,7 @@ public class PurpurWorldConfig {
@@ -1087,6 +1145,7 @@ public class PurpurWorldConfig {
public double llamaMovementSpeedMin = 0.175D;
public double llamaMovementSpeedMax = 0.175D;
public int llamaBreedingTicks = 6000;
@@ -1623,7 +1623,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void llamaSettings() {
llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable);
llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater);
@@ -1110,11 +1169,13 @@ public class PurpurWorldConfig {
@@ -1104,11 +1163,13 @@ public class PurpurWorldConfig {
llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin);
llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax);
llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks);
@@ -1637,7 +1637,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void magmaCubeSettings() {
magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable);
magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater);
@@ -1124,12 +1185,14 @@ public class PurpurWorldConfig {
@@ -1118,12 +1179,14 @@ public class PurpurWorldConfig {
set("mobs.magma_cube.attributes.max_health", oldValue);
}
magmaCubeMaxHealth = getString("mobs.magma_cube.attributes.max_health", magmaCubeMaxHealth);
@@ -1652,7 +1652,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void mooshroomSettings() {
mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable);
mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater);
@@ -1140,6 +1203,7 @@ public class PurpurWorldConfig {
@@ -1134,6 +1197,7 @@ public class PurpurWorldConfig {
}
mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth);
mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks);
@@ -1660,7 +1660,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean muleRidableInWater = false;
@@ -1150,6 +1214,7 @@ public class PurpurWorldConfig {
@@ -1144,6 +1208,7 @@ public class PurpurWorldConfig {
public double muleMovementSpeedMin = 0.175D;
public double muleMovementSpeedMax = 0.175D;
public int muleBreedingTicks = 6000;
@@ -1668,7 +1668,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void muleSettings() {
muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater);
if (PurpurConfig.version < 10) {
@@ -1166,12 +1231,14 @@ public class PurpurWorldConfig {
@@ -1160,12 +1225,14 @@ public class PurpurWorldConfig {
muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin);
muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax);
muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks);
@@ -1683,7 +1683,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void ocelotSettings() {
ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable);
ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater);
@@ -1182,12 +1249,14 @@ public class PurpurWorldConfig {
@@ -1176,12 +1243,14 @@ public class PurpurWorldConfig {
}
ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth);
ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks);
@@ -1698,7 +1698,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void pandaSettings() {
pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable);
pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater);
@@ -1198,12 +1267,14 @@ public class PurpurWorldConfig {
@@ -1192,12 +1261,14 @@ public class PurpurWorldConfig {
}
pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth);
pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks);
@@ -1713,7 +1713,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void parrotSettings() {
parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable);
parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater);
@@ -1214,6 +1285,7 @@ public class PurpurWorldConfig {
@@ -1208,6 +1279,7 @@ public class PurpurWorldConfig {
set("mobs.parrot.attributes.max_health", oldValue);
}
parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth);
@@ -1721,7 +1721,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean phantomRidable = false;
@@ -1242,6 +1314,7 @@ public class PurpurWorldConfig {
@@ -1236,6 +1308,7 @@ public class PurpurWorldConfig {
public int phantomBurnInLight = 0;
public boolean phantomIgnorePlayersWithTorch = false;
public boolean phantomBurnInDaylight = true;
@@ -1729,7 +1729,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void phantomSettings() {
phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable);
phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater);
@@ -1274,6 +1347,7 @@ public class PurpurWorldConfig {
@@ -1268,6 +1341,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);
@@ -1737,7 +1737,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean pigRidable = false;
@@ -1281,6 +1355,7 @@ public class PurpurWorldConfig {
@@ -1275,6 +1349,7 @@ public class PurpurWorldConfig {
public double pigMaxHealth = 10.0D;
public boolean pigGiveSaddleBack = false;
public int pigBreedingTicks = 6000;
@@ -1745,7 +1745,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void pigSettings() {
pigRidable = getBoolean("mobs.pig.ridable", pigRidable);
pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater);
@@ -1292,12 +1367,14 @@ public class PurpurWorldConfig {
@@ -1286,12 +1361,14 @@ public class PurpurWorldConfig {
pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth);
pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack);
pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks);
@@ -1760,7 +1760,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void piglinSettings() {
piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable);
piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater);
@@ -1308,11 +1385,13 @@ public class PurpurWorldConfig {
@@ -1302,11 +1379,13 @@ public class PurpurWorldConfig {
}
piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth);
piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing);
@@ -1774,7 +1774,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void piglinBruteSettings() {
piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable);
piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater);
@@ -1322,12 +1401,14 @@ public class PurpurWorldConfig {
@@ -1316,12 +1395,14 @@ public class PurpurWorldConfig {
set("mobs.piglin_brute.attributes.max_health", oldValue);
}
piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth);
@@ -1789,7 +1789,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void pillagerSettings() {
pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable);
pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater);
@@ -1338,6 +1419,7 @@ public class PurpurWorldConfig {
@@ -1332,6 +1413,7 @@ public class PurpurWorldConfig {
}
pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth);
pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing);
@@ -1797,7 +1797,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean polarBearRidable = false;
@@ -1346,6 +1428,7 @@ public class PurpurWorldConfig {
@@ -1340,6 +1422,7 @@ public class PurpurWorldConfig {
public String polarBearBreedableItemString = "";
public Item polarBearBreedableItem = null;
public int polarBearBreedingTicks = 6000;
@@ -1805,7 +1805,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void polarBearSettings() {
polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable);
polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater);
@@ -1359,10 +1442,12 @@ public class PurpurWorldConfig {
@@ -1353,10 +1436,12 @@ public class PurpurWorldConfig {
Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString));
if (item != Items.AIR) polarBearBreedableItem = item;
polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks);
@@ -1818,7 +1818,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void pufferfishSettings() {
pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable);
if (PurpurConfig.version < 10) {
@@ -1371,6 +1456,7 @@ public class PurpurWorldConfig {
@@ -1365,6 +1450,7 @@ public class PurpurWorldConfig {
set("mobs.pufferfish.attributes.max_health", oldValue);
}
pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth);
@@ -1826,7 +1826,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean rabbitRidable = false;
@@ -1380,6 +1466,7 @@ public class PurpurWorldConfig {
@@ -1374,6 +1460,7 @@ public class PurpurWorldConfig {
public double rabbitNaturalKiller = 0.0D;
public int rabbitBreedingTicks = 6000;
public boolean rabbitBypassMobGriefing = false;
@@ -1834,7 +1834,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void rabbitSettings() {
rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable);
rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater);
@@ -1393,12 +1480,14 @@ public class PurpurWorldConfig {
@@ -1387,12 +1474,14 @@ public class PurpurWorldConfig {
rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller);
rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks);
rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing);
@@ -1849,7 +1849,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void ravagerSettings() {
ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable);
ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater);
@@ -1409,10 +1498,12 @@ public class PurpurWorldConfig {
@@ -1403,10 +1492,12 @@ public class PurpurWorldConfig {
}
ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth);
ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing);
@@ -1862,7 +1862,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void salmonSettings() {
salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable);
if (PurpurConfig.version < 10) {
@@ -1421,6 +1512,7 @@ public class PurpurWorldConfig {
@@ -1415,6 +1506,7 @@ public class PurpurWorldConfig {
set("mobs.salmon.attributes.max_health", oldValue);
}
salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth);
@@ -1870,7 +1870,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean sheepRidable = false;
@@ -1428,6 +1520,7 @@ public class PurpurWorldConfig {
@@ -1422,6 +1514,7 @@ public class PurpurWorldConfig {
public double sheepMaxHealth = 8.0D;
public int sheepBreedingTicks = 6000;
public boolean sheepBypassMobGriefing = false;
@@ -1878,7 +1878,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void sheepSettings() {
sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable);
sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater);
@@ -1439,11 +1532,13 @@ public class PurpurWorldConfig {
@@ -1433,11 +1526,13 @@ public class PurpurWorldConfig {
sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth);
sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks);
sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing);
@@ -1892,7 +1892,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void shulkerSettings() {
shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable);
shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater);
@@ -1453,12 +1548,14 @@ public class PurpurWorldConfig {
@@ -1447,12 +1542,14 @@ public class PurpurWorldConfig {
set("mobs.shulker.attributes.max_health", oldValue);
}
shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth);
@@ -1907,7 +1907,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void silverfishSettings() {
silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable);
silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater);
@@ -1469,11 +1566,13 @@ public class PurpurWorldConfig {
@@ -1463,11 +1560,13 @@ public class PurpurWorldConfig {
}
silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth);
silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing);
@@ -1921,7 +1921,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void skeletonSettings() {
skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable);
skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater);
@@ -1483,6 +1582,7 @@ public class PurpurWorldConfig {
@@ -1477,6 +1576,7 @@ public class PurpurWorldConfig {
set("mobs.skeleton.attributes.max_health", oldValue);
}
skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth);
@@ -1929,7 +1929,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean skeletonHorseRidableInWater = true;
@@ -1493,6 +1593,7 @@ public class PurpurWorldConfig {
@@ -1487,6 +1587,7 @@ public class PurpurWorldConfig {
public double skeletonHorseJumpStrengthMax = 1.0D;
public double skeletonHorseMovementSpeedMin = 0.2D;
public double skeletonHorseMovementSpeedMax = 0.2D;
@@ -1937,7 +1937,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void skeletonHorseSettings() {
skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater);
skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim);
@@ -1508,12 +1609,14 @@ public class PurpurWorldConfig {
@@ -1502,12 +1603,14 @@ public class PurpurWorldConfig {
skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax);
skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin);
skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax);
@@ -1952,7 +1952,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void slimeSettings() {
slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable);
slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater);
@@ -1524,6 +1627,7 @@ public class PurpurWorldConfig {
@@ -1518,6 +1621,7 @@ public class PurpurWorldConfig {
}
slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth);
slimeMaxHealthCache.clear();
@@ -1960,7 +1960,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean snowGolemRidable = false;
@@ -1537,6 +1641,7 @@ public class PurpurWorldConfig {
@@ -1531,6 +1635,7 @@ public class PurpurWorldConfig {
public float snowGolemSnowBallModifier = 10.0F;
public double snowGolemAttackDistance = 1.25D;
public boolean snowGolemBypassMobGriefing = false;
@@ -1968,7 +1968,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void snowGolemSettings() {
snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable);
snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater);
@@ -1554,6 +1659,7 @@ public class PurpurWorldConfig {
@@ -1548,6 +1653,7 @@ public class PurpurWorldConfig {
snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier);
snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance);
snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing);
@@ -1976,7 +1976,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean squidRidable = false;
@@ -1561,6 +1667,7 @@ public class PurpurWorldConfig {
@@ -1555,6 +1661,7 @@ public class PurpurWorldConfig {
public boolean squidImmuneToEAR = true;
public double squidOffsetWaterCheck = 0.0D;
public boolean squidsCanFly = false;
@@ -1984,7 +1984,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void squidSettings() {
squidRidable = getBoolean("mobs.squid.ridable", squidRidable);
if (PurpurConfig.version < 10) {
@@ -1572,11 +1679,13 @@ public class PurpurWorldConfig {
@@ -1566,11 +1673,13 @@ public class PurpurWorldConfig {
squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR);
squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck);
squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly);
@@ -1998,7 +1998,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void spiderSettings() {
spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable);
spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater);
@@ -1586,11 +1695,13 @@ public class PurpurWorldConfig {
@@ -1580,11 +1689,13 @@ public class PurpurWorldConfig {
set("mobs.spider.attributes.max_health", oldValue);
}
spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth);
@@ -2012,7 +2012,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void straySettings() {
strayRidable = getBoolean("mobs.stray.ridable", strayRidable);
strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater);
@@ -1600,6 +1711,7 @@ public class PurpurWorldConfig {
@@ -1594,6 +1705,7 @@ public class PurpurWorldConfig {
set("mobs.stray.attributes.max_health", oldValue);
}
strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth);
@@ -2020,7 +2020,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean striderRidable = false;
@@ -1607,6 +1719,7 @@ public class PurpurWorldConfig {
@@ -1601,6 +1713,7 @@ public class PurpurWorldConfig {
public double striderMaxHealth = 20.0D;
public int striderBreedingTicks = 6000;
public boolean striderGiveSaddleBack = false;
@@ -2028,7 +2028,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void striderSettings() {
striderRidable = getBoolean("mobs.strider.ridable", striderRidable);
striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater);
@@ -1618,6 +1731,7 @@ public class PurpurWorldConfig {
@@ -1612,6 +1725,7 @@ public class PurpurWorldConfig {
striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth);
striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks);
striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack);
@@ -2036,7 +2036,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean traderLlamaRidable = false;
@@ -1629,6 +1743,7 @@ public class PurpurWorldConfig {
@@ -1623,6 +1737,7 @@ public class PurpurWorldConfig {
public double traderLlamaMovementSpeedMin = 0.175D;
public double traderLlamaMovementSpeedMax = 0.175D;
public int traderLlamaBreedingTicks = 6000;
@@ -2044,7 +2044,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void traderLlamaSettings() {
traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable);
traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater);
@@ -1646,10 +1761,12 @@ public class PurpurWorldConfig {
@@ -1640,10 +1755,12 @@ public class PurpurWorldConfig {
traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin);
traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax);
traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks);
@@ -2057,7 +2057,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void tropicalFishSettings() {
tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable);
if (PurpurConfig.version < 10) {
@@ -1658,12 +1775,14 @@ public class PurpurWorldConfig {
@@ -1652,12 +1769,14 @@ public class PurpurWorldConfig {
set("mobs.tropical_fish.attributes.max_health", oldValue);
}
tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth);
@@ -2072,7 +2072,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void turtleSettings() {
turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable);
turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater);
@@ -1674,12 +1793,14 @@ public class PurpurWorldConfig {
@@ -1668,12 +1787,14 @@ public class PurpurWorldConfig {
}
turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth);
turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks);
@@ -2087,7 +2087,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void vexSettings() {
vexRidable = getBoolean("mobs.vex.ridable", vexRidable);
vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater);
@@ -1690,6 +1811,7 @@ public class PurpurWorldConfig {
@@ -1684,6 +1805,7 @@ public class PurpurWorldConfig {
set("mobs.vex.attributes.max_health", oldValue);
}
vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth);
@@ -2095,7 +2095,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean villagerRidable = false;
@@ -1706,6 +1828,7 @@ public class PurpurWorldConfig {
@@ -1700,6 +1822,7 @@ public class PurpurWorldConfig {
public boolean villagerClericsFarmWarts = false;
public boolean villagerClericFarmersThrowWarts = true;
public boolean villagerBypassMobGriefing = false;
@@ -2103,7 +2103,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void villagerSettings() {
villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable);
villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater);
@@ -1726,12 +1849,14 @@ public class PurpurWorldConfig {
@@ -1720,12 +1843,14 @@ public class PurpurWorldConfig {
villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts);
villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts);
villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing);
@@ -2118,7 +2118,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void vindicatorSettings() {
vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable);
vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater);
@@ -1742,6 +1867,7 @@ public class PurpurWorldConfig {
@@ -1736,6 +1861,7 @@ public class PurpurWorldConfig {
}
vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth);
vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance);
@@ -2126,7 +2126,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean wanderingTraderRidable = false;
@@ -1749,6 +1875,7 @@ public class PurpurWorldConfig {
@@ -1743,6 +1869,7 @@ public class PurpurWorldConfig {
public double wanderingTraderMaxHealth = 20.0D;
public boolean wanderingTraderFollowEmeraldBlock = false;
public boolean wanderingTraderCanBeLeashed = false;
@@ -2134,7 +2134,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void wanderingTraderSettings() {
wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable);
wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater);
@@ -1760,11 +1887,13 @@ public class PurpurWorldConfig {
@@ -1754,11 +1881,13 @@ public class PurpurWorldConfig {
wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth);
wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock);
wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed);
@@ -2148,7 +2148,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void witchSettings() {
witchRidable = getBoolean("mobs.witch.ridable", witchRidable);
witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater);
@@ -1774,6 +1903,7 @@ public class PurpurWorldConfig {
@@ -1768,6 +1897,7 @@ public class PurpurWorldConfig {
set("mobs.witch.attributes.max_health", oldValue);
}
witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth);
@@ -2156,7 +2156,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean witherRidable = false;
@@ -1783,6 +1913,7 @@ public class PurpurWorldConfig {
@@ -1777,6 +1907,7 @@ public class PurpurWorldConfig {
public float witherHealthRegenAmount = 1.0f;
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
@@ -2164,7 +2164,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1800,11 +1931,13 @@ public class PurpurWorldConfig {
@@ -1794,11 +1925,13 @@ public class PurpurWorldConfig {
witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount);
witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay);
witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing);
@@ -2178,7 +2178,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void witherSkeletonSettings() {
witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable);
witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater);
@@ -1814,6 +1947,7 @@ public class PurpurWorldConfig {
@@ -1808,6 +1941,7 @@ public class PurpurWorldConfig {
set("mobs.wither_skeleton.attributes.max_health", oldValue);
}
witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth);
@@ -2186,7 +2186,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean wolfRidable = false;
@@ -1823,6 +1957,7 @@ public class PurpurWorldConfig {
@@ -1817,6 +1951,7 @@ public class PurpurWorldConfig {
public boolean wolfMilkCuresRabies = true;
public double wolfNaturalRabid = 0.0D;
public int wolfBreedingTicks = 6000;
@@ -2194,7 +2194,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void wolfSettings() {
wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable);
wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater);
@@ -1840,11 +1975,13 @@ public class PurpurWorldConfig {
@@ -1834,11 +1969,13 @@ 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);
@@ -2208,7 +2208,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void zoglinSettings() {
zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable);
zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater);
@@ -1854,6 +1991,7 @@ public class PurpurWorldConfig {
@@ -1848,6 +1985,7 @@ public class PurpurWorldConfig {
set("mobs.zoglin.attributes.max_health", oldValue);
}
zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth);
@@ -2216,7 +2216,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean zombieRidable = false;
@@ -1865,6 +2003,7 @@ public class PurpurWorldConfig {
@@ -1859,6 +1997,7 @@ public class PurpurWorldConfig {
public boolean zombieJockeyTryExistingChickens = true;
public boolean zombieAggressiveTowardsVillagerWhenLagging = true;
public boolean zombieBypassMobGriefing = false;
@@ -2224,7 +2224,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void zombieSettings() {
zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable);
zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater);
@@ -1880,6 +2019,7 @@ public class PurpurWorldConfig {
@@ -1874,6 +2013,7 @@ public class PurpurWorldConfig {
zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens);
zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging);
zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing);
@@ -2232,7 +2232,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean zombieHorseRidableInWater = false;
@@ -1891,6 +2031,7 @@ public class PurpurWorldConfig {
@@ -1885,6 +2025,7 @@ public class PurpurWorldConfig {
public double zombieHorseMovementSpeedMin = 0.2D;
public double zombieHorseMovementSpeedMax = 0.2D;
public double zombieHorseSpawnChance = 0.0D;
@@ -2240,7 +2240,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void zombieHorseSettings() {
zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater);
zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim);
@@ -1907,6 +2048,7 @@ public class PurpurWorldConfig {
@@ -1901,6 +2042,7 @@ public class PurpurWorldConfig {
zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin);
zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax);
zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance);
@@ -2248,7 +2248,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean zombieVillagerRidable = false;
@@ -1916,6 +2058,7 @@ public class PurpurWorldConfig {
@@ -1910,6 +2052,7 @@ public class PurpurWorldConfig {
public boolean zombieVillagerJockeyOnlyBaby = true;
public double zombieVillagerJockeyChance = 0.05D;
public boolean zombieVillagerJockeyTryExistingChickens = true;
@@ -2256,7 +2256,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void zombieVillagerSettings() {
zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable);
zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater);
@@ -1929,6 +2072,7 @@ public class PurpurWorldConfig {
@@ -1923,6 +2066,7 @@ public class PurpurWorldConfig {
zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby);
zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance);
zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens);
@@ -2264,7 +2264,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
}
public boolean zombifiedPiglinRidable = false;
@@ -1939,6 +2083,7 @@ public class PurpurWorldConfig {
@@ -1933,6 +2077,7 @@ public class PurpurWorldConfig {
public double zombifiedPiglinJockeyChance = 0.05D;
public boolean zombifiedPiglinJockeyTryExistingChickens = true;
public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true;
@@ -2272,7 +2272,7 @@ index 706ecb3790e64f9a2df6dd6c09909aed42260212..6458959057c55017145a78ebc8e3bc7e
private void zombifiedPiglinSettings() {
zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable);
zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater);
@@ -1953,5 +2098,6 @@ public class PurpurWorldConfig {
@@ -1947,5 +2092,6 @@ public class PurpurWorldConfig {
zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance);
zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens);
zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry);

View File

@@ -59,10 +59,10 @@ index 663683a50f7a1125f406b6ec8bf7a0419be5f36a..713fe8ac2293fe2e60c5834b3d6fd2f1
this.navigation.stop();
this.setTarget((LivingEntity) null);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 6458959057c55017145a78ebc8e3bc7ef2372241..84e3221c0ebc3faaa21b599ef2411e0316a208bf 100644
index ccf38f6ca45815a2dea27131d45cab83f780e8b2..574dfb9b8c9ffdbef07fedf76d5d835c61d83d3e 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -396,6 +396,7 @@ public class PurpurWorldConfig {
@@ -110,6 +110,7 @@ public class PurpurWorldConfig {
}
public boolean useBetterMending = false;
@@ -70,7 +70,7 @@ index 6458959057c55017145a78ebc8e3bc7ef2372241..84e3221c0ebc3faaa21b599ef2411e03
public boolean boatEjectPlayersOnLand = false;
public boolean boatsDoFallDamage = true;
public boolean disableDropsOnCrammingDeath = false;
@@ -414,6 +415,7 @@ public class PurpurWorldConfig {
@@ -128,6 +129,7 @@ public class PurpurWorldConfig {
public int animalBreedingCooldownSeconds = 0;
private void miscGameplayMechanicsSettings() {
useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending);

View File

@@ -52,10 +52,10 @@ index f8863cabad1bd0c3c2c62b8e17612d9559237d68..06c6addfa2a8dab1ad52a3588e9aeba5
this.onDestroyedBy(source);
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index 84e3221c0ebc3faaa21b599ef2411e0316a208bf..fc840b79ecf30f98a08dca64627c55ffb3468839 100644
index 574dfb9b8c9ffdbef07fedf76d5d835c61d83d3e..1e5e27f4df0ee17aebd50a25342571f44825f10a 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -467,6 +467,35 @@ public class PurpurWorldConfig {
@@ -450,6 +450,35 @@ public class PurpurWorldConfig {
dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils);
}

View File

@@ -29,10 +29,10 @@ index 3b752f97f75c78657f37215ecd92b7460a71f090..5ef45fe1dac1df779727f9c441f7e651
}
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index fc840b79ecf30f98a08dca64627c55ffb3468839..dbd316e70d3de436e823a4e850a5adaa6c0e68b3 100644
index 1e5e27f4df0ee17aebd50a25342571f44825f10a..ffe4321368b2d11d73d8d64b562b54870c8eb1b9 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -876,6 +876,7 @@ public class PurpurWorldConfig {
@@ -870,6 +870,7 @@ public class PurpurWorldConfig {
public boolean enderDragonAlwaysDropsFullExp = false;
public boolean enderDragonBypassMobGriefing = false;
public boolean enderDragonTakeDamageFromWater = false;
@@ -40,7 +40,7 @@ index fc840b79ecf30f98a08dca64627c55ffb3468839..dbd316e70d3de436e823a4e850a5adaa
private void enderDragonSettings() {
enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable);
enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater);
@@ -893,6 +894,7 @@ public class PurpurWorldConfig {
@@ -887,6 +888,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 fc840b79ecf30f98a08dca64627c55ffb3468839..dbd316e70d3de436e823a4e850a5adaa
}
public boolean endermanRidable = false;
@@ -1945,6 +1947,7 @@ public class PurpurWorldConfig {
@@ -1939,6 +1941,7 @@ public class PurpurWorldConfig {
public int witherHealthRegenDelay = 20;
public boolean witherBypassMobGriefing = false;
public boolean witherTakeDamageFromWater = false;
@@ -56,7 +56,7 @@ index fc840b79ecf30f98a08dca64627c55ffb3468839..dbd316e70d3de436e823a4e850a5adaa
private void witherSettings() {
witherRidable = getBoolean("mobs.wither.ridable", witherRidable);
witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater);
@@ -1963,6 +1966,7 @@ public class PurpurWorldConfig {
@@ -1957,6 +1960,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

@@ -93,10 +93,10 @@ index 4592b84984d35ee4cc63beebacad089c5a0317ed..2cd5c8823eb8215b3e2a6eb7dd34b752
public static String serverModName = "Purpur";
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index dbd316e70d3de436e823a4e850a5adaa6c0e68b3..b6f506bb17369d542e594158e1ebd9bb4ae8d02e 100644
index ffe4321368b2d11d73d8d64b562b54870c8eb1b9..06e7919068a693ac3f8dbf988d9f3fbe6f04538f 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -168,6 +168,8 @@ public class PurpurWorldConfig {
@@ -190,6 +190,8 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToExplosion = new ArrayList<>();
public List<Item> itemImmuneToFire = new ArrayList<>();
public List<Item> itemImmuneToLightning = new ArrayList<>();
@@ -105,7 +105,7 @@ index dbd316e70d3de436e823a4e850a5adaa6c0e68b3..b6f506bb17369d542e594158e1ebd9bb
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -205,6 +207,8 @@ public class PurpurWorldConfig {
@@ -227,6 +229,8 @@ public class PurpurWorldConfig {
Item item = Registry.ITEM.get(new ResourceLocation(key.toString()));
if (item != Items.AIR) itemImmuneToLightning.add(item);
});

View File

@@ -30,10 +30,10 @@ index d0fbbaaa48d7e199ab22bc0b089f2ad45fe816ee..24b2d3b768f0b3fd0bd2238419aec6e0
if (human) {
// PAIL: Be sure to drag all this code from the EntityHuman subclass each update.
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index b6f506bb17369d542e594158e1ebd9bb4ae8d02e..a0bb3b03e2f7d7dbc10b63a739690b775ce6f7b5 100644
index 06e7919068a693ac3f8dbf988d9f3fbe6f04538f..36bf919a4ac62d4fdd85a35e747c3a8b0d5cc7c0 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -313,6 +313,7 @@ public class PurpurWorldConfig {
@@ -335,6 +335,7 @@ public class PurpurWorldConfig {
public boolean teleportIfOutsideBorder = false;
public boolean totemOfUndyingWorksInInventory = false;
public boolean playerFixStuckPortal = false;
@@ -41,7 +41,7 @@ index b6f506bb17369d542e594158e1ebd9bb4ae8d02e..a0bb3b03e2f7d7dbc10b63a739690b77
private void playerSettings() {
if (PurpurConfig.version < 19) {
boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer);
@@ -331,6 +332,7 @@ public class PurpurWorldConfig {
@@ -353,6 +354,7 @@ public class PurpurWorldConfig {
teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder);
totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory);
playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal);

View File

@@ -29,10 +29,10 @@ index fbbb0155bd66f1daa160e03f866741d903e1869e..86f7b4117b8b9bd36e38962e3290f7b9
@Override
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index a0bb3b03e2f7d7dbc10b63a739690b775ce6f7b5..d42a4c9d96c1bbf804302b522dcc85b88a6333dd 100644
index 36bf919a4ac62d4fdd85a35e747c3a8b0d5cc7c0..551c15ae84829beecfa27630c0c7b63b0fb829ef 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -528,6 +528,11 @@ public class PurpurWorldConfig {
@@ -511,6 +511,11 @@ public class PurpurWorldConfig {
furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath);
}

View File

@@ -43,10 +43,10 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f
// Paper end
if (user instanceof net.minecraft.server.level.ServerPlayer) {
diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
index d42a4c9d96c1bbf804302b522dcc85b88a6333dd..160cf3d47975b074ca63b09feabb42a0b1eefe5b 100644
index 551c15ae84829beecfa27630c0c7b63b0fb829ef..36ce45826a1397052d46d5a6ccb4b77c3e01fd9b 100644
--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java
@@ -170,6 +170,10 @@ public class PurpurWorldConfig {
@@ -192,6 +192,10 @@ public class PurpurWorldConfig {
public List<Item> itemImmuneToLightning = new ArrayList<>();
public boolean dontRunWithScissors = false;
public double scissorsRunningDamage = 1D;
@@ -57,7 +57,7 @@ index d42a4c9d96c1bbf804302b522dcc85b88a6333dd..160cf3d47975b074ca63b09feabb42a0
private void itemSettings() {
itemImmuneToCactus.clear();
getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> {
@@ -209,6 +213,10 @@ public class PurpurWorldConfig {
@@ -231,6 +235,10 @@ public class PurpurWorldConfig {
});
dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors);
scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage);

Some files were not shown because too many files have changed in this diff Show More