diff --git a/patches/api/0023-ChatColor-conveniences.patch b/patches/api/0023-ChatColor-conveniences.patch index 9c0f19ba9..be69812a1 100644 --- a/patches/api/0023-ChatColor-conveniences.patch +++ b/patches/api/0023-ChatColor-conveniences.patch @@ -5,17 +5,64 @@ Subject: [PATCH] ChatColor conveniences diff --git a/src/main/java/org/bukkit/ChatColor.java b/src/main/java/org/bukkit/ChatColor.java -index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..499b222dee1f11d497a29a9a263a5596401ca1eb 100644 +index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..bf2a3d76c51fd445667291e203909a5df69a7bcb 100644 --- a/src/main/java/org/bukkit/ChatColor.java +++ b/src/main/java/org/bukkit/ChatColor.java -@@ -413,4 +413,30 @@ public enum ChatColor { +@@ -2,6 +2,7 @@ package org.bukkit; + + import com.google.common.collect.Maps; + import java.util.Map; ++import java.util.regex.Matcher; + import java.util.regex.Pattern; + import org.apache.commons.lang.Validate; + import org.jetbrains.annotations.Contract; +@@ -413,4 +414,71 @@ public enum ChatColor { BY_CHAR.put(color.code, color); } } + + // Purpur start ++ /** ++ * Convert legacy string into a string ready to be parsed by MiniMessage ++ * ++ * @param str Legacy string ++ * @return MiniMessage ready string ++ */ ++ public static String toMM(String str) { ++ StringBuilder sb = new StringBuilder(str); ++ Matcher m = STRIP_COLOR_PATTERN.matcher(sb); ++ while (m.find()) { ++ sb.replace(m.start(), m.end(), sb.substring(m.start(), m.end()).toLowerCase()); ++ } ++ return sb.toString() ++ .replace("&0", "") ++ .replace("&1", "") ++ .replace("&2", "") ++ .replace("&3", "") ++ .replace("&4", "") ++ .replace("&5", "") ++ .replace("&6", "") ++ .replace("&7", "") ++ .replace("&8", "") ++ .replace("&9", "") ++ .replace("&a", "") ++ .replace("&b", "") ++ .replace("&c", "") ++ .replace("&d", "") ++ .replace("&e", "") ++ .replace("&f", "") ++ .replace("&k", "") ++ .replace("&l", "") ++ .replace("&m", "") ++ .replace("&n", "") ++ .replace("&o", "") ++ .replace("&r", ""); ++ } ++ ++ @Deprecated + public static final Pattern HEX_PATTERN = Pattern.compile("(#[A-Fa-f0-9]{6})"); + ++ @Deprecated + @Nullable + public static String replaceHex(@Nullable String str) { + if (str != null) { @@ -28,11 +75,13 @@ index 4594701d77c5d0f744bece871b98d9f6f73eb5a7..499b222dee1f11d497a29a9a263a5596 + return str; + } + ++ @Deprecated + @Nullable + public static String color(@Nullable String str) { + return color(str, true); + } + ++ @Deprecated + @Nullable + public static String color(@Nullable String str, boolean parseHex) { + return str != null ? net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', parseHex ? replaceHex(str) : str) : str; diff --git a/patches/server/0004-Purpur-config-files.patch b/patches/server/0004-Purpur-config-files.patch index fbe72227b..e94f7ffdb 100644 --- a/patches/server/0004-Purpur-config-files.patch +++ b/patches/server/0004-Purpur-config-files.patch @@ -30,7 +30,7 @@ index f5d01bce4d5547b4aeca96b7962b2090f47ea541..05f1b6d103ec20f196b60944f5bc0073 metrics.addCustomChart(new Metrics.DrilldownPie("java_version", () -> { Map> map = new HashMap<>(); diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index da67fb1d6c6719e757ad600fe5ea36e9e18b1325..3781e7c23347a5860c448a94bd01cb90979d9d4a 100644 +index 9364b58d2dc9ab199ac4303806a799d158e3fbe4..5cb4635690efd400853ab6378886642dd3bf2983 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java @@ -118,6 +118,11 @@ public class PaperConfig { @@ -123,7 +123,7 @@ index 6f4e6105aa1d6546daa2424f57972fd29db25fa3..4c55bb04ff41fabb47c6477ba33e0e0a this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..6903706219a146146a213710a5f83af37f7f60b8 +index 0000000000000000000000000000000000000000..963ef9cf4dc134f5311420edd8c851eab34af3e2 --- /dev/null +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -0,0 +1,159 @@ @@ -190,8 +190,8 @@ index 0000000000000000000000000000000000000000..6903706219a146146a213710a5f83af3 + commands = new HashMap<>(); + commands.put("purpur", new PurpurCommand("purpur")); + -+ version = getInt("config-version", 20); -+ set("config-version", 20); ++ version = getInt("config-version", 21); ++ set("config-version", 21); + + readConfig(PurpurConfig.class, null); + } @@ -288,10 +288,10 @@ index 0000000000000000000000000000000000000000..6903706219a146146a213710a5f83af3 +} diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..683ee20f08eac69238bea33021e35b1838c44a8b +index 0000000000000000000000000000000000000000..8bc89d48695c816a1db77f9cdffd05f35afea92a --- /dev/null +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -0,0 +1,95 @@ +@@ -0,0 +1,96 @@ +package net.pl3x.purpur; + +import net.minecraft.core.Registry; @@ -310,6 +310,7 @@ index 0000000000000000000000000000000000000000..683ee20f08eac69238bea33021e35b18 +import net.pl3x.purpur.tool.Waxable; +import net.pl3x.purpur.tool.Weatherable; +import org.apache.commons.lang.BooleanUtils; ++import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.configuration.ConfigurationSection; + diff --git a/patches/server/0007-Ridables.patch b/patches/server/0007-Ridables.patch index 1b8fdda51..bd4a908e4 100644 --- a/patches/server/0007-Ridables.patch +++ b/patches/server/0007-Ridables.patch @@ -4525,7 +4525,7 @@ index 008e3b769011df76697ad0abcdde5727cef05f64..0837875231ef96ff58f2fee3e558d706 Projectile(EntityType type, Level world) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 50dd18f72d7ec674a33049ad2e228f7d8a4054a5..827e6ea7d409a200d1a20bd45cd02ceb6e0fc20b 100644 +index 963ef9cf4dc134f5311420edd8c851eab34af3e2..0eceeb349314302c12b7fb738014299f5342b78a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -156,4 +156,9 @@ public class PurpurConfig { @@ -4539,10 +4539,10 @@ index 50dd18f72d7ec674a33049ad2e228f7d8a4054a5..827e6ea7d409a200d1a20bd45cd02ceb + } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 683ee20f08eac69238bea33021e35b1838c44a8b..3f91e7f49a1f00ff21fd65ea443af02729b7cc10 100644 +index 8bc89d48695c816a1db77f9cdffd05f35afea92a..defc41f65e0899c2ae0984b55aeebcb8f606f040 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -92,4 +92,532 @@ public class PurpurWorldConfig { +@@ -93,4 +93,532 @@ public class PurpurWorldConfig { final Map value = PurpurConfig.getMap("world-settings." + worldName + "." + path, null); return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0008-Configurable-entity-base-attributes.patch b/patches/server/0008-Configurable-entity-base-attributes.patch index ab8bc22db..eb52acf2c 100644 --- a/patches/server/0008-Configurable-entity-base-attributes.patch +++ b/patches/server/0008-Configurable-entity-base-attributes.patch @@ -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 4fc93b94c97a0b9bca7de40d7db8c3f02104b1bd..c813f28c56b54bd3870cc12e3ecf0ae98545a6b0 100644 +index 33edd0863374b4a7f2b0812879b23533515da447..efcba8ea0ab1f25f6480fe0a3bbe1537764438aa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -150,7 +150,7 @@ import org.bukkit.plugin.PluginManager; @@ -1422,10 +1422,10 @@ index d6c31596e21041a124a263054ccb6447829eccdd..d2588a91b55aebdecf8e1644498111cc @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3f91e7f49a1f00ff21fd65ea443af02729b7cc10..3627b50dd3af5da225004cd3f8158fcbd30d8ea3 100644 +index defc41f65e0899c2ae0984b55aeebcb8f606f040..20215510857b8e49ea0c93d35eddfbad7cd355b0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -103,257 +103,573 @@ public class PurpurWorldConfig { +@@ -104,257 +104,573 @@ public class PurpurWorldConfig { } public boolean axolotlRidable = false; @@ -1999,7 +1999,7 @@ index 3f91e7f49a1f00ff21fd65ea443af02729b7cc10..3627b50dd3af5da225004cd3f8158fcb } public boolean phantomRidable = false; -@@ -362,6 +678,7 @@ public class PurpurWorldConfig { +@@ -363,6 +679,7 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -2007,7 +2007,7 @@ index 3f91e7f49a1f00ff21fd65ea443af02729b7cc10..3627b50dd3af5da225004cd3f8158fcb private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -369,255 +686,559 @@ public class PurpurWorldConfig { +@@ -370,255 +687,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); diff --git a/patches/server/0013-AFK-API.patch b/patches/server/0013-AFK-API.patch index ed7458eef..e35e48d70 100644 --- a/patches/server/0013-AFK-API.patch +++ b/patches/server/0013-AFK-API.patch @@ -192,7 +192,7 @@ index 7224c56e8a68870364c6538c82c04f371b74aabd..730e8a856b9e9560a62d959cefb6efad if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index e9c2ad24aea7861d8d3c1f8879f70e8fa514fa05..4451d9fca6dad1406b8da348e34d62123b0a08e5 100644 +index 70b9e94ec9f094b9db5808247f05d577f76e2401..dca58fcd00d104e70a7e7c57132b9016df393640 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -158,8 +158,16 @@ public class PurpurConfig { @@ -213,10 +213,10 @@ index e9c2ad24aea7861d8d3c1f8879f70e8fa514fa05..4451d9fca6dad1406b8da348e34d6212 private static void timingsSettings() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3627b50dd3af5da225004cd3f8158fcbd30d8ea3..61a0bc8acff72431318bf8fe4f9d5018f85bacc5 100644 +index 20215510857b8e49ea0c93d35eddfbad7cd355b0..996171e7271e62e72c0b2b213c21caf53c815e97 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -93,6 +93,24 @@ public class PurpurWorldConfig { +@@ -94,6 +94,24 @@ public class PurpurWorldConfig { return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0021-Player-invulnerabilities.patch b/patches/server/0021-Player-invulnerabilities.patch index 66ddbea5c..7947896ef 100644 --- a/patches/server/0021-Player-invulnerabilities.patch +++ b/patches/server/0021-Player-invulnerabilities.patch @@ -121,10 +121,10 @@ index 1c1602f839828252748e1acacfe42c7cac194332..5b1641eae57b974997803fbc42710032 return entityplayer1; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 61a0bc8acff72431318bf8fe4f9d5018f85bacc5..c4b95b8afd575ce94202b9359884a220e9c649a9 100644 +index 996171e7271e62e72c0b2b213c21caf53c815e97..8e9ba3a8582c8e5d1e14bf3bfa8ecfce5ccf7b0c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -98,6 +98,8 @@ public class PurpurWorldConfig { +@@ -99,6 +99,8 @@ public class PurpurWorldConfig { public boolean idleTimeoutCountAsSleeping = false; public boolean idleTimeoutUpdateTabList = false; public boolean idleTimeoutTargetPlayer = true; @@ -133,7 +133,7 @@ index 61a0bc8acff72431318bf8fe4f9d5018f85bacc5..c4b95b8afd575ce94202b9359884a220 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -109,6 +111,8 @@ public class PurpurWorldConfig { +@@ -110,6 +112,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); diff --git a/patches/server/0023-Configurable-villager-brain-ticks.patch b/patches/server/0023-Configurable-villager-brain-ticks.patch index e6cb2641d..3e949a9d6 100644 --- a/patches/server/0023-Configurable-villager-brain-ticks.patch +++ b/patches/server/0023-Configurable-villager-brain-ticks.patch @@ -40,10 +40,10 @@ index 682feb6f3c109b0b3034f3942f7dfa73721d359b..14b27c84624467615ad7cc4d5df94cd6 } // Airplane end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c4b95b8afd575ce94202b9359884a220e9c649a9..a4abc312a9c173fb6a4374c97012abc43c801b7a 100644 +index 8e9ba3a8582c8e5d1e14bf3bfa8ecfce5ccf7b0c..6df320ab8214669517d5de30a28f044a5a6b4a33 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1076,6 +1076,8 @@ public class PurpurWorldConfig { +@@ -1077,6 +1077,8 @@ public class PurpurWorldConfig { public boolean villagerRidable = false; public boolean villagerRidableInWater = false; public double villagerMaxHealth = 20.0D; @@ -52,7 +52,7 @@ index c4b95b8afd575ce94202b9359884a220e9c649a9..a4abc312a9c173fb6a4374c97012abc4 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1085,6 +1087,8 @@ public class PurpurWorldConfig { +@@ -1086,6 +1088,8 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); diff --git a/patches/server/0025-Silk-touch-spawners.patch b/patches/server/0025-Silk-touch-spawners.patch index 8c454e398..4812db723 100644 --- a/patches/server/0025-Silk-touch-spawners.patch +++ b/patches/server/0025-Silk-touch-spawners.patch @@ -30,12 +30,15 @@ index f68639508d7ff9a0e743b5282301e62435d53656..89d4b7e4cd4222b61b49833fceda56ff public static final Item CHEST = registerBlock(Blocks.CHEST, CreativeModeTab.TAB_DECORATIONS); public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE, CreativeModeTab.TAB_DECORATIONS); diff --git a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java -index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63cf3b84ab 100644 +index b1e04d41de80971a7a1616beb0860226ecc25045..a499cf626a54fcef62bc34bba4193ba0565d8379 100644 --- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java -@@ -2,8 +2,16 @@ package net.minecraft.world.level.block; +@@ -1,9 +1,19 @@ + package net.minecraft.world.level.block; import javax.annotation.Nullable; ++ ++import net.kyori.adventure.text.minimessage.MiniMessage; import net.minecraft.core.BlockPos; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.nbt.ListTag; @@ -50,7 +53,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.Level; import net.minecraft.world.level.block.entity.BlockEntity; -@@ -13,6 +21,18 @@ import net.minecraft.world.level.block.entity.SpawnerBlockEntity; +@@ -13,6 +23,19 @@ import net.minecraft.world.level.block.entity.SpawnerBlockEntity; import net.minecraft.world.level.block.state.BlockBehaviour; import net.minecraft.world.level.block.state.BlockState; @@ -62,6 +65,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 +import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; + +import java.util.List; ++import java.util.Locale; + +import static net.kyori.adventure.text.format.TextDecoration.ITALIC; +// Purpur end @@ -69,7 +73,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 public class SpawnerBlock extends BaseEntityBlock { protected SpawnerBlock(BlockBehaviour.Properties settings) { -@@ -30,6 +50,59 @@ public class SpawnerBlock extends BaseEntityBlock { +@@ -30,6 +53,55 @@ public class SpawnerBlock extends BaseEntityBlock { return createTickerHelper(type, BlockEntityType.MOB_SPAWNER, world.isClientSide ? SpawnerBlockEntity::clientTick : SpawnerBlockEntity::serverTick); } @@ -80,39 +84,35 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 + ResourceLocation type = ((SpawnerBlockEntity) blockEntity).getSpawner().getEntityId(level, pos); + if (type != null) { + final Component mobName = PaperAdventure.asAdventure(EntityType.getFromKey(type).getDescription()); -+ final TextReplacementConfig config = TextReplacementConfig.builder() -+ .matchLiteral("{mob}") -+ .replacement(mobName) -+ .build(); -+ + CompoundTag display = new CompoundTag(); -+ boolean customDisplay = false; ++ CompoundTag tag = new CompoundTag(); + + String name = level.purpurConfig.silkTouchSpawnerName; + if (name != null && !name.isEmpty() && !name.equals("Spawner")) { -+ final Component displayName = PaperAdventure.LEGACY_AMPERSAND.deserialize(name).replaceText(config).decoration(ITALIC, false); -+ display.put("Name", StringTag.valueOf(GsonComponentSerializer.gson().serialize(displayName))); -+ customDisplay = true; ++ Component displayName = MiniMessage.get().parse(name, "mob", mobName); ++ if (name.startsWith("")) { ++ displayName = displayName.decoration(ITALIC, false); ++ } ++ display.put("Name", StringTag.valueOf(PaperAdventure.asJsonString(displayName, Locale.ROOT))); ++ tag.put("display", display); + } + + List lore = level.purpurConfig.silkTouchSpawnerLore; + if (lore != null && !lore.isEmpty()) { + ListTag list = new ListTag(); + for (String line : lore) { -+ final Component lineComponent = PaperAdventure.LEGACY_AMPERSAND.deserialize(line).replaceText(config).decoration(ITALIC, false); -+ list.add(StringTag.valueOf(GsonComponentSerializer.gson().serialize(lineComponent))); ++ Component lineComponent = MiniMessage.get().parse(line, "mob", mobName); ++ if (line.startsWith("")) { ++ lineComponent = lineComponent.decoration(ITALIC, false); ++ } ++ list.add(StringTag.valueOf(PaperAdventure.asJsonString(lineComponent, Locale.ROOT))); + } + display.put("Lore", list); -+ customDisplay = true; -+ } -+ -+ CompoundTag tag = new CompoundTag(); -+ if (customDisplay) { + tag.put("display", display); + } -+ tag.putString("Purpur.mob_type", type.toString()); + + ItemStack item = new ItemStack(Blocks.SPAWNER.asItem()); ++ tag.putString("Purpur.mob_type", type.toString()); + item.setTag(tag); + + popResource(level, pos, item); @@ -129,7 +129,7 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 @Override public void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack stack) { super.spawnAfterBreak(state, world, pos, stack); -@@ -42,6 +115,7 @@ public class SpawnerBlock extends BaseEntityBlock { +@@ -42,6 +114,7 @@ public class SpawnerBlock extends BaseEntityBlock { @Override public int getExpDrop(BlockState iblockdata, ServerLevel worldserver, BlockPos blockposition, ItemStack itemstack) { @@ -138,33 +138,40 @@ index b1e04d41de80971a7a1616beb0860226ecc25045..295ae3877b955978105b756055c21e63 return i; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a4abc312a9c173fb6a4374c97012abc43c801b7a..48670fd7e51c39e207d95059261c09d52f309db6 100644 +index 6df320ab8214669517d5de30a28f044a5a6b4a33..8920b47610a323ceb6b19a05b7592d8acf809bc4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -115,6 +115,31 @@ public class PurpurWorldConfig { +@@ -116,6 +116,38 @@ public class PurpurWorldConfig { playerInvulnerableWhileAcceptingResourcePack = getBoolean("gameplay-mechanics.player.invulnerable-while-accepting-resource-pack", playerInvulnerableWhileAcceptingResourcePack); } + public boolean silkTouchEnabled = false; -+ public String silkTouchSpawnerName = "Spawner"; ++ public String silkTouchSpawnerName = "Spawner"; + public List silkTouchSpawnerLore = new ArrayList<>(); + public List silkTouchTools = new ArrayList<>(); + public int minimumSilkTouchSpawnerRequire = 1; + private void silkTouchSettings() { ++ if (PurpurConfig.version < 21) { ++ String oldName = getString("gameplay-mechanics.silk-touch.spawner-name", silkTouchSpawnerName); ++ set("gameplay-mechanics.silk-touch.spawner-name", "" + ChatColor.toMM(oldName.replace("{mob}", ""))); ++ List list = new ArrayList<>(); ++ getList("gameplay-mechanics.silk-touch.spawner-lore", List.of("Spawns a ")) ++ .forEach(line -> list.add("" + ChatColor.toMM(line.toString().replace("{mob}", "")))); ++ set("gameplay-mechanics.silk-touch.spawner-lore", list); ++ } + silkTouchEnabled = getBoolean("gameplay-mechanics.silk-touch.enabled", silkTouchEnabled); + silkTouchSpawnerName = getString("gameplay-mechanics.silk-touch.spawner-name", silkTouchSpawnerName); + minimumSilkTouchSpawnerRequire = getInt("gameplay-mechanics.silk-touch.minimal-level", minimumSilkTouchSpawnerRequire); + silkTouchSpawnerLore.clear(); -+ getList("gameplay-mechanics.silk-touch.spawner-lore", new ArrayList(){{ -+ add("Spawns a {mob}"); -+ }}).forEach(line -> silkTouchSpawnerLore.add(line.toString())); ++ getList("gameplay-mechanics.silk-touch.spawner-lore", List.of("Spawns a ")) ++ .forEach(line -> silkTouchSpawnerLore.add(line.toString())); + silkTouchTools.clear(); -+ getList("gameplay-mechanics.silk-touch.tools", new ArrayList(){{ -+ add("minecraft:iron_pickaxe"); -+ add("minecraft:golden_pickaxe"); -+ add("minecraft:diamond_pickaxe"); -+ add("minecraft:netherite_pickaxe"); -+ }}).forEach(key -> { ++ getList("gameplay-mechanics.silk-touch.tools", List.of( ++ "minecraft:iron_pickaxe", ++ "minecraft:golden_pickaxe", ++ "minecraft:diamond_pickaxe", ++ "minecraft:netherite_pickaxe" ++ )).forEach(key -> { + Item item = Registry.ITEM.get(new ResourceLocation(key.toString())); + if (item != Items.AIR) silkTouchTools.add(item); + }); diff --git a/patches/server/0026-MC-168772-Fix-Add-turtle-egg-block-options.patch b/patches/server/0026-MC-168772-Fix-Add-turtle-egg-block-options.patch index e7ac1be8e..cfd83b174 100644 --- a/patches/server/0026-MC-168772-Fix-Add-turtle-egg-block-options.patch +++ b/patches/server/0026-MC-168772-Fix-Add-turtle-egg-block-options.patch @@ -50,10 +50,10 @@ index fdb3ab919a78221605257ae82bfd026346ce2ffb..e98fc3c235f9160f1928a8afb0d7991a } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 48670fd7e51c39e207d95059261c09d52f309db6..feb378bf766ef967a55c429df27017b9065cfb0c 100644 +index 8920b47610a323ceb6b19a05b7592d8acf809bc4..5b82c82da88f95190f8d7dc1f635fd27c8b513df 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1071,7 +1071,10 @@ public class PurpurWorldConfig { +@@ -1079,7 +1079,10 @@ public class PurpurWorldConfig { public boolean turtleRidable = false; public boolean turtleRidableInWater = false; public double turtleMaxHealth = 30.0D; @@ -65,7 +65,7 @@ index 48670fd7e51c39e207d95059261c09d52f309db6..feb378bf766ef967a55c429df27017b9 turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1080,6 +1083,9 @@ public class PurpurWorldConfig { +@@ -1088,6 +1091,9 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); diff --git a/patches/server/0030-Giants-AI-settings.patch b/patches/server/0030-Giants-AI-settings.patch index 3fd0516ab..44a7273ad 100644 --- a/patches/server/0030-Giants-AI-settings.patch +++ b/patches/server/0030-Giants-AI-settings.patch @@ -120,10 +120,10 @@ index a8ffdc8810152d77668aad7bad15a00c4d194d4c..91e28c414545d2bbb4e2f22c516d0f68 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index feb378bf766ef967a55c429df27017b9065cfb0c..1ed71d3251d526a6a454236b5b51c5d161d62f32 100644 +index 5b82c82da88f95190f8d7dc1f635fd27c8b513df..01c33f5021905736b05fc33c268e42e4e82c2863 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -460,6 +460,10 @@ public class PurpurWorldConfig { +@@ -468,6 +468,10 @@ public class PurpurWorldConfig { public double giantMovementSpeed = 0.5D; public double giantAttackDamage = 50.0D; public double giantMaxHealth = 100.0D; @@ -134,7 +134,7 @@ index feb378bf766ef967a55c429df27017b9065cfb0c..1ed71d3251d526a6a454236b5b51c5d1 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -475,6 +479,10 @@ public class PurpurWorldConfig { +@@ -483,6 +487,10 @@ public class PurpurWorldConfig { set("mobs.giant.attributes.max_health", oldValue); } giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); diff --git a/patches/server/0031-Zombie-horse-naturally-spawn.patch b/patches/server/0031-Zombie-horse-naturally-spawn.patch index 3c44a5e69..ea5ff6088 100644 --- a/patches/server/0031-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0031-Zombie-horse-naturally-spawn.patch @@ -28,10 +28,10 @@ index 372eea42755cad6bf957fa94b816db25751d707b..9d238d4bf3151dd0c37d0b908c9fe388 entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1ed71d3251d526a6a454236b5b51c5d161d62f32..e351703bf554425cf978297d90cc8d7ab7beb85c 100644 +index 01c33f5021905736b05fc33c268e42e4e82c2863..9db45abd1963ae7f48fe06f29fc4e3bf9e2cd983 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1258,6 +1258,7 @@ public class PurpurWorldConfig { +@@ -1266,6 +1266,7 @@ public class PurpurWorldConfig { public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; @@ -39,7 +39,7 @@ index 1ed71d3251d526a6a454236b5b51c5d161d62f32..e351703bf554425cf978297d90cc8d7a private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -1273,6 +1274,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1282,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); diff --git a/patches/server/0032-Charged-creeper-naturally-spawn.patch b/patches/server/0032-Charged-creeper-naturally-spawn.patch index d67f977a6..7fe3f7c11 100644 --- a/patches/server/0032-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0032-Charged-creeper-naturally-spawn.patch @@ -24,10 +24,10 @@ index 3a14f975e26530e1c4887844ec0c3967bd15a05b..9e05eadd09df031bac8321748f0e89c2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e351703bf554425cf978297d90cc8d7ab7beb85c..d47db0fe25ac89c2f5040d7106d9e06b0d415c8a 100644 +index 9db45abd1963ae7f48fe06f29fc4e3bf9e2cd983..17952c0f39deeed6c333289f35705c5ae49e0596 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -282,6 +282,7 @@ public class PurpurWorldConfig { +@@ -290,6 +290,7 @@ public class PurpurWorldConfig { public boolean creeperRidable = false; public boolean creeperRidableInWater = false; public double creeperMaxHealth = 20.0D; @@ -35,7 +35,7 @@ index e351703bf554425cf978297d90cc8d7ab7beb85c..d47db0fe25ac89c2f5040d7106d9e06b private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -291,6 +292,7 @@ public class PurpurWorldConfig { +@@ -299,6 +300,7 @@ public class PurpurWorldConfig { set("mobs.creeper.attributes.max_health", oldValue); } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); diff --git a/patches/server/0033-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0033-Rabbit-naturally-spawn-toast-and-killer.patch index 7418e6b65..b1ad9e56d 100644 --- a/patches/server/0033-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0033-Rabbit-naturally-spawn-toast-and-killer.patch @@ -38,10 +38,10 @@ index 587feda351efae19407cb9f23c6c1d42d5ed0cc9..e0ba1ef404c9f8ba1eae563b733d10d9 int i = this.random.nextInt(100); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d47db0fe25ac89c2f5040d7106d9e06b0d415c8a..60319614be9696d80bbbc147e529ad662dec0460 100644 +index 17952c0f39deeed6c333289f35705c5ae49e0596..5dbec1b5662df093394e9159fb11e401444da19a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -836,6 +836,8 @@ public class PurpurWorldConfig { +@@ -844,6 +844,8 @@ public class PurpurWorldConfig { public boolean rabbitRidable = false; public boolean rabbitRidableInWater = false; public double rabbitMaxHealth = 3.0D; @@ -50,7 +50,7 @@ index d47db0fe25ac89c2f5040d7106d9e06b0d415c8a..60319614be9696d80bbbc147e529ad66 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -845,6 +847,8 @@ public class PurpurWorldConfig { +@@ -853,6 +855,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); diff --git a/patches/server/0036-Tulips-change-fox-type.patch b/patches/server/0036-Tulips-change-fox-type.patch index 06bc12ccb..8e3a03b7c 100644 --- a/patches/server/0036-Tulips-change-fox-type.patch +++ b/patches/server/0036-Tulips-change-fox-type.patch @@ -75,10 +75,10 @@ index 80749df5d00df415a1b9e7c0e8586625b6453ffb..406b6ed8084c18da1062d8e8049bdfff // Paper start - Cancellable death event protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 60319614be9696d80bbbc147e529ad662dec0460..523ce8f7fff9a98b6646d1035849faeb23ead5ae 100644 +index 5dbec1b5662df093394e9159fb11e401444da19a..b14853de709d9d083e2c349f398d81f629ebf6eb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -430,6 +430,7 @@ public class PurpurWorldConfig { +@@ -438,6 +438,7 @@ public class PurpurWorldConfig { public boolean foxRidable = false; public boolean foxRidableInWater = false; public double foxMaxHealth = 10.0D; @@ -86,7 +86,7 @@ index 60319614be9696d80bbbc147e529ad662dec0460..523ce8f7fff9a98b6646d1035849faeb private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -439,6 +440,7 @@ public class PurpurWorldConfig { +@@ -447,6 +448,7 @@ public class PurpurWorldConfig { set("mobs.fox.attributes.max_health", oldValue); } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); diff --git a/patches/server/0037-Breedable-Polar-Bears.patch b/patches/server/0037-Breedable-Polar-Bears.patch index a7ac7e0d2..082e297dc 100644 --- a/patches/server/0037-Breedable-Polar-Bears.patch +++ b/patches/server/0037-Breedable-Polar-Bears.patch @@ -59,10 +59,10 @@ index 18780fb268cabb47bb0deb84c44520831c1a762b..d39c88af3882a09ff1a06f9052d7b9b8 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 523ce8f7fff9a98b6646d1035849faeb23ead5ae..a52c414ffc277c866e3d845202afea3672dc91b8 100644 +index b14853de709d9d083e2c349f398d81f629ebf6eb..241ba6a10eda5bf97adb09cc2ae423da6036d55f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -812,6 +812,8 @@ public class PurpurWorldConfig { +@@ -820,6 +820,8 @@ public class PurpurWorldConfig { public boolean polarBearRidable = false; public boolean polarBearRidableInWater = false; public double polarBearMaxHealth = 30.0D; @@ -71,7 +71,7 @@ index 523ce8f7fff9a98b6646d1035849faeb23ead5ae..a52c414ffc277c866e3d845202afea36 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -821,6 +823,9 @@ public class PurpurWorldConfig { +@@ -829,6 +831,9 @@ public class PurpurWorldConfig { set("mobs.polar_bear.attributes.max_health", oldValue); } polarBearMaxHealth = getDouble("mobs.polar_bear.attributes.max_health", polarBearMaxHealth); diff --git a/patches/server/0038-Chickens-can-retaliate.patch b/patches/server/0038-Chickens-can-retaliate.patch index 3c869ed0a..2a81c1765 100644 --- a/patches/server/0038-Chickens-can-retaliate.patch +++ b/patches/server/0038-Chickens-can-retaliate.patch @@ -51,10 +51,10 @@ index 9fe68301b9a6efd703fb9d2215a9cd3b2f017a4e..35cf6b9fb4d72df905d93bf52c02846b @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a52c414ffc277c866e3d845202afea3672dc91b8..1c8560ac101cf418b3e65d537132c47be27eac92 100644 +index 241ba6a10eda5bf97adb09cc2ae423da6036d55f..8692ca2751ba6ed6ad989843261b13d2eeba669e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -242,6 +242,7 @@ public class PurpurWorldConfig { +@@ -250,6 +250,7 @@ public class PurpurWorldConfig { public boolean chickenRidable = false; public boolean chickenRidableInWater = false; public double chickenMaxHealth = 4.0D; @@ -62,7 +62,7 @@ index a52c414ffc277c866e3d845202afea3672dc91b8..1c8560ac101cf418b3e65d537132c47b private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -251,6 +252,7 @@ public class PurpurWorldConfig { +@@ -259,6 +260,7 @@ public class PurpurWorldConfig { set("mobs.chicken.attributes.max_health", oldValue); } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); diff --git a/patches/server/0039-Add-option-to-set-armorstand-step-height.patch b/patches/server/0039-Add-option-to-set-armorstand-step-height.patch index 92d976eeb..65b69c526 100644 --- a/patches/server/0039-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0039-Add-option-to-set-armorstand-step-height.patch @@ -17,10 +17,10 @@ index 5fc66d7096afcfe63eba774e1dc330ac3263e4b0..7a3a364f5e3b025cc0a5694401cb9298 if (!this.canTick) { if (this.noTickPoseDirty) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1c8560ac101cf418b3e65d537132c47be27eac92..048fc7e4ac798e7e9b561558b25d74b81563b706 100644 +index 8692ca2751ba6ed6ad989843261b13d2eeba669e..7eead3ef93dd4e8d912809a2c47062b95cb80168 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -93,6 +93,11 @@ public class PurpurWorldConfig { +@@ -94,6 +94,11 @@ public class PurpurWorldConfig { return value.isEmpty() ? fallback : value; } diff --git a/patches/server/0040-Cat-spawning-options.patch b/patches/server/0040-Cat-spawning-options.patch index ce4a353a7..43ad8e4d6 100644 --- a/patches/server/0040-Cat-spawning-options.patch +++ b/patches/server/0040-Cat-spawning-options.patch @@ -49,10 +49,10 @@ index 4cab98b5e441a174482893d3d289bbafa1f7a5fc..fa3cdff99a16b67ed86c8f7940ffa139 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 048fc7e4ac798e7e9b561558b25d74b81563b706..08fb29310cc26b5d45528a86c654029ae8fe1b12 100644 +index 7eead3ef93dd4e8d912809a2c47062b95cb80168..8f7e7007633ee30f3f943d583623c122d5bc7de3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -219,6 +219,9 @@ public class PurpurWorldConfig { +@@ -227,6 +227,9 @@ public class PurpurWorldConfig { public boolean catRidable = false; public boolean catRidableInWater = false; public double catMaxHealth = 10.0D; @@ -62,7 +62,7 @@ index 048fc7e4ac798e7e9b561558b25d74b81563b706..08fb29310cc26b5d45528a86c654029a private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -228,6 +231,9 @@ public class PurpurWorldConfig { +@@ -236,6 +239,9 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max_health", oldValue); } catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); diff --git a/patches/server/0042-Cows-eat-mushrooms.patch b/patches/server/0042-Cows-eat-mushrooms.patch index 1938368a4..031d6dfc0 100644 --- a/patches/server/0042-Cows-eat-mushrooms.patch +++ b/patches/server/0042-Cows-eat-mushrooms.patch @@ -114,10 +114,10 @@ index bee82d5bf600cbeacfcede600e5606529af1435e..9da76357da891a70e20ad80f50873b3b public Cow getBreedOffspring(ServerLevel world, AgeableMob entity) { return (Cow) EntityType.COW.create((Level) world); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 08fb29310cc26b5d45528a86c654029ae8fe1b12..9381e25068d1d75ccfa949307f9cd02794724af4 100644 +index 8f7e7007633ee30f3f943d583623c122d5bc7de3..c5124c7beff61ea1a60db0b0e14f99f3302831b9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -281,6 +281,7 @@ public class PurpurWorldConfig { +@@ -289,6 +289,7 @@ public class PurpurWorldConfig { public boolean cowRidable = false; public boolean cowRidableInWater = false; public double cowMaxHealth = 10.0D; @@ -125,7 +125,7 @@ index 08fb29310cc26b5d45528a86c654029ae8fe1b12..9381e25068d1d75ccfa949307f9cd027 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -290,6 +291,7 @@ public class PurpurWorldConfig { +@@ -298,6 +299,7 @@ public class PurpurWorldConfig { set("mobs.cow.attributes.max_health", oldValue); } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); diff --git a/patches/server/0044-Pigs-give-saddle-back.patch b/patches/server/0044-Pigs-give-saddle-back.patch index 9bf21ec89..a53c848fd 100644 --- a/patches/server/0044-Pigs-give-saddle-back.patch +++ b/patches/server/0044-Pigs-give-saddle-back.patch @@ -28,10 +28,10 @@ index f4a099e691dce3c57069e76d67859161b459098e..518d28dc0b5b8c04263c93a4347e4c97 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9381e25068d1d75ccfa949307f9cd02794724af4..63b1858a91050ffc0720532ee872e7c458ec5a5d 100644 +index c5124c7beff61ea1a60db0b0e14f99f3302831b9..91d62888b6012b51b1eeb29b864d7d560397b7c1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -771,6 +771,7 @@ public class PurpurWorldConfig { +@@ -779,6 +779,7 @@ public class PurpurWorldConfig { public boolean pigRidable = false; public boolean pigRidableInWater = false; public double pigMaxHealth = 10.0D; @@ -39,7 +39,7 @@ index 9381e25068d1d75ccfa949307f9cd02794724af4..63b1858a91050ffc0720532ee872e7c4 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -780,6 +781,7 @@ public class PurpurWorldConfig { +@@ -788,6 +789,7 @@ public class PurpurWorldConfig { set("mobs.pig.attributes.max_health", oldValue); } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); diff --git a/patches/server/0045-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0045-Snowman-drop-and-put-back-pumpkin.patch index 3c004b3ec..bd130a99e 100644 --- a/patches/server/0045-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0045-Snowman-drop-and-put-back-pumpkin.patch @@ -32,10 +32,10 @@ index fcf3092ef1863f62d9e76a77c0299ce1495ca1b7..ee64f4084b25d77f1c25b76a5b7d90cd this.forceDrops = false; // CraftBukkit } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 63b1858a91050ffc0720532ee872e7c458ec5a5d..13aa04d07c9f345d62fbe673dfd69d96dc42078b 100644 +index 91d62888b6012b51b1eeb29b864d7d560397b7c1..94b7f06779eda71e7e14458d1e1eacc1969e899c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1002,6 +1002,8 @@ public class PurpurWorldConfig { +@@ -1010,6 +1010,8 @@ public class PurpurWorldConfig { public boolean snowGolemRidableInWater = false; public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; @@ -44,7 +44,7 @@ index 63b1858a91050ffc0720532ee872e7c458ec5a5d..13aa04d07c9f345d62fbe673dfd69d96 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1012,6 +1014,8 @@ public class PurpurWorldConfig { +@@ -1020,6 +1022,8 @@ public class PurpurWorldConfig { set("mobs.snow_golem.attributes.max_health", oldValue); } snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); diff --git a/patches/server/0046-Ender-dragon-always-drop-full-exp.patch b/patches/server/0046-Ender-dragon-always-drop-full-exp.patch index 2fe3c84f0..57dfc2044 100644 --- a/patches/server/0046-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0046-Ender-dragon-always-drop-full-exp.patch @@ -18,10 +18,10 @@ index d3caa18f5de2d96eae691655dd13e83f82c61e0c..f637cd740ec3801ce1c387473b5c4ff6 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 13aa04d07c9f345d62fbe673dfd69d96dc42078b..36ac4fb4ab94a8287b0063dc21efba156d38acac 100644 +index 94b7f06779eda71e7e14458d1e1eacc1969e899c..12407ab2b99b9d4aa00ddd73f9257d6de493f524 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -384,6 +384,7 @@ public class PurpurWorldConfig { +@@ -392,6 +392,7 @@ public class PurpurWorldConfig { public boolean enderDragonRidableInWater = false; public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; @@ -29,7 +29,7 @@ index 13aa04d07c9f345d62fbe673dfd69d96dc42078b..36ac4fb4ab94a8287b0063dc21efba15 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -398,6 +399,7 @@ public class PurpurWorldConfig { +@@ -406,6 +407,7 @@ public class PurpurWorldConfig { set("mobs.ender_dragon.attributes.max_health", oldValue); } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); diff --git a/patches/server/0047-Signs-editable-on-right-click.patch b/patches/server/0047-Signs-editable-on-right-click.patch index 087edba9c..c957ede86 100644 --- a/patches/server/0047-Signs-editable-on-right-click.patch +++ b/patches/server/0047-Signs-editable-on-right-click.patch @@ -35,10 +35,10 @@ index 1844ea93f8cea420f01937f85ed17c0ec1bb8bf0..9e80ba8970cad91ea22ac701f76e1413 } else { return InteractionResult.PASS; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 36ac4fb4ab94a8287b0063dc21efba156d38acac..9541fa2198420001bb471f088be4d46020b0ae3f 100644 +index 12407ab2b99b9d4aa00ddd73f9257d6de493f524..5cfccc5a7ee50b24151d6886a1f336c6b217c24e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -145,6 +145,11 @@ public class PurpurWorldConfig { +@@ -153,6 +153,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0048-Signs-allow-color-codes.patch b/patches/server/0048-Signs-allow-color-codes.patch index 8489f99d1..5c749efd5 100644 --- a/patches/server/0048-Signs-allow-color-codes.patch +++ b/patches/server/0048-Signs-allow-color-codes.patch @@ -70,10 +70,10 @@ index 344d3a8c1162f1a4ab5fc2b7676680ddace46649..156a153abe59f86db7f942155d8a21de @Override public ClientboundBlockEntityDataPacket getUpdatePacket() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9541fa2198420001bb471f088be4d46020b0ae3f..982f88df319a3ca239a7364baee22595157d4e43 100644 +index 5cfccc5a7ee50b24151d6886a1f336c6b217c24e..ea387b513f86249a6ceaa67cb6358dc56ed4b16d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -145,8 +145,10 @@ public class PurpurWorldConfig { +@@ -153,8 +153,10 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0049-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0049-Allow-soil-to-moisten-from-water-directly-under-it.patch index 21099a1fa..8742ededf 100644 --- a/patches/server/0049-Allow-soil-to-moisten-from-water-directly-under-it.patch +++ b/patches/server/0049-Allow-soil-to-moisten-from-water-directly-under-it.patch @@ -18,10 +18,10 @@ index 5955c95efbfa3e614ecf03de3e485a1ea88b7859..f638c7b27a846bf9db73e98ce9eb5d57 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 982f88df319a3ca239a7364baee22595157d4e43..1a6c882a9c30c5970383ae14a8718cb5cfc66713 100644 +index ea387b513f86249a6ceaa67cb6358dc56ed4b16d..35fbc48c6396f23add351063a9df12f15643a3a8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -145,6 +145,11 @@ public class PurpurWorldConfig { +@@ -153,6 +153,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0050-Minecart-settings-and-WASD-controls.patch b/patches/server/0050-Minecart-settings-and-WASD-controls.patch index b118d4249..f5ce857f8 100644 --- a/patches/server/0050-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0050-Minecart-settings-and-WASD-controls.patch @@ -135,7 +135,7 @@ index 9ea3837acc315e5c57f28c63c356efd633f1e6cf..e8b76b67f972c2f44e7611434246a822 } } diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index c5663df749dd2bbfd2ba9bf7e1e7a9e21992b81a..4853025530de9c22bde9e54b81120102dae5477c 100644 +index d87f8d106834678364f8720447d671de60c2454e..3d677fe25ed015e30634bf2fccde29f332e3dd87 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -70,7 +70,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; @@ -148,10 +148,10 @@ index c5663df749dd2bbfd2ba9bf7e1e7a9e21992b81a..4853025530de9c22bde9e54b81120102 protected final float explosionResistance; protected final boolean isRandomlyTicking; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1a6c882a9c30c5970383ae14a8718cb5cfc66713..0cc349ff27e2d0c4e9cbe239af7aca5a90e8cce3 100644 +index 35fbc48c6396f23add351063a9df12f15643a3a8..77d19b9bea9fce62c1438f399574393f7282e849 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -98,6 +98,68 @@ public class PurpurWorldConfig { +@@ -99,6 +99,68 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0051-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0051-Disable-loot-drops-on-death-by-cramming.patch index 39b5001ed..db023a0b8 100644 --- a/patches/server/0051-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0051-Disable-loot-drops-on-death-by-cramming.patch @@ -20,10 +20,10 @@ index 8026d97279013a3fd830e9ccd579d8043ca7a3c9..f165e468130f219c78ea1c66f235eb32 // CraftBukkit start - Call death event org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops); // Paper diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0cc349ff27e2d0c4e9cbe239af7aca5a90e8cce3..56be4ffad744f8d7f55c89f29a208b0c0e8779a6 100644 +index 77d19b9bea9fce62c1438f399574393f7282e849..209c269d0a5351a206451ab9724307d811c16a11 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -207,6 +207,11 @@ public class PurpurWorldConfig { +@@ -215,6 +215,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0052-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0052-Option-to-toggle-milk-curing-bad-omen.patch index 2a672d7e4..d0cedc08f 100644 --- a/patches/server/0052-Option-to-toggle-milk-curing-bad-omen.patch +++ b/patches/server/0052-Option-to-toggle-milk-curing-bad-omen.patch @@ -28,10 +28,10 @@ index f33977d95b6db473be4f95075ba99caf90ad0220..56dc04d8875971ee9a5d077a695509af return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 56be4ffad744f8d7f55c89f29a208b0c0e8779a6..098ab1266df569f0b09088c481b34303f344ffd1 100644 +index 209c269d0a5351a206451ab9724307d811c16a11..ba2d49771e317d52b46868372572f59bf2fc3394 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -208,8 +208,10 @@ public class PurpurWorldConfig { +@@ -216,8 +216,10 @@ public class PurpurWorldConfig { } public boolean disableDropsOnCrammingDeath = false; diff --git a/patches/server/0058-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0058-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index a070b84f8..5c7088fee 100644 --- a/patches/server/0058-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0058-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -18,10 +18,10 @@ index c95eef8596fe3e1ca83e620a6c54b164c797cbe1..1e6a5404d767318de29184b3e3a2bc41 if (!this.level.isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { this.spawnAtLocation(this.getPickupItem(), 0.1F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 098ab1266df569f0b09088c481b34303f344ffd1..12df67056e742916b9638ee1fce6f8b7dab2b3f2 100644 +index ba2d49771e317d52b46868372572f59bf2fc3394..1ff4e926accf8029315d5d2ffd209f62b16fd729 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -209,9 +209,11 @@ public class PurpurWorldConfig { +@@ -217,9 +217,11 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; diff --git a/patches/server/0059-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0059-Add-enderman-and-creeper-griefing-controls.patch index ff5a2de46..6820570af 100644 --- a/patches/server/0059-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0059-Add-enderman-and-creeper-griefing-controls.patch @@ -38,10 +38,10 @@ index b92a83cfd15cedf7cd68c26193e65c5f24d9a621..a36313c321f9057350a9edb8b0959fd4 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 12df67056e742916b9638ee1fce6f8b7dab2b3f2..b94165c34e4c809e3686253beae26c05c7c3a181 100644 +index 1ff4e926accf8029315d5d2ffd209f62b16fd729..cd77b51e3cc64f34e0f1cb163c17d2f3bf054880 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -381,6 +381,7 @@ public class PurpurWorldConfig { +@@ -389,6 +389,7 @@ public class PurpurWorldConfig { public boolean creeperRidableInWater = false; public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; @@ -49,7 +49,7 @@ index 12df67056e742916b9638ee1fce6f8b7dab2b3f2..b94165c34e4c809e3686253beae26c05 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -391,6 +392,7 @@ public class PurpurWorldConfig { +@@ -399,6 +400,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 12df67056e742916b9638ee1fce6f8b7dab2b3f2..b94165c34e4c809e3686253beae26c05 } public boolean dolphinRidable = false; -@@ -488,6 +490,7 @@ public class PurpurWorldConfig { +@@ -496,6 +498,7 @@ public class PurpurWorldConfig { public boolean endermanRidable = false; public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; @@ -65,7 +65,7 @@ index 12df67056e742916b9638ee1fce6f8b7dab2b3f2..b94165c34e4c809e3686253beae26c05 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -497,6 +500,7 @@ public class PurpurWorldConfig { +@@ -505,6 +508,7 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max_health", oldValue); } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); diff --git a/patches/server/0060-Villagers-follow-emerald-blocks.patch b/patches/server/0060-Villagers-follow-emerald-blocks.patch index ed07f2290..cf61d29e4 100644 --- a/patches/server/0060-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0060-Villagers-follow-emerald-blocks.patch @@ -54,10 +54,10 @@ index d2588a91b55aebdecf8e1644498111ccf84a9dc9..393061e13375bf7a7ee57973b4abac83 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b94165c34e4c809e3686253beae26c05c7c3a181..a70ea41a56edf5a52c96feb0bdebccaee0b89f04 100644 +index cd77b51e3cc64f34e0f1cb163c17d2f3bf054880..714ad964c90d8fb8244787899be1338c8ab445f8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig { +@@ -1248,6 +1248,7 @@ public class PurpurWorldConfig { public double villagerMaxHealth = 20.0D; public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; @@ -65,7 +65,7 @@ index b94165c34e4c809e3686253beae26c05c7c3a181..a70ea41a56edf5a52c96feb0bdebccae private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1251,6 +1252,7 @@ public class PurpurWorldConfig { +@@ -1259,6 +1260,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 b94165c34e4c809e3686253beae26c05c7c3a181..a70ea41a56edf5a52c96feb0bdebccae } public boolean vindicatorRidable = false; -@@ -1270,6 +1272,7 @@ public class PurpurWorldConfig { +@@ -1278,6 +1280,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidable = false; public boolean wanderingTraderRidableInWater = false; public double wanderingTraderMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index b94165c34e4c809e3686253beae26c05c7c3a181..a70ea41a56edf5a52c96feb0bdebccae private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1279,6 +1282,7 @@ public class PurpurWorldConfig { +@@ -1287,6 +1290,7 @@ public class PurpurWorldConfig { set("mobs.wandering_trader.attributes.max_health", oldValue); } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); diff --git a/patches/server/0061-Allow-leashing-villagers.patch b/patches/server/0061-Allow-leashing-villagers.patch index caf38bf12..d76a560a9 100644 --- a/patches/server/0061-Allow-leashing-villagers.patch +++ b/patches/server/0061-Allow-leashing-villagers.patch @@ -49,10 +49,10 @@ index 393061e13375bf7a7ee57973b4abac83ffa15fa3..c48935d35a6141c41db22e3ec172d599 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a70ea41a56edf5a52c96feb0bdebccaee0b89f04..af80a7d516fa5669fe7406ab3b07b39ee643928f 100644 +index 714ad964c90d8fb8244787899be1338c8ab445f8..66198aa053072cf95b6d8f988ae839ec72fa67f0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1241,6 +1241,7 @@ public class PurpurWorldConfig { +@@ -1249,6 +1249,7 @@ public class PurpurWorldConfig { public int villagerBrainTicks = 1; public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; @@ -60,7 +60,7 @@ index a70ea41a56edf5a52c96feb0bdebccaee0b89f04..af80a7d516fa5669fe7406ab3b07b39e private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1253,6 +1254,7 @@ public class PurpurWorldConfig { +@@ -1261,6 +1262,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 a70ea41a56edf5a52c96feb0bdebccaee0b89f04..af80a7d516fa5669fe7406ab3b07b39e } public boolean vindicatorRidable = false; -@@ -1273,6 +1275,7 @@ public class PurpurWorldConfig { +@@ -1281,6 +1283,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidableInWater = false; public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; @@ -76,7 +76,7 @@ index a70ea41a56edf5a52c96feb0bdebccaee0b89f04..af80a7d516fa5669fe7406ab3b07b39e private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1283,6 +1286,7 @@ public class PurpurWorldConfig { +@@ -1291,6 +1294,7 @@ public class PurpurWorldConfig { } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); diff --git a/patches/server/0062-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0062-Implement-configurable-search-radius-for-villagers-t.patch index 224baacf9..2db79aa88 100644 --- a/patches/server/0062-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0062-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index 481595bb478ebbf2e76948cfdfa531d703f22b6d..69465bc31cff3e96904fa2fabbe31061 for (int i = 0; i < 10; ++i) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index af80a7d516fa5669fe7406ab3b07b39ee643928f..18a6cc3765813868e624b8be8bd02fb057354637 100644 +index 66198aa053072cf95b6d8f988ae839ec72fa67f0..999d98cb67fa14427b5a16a46ea047fc90444f7c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1242,6 +1242,8 @@ public class PurpurWorldConfig { +@@ -1250,6 +1250,8 @@ public class PurpurWorldConfig { public boolean villagerUseBrainTicksOnlyWhenLagging = true; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -30,7 +30,7 @@ index af80a7d516fa5669fe7406ab3b07b39ee643928f..18a6cc3765813868e624b8be8bd02fb0 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1255,6 +1257,8 @@ public class PurpurWorldConfig { +@@ -1263,6 +1265,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); diff --git a/patches/server/0063-Implement-infinite-lava.patch b/patches/server/0063-Implement-infinite-lava.patch index b2c1302dc..ca6227fa3 100644 --- a/patches/server/0063-Implement-infinite-lava.patch +++ b/patches/server/0063-Implement-infinite-lava.patch @@ -58,10 +58,10 @@ index 695783e64564b1d2a178d57a89737d2a97ab9014..cd1a33a1f10d04a91358f51d736bda34 protected boolean canConvertToSource() { return false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 18a6cc3765813868e624b8be8bd02fb057354637..13721c931f7763a9a9d60896f6d8b2e54122f9c7 100644 +index 999d98cb67fa14427b5a16a46ea047fc90444f7c..420f358be94ec98a85dd8dc5c8c9ee8cb1650b6b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -221,6 +221,13 @@ public class PurpurWorldConfig { +@@ -229,6 +229,13 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0064-Make-lava-flow-speed-configurable.patch b/patches/server/0064-Make-lava-flow-speed-configurable.patch index 8c00f3f33..dbbe26525 100644 --- a/patches/server/0064-Make-lava-flow-speed-configurable.patch +++ b/patches/server/0064-Make-lava-flow-speed-configurable.patch @@ -18,10 +18,10 @@ index cd1a33a1f10d04a91358f51d736bda34110324c4..b0d671ba015d1ad37fdf600b8e70def2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 13721c931f7763a9a9d60896f6d8b2e54122f9c7..3e12ddad6dc848a82a15b271314ce24788e7d402 100644 +index 420f358be94ec98a85dd8dc5c8c9ee8cb1650b6b..23d5d959e40b496fe54d0fe6b7434a090afdc0fb 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -223,9 +223,13 @@ public class PurpurWorldConfig { +@@ -231,9 +231,13 @@ public class PurpurWorldConfig { public boolean lavaInfinite = false; public int lavaInfiniteRequiredSources = 2; diff --git a/patches/server/0065-Add-player-death-exp-control-options.patch b/patches/server/0065-Add-player-death-exp-control-options.patch index 931a0a064..1e324254d 100644 --- a/patches/server/0065-Add-player-death-exp-control-options.patch +++ b/patches/server/0065-Add-player-death-exp-control-options.patch @@ -31,10 +31,10 @@ index 9ffe8832ef9b74ed3794243965d0cc3d3fbc4ef5..c557bee52a3f136696bb55853622b032 return 0; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3e12ddad6dc848a82a15b271314ce24788e7d402..9c6554bb8633899466aab12a7cb9ea87dac95b73 100644 +index 23d5d959e40b496fe54d0fe6b7434a090afdc0fb..54f802449b8be8913c6d357ba7f6cfe50c09fb03 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -167,6 +167,8 @@ public class PurpurWorldConfig { +@@ -168,6 +168,8 @@ public class PurpurWorldConfig { public boolean idleTimeoutTargetPlayer = true; public int playerSpawnInvulnerableTicks = 60; public boolean playerInvulnerableWhileAcceptingResourcePack = false; @@ -43,7 +43,7 @@ index 3e12ddad6dc848a82a15b271314ce24788e7d402..9c6554bb8633899466aab12a7cb9ea87 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -180,6 +182,8 @@ public class PurpurWorldConfig { +@@ -181,6 +183,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); diff --git a/patches/server/0066-Configurable-void-damage-height-and-damage.patch b/patches/server/0066-Configurable-void-damage-height-and-damage.patch index 959b9b145..83a53126b 100644 --- a/patches/server/0066-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0066-Configurable-void-damage-height-and-damage.patch @@ -31,10 +31,10 @@ index 5529b1bcfeeb234a5629d3d7eaeb3ba759bce131..1c75911afb5a2de6f0099f43cb0660f4 protected void updateSwingTime() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9c6554bb8633899466aab12a7cb9ea87dac95b73..313d977209b9cb972207cf2d4f63b5d4aadc7227 100644 +index 54f802449b8be8913c6d357ba7f6cfe50c09fb03..b1722d945ce43e296e603b8c4eec43df39cc3bed 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -214,10 +214,14 @@ public class PurpurWorldConfig { +@@ -222,10 +222,14 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; diff --git a/patches/server/0068-Dispenser-curse-of-binding-protection.patch b/patches/server/0068-Dispenser-curse-of-binding-protection.patch index 136e65230..d0017cc0e 100644 --- a/patches/server/0068-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0068-Dispenser-curse-of-binding-protection.patch @@ -43,10 +43,10 @@ index aab4a63e61aced51b1b6c885fd8b8426a4f14408..dba3b8e0671ee63ff077155a8964f3e2 // CraftBukkit start Level world = pointer.getLevel(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 313d977209b9cb972207cf2d4f63b5d4aadc7227..ee53de5106cc9f3caef95e13d85d4cbd89982012 100644 +index b1722d945ce43e296e603b8c4eec43df39cc3bed..c5ced15da2a371dde1dbcc18266119bef2ceb035 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -224,6 +224,11 @@ public class PurpurWorldConfig { +@@ -232,6 +232,11 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch index 154eb8c0f..0e3237177 100644 --- a/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0069-Add-option-for-boats-to-eject-players-on-land.patch @@ -17,10 +17,10 @@ index 391454a58d18d7373b974e094fd62514ca0d0b6b..6acd2dc6ec9c3761fa330c74df8c7e7b } else { return Boat.Status.IN_AIR; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ee53de5106cc9f3caef95e13d85d4cbd89982012..29f50b0144f28c03af1114bed4473b5bbcf34677 100644 +index c5ced15da2a371dde1dbcc18266119bef2ceb035..270ce40a4e81037196a9df8fe21790682b917ce4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -211,12 +211,14 @@ public class PurpurWorldConfig { +@@ -219,12 +219,14 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0070-Mending-mends-most-damages-equipment-first.patch b/patches/server/0070-Mending-mends-most-damages-equipment-first.patch index aa546bff2..b118be630 100644 --- a/patches/server/0070-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0070-Mending-mends-most-damages-equipment-first.patch @@ -73,10 +73,10 @@ index d439e8ce87bf7da03683a336941c7673b8b166e4..955e482e4bc83f2b777cd2e4254c40be Entry entry = getRandomItemWith(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 29f50b0144f28c03af1114bed4473b5bbcf34677..a5572f018bbc5f12d97a1466bd7e34f7999d99e8 100644 +index 270ce40a4e81037196a9df8fe21790682b917ce4..8c7d9c15732e0223030a8c868b3d4f42f1226854 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -211,6 +211,7 @@ public class PurpurWorldConfig { +@@ -219,6 +219,7 @@ public class PurpurWorldConfig { }); } @@ -84,7 +84,7 @@ index 29f50b0144f28c03af1114bed4473b5bbcf34677..a5572f018bbc5f12d97a1466bd7e34f7 public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; public boolean milkCuresBadOmen = true; -@@ -218,6 +219,7 @@ public class PurpurWorldConfig { +@@ -226,6 +227,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; private void miscGameplayMechanicsSettings() { diff --git a/patches/server/0072-Implement-elytra-settings.patch b/patches/server/0072-Implement-elytra-settings.patch index 28e4fa765..aec3fadaa 100644 --- a/patches/server/0072-Implement-elytra-settings.patch +++ b/patches/server/0072-Implement-elytra-settings.patch @@ -99,10 +99,10 @@ index 510ed67a7de2b503ab8b01db57ed09ee33b0d825..3f53dc8f250ad3f7616ce7ef0a2353ca entityhuman.startAutoSpinAttack(20); if (entityhuman.isOnGround()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a5572f018bbc5f12d97a1466bd7e34f7999d99e8..08768d2159e663036f652aff9b0e089da943db28 100644 +index 8c7d9c15732e0223030a8c868b3d4f42f1226854..aa438090a05da82e0aa95ced0765409f91344f4f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -98,6 +98,19 @@ public class PurpurWorldConfig { +@@ -99,6 +99,19 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0073-Item-entity-immunities.patch b/patches/server/0073-Item-entity-immunities.patch index 97cd4f438..233f09fd8 100644 --- a/patches/server/0073-Item-entity-immunities.patch +++ b/patches/server/0073-Item-entity-immunities.patch @@ -96,10 +96,10 @@ index dae6f7a05426ea31d13c82458b33e20abc2571b6..c51161136bec4b4dbe10c0bff5fc197b + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 08768d2159e663036f652aff9b0e089da943db28..2a1cc21584f9e9765d8c00766450c2fc6e49f35d 100644 +index aa438090a05da82e0aa95ced0765409f91344f4f..7eb78791f507dfc50ae70134fdfe161256f5ee16 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -111,6 +111,49 @@ public class PurpurWorldConfig { +@@ -112,6 +112,49 @@ public class PurpurWorldConfig { elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); } diff --git a/patches/server/0077-Configurable-jockey-options.patch b/patches/server/0077-Configurable-jockey-options.patch index 0a2a5e225..be0869937 100644 --- a/patches/server/0077-Configurable-jockey-options.patch +++ b/patches/server/0077-Configurable-jockey-options.patch @@ -167,10 +167,10 @@ index 8464026df1b46ad30301fed4944aa1d3cd39bd9e..5b5958e37918b97fa994500fe94cd0e5 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e586f2592 100644 +index 7eb78791f507dfc50ae70134fdfe161256f5ee16..e0733147d9976e42a06e262e54fef121ac583915 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -525,6 +525,9 @@ public class PurpurWorldConfig { +@@ -533,6 +533,9 @@ public class PurpurWorldConfig { public boolean drownedRidableInWater = false; public double drownedMaxHealth = 20.0D; public double drownedSpawnReinforcements = 0.1D; @@ -180,7 +180,7 @@ index 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -535,6 +538,9 @@ public class PurpurWorldConfig { +@@ -543,6 +546,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 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e } public boolean elderGuardianRidable = false; -@@ -747,6 +753,9 @@ public class PurpurWorldConfig { +@@ -755,6 +761,9 @@ public class PurpurWorldConfig { public boolean huskRidableInWater = false; public double huskMaxHealth = 20.0D; public double huskSpawnReinforcements = 0.1D; @@ -200,7 +200,7 @@ index 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -757,6 +766,9 @@ public class PurpurWorldConfig { +@@ -765,6 +774,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 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e } public boolean illusionerRidable = false; -@@ -1457,6 +1469,9 @@ public class PurpurWorldConfig { +@@ -1465,6 +1477,9 @@ public class PurpurWorldConfig { public boolean zombieRidableInWater = false; public double zombieMaxHealth = 20.0D; public double zombieSpawnReinforcements = 0.1D; @@ -220,7 +220,7 @@ index 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1467,6 +1482,9 @@ public class PurpurWorldConfig { +@@ -1475,6 +1490,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 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e } public boolean zombieHorseRidableInWater = false; -@@ -1500,6 +1518,9 @@ public class PurpurWorldConfig { +@@ -1508,6 +1526,9 @@ public class PurpurWorldConfig { public boolean zombieVillagerRidableInWater = false; public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerSpawnReinforcements = 0.1D; @@ -240,7 +240,7 @@ index 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1510,12 +1531,18 @@ public class PurpurWorldConfig { +@@ -1518,12 +1539,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 2a1cc21584f9e9765d8c00766450c2fc6e49f35d..d2754ceb0d87dd844a5e325ee5a89b4e private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1526,5 +1553,8 @@ public class PurpurWorldConfig { +@@ -1534,5 +1561,8 @@ public class PurpurWorldConfig { } zombifiedPiglinMaxHealth = getDouble("mobs.zombified_piglin.attributes.max_health", zombifiedPiglinMaxHealth); zombifiedPiglinSpawnReinforcements = getDouble("mobs.zombified_piglin.attributes.spawn_reinforcements", zombifiedPiglinSpawnReinforcements); diff --git a/patches/server/0078-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0078-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index ba4cbf4d7..5fe4ba68b 100644 --- a/patches/server/0078-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0078-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -258,10 +258,10 @@ index 5e069ac0c57d2a3a23f6e4483d12ce298d172691..916c29d08fbcf245ad6f50f8e8cc1736 private float speed = 0.1F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d2754ceb0d87dd844a5e325ee5a89b4e586f2592..62c257b28d921d36198f925170a9ea01ec2c63be 100644 +index e0733147d9976e42a06e262e54fef121ac583915..c384123af3fd0c24fe1e1481197ea3a7a15eb8a2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -938,6 +938,9 @@ public class PurpurWorldConfig { +@@ -946,6 +946,9 @@ public class PurpurWorldConfig { public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; public double phantomMaxHealth = 20.0D; @@ -271,7 +271,7 @@ index d2754ceb0d87dd844a5e325ee5a89b4e586f2592..62c257b28d921d36198f925170a9ea01 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -951,6 +954,9 @@ public class PurpurWorldConfig { +@@ -959,6 +962,9 @@ public class PurpurWorldConfig { set("mobs.phantom.attributes.max_health", oldValue); } phantomMaxHealth = getDouble("mobs.phantom.attributes.max_health", phantomMaxHealth); diff --git a/patches/server/0079-Add-phantom-spawning-options.patch b/patches/server/0079-Add-phantom-spawning-options.patch index ddde5ad7d..2bb400418 100644 --- a/patches/server/0079-Add-phantom-spawning-options.patch +++ b/patches/server/0079-Add-phantom-spawning-options.patch @@ -48,10 +48,10 @@ index 79504dc3448402e73b09c4232b1fd0488872cf68..300c9f136edace2babea4a574090b184 for (int l = 0; l < k; ++l) { // Paper start diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 62c257b28d921d36198f925170a9ea01ec2c63be..518925c8d6269161c439c7e87b8be108296fc301 100644 +index c384123af3fd0c24fe1e1481197ea3a7a15eb8a2..295999b5269de11b5384fea831470e5b0c909343 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -941,6 +941,18 @@ public class PurpurWorldConfig { +@@ -949,6 +949,18 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; @@ -70,7 +70,7 @@ index 62c257b28d921d36198f925170a9ea01ec2c63be..518925c8d6269161c439c7e87b8be108 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -957,6 +969,18 @@ public class PurpurWorldConfig { +@@ -965,6 +977,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); diff --git a/patches/server/0080-Implement-bed-explosion-options.patch b/patches/server/0080-Implement-bed-explosion-options.patch index 209cc67e6..637e5496c 100644 --- a/patches/server/0080-Implement-bed-explosion-options.patch +++ b/patches/server/0080-Implement-bed-explosion-options.patch @@ -27,10 +27,10 @@ index e3ff04fe21761db65fb03c5e58ecd5823f0507c6..6362c9dcfbc980a0591ac6dfebe45e47 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 518925c8d6269161c439c7e87b8be108296fc301..3abfc7c8400ebebd81fab7206d5f86c61c48ed07 100644 +index 295999b5269de11b5384fea831470e5b0c909343..f2e4511bae29a6df5d50e75e3a72e49d152ae38a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -284,6 +284,22 @@ public class PurpurWorldConfig { +@@ -292,6 +292,22 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0081-Implement-respawn-anchor-explosion-options.patch b/patches/server/0081-Implement-respawn-anchor-explosion-options.patch index 0856989c3..7f533cea3 100644 --- a/patches/server/0081-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0081-Implement-respawn-anchor-explosion-options.patch @@ -18,10 +18,10 @@ index 0a5d563700c9f806139001181f01fa9d0111f792..1aae3d27ed6c0433312502a59fe1eb70 public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3abfc7c8400ebebd81fab7206d5f86c61c48ed07..492156452dd6f91a3cd638ff8bbf88db458b5c12 100644 +index f2e4511bae29a6df5d50e75e3a72e49d152ae38a..4a03ec9088c2f1e52ac7a81e901cc32352879c02 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -321,6 +321,22 @@ public class PurpurWorldConfig { +@@ -329,6 +329,22 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0084-Entity-lifespan.patch b/patches/server/0084-Entity-lifespan.patch index c9e1041f4..354066569 100644 --- a/patches/server/0084-Entity-lifespan.patch +++ b/patches/server/0084-Entity-lifespan.patch @@ -89,10 +89,10 @@ index e985f795747e25c5456658df3e1d65a520d8a2cc..437015eef7404362cb564dec72e3e87c } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 492156452dd6f91a3cd638ff8bbf88db458b5c12..f1de0689c36fbbc422a38b1692cba32ba48b155c 100644 +index 4a03ec9088c2f1e52ac7a81e901cc32352879c02..e13159745e1c03df859f9ad93c828925d6e399d1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -111,6 +111,11 @@ public class PurpurWorldConfig { +@@ -112,6 +112,11 @@ public class PurpurWorldConfig { elytraDamagePerTridentBoost = getInt("gameplay-mechanics.elytra.damage-per-boost.trident", elytraDamagePerTridentBoost); } diff --git a/patches/server/0085-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0085-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 32271d8fe..f19d28054 100644 --- a/patches/server/0085-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0085-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -55,10 +55,10 @@ index d08a9032a0551361e5ced4fe20cf803d68898665..8896f8aa3f21dba3fe78b5cf6f3ee1ad } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f1de0689c36fbbc422a38b1692cba32ba48b155c..0e076eb9afad6b974d140d8f439e4d689d171eff 100644 +index e13159745e1c03df859f9ad93c828925d6e399d1..1e35ef6c93ee5aa2791defed112459e6ece50495 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -230,6 +230,7 @@ public class PurpurWorldConfig { +@@ -231,6 +231,7 @@ public class PurpurWorldConfig { public boolean playerInvulnerableWhileAcceptingResourcePack = false; public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; @@ -66,7 +66,7 @@ index f1de0689c36fbbc422a38b1692cba32ba48b155c..0e076eb9afad6b974d140d8f439e4d68 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -245,6 +246,7 @@ public class PurpurWorldConfig { +@@ -246,6 +247,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); diff --git a/patches/server/0086-Squid-EAR-immunity.patch b/patches/server/0086-Squid-EAR-immunity.patch index eb4f1f08b..df3e08d15 100644 --- a/patches/server/0086-Squid-EAR-immunity.patch +++ b/patches/server/0086-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0e076eb9afad6b974d140d8f439e4d689d171eff..6264540a68771b03210bf7f91268aa08dde7c518 100644 +index 1e35ef6c93ee5aa2791defed112459e6ece50495..8e52cb93307582b1fbc78dcf45e4c2dfaad2fbbe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1274,6 +1274,7 @@ public class PurpurWorldConfig { +@@ -1282,6 +1282,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public double squidMaxHealth = 10.0D; @@ -16,7 +16,7 @@ index 0e076eb9afad6b974d140d8f439e4d689d171eff..6264540a68771b03210bf7f91268aa08 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1282,6 +1283,7 @@ public class PurpurWorldConfig { +@@ -1290,6 +1291,7 @@ public class PurpurWorldConfig { set("mobs.squid.attributes.max_health", oldValue); } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); diff --git a/patches/server/0087-Phantoms-burn-in-light.patch b/patches/server/0087-Phantoms-burn-in-light.patch index 0735b6695..b6c47b419 100644 --- a/patches/server/0087-Phantoms-burn-in-light.patch +++ b/patches/server/0087-Phantoms-burn-in-light.patch @@ -47,10 +47,10 @@ index 916c29d08fbcf245ad6f50f8e8cc173677b01081..59033a5c28f672089fe3ad846775753a list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - remap fix Iterator iterator = list.iterator(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6264540a68771b03210bf7f91268aa08dde7c518..9436b404d961368a66bbc94683bf0216b7a8b3f2 100644 +index 8e52cb93307582b1fbc78dcf45e4c2dfaad2fbbe..d4f265f2f55bbe2abbee6022b1fb5ce5275628c7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -992,6 +992,9 @@ public class PurpurWorldConfig { +@@ -1000,6 +1000,9 @@ public class PurpurWorldConfig { public int phantomSpawnOverheadRadius = 10; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -60,7 +60,7 @@ index 6264540a68771b03210bf7f91268aa08dde7c518..9436b404d961368a66bbc94683bf0216 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1020,6 +1023,9 @@ public class PurpurWorldConfig { +@@ -1028,6 +1031,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); diff --git a/patches/server/0088-Configurable-villager-breeding.patch b/patches/server/0088-Configurable-villager-breeding.patch index 5a9f4b9ac..315ddbfef 100644 --- a/patches/server/0088-Configurable-villager-breeding.patch +++ b/patches/server/0088-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 69465bc31cff3e96904fa2fabbe31061e9f5ba4b..a1725ccc7b194c26c4f94561a228da9f private boolean hungry() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9436b404d961368a66bbc94683bf0216b7a8b3f2..d0df471d0ad2df1590ee5bd41d77dd7fd1f1cff3 100644 +index d4f265f2f55bbe2abbee6022b1fb5ce5275628c7..0aa98e385c16faa742e7f11959ade9ec05c661a3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1417,6 +1417,7 @@ public class PurpurWorldConfig { +@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -29,7 +29,7 @@ index 9436b404d961368a66bbc94683bf0216b7a8b3f2..d0df471d0ad2df1590ee5bd41d77dd7f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1432,6 +1433,7 @@ public class PurpurWorldConfig { +@@ -1440,6 +1441,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); diff --git a/patches/server/0089-Redstone-deactivates-spawners.patch b/patches/server/0089-Redstone-deactivates-spawners.patch index a5e91e4f1..5d5380fa8 100644 --- a/patches/server/0089-Redstone-deactivates-spawners.patch +++ b/patches/server/0089-Redstone-deactivates-spawners.patch @@ -17,10 +17,10 @@ index c601b8b12756682a4cb300be8ebed4319902c5b5..eec88d3947d435559d8ce175f72c5efb } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d0df471d0ad2df1590ee5bd41d77dd7fd1f1cff3..140dfa7400b6b77596468f8777b8693af70d6094 100644 +index 0aa98e385c16faa742e7f11959ade9ec05c661a3..a75f4c2fe76bb653e88604a9b026f0c3e38c5706 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -351,6 +351,11 @@ public class PurpurWorldConfig { +@@ -359,6 +359,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0090-Totems-work-in-inventory.patch b/patches/server/0090-Totems-work-in-inventory.patch index 6d3cb4a47..d0aa2d64e 100644 --- a/patches/server/0090-Totems-work-in-inventory.patch +++ b/patches/server/0090-Totems-work-in-inventory.patch @@ -29,10 +29,10 @@ index 8896f8aa3f21dba3fe78b5cf6f3ee1adfac2bac3..7339ec31aba03974991fdb247beefc74 event.setCancelled(itemstack == null); this.level.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 140dfa7400b6b77596468f8777b8693af70d6094..e56f0fca2faec53cc52a07878d4fbe9cff79b7c9 100644 +index a75f4c2fe76bb653e88604a9b026f0c3e38c5706..ce01456bfd0aba630476972bda0f85df8fdaf0d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -231,6 +231,7 @@ public class PurpurWorldConfig { +@@ -232,6 +232,7 @@ public class PurpurWorldConfig { public String playerDeathExpDropEquation = "expLevel * 7"; public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; @@ -40,7 +40,7 @@ index 140dfa7400b6b77596468f8777b8693af70d6094..e56f0fca2faec53cc52a07878d4fbe9c private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -247,6 +248,7 @@ public class PurpurWorldConfig { +@@ -248,6 +249,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); diff --git a/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch index c24c7e302..461360d36 100644 --- a/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0091-Add-vindicator-johnny-spawn-chance.patch @@ -30,10 +30,10 @@ index 76e6ea34db3942e9dd7646ad7ca1259f4387a4d8..9096c40ad5784d9097e889f0f43b6cf1 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e56f0fca2faec53cc52a07878d4fbe9cff79b7c9..ba43bed5bc2750f466243d2bf423d4caa053a85e 100644 +index ce01456bfd0aba630476972bda0f85df8fdaf0d6..efbb85ac5acefe31c4371260a7a4078f49666578 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1446,6 +1446,7 @@ public class PurpurWorldConfig { +@@ -1454,6 +1454,7 @@ public class PurpurWorldConfig { public boolean vindicatorRidable = false; public boolean vindicatorRidableInWater = false; public double vindicatorMaxHealth = 24.0D; @@ -41,7 +41,7 @@ index e56f0fca2faec53cc52a07878d4fbe9cff79b7c9..ba43bed5bc2750f466243d2bf423d4ca private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1455,6 +1456,7 @@ public class PurpurWorldConfig { +@@ -1463,6 +1464,7 @@ public class PurpurWorldConfig { set("mobs.vindicator.attributes.max_health", oldValue); } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); diff --git a/patches/server/0093-Dispensers-place-anvils-option.patch b/patches/server/0093-Dispensers-place-anvils-option.patch index 0543cc4ce..e775efa5f 100644 --- a/patches/server/0093-Dispensers-place-anvils-option.patch +++ b/patches/server/0093-Dispensers-place-anvils-option.patch @@ -41,10 +41,10 @@ index 0d34026a70c72661a9ba6b319690370e589714cc..da1465096178370494c8ed17bd8495f0 static void setEntityPokingOutOfBlock(BlockSource pointer, Entity entity, Direction direction) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ba43bed5bc2750f466243d2bf423d4caa053a85e..d83383f98dd3d5766134137bbfdf0d973a925994 100644 +index efbb85ac5acefe31c4371260a7a4078f49666578..e63e1a52c4513c27e9dc5ce9b3bb6fce165f7b8d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -310,8 +310,10 @@ public class PurpurWorldConfig { +@@ -318,8 +318,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0094-Allow-anvil-colors.patch b/patches/server/0094-Allow-anvil-colors.patch index 43ba14a3d..9598ed0c3 100644 --- a/patches/server/0094-Allow-anvil-colors.patch +++ b/patches/server/0094-Allow-anvil-colors.patch @@ -37,10 +37,10 @@ index 3ce51ff7af5b907cc044c9dd5894be1a03dc2719..81ffe2c1597487188cfcce09c5e160d8 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d83383f98dd3d5766134137bbfdf0d973a925994..3f780ac884e8037d155d402ba9a6807afb0d7a16 100644 +index e63e1a52c4513c27e9dc5ce9b3bb6fce165f7b8d..a5d97a8f2f1c28cbd10ce0e8dbb54404566c8ea1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -293,6 +293,11 @@ public class PurpurWorldConfig { +@@ -301,6 +301,11 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0095-Add-no-random-tick-block-list.patch b/patches/server/0095-Add-no-random-tick-block-list.patch index d7b976436..e8f5fed79 100644 --- a/patches/server/0095-Add-no-random-tick-block-list.patch +++ b/patches/server/0095-Add-no-random-tick-block-list.patch @@ -35,10 +35,10 @@ index 3d677fe25ed015e30634bf2fccde29f332e3dd87..e1aba175a74e73db0a8a11e8d2df35c4 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3f780ac884e8037d155d402ba9a6807afb0d7a16..d301176f1e755fbacc6b3145c0fe8f36a6764b7c 100644 +index a5d97a8f2f1c28cbd10ce0e8dbb54404566c8ea1..0ec33bc04f5c08142309c43e05872b4149c8ad95 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -293,6 +293,28 @@ public class PurpurWorldConfig { +@@ -301,6 +301,28 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); } diff --git a/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch index adaea01d2..0eaa84422 100644 --- a/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0096-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index c372d47a929e06c8cfb0df86cf4e9bfee4d4b300..2aead13e8f879b614445715fb1912a20 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d301176f1e755fbacc6b3145c0fe8f36a6764b7c..a9388714c4bbe576dd0b4dd4f11a346d12d9f002 100644 +index 0ec33bc04f5c08142309c43e05872b4149c8ad95..27e60c75eda476f45c7aac8a199bb45e76174e22 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -559,6 +559,7 @@ public class PurpurWorldConfig { +@@ -567,6 +567,7 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; @@ -28,7 +28,7 @@ index d301176f1e755fbacc6b3145c0fe8f36a6764b7c..a9388714c4bbe576dd0b4dd4f11a346d private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -570,6 +571,7 @@ public class PurpurWorldConfig { +@@ -578,6 +579,7 @@ public class PurpurWorldConfig { set("mobs.dolphin.attributes.max_health", oldValue); } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); diff --git a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch index ec0f474fa..513d53c20 100644 --- a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch @@ -60,10 +60,10 @@ index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc8 + // Purpur } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a9388714c4bbe576dd0b4dd4f11a346d12d9f002..e59c9a2a4624ac89de30f486dac6d1aef3d914e5 100644 +index 27e60c75eda476f45c7aac8a199bb45e76174e22..7e8044adbd1a3847059ae7eadd89df7b0b7b6bbd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1319,6 +1319,7 @@ public class PurpurWorldConfig { +@@ -1327,6 +1327,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; @@ -71,7 +71,7 @@ index a9388714c4bbe576dd0b4dd4f11a346d12d9f002..e59c9a2a4624ac89de30f486dac6d1ae private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1328,6 +1329,7 @@ public class PurpurWorldConfig { +@@ -1336,6 +1337,7 @@ public class PurpurWorldConfig { } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); diff --git a/patches/server/0101-Entities-can-use-portals-configuration.patch b/patches/server/0101-Entities-can-use-portals-configuration.patch index dc1df3f01..517c52392 100644 --- a/patches/server/0101-Entities-can-use-portals-configuration.patch +++ b/patches/server/0101-Entities-can-use-portals-configuration.patch @@ -27,10 +27,10 @@ index 003aefff36185613a195edad1bd0121b8526a90b..c2b808a80696b319143ac7f96e75be51 public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e59c9a2a4624ac89de30f486dac6d1aef3d914e5..8ab851aedffa2a66a3ea948393f1ea56fade7150 100644 +index 7e8044adbd1a3847059ae7eadd89df7b0b7b6bbd..af311d13e305143ff7abbd0147119962ce5e7208 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -279,6 +279,7 @@ public class PurpurWorldConfig { +@@ -287,6 +287,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; public boolean disableDropsOnCrammingDeath = false; @@ -38,7 +38,7 @@ index e59c9a2a4624ac89de30f486dac6d1aef3d914e5..8ab851aedffa2a66a3ea948393f1ea56 public boolean milkCuresBadOmen = true; public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; -@@ -287,6 +288,7 @@ public class PurpurWorldConfig { +@@ -295,6 +296,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); diff --git a/patches/server/0103-Customizable-wither-health-and-healing.patch b/patches/server/0103-Customizable-wither-health-and-healing.patch index 0b8e36784..c50a5782e 100644 --- a/patches/server/0103-Customizable-wither-health-and-healing.patch +++ b/patches/server/0103-Customizable-wither-health-and-healing.patch @@ -23,10 +23,10 @@ index 12cd1b453150e098975c34e00ec9277ff9730c75..ee13bdfb5cfc9992d26126804c0a0bb5 this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8ab851aedffa2a66a3ea948393f1ea56fade7150..ee548f39f3b0c32bd6abd673ea778e7c433bdf89 100644 +index af311d13e305143ff7abbd0147119962ce5e7208..0c8670b283bb9bccfa8b585cf29aabb140c81414 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1530,6 +1530,8 @@ public class PurpurWorldConfig { +@@ -1538,6 +1538,8 @@ public class PurpurWorldConfig { public boolean witherRidableInWater = false; public double witherMaxY = 256D; public double witherMaxHealth = 300.0D; @@ -35,7 +35,7 @@ index 8ab851aedffa2a66a3ea948393f1ea56fade7150..ee548f39f3b0c32bd6abd673ea778e7c private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1544,6 +1546,8 @@ public class PurpurWorldConfig { +@@ -1552,6 +1554,8 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch index 3bb3d76d3..cc75f192d 100644 --- a/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0104-Allow-toggling-special-MobSpawners-per-world.patch @@ -94,10 +94,10 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ee548f39f3b0c32bd6abd673ea778e7c433bdf89..3ea46e674461916261030bdd8b693789c34a324a 100644 +index 0c8670b283bb9bccfa8b585cf29aabb140c81414..ef2e3ad602815b0f40d0e8f99376258f556757f6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -72,6 +72,12 @@ public class PurpurWorldConfig { +@@ -73,6 +73,12 @@ public class PurpurWorldConfig { return PurpurConfig.config.getBoolean("world-settings." + worldName + "." + path, PurpurConfig.config.getBoolean("world-settings.default." + path)); } @@ -110,7 +110,7 @@ index ee548f39f3b0c32bd6abd673ea778e7c433bdf89..3ea46e674461916261030bdd8b693789 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)); -@@ -221,6 +227,21 @@ public class PurpurWorldConfig { +@@ -222,6 +228,21 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0105-Raid-cooldown-setting.patch b/patches/server/0105-Raid-cooldown-setting.patch index 86ba6b149..fcdadde35 100644 --- a/patches/server/0105-Raid-cooldown-setting.patch +++ b/patches/server/0105-Raid-cooldown-setting.patch @@ -52,10 +52,10 @@ index 45e369aa69a6b78def42b619b1b1b8259d4b30ea..de7443e7a27e51eabaed2d6d348ec8ea if (!this.raidMap.containsKey(raid.getId())) { this.raidMap.put(raid.getId(), raid); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3ea46e674461916261030bdd8b693789c34a324a..0d6e9f5f14d75c71f96da4b2ad7eb9d19fcf4254 100644 +index ef2e3ad602815b0f40d0e8f99376258f556757f6..73c2312de3140bb95f5b71817b970b4dbfa79307 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -305,6 +305,7 @@ public class PurpurWorldConfig { +@@ -313,6 +313,7 @@ public class PurpurWorldConfig { public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; @@ -63,7 +63,7 @@ index 3ea46e674461916261030bdd8b693789c34a324a..0d6e9f5f14d75c71f96da4b2ad7eb9d1 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -314,6 +315,7 @@ public class PurpurWorldConfig { +@@ -322,6 +323,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); diff --git a/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch index b91999d33..8e31bfa3d 100644 --- a/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0106-Despawn-rate-config-options-per-projectile-type.patch @@ -289,10 +289,10 @@ index 4a11f7417b438ee5711a720aca3321c88e970b2a..46b74271ce5f614f07754db14d2a552c + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0d6e9f5f14d75c71f96da4b2ad7eb9d19fcf4254..bf4629ce5d098bd5c950071a810b841427a18fb7 100644 +index 73c2312de3140bb95f5b71817b970b4dbfa79307..ec8d6caa531d53d5f7899c135fc067c3f892286c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -272,6 +272,35 @@ public class PurpurWorldConfig { +@@ -273,6 +273,35 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } @@ -326,5 +326,5 @@ index 0d6e9f5f14d75c71f96da4b2ad7eb9d19fcf4254..bf4629ce5d098bd5c950071a810b8414 + } + public boolean silkTouchEnabled = false; - public String silkTouchSpawnerName = "Spawner"; + public String silkTouchSpawnerName = "Spawner"; public List silkTouchSpawnerLore = new ArrayList<>(); diff --git a/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch index 35bfa6616..bcff5dab7 100644 --- a/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0107-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -71,10 +71,10 @@ index 1f9a233799be988748f6146ced2a4489899079f8..1f90c40c5e92232c38a33097903fd6e2 this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bf4629ce5d098bd5c950071a810b841427a18fb7..1484f492df6366dec71aa1ced77ea6f8037675ca 100644 +index ec8d6caa531d53d5f7899c135fc067c3f892286c..4117828770455975109f7c7700218d392fce101c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1651,6 +1651,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1659,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -82,7 +82,7 @@ index bf4629ce5d098bd5c950071a810b841427a18fb7..1484f492df6366dec71aa1ced77ea6f8 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1664,6 +1665,7 @@ public class PurpurWorldConfig { +@@ -1672,6 +1673,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); diff --git a/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch index 13ae75cc5..c06a19f92 100644 --- a/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -189,10 +189,10 @@ index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9e + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1484f492df6366dec71aa1ced77ea6f8037675ca..e1aab2eee7b3c3148f48417126bee94e91968033 100644 +index 4117828770455975109f7c7700218d392fce101c..a3f5f60167502d596f5587782fa2f3f69f423a18 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -331,6 +331,7 @@ public class PurpurWorldConfig { +@@ -339,6 +339,7 @@ public class PurpurWorldConfig { public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; @@ -200,7 +200,7 @@ index 1484f492df6366dec71aa1ced77ea6f8037675ca..e1aab2eee7b3c3148f48417126bee94e public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -341,6 +342,7 @@ public class PurpurWorldConfig { +@@ -349,6 +350,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); diff --git a/patches/server/0110-Flying-squids-Oh-my.patch b/patches/server/0110-Flying-squids-Oh-my.patch index 3804eaaf2..a8c6b7ac4 100644 --- a/patches/server/0110-Flying-squids-Oh-my.patch +++ b/patches/server/0110-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index 2affff346a7fe81480e86cb61996039df0569853..12be4a2f25a7def8341acda47d10a256 float f1 = Mth.cos(f) * 0.2F; float f2 = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e1aab2eee7b3c3148f48417126bee94e91968033..0653652a130841d15365d4843f864c3169c82e12 100644 +index a3f5f60167502d596f5587782fa2f3f69f423a18..27b8310766566e17a46b880f6d2636bf62ae9cab 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -818,9 +818,11 @@ public class PurpurWorldConfig { +@@ -826,9 +826,11 @@ public class PurpurWorldConfig { public boolean glowSquidRidable = false; public double glowSquidMaxHealth = 10.0D; @@ -73,7 +73,7 @@ index e1aab2eee7b3c3148f48417126bee94e91968033..0653652a130841d15365d4843f864c31 } public boolean goatRidable = false; -@@ -1376,6 +1378,7 @@ public class PurpurWorldConfig { +@@ -1384,6 +1386,7 @@ public class PurpurWorldConfig { public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -81,7 +81,7 @@ index e1aab2eee7b3c3148f48417126bee94e91968033..0653652a130841d15365d4843f864c31 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1386,6 +1389,7 @@ public class PurpurWorldConfig { +@@ -1394,6 +1397,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); diff --git a/patches/server/0111-Infinity-bow-settings.patch b/patches/server/0111-Infinity-bow-settings.patch index 06c39fa43..24842f0a2 100644 --- a/patches/server/0111-Infinity-bow-settings.patch +++ b/patches/server/0111-Infinity-bow-settings.patch @@ -27,10 +27,10 @@ index afe33f20578177cb517e1c116e6319481642e66c..fe4695adbb506733b4029ecfabcfda3d } else { user.startUsingItem(hand); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0653652a130841d15365d4843f864c3169c82e12..c7bac948061bacbd50560bddc5a4a4108853f28f 100644 +index 27b8310766566e17a46b880f6d2636bf62ae9cab..7dd7e464e1b463e47a41eb94d933edffbf39f280 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -122,6 +122,17 @@ public class PurpurWorldConfig { +@@ -123,6 +123,17 @@ public class PurpurWorldConfig { entityLifeSpan = getInt("gameplay-mechanics.entity-lifespan", entityLifeSpan); } diff --git a/patches/server/0112-Stonecutter-damage.patch b/patches/server/0112-Stonecutter-damage.patch index 9ac20a7b5..c261e73bf 100644 --- a/patches/server/0112-Stonecutter-damage.patch +++ b/patches/server/0112-Stonecutter-damage.patch @@ -61,10 +61,10 @@ index 2ad5ff9a1d7de54e75436e99da8a73db9dc91bde..60605a8a021cc56f9c3ba22bc43c43c3 } else if (blockState.is(Blocks.HONEY_BLOCK)) { return BlockPathTypes.STICKY_HONEY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c7bac948061bacbd50560bddc5a4a4108853f28f..05556f2d9f414a8718a616afcb1d15b2b97e2717 100644 +index 7dd7e464e1b463e47a41eb94d933edffbf39f280..1a278a78caaa79cfed13bdd243e212d573a9af77 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -454,6 +454,11 @@ public class PurpurWorldConfig { +@@ -462,6 +462,11 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0113-Configurable-daylight-cycle.patch b/patches/server/0113-Configurable-daylight-cycle.patch index 7160f04e1..7e5d89c30 100644 --- a/patches/server/0113-Configurable-daylight-cycle.patch +++ b/patches/server/0113-Configurable-daylight-cycle.patch @@ -70,10 +70,10 @@ index 1ea18770c65583e2ed604eb15d15067a638a33a2..85b3ffb58b06ff6342abdd8948c16070 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 05556f2d9f414a8718a616afcb1d15b2b97e2717..fd8430ad5419655f9d53f532e0f5c3d8391425f2 100644 +index 1a278a78caaa79cfed13bdd243e212d573a9af77..683d0e5699b8152b45fed8d1b3d1de7700b4705e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -104,6 +104,13 @@ public class PurpurWorldConfig { +@@ -105,6 +105,13 @@ public class PurpurWorldConfig { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); } diff --git a/patches/server/0115-Furnace-uses-lava-from-underneath.patch b/patches/server/0115-Furnace-uses-lava-from-underneath.patch index 27f1970dc..5316a0362 100644 --- a/patches/server/0115-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0115-Furnace-uses-lava-from-underneath.patch @@ -48,10 +48,10 @@ index 242d9b2ecb852d812d4887883cb2aabfd21e3715..2c64622577fdb6c2a5746471121403b6 private static boolean canBurn(@Nullable Recipe recipe, NonNullList slots, int count) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fd8430ad5419655f9d53f532e0f5c3d8391425f2..ec8ee7c39f40c24b4a2ee4e052c48fdf43bff645 100644 +index 683d0e5699b8152b45fed8d1b3d1de7700b4705e..be99ae32fd8279f00068743f9d9e365cc220a462 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -422,6 +422,17 @@ public class PurpurWorldConfig { +@@ -430,6 +430,17 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index ab6b4aee1..b5280695c 100644 --- a/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0117-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index f638c7b27a846bf9db73e98ce9eb5d579bc25cac..e0ef42c2613374bedc8eb114aef7dd2a return; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ec8ee7c39f40c24b4a2ee4e052c48fdf43bff645..74544421716246a73876f4a39711ee25438a8f2c 100644 +index be99ae32fd8279f00068743f9d9e365cc220a462..b285a01ab3dd34aefc5e082a60d762de454ac046 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -418,8 +418,10 @@ public class PurpurWorldConfig { +@@ -426,8 +426,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch index 1810aca00..2f00e7dea 100644 --- a/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0118-Add-adjustable-breeding-cooldown-to-config.patch @@ -95,10 +95,10 @@ index 25422752c79ea4ee547caa46fa4ed920622e682e..5e06dbb25359b593c6960652ee99f822 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 74544421716246a73876f4a39711ee25438a8f2c..db50fe00f2e725d0ab44f8704443cf6107e39d4e 100644 +index b285a01ab3dd34aefc5e082a60d762de454ac046..28d75a22b1197fb1451f0b1fe26c335494cea901 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -354,6 +354,7 @@ public class PurpurWorldConfig { +@@ -362,6 +362,7 @@ public class PurpurWorldConfig { public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; @@ -106,7 +106,7 @@ index 74544421716246a73876f4a39711ee25438a8f2c..db50fe00f2e725d0ab44f8704443cf61 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); boatEjectPlayersOnLand = getBoolean("gameplay-mechanics.boat.eject-players-on-land", boatEjectPlayersOnLand); -@@ -365,6 +366,7 @@ public class PurpurWorldConfig { +@@ -373,6 +374,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); diff --git a/patches/server/0119-Make-entity-breeding-times-configurable.patch b/patches/server/0119-Make-entity-breeding-times-configurable.patch index 45532d19a..e57c70263 100644 --- a/patches/server/0119-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0119-Make-entity-breeding-times-configurable.patch @@ -474,10 +474,10 @@ index fb0aa2854f8be22682ee65298080b668c722f447..975e15a501f01c1f87b80ee20d57f4d2 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788d204dc17 100644 +index 28d75a22b1197fb1451f0b1fe26c335494cea901..be85b0687e46c3ee00709fef7396070fbbb717c2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -492,9 +492,11 @@ public class PurpurWorldConfig { +@@ -500,9 +500,11 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public double axolotlMaxHealth = 14.0D; @@ -489,7 +489,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean batRidable = false; -@@ -524,6 +526,7 @@ public class PurpurWorldConfig { +@@ -532,6 +534,7 @@ public class PurpurWorldConfig { public boolean beeRidableInWater = false; public double beeMaxY = 256D; public double beeMaxHealth = 10.0D; @@ -497,7 +497,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -534,6 +537,7 @@ public class PurpurWorldConfig { +@@ -542,6 +545,7 @@ public class PurpurWorldConfig { set("mobs.bee.attributes.max_health", oldValue); } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); @@ -505,7 +505,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean blazeRidable = false; -@@ -558,6 +562,7 @@ public class PurpurWorldConfig { +@@ -566,6 +570,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -513,7 +513,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -570,6 +575,7 @@ public class PurpurWorldConfig { +@@ -578,6 +583,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); @@ -521,7 +521,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean caveSpiderRidable = false; -@@ -590,6 +596,7 @@ public class PurpurWorldConfig { +@@ -598,6 +604,7 @@ public class PurpurWorldConfig { public boolean chickenRidableInWater = false; public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; @@ -529,7 +529,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -600,6 +607,7 @@ public class PurpurWorldConfig { +@@ -608,6 +615,7 @@ public class PurpurWorldConfig { } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -537,7 +537,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean codRidable = false; -@@ -618,6 +626,7 @@ public class PurpurWorldConfig { +@@ -626,6 +634,7 @@ public class PurpurWorldConfig { public boolean cowRidableInWater = false; public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; @@ -545,7 +545,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -628,6 +637,7 @@ public class PurpurWorldConfig { +@@ -636,6 +645,7 @@ public class PurpurWorldConfig { } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -553,7 +553,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean creeperRidable = false; -@@ -675,6 +685,7 @@ public class PurpurWorldConfig { +@@ -683,6 +693,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -561,7 +561,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -690,6 +701,7 @@ public class PurpurWorldConfig { +@@ -698,6 +709,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); @@ -569,7 +569,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean drownedRidable = false; -@@ -796,6 +808,7 @@ public class PurpurWorldConfig { +@@ -804,6 +816,7 @@ public class PurpurWorldConfig { public boolean foxRidableInWater = false; public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; @@ -577,7 +577,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -806,6 +819,7 @@ public class PurpurWorldConfig { +@@ -814,6 +827,7 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -585,7 +585,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean ghastRidable = false; -@@ -866,10 +880,12 @@ public class PurpurWorldConfig { +@@ -874,10 +888,12 @@ public class PurpurWorldConfig { public boolean goatRidable = false; public boolean goatRidableInWater = false; public double goatMaxHealth = 10.0D; @@ -598,7 +598,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean guardianRidable = false; -@@ -887,6 +903,7 @@ public class PurpurWorldConfig { +@@ -895,6 +911,7 @@ public class PurpurWorldConfig { public boolean hoglinRidable = false; public boolean hoglinRidableInWater = false; public double hoglinMaxHealth = 40.0D; @@ -606,7 +606,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -896,6 +913,7 @@ public class PurpurWorldConfig { +@@ -904,6 +921,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -614,7 +614,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean horseRidableInWater = false; -@@ -905,6 +923,7 @@ public class PurpurWorldConfig { +@@ -913,6 +931,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -622,7 +622,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -920,6 +939,7 @@ public class PurpurWorldConfig { +@@ -928,6 +947,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); @@ -630,7 +630,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean huskRidable = false; -@@ -990,6 +1010,7 @@ public class PurpurWorldConfig { +@@ -998,6 +1018,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -638,7 +638,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1006,6 +1027,7 @@ public class PurpurWorldConfig { +@@ -1014,6 +1035,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); @@ -646,7 +646,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean magmaCubeRidable = false; -@@ -1025,6 +1047,7 @@ public class PurpurWorldConfig { +@@ -1033,6 +1055,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidable = false; public boolean mooshroomRidableInWater = false; public double mooshroomMaxHealth = 10.0D; @@ -654,7 +654,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1034,6 +1057,7 @@ public class PurpurWorldConfig { +@@ -1042,6 +1065,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -662,7 +662,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean muleRidableInWater = false; -@@ -1043,6 +1067,7 @@ public class PurpurWorldConfig { +@@ -1051,6 +1075,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -670,7 +670,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1058,11 +1083,13 @@ public class PurpurWorldConfig { +@@ -1066,11 +1091,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); @@ -684,7 +684,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1072,11 +1099,13 @@ public class PurpurWorldConfig { +@@ -1080,11 +1107,13 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -698,7 +698,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1086,6 +1115,7 @@ public class PurpurWorldConfig { +@@ -1094,6 +1123,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -706,7 +706,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean parrotRidable = false; -@@ -1166,6 +1196,7 @@ public class PurpurWorldConfig { +@@ -1174,6 +1204,7 @@ public class PurpurWorldConfig { public boolean pigRidableInWater = false; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -714,7 +714,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1176,6 +1207,7 @@ public class PurpurWorldConfig { +@@ -1184,6 +1215,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -722,7 +722,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean piglinRidable = false; -@@ -1225,6 +1257,7 @@ public class PurpurWorldConfig { +@@ -1233,6 +1265,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -730,7 +730,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1237,6 +1270,7 @@ public class PurpurWorldConfig { +@@ -1245,6 +1278,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; @@ -738,7 +738,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean pufferfishRidable = false; -@@ -1256,6 +1290,7 @@ public class PurpurWorldConfig { +@@ -1264,6 +1298,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -746,7 +746,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1267,6 +1302,7 @@ public class PurpurWorldConfig { +@@ -1275,6 +1310,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); @@ -754,7 +754,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean ravagerRidable = false; -@@ -1298,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1306,6 +1342,7 @@ public class PurpurWorldConfig { public boolean sheepRidable = false; public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; @@ -762,7 +762,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1307,6 +1344,7 @@ public class PurpurWorldConfig { +@@ -1315,6 +1352,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -770,7 +770,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean shulkerRidable = false; -@@ -1461,6 +1499,7 @@ public class PurpurWorldConfig { +@@ -1469,6 +1507,7 @@ public class PurpurWorldConfig { public boolean striderRidable = false; public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; @@ -778,7 +778,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1470,6 +1509,7 @@ public class PurpurWorldConfig { +@@ -1478,6 +1517,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -786,7 +786,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean traderLlamaRidable = false; -@@ -1480,6 +1520,7 @@ public class PurpurWorldConfig { +@@ -1488,6 +1528,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -794,7 +794,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1496,6 +1537,7 @@ public class PurpurWorldConfig { +@@ -1504,6 +1545,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); @@ -802,7 +802,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean tropicalFishRidable = false; -@@ -1516,6 +1558,7 @@ public class PurpurWorldConfig { +@@ -1524,6 +1566,7 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromExpOrbs = true; public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; @@ -810,7 +810,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void turtleEggSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1528,6 +1571,7 @@ public class PurpurWorldConfig { +@@ -1536,6 +1579,7 @@ public class PurpurWorldConfig { 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); @@ -818,7 +818,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean vexRidable = false; -@@ -1556,6 +1600,7 @@ public class PurpurWorldConfig { +@@ -1564,6 +1608,7 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; @@ -826,7 +826,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1572,6 +1617,7 @@ public class PurpurWorldConfig { +@@ -1580,6 +1625,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); @@ -834,7 +834,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 } public boolean vindicatorRidable = false; -@@ -1663,6 +1709,7 @@ public class PurpurWorldConfig { +@@ -1671,6 +1717,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -842,7 +842,7 @@ index db50fe00f2e725d0ab44f8704443cf6107e39d4e..42f1ef15f020b2b62079d23fde09b788 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1672,6 +1719,7 @@ public class PurpurWorldConfig { +@@ -1680,6 +1727,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch index 6d098c2d7..625801135 100644 --- a/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0120-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -142,10 +142,10 @@ index e5b042f2445eb06fb8075ba539c836595814fa14..8cdede6a9698d6c99b4f08edc2a3403f if (((HangingEntity) object).survives()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 42f1ef15f020b2b62079d23fde09b788d204dc17..e79720605098b1773227f02705c29415a4723ccc 100644 +index be85b0687e46c3ee00709fef7396070fbbb717c2..64d6764348b0b394519ef554fd41ff07ca243308 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -100,8 +100,10 @@ public class PurpurWorldConfig { +@@ -101,8 +101,10 @@ public class PurpurWorldConfig { } public float armorstandStepHeight = 0.0F; @@ -156,7 +156,7 @@ index 42f1ef15f020b2b62079d23fde09b788d204dc17..e79720605098b1773227f02705c29415 } public int daytimeTicks = 12000; -@@ -350,6 +352,7 @@ public class PurpurWorldConfig { +@@ -358,6 +360,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; public boolean persistentTileEntityDisplayNames = false; @@ -164,7 +164,7 @@ index 42f1ef15f020b2b62079d23fde09b788d204dc17..e79720605098b1773227f02705c29415 public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -362,6 +365,7 @@ public class PurpurWorldConfig { +@@ -370,6 +373,7 @@ public class PurpurWorldConfig { entitiesCanUsePortals = getBoolean("gameplay-mechanics.entities-can-use-portals", entitiesCanUsePortals); milkCuresBadOmen = getBoolean("gameplay-mechanics.milk-cures-bad-omen", milkCuresBadOmen); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); diff --git a/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index e4164d811..0f5833f08 100644 --- a/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0121-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,10 +17,10 @@ index 623f78c078fb3aa2665d7e8a37672438227bce6b..500c69e555c7247e20ef8cc59d834155 ((Mob) newEntityLiving).setPersistenceRequired(); // Paper end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e79720605098b1773227f02705c29415a4723ccc..45363eb67ab0c30c687a556392afe8e44e3d5f0d 100644 +index 64d6764348b0b394519ef554fd41ff07ca243308..0535ff98b429f796340f3f402313f558a2aca806 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -101,9 +101,11 @@ public class PurpurWorldConfig { +@@ -102,9 +102,11 @@ public class PurpurWorldConfig { public float armorstandStepHeight = 0.0F; public boolean armorstandSetNameVisible = false; diff --git a/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch index 602058893..da2a71607 100644 --- a/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch +++ b/patches/server/0122-Add-twisting-and-weeping-vines-growth-rates.patch @@ -82,10 +82,10 @@ index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e4 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 45363eb67ab0c30c687a556392afe8e44e3d5f0d..7d5493fea2b7cfb26221e8592c7c3ef9cb65d05d 100644 +index 0535ff98b429f796340f3f402313f558a2aca806..7f1a5419ded0e161f783f5eb3338935e63aeb878 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -418,6 +418,11 @@ public class PurpurWorldConfig { +@@ -426,6 +426,11 @@ public class PurpurWorldConfig { } } @@ -97,7 +97,7 @@ index 45363eb67ab0c30c687a556392afe8e44e3d5f0d..7d5493fea2b7cfb26221e8592c7c3ef9 public boolean dispenserApplyCursedArmor = true; public boolean dispenserPlaceAnvils = false; private void dispenserSettings() { -@@ -487,6 +492,16 @@ public class PurpurWorldConfig { +@@ -495,6 +500,16 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } diff --git a/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch index 97d07d16d..1ec4ed747 100644 --- a/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ b/patches/server/0123-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -103,10 +103,10 @@ index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7d5493fea2b7cfb26221e8592c7c3ef9cb65d05d..7afbb2fb08fa651a11da52582f2b50188e24d086 100644 +index 7f1a5419ded0e161f783f5eb3338935e63aeb878..0125759cb690531410890ed58af5feab9eee3ca6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -419,8 +419,10 @@ public class PurpurWorldConfig { +@@ -427,8 +427,10 @@ public class PurpurWorldConfig { } public double caveVinesGrowthModifier = 0.10D; @@ -117,7 +117,7 @@ index 7d5493fea2b7cfb26221e8592c7c3ef9cb65d05d..7afbb2fb08fa651a11da52582f2b5018 } public boolean dispenserApplyCursedArmor = true; -@@ -459,6 +461,11 @@ public class PurpurWorldConfig { +@@ -467,6 +469,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } @@ -129,7 +129,7 @@ index 7d5493fea2b7cfb26221e8592c7c3ef9cb65d05d..7afbb2fb08fa651a11da52582f2b5018 public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -493,13 +500,17 @@ public class PurpurWorldConfig { +@@ -501,13 +508,17 @@ public class PurpurWorldConfig { } public double twistingVinesGrowthModifier = 0.10D; diff --git a/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index a1455b15d..b8c5ed080 100644 --- a/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0124-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index 10c3a0c49579fbd9f1fe7ec82eebd42be3412b69..f701807f2593189632a2a556e82bc0f1 private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7afbb2fb08fa651a11da52582f2b50188e24d086..85d3c66d000f4402c05e41873a3e0ed519f67249 100644 +index 0125759cb690531410890ed58af5feab9eee3ca6..7fa4e1e1e31de83d00aa32f2b4aeb6c245ae3131 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -796,6 +796,7 @@ public class PurpurWorldConfig { +@@ -804,6 +804,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index 7afbb2fb08fa651a11da52582f2b50188e24d086..85d3c66d000f4402c05e41873a3e0ed5 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -806,6 +807,7 @@ public class PurpurWorldConfig { +@@ -814,6 +815,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0126-Add-configurable-snowball-damage.patch b/patches/server/0126-Add-configurable-snowball-damage.patch index 8ae88eb0d..3c3cd66b6 100644 --- a/patches/server/0126-Add-configurable-snowball-damage.patch +++ b/patches/server/0126-Add-configurable-snowball-damage.patch @@ -18,10 +18,10 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 85d3c66d000f4402c05e41873a3e0ed519f67249..14f7fb59c2b5840254afe7695e1b7413ec5909e8 100644 +index 7fa4e1e1e31de83d00aa32f2b4aeb6c245ae3131..985bf48699eb7bf205ec98c044552714a094fef7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -294,6 +294,11 @@ public class PurpurWorldConfig { +@@ -295,6 +295,11 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } diff --git a/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch b/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch index 10c3306e7..67593762b 100644 --- a/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch +++ b/patches/server/0127-Zombie-break-door-minimum-difficulty-option.patch @@ -44,10 +44,10 @@ index fe045f8e35fe2aac51032a67ce52b27a53a8eff0..03bc86c776596ca5964c22adb757115d + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 14f7fb59c2b5840254afe7695e1b7413ec5909e8..a589e2292aae4402cef2a6a6cea68ab1f81d7f5a 100644 +index 985bf48699eb7bf205ec98c044552714a094fef7..a22bc71ef48ce8c258753ee8bd083ddc450f91d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1783,6 +1783,7 @@ public class PurpurWorldConfig { +@@ -1791,6 +1791,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -55,7 +55,7 @@ index 14f7fb59c2b5840254afe7695e1b7413ec5909e8..a589e2292aae4402cef2a6a6cea68ab1 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1797,6 +1798,11 @@ public class PurpurWorldConfig { +@@ -1805,6 +1806,11 @@ 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); diff --git a/patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch index 42e55ea39..d5cdef799 100644 --- a/patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0129-Changeable-Mob-Left-Handed-Chance.patch @@ -18,10 +18,10 @@ index 437015eef7404362cb564dec72e3e87c79b4ff0b..e6aa1a5040bbd483a752f9c646fdb062 } else { this.setLeftHanded(false); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a589e2292aae4402cef2a6a6cea68ab1f81d7f5a..6060068efe2ad4e3a2c6113a92e1e02db2da5d18 100644 +index a22bc71ef48ce8c258753ee8bd083ddc450f91d6..78f558029ac9bb36133b45f357ac85425d474b0e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -129,8 +129,10 @@ public class PurpurWorldConfig { +@@ -130,8 +130,10 @@ public class PurpurWorldConfig { } public int entityLifeSpan = 0; diff --git a/patches/server/0130-Add-boat-fall-damage-config.patch b/patches/server/0130-Add-boat-fall-damage-config.patch index f2b12b734..b83191ac8 100644 --- a/patches/server/0130-Add-boat-fall-damage-config.patch +++ b/patches/server/0130-Add-boat-fall-damage-config.patch @@ -27,10 +27,10 @@ index f688693ae25999bdbb2a7bf402fdfffd3f62795a..a78d1068802c98d888fe2e139a327a08 if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6060068efe2ad4e3a2c6113a92e1e02db2da5d18..3c47f92a02361b4ed671c3f2a04a85f965a18d93 100644 +index 78f558029ac9bb36133b45f357ac85425d474b0e..41dacbe19c2c42b755da0ce91e531c2c84f82016 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -357,6 +357,7 @@ public class PurpurWorldConfig { +@@ -365,6 +365,7 @@ public class PurpurWorldConfig { public boolean useBetterMending = false; public boolean boatEjectPlayersOnLand = false; @@ -38,7 +38,7 @@ index 6060068efe2ad4e3a2c6113a92e1e02db2da5d18..3c47f92a02361b4ed671c3f2a04a85f9 public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; public boolean milkCuresBadOmen = true; -@@ -370,6 +371,7 @@ public class PurpurWorldConfig { +@@ -378,6 +379,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); diff --git a/patches/server/0131-Snow-Golem-rate-of-fire-config.patch b/patches/server/0131-Snow-Golem-rate-of-fire-config.patch index fa84d76dd..54ee0d1a3 100644 --- a/patches/server/0131-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0131-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index ee64f4084b25d77f1c25b76a5b7d90cd2547bffb..5e370d5137564ddcfb76a81b92d43e25 this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3c47f92a02361b4ed671c3f2a04a85f965a18d93..92a401270ef46e7e8f0b458cfac7ce67ed565cb1 100644 +index 41dacbe19c2c42b755da0ce91e531c2c84f82016..e9591ff2c24b2b7f2b4532df3fbd172e4ee2d58a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1479,6 +1479,10 @@ public class PurpurWorldConfig { +@@ -1487,6 +1487,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 3c47f92a02361b4ed671c3f2a04a85f965a18d93..92a401270ef46e7e8f0b458cfac7ce67 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1491,6 +1495,10 @@ public class PurpurWorldConfig { +@@ -1499,6 +1503,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); diff --git a/patches/server/0133-Lobotomize-stuck-villagers.patch b/patches/server/0133-Lobotomize-stuck-villagers.patch index 63f74f56e..99771010e 100644 --- a/patches/server/0133-Lobotomize-stuck-villagers.patch +++ b/patches/server/0133-Lobotomize-stuck-villagers.patch @@ -56,10 +56,10 @@ index a1725ccc7b194c26c4f94561a228da9f56e24cfc..14c616f3159e4227da90c1fcc097bb46 if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 92a401270ef46e7e8f0b458cfac7ce67ed565cb1..e9965b16c346344e7e0fae2a113b53268f04a92f 100644 +index e9591ff2c24b2b7f2b4532df3fbd172e4ee2d58a..0cd91a59bbfd54f2ff3fa833a4e387421c9d9029 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1652,6 +1652,8 @@ public class PurpurWorldConfig { +@@ -1660,6 +1660,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -68,7 +68,7 @@ index 92a401270ef46e7e8f0b458cfac7ce67ed565cb1..e9965b16c346344e7e0fae2a113b5326 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1669,6 +1671,13 @@ public class PurpurWorldConfig { +@@ -1677,6 +1679,13 @@ 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); diff --git a/patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index 7549ea3f7..26c1978cc 100644 --- a/patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0134-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -185,10 +185,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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e9965b16c346344e7e0fae2a113b53268f04a92f..11959f09d204cd08a04f7dc7d2aecd18e2430bb3 100644 +index 0cd91a59bbfd54f2ff3fa833a4e387421c9d9029..ec4c32396b00cf9d0232d5f070535464db461059 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1654,6 +1654,8 @@ public class PurpurWorldConfig { +@@ -1662,6 +1662,8 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheck = 60; @@ -197,7 +197,7 @@ index e9965b16c346344e7e0fae2a113b53268f04a92f..11959f09d204cd08a04f7dc7d2aecd18 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1678,6 +1680,8 @@ public class PurpurWorldConfig { +@@ -1686,6 +1688,8 @@ public class PurpurWorldConfig { } villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); diff --git a/patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 4ecb7ffa0..4cdf1849e 100644 --- a/patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0135-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 5b5958e37918b97fa994500fe94cd0e57faa1948..64216c9d76ce5ec6a845915ca078b0c0 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 11959f09d204cd08a04f7dc7d2aecd18e2430bb3..3538ee8f9526e28a38aca1b69e49b0ada5b57603 100644 +index ec4c32396b00cf9d0232d5f070535464db461059..b347ccd3795768aca1c203b88943215f121351d2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1886,6 +1886,7 @@ public class PurpurWorldConfig { +@@ -1894,6 +1894,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 11959f09d204cd08a04f7dc7d2aecd18e2430bb3..3538ee8f9526e28a38aca1b69e49b0ad private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1899,5 +1900,6 @@ public class PurpurWorldConfig { +@@ -1907,5 +1908,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); diff --git a/patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch index 4ae0fc6de..5b756aec8 100644 --- a/patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0137-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -201,10 +201,10 @@ index ef4abaf68de01b0879f7d0b330d2d57cc6bd10f9..3e7409ebf1f94b9cf55f2d0b0fe17ca8 return super.mobInteract(player, hand); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3538ee8f9526e28a38aca1b69e49b0ada5b57603..9d17110efe1d606fcc446654d55d09716fd53e2c 100644 +index b347ccd3795768aca1c203b88943215f121351d2..08ea2551de99a712ac604716d52fd2992de16a22 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1773,6 +1773,8 @@ public class PurpurWorldConfig { +@@ -1781,6 +1781,8 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -213,7 +213,7 @@ index 3538ee8f9526e28a38aca1b69e49b0ada5b57603..9d17110efe1d606fcc446654d55d0971 public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1783,6 +1785,8 @@ public class PurpurWorldConfig { +@@ -1791,6 +1793,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0138-Configurable-default-wolf-collar-color.patch b/patches/server/0138-Configurable-default-wolf-collar-color.patch index 1ce291f0f..e27c9fcd7 100644 --- a/patches/server/0138-Configurable-default-wolf-collar-color.patch +++ b/patches/server/0138-Configurable-default-wolf-collar-color.patch @@ -24,10 +24,10 @@ index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9d17110efe1d606fcc446654d55d09716fd53e2c..125aceb43ce18c1dd0dae41c444394c3953773e1 100644 +index 08ea2551de99a712ac604716d52fd2992de16a22..7c8ae9626d9d61e561cbe0c54cfe971260dc3a69 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1773,6 +1773,7 @@ public class PurpurWorldConfig { +@@ -1781,6 +1781,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -35,7 +35,7 @@ index 9d17110efe1d606fcc446654d55d09716fd53e2c..125aceb43ce18c1dd0dae41c444394c3 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1785,6 +1786,11 @@ public class PurpurWorldConfig { +@@ -1793,6 +1794,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0139-Phantom-flames-on-swoop.patch b/patches/server/0139-Phantom-flames-on-swoop.patch index 99b4f316d..67dcaf1ff 100644 --- a/patches/server/0139-Phantom-flames-on-swoop.patch +++ b/patches/server/0139-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 59033a5c28f672089fe3ad846775753ae90f9ad9..a575649cff83df5c0888ba48610ece08 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 125aceb43ce18c1dd0dae41c444394c3953773e1..112cbf62bf97a25d44933e80d637b4169889db20 100644 +index 7c8ae9626d9d61e561cbe0c54cfe971260dc3a69..10c6c8a053acf761e2645c86823d1e2eb7c13e13 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1183,6 +1183,7 @@ public class PurpurWorldConfig { +@@ -1191,6 +1191,7 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -28,7 +28,7 @@ index 125aceb43ce18c1dd0dae41c444394c3953773e1..112cbf62bf97a25d44933e80d637b416 public double phantomMaxHealth = 20.0D; public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; -@@ -1209,6 +1210,7 @@ public class PurpurWorldConfig { +@@ -1217,6 +1218,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); diff --git a/patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch index e032fc196..d32f4a815 100644 --- a/patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0140-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index eecb8c089b5f426b1395b47f714af32c210555ef..ac82e2b0f4ca1232cc7ec6e4c7dd2613 return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 112cbf62bf97a25d44933e80d637b4169889db20..317daf176c8ee961c5feaa738b406b8f5a42e1aa 100644 +index 10c6c8a053acf761e2645c86823d1e2eb7c13e13..dcaca117ed5bf3b9c2459cbe72c7752e96b84850 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -434,6 +434,11 @@ public class PurpurWorldConfig { +@@ -442,6 +442,11 @@ public class PurpurWorldConfig { caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge); } diff --git a/patches/server/0142-Striders-give-saddle-back.patch b/patches/server/0142-Striders-give-saddle-back.patch index cbdf06984..bb0731dd5 100644 --- a/patches/server/0142-Striders-give-saddle-back.patch +++ b/patches/server/0142-Striders-give-saddle-back.patch @@ -28,10 +28,10 @@ index 9d314470361b2e17afdadc355c084254e5b03aff..66dab9b4e5ae05deeae11c8588a0b855 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 317daf176c8ee961c5feaa738b406b8f5a42e1aa..cb5a4a7510245ade742b780c9ffd68e7596abfc9 100644 +index dcaca117ed5bf3b9c2459cbe72c7752e96b84850..666dcdc11178ea576c84f50e37da57f3844b7bf4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1558,6 +1558,7 @@ public class PurpurWorldConfig { +@@ -1566,6 +1566,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -39,7 +39,7 @@ index 317daf176c8ee961c5feaa738b406b8f5a42e1aa..cb5a4a7510245ade742b780c9ffd68e7 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1568,6 +1569,7 @@ public class PurpurWorldConfig { +@@ -1576,6 +1577,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); diff --git a/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch index 4e6457669..ccbefd7d6 100644 --- a/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0144-Full-netherite-armor-grants-fire-resistance.patch @@ -26,10 +26,10 @@ index 5b0647a8b8d2dd8a44b38c378312ad917d5314d9..d7a3d2928a63517a1513f5572b121f77 protected ItemCooldowns createItemCooldowns() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cb5a4a7510245ade742b780c9ffd68e7596abfc9..04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78 100644 +index 666dcdc11178ea576c84f50e37da57f3844b7bf4..a8390aad9b3991ae83102de0057a2ed45914c612 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -266,6 +266,19 @@ public class PurpurWorldConfig { +@@ -267,6 +267,19 @@ public class PurpurWorldConfig { villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); } diff --git a/patches/server/0146-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0146-Add-mobGriefing-bypass-to-everything-affected.patch index 1a215c648..cf3e51104 100644 --- a/patches/server/0146-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0146-Add-mobGriefing-bypass-to-everything-affected.patch @@ -393,10 +393,10 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89 return true; // Purpur end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a6bf404b2 100644 +index a8390aad9b3991ae83102de0057a2ed45914c612..8df99d5ccee0ff4280a720b2373407e51f4d4ec2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -373,9 +373,12 @@ public class PurpurWorldConfig { +@@ -381,9 +381,12 @@ public class PurpurWorldConfig { public boolean boatsDoFallDamage = true; public boolean disableDropsOnCrammingDeath = false; public boolean entitiesCanUsePortals = true; @@ -409,7 +409,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -387,9 +390,12 @@ public class PurpurWorldConfig { +@@ -395,9 +398,12 @@ 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); @@ -422,7 +422,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a 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); -@@ -459,9 +465,11 @@ public class PurpurWorldConfig { +@@ -467,9 +473,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -434,7 +434,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -493,6 +501,11 @@ public class PurpurWorldConfig { +@@ -501,6 +509,11 @@ public class PurpurWorldConfig { kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); } @@ -446,7 +446,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -526,6 +539,11 @@ public class PurpurWorldConfig { +@@ -534,6 +547,11 @@ public class PurpurWorldConfig { stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } @@ -458,7 +458,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a public double twistingVinesGrowthModifier = 0.10D; public int twistingVinesMaxGrowthAge = 25; private void twistingVinesSettings() { -@@ -704,6 +722,7 @@ public class PurpurWorldConfig { +@@ -712,6 +730,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -466,7 +466,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -715,6 +734,7 @@ public class PurpurWorldConfig { +@@ -723,6 +742,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); @@ -474,7 +474,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean dolphinRidable = false; -@@ -802,6 +822,7 @@ public class PurpurWorldConfig { +@@ -810,6 +830,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -482,7 +482,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -817,6 +838,7 @@ public class PurpurWorldConfig { +@@ -825,6 +846,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -490,7 +490,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean endermanRidable = false; -@@ -824,6 +846,7 @@ public class PurpurWorldConfig { +@@ -832,6 +854,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -498,7 +498,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -835,6 +858,7 @@ public class PurpurWorldConfig { +@@ -843,6 +866,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); @@ -506,7 +506,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean endermiteRidable = false; -@@ -854,6 +878,7 @@ public class PurpurWorldConfig { +@@ -862,6 +886,7 @@ public class PurpurWorldConfig { public boolean evokerRidable = false; public boolean evokerRidableInWater = false; public double evokerMaxHealth = 24.0D; @@ -514,7 +514,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -863,6 +888,7 @@ public class PurpurWorldConfig { +@@ -871,6 +896,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -522,7 +522,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean foxRidable = false; -@@ -870,6 +896,7 @@ public class PurpurWorldConfig { +@@ -878,6 +904,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -530,7 +530,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -881,6 +908,7 @@ public class PurpurWorldConfig { +@@ -889,6 +916,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); @@ -538,7 +538,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean ghastRidable = false; -@@ -1276,6 +1304,7 @@ public class PurpurWorldConfig { +@@ -1284,6 +1312,7 @@ public class PurpurWorldConfig { public boolean piglinRidable = false; public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; @@ -546,7 +546,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1285,6 +1314,7 @@ public class PurpurWorldConfig { +@@ -1293,6 +1322,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -554,7 +554,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean piglinBruteRidable = false; -@@ -1304,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1312,6 +1342,7 @@ public class PurpurWorldConfig { public boolean pillagerRidable = false; public boolean pillagerRidableInWater = false; public double pillagerMaxHealth = 24.0D; @@ -562,7 +562,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1313,6 +1344,7 @@ public class PurpurWorldConfig { +@@ -1321,6 +1352,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -570,7 +570,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean polarBearRidable = false; -@@ -1354,6 +1386,7 @@ public class PurpurWorldConfig { +@@ -1362,6 +1394,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -578,7 +578,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1366,11 +1399,13 @@ public class PurpurWorldConfig { +@@ -1374,11 +1407,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); @@ -592,7 +592,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1380,6 +1415,7 @@ public class PurpurWorldConfig { +@@ -1388,6 +1423,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -600,7 +600,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean salmonRidable = false; -@@ -1398,6 +1434,7 @@ public class PurpurWorldConfig { +@@ -1406,6 +1442,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -608,7 +608,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1408,6 +1445,7 @@ public class PurpurWorldConfig { +@@ -1416,6 +1453,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -616,7 +616,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean shulkerRidable = false; -@@ -1427,6 +1465,7 @@ public class PurpurWorldConfig { +@@ -1435,6 +1473,7 @@ public class PurpurWorldConfig { public boolean silverfishRidable = false; public boolean silverfishRidableInWater = false; public double silverfishMaxHealth = 8.0D; @@ -624,7 +624,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1436,6 +1475,7 @@ public class PurpurWorldConfig { +@@ -1444,6 +1483,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -632,7 +632,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean skeletonRidable = false; -@@ -1503,6 +1543,7 @@ public class PurpurWorldConfig { +@@ -1511,6 +1551,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -640,7 +640,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1519,6 +1560,7 @@ public class PurpurWorldConfig { +@@ -1527,6 +1568,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); @@ -648,7 +648,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean squidRidable = false; -@@ -1678,6 +1720,7 @@ public class PurpurWorldConfig { +@@ -1686,6 +1728,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -656,7 +656,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1704,6 +1747,7 @@ public class PurpurWorldConfig { +@@ -1712,6 +1755,7 @@ public class PurpurWorldConfig { villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -664,7 +664,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean vindicatorRidable = false; -@@ -1760,6 +1804,7 @@ public class PurpurWorldConfig { +@@ -1768,6 +1812,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -672,7 +672,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1776,6 +1821,7 @@ public class PurpurWorldConfig { +@@ -1784,6 +1829,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); @@ -680,7 +680,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a } public boolean witherSkeletonRidable = false; -@@ -1841,6 +1887,7 @@ public class PurpurWorldConfig { +@@ -1849,6 +1895,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD; @@ -688,7 +688,7 @@ index 04d4a00cd21c9640e3edc1dde0c3b9927d0bdd78..7d6ebaf7e0faa072b5343424ab9f652a private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1860,6 +1907,7 @@ public class PurpurWorldConfig { +@@ -1868,6 +1915,7 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = Difficulty.HARD; } diff --git a/patches/server/0147-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0147-Config-to-allow-Note-Block-sounds-when-blocked.patch index c32228a68..d23434fb0 100644 --- a/patches/server/0147-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0147-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,10 +22,10 @@ index d3c8fd8399629efb8bcbaf7d9a0c43340fcdfeda..c74df3b5c2a25469ad3fb6a853438bbc 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/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7d6ebaf7e0faa072b5343424ab9f652a6bf404b2..efdfaf989a1f51759f240d95ef425694b35f5e06 100644 +index 8df99d5ccee0ff4280a720b2373407e51f4d4ec2..fd9ba48619b103071f9de669dea7d59bd2db2fee 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -376,6 +376,7 @@ public class PurpurWorldConfig { +@@ -384,6 +384,7 @@ public class PurpurWorldConfig { public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; public boolean milkCuresBadOmen = true; @@ -33,7 +33,7 @@ index 7d6ebaf7e0faa072b5343424ab9f652a6bf404b2..efdfaf989a1f51759f240d95ef425694 public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; -@@ -393,6 +394,7 @@ public class PurpurWorldConfig { +@@ -401,6 +402,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); diff --git a/patches/server/0148-Add-EntityTeleportHinderedEvent.patch b/patches/server/0148-Add-EntityTeleportHinderedEvent.patch index a605cdaac..40d215320 100644 --- a/patches/server/0148-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0148-Add-EntityTeleportHinderedEvent.patch @@ -78,10 +78,10 @@ index 09cbce5aec6eabfa220f7de81b492a180cb8ca1e..265770975ad1190283103b04cdd52a07 blockEntity.teleportCooldown = 100; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index efdfaf989a1f51759f240d95ef425694b35f5e06..19b162cd4d8fa4f5c996d54800e3859c88a5d900 100644 +index fd9ba48619b103071f9de669dea7d59bd2db2fee..6b02ac8a7ed8e4787abf017af23936718cee8d9c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -375,6 +375,7 @@ public class PurpurWorldConfig { +@@ -383,6 +383,7 @@ public class PurpurWorldConfig { public boolean entitiesCanUsePortals = true; public boolean entitiesPickUpLootBypassMobGriefing = false; public boolean fireballsBypassMobGriefing = false; @@ -89,7 +89,7 @@ index efdfaf989a1f51759f240d95ef425694b35f5e06..19b162cd4d8fa4f5c996d54800e3859c public boolean milkCuresBadOmen = true; public boolean noteBlockIgnoreAbove = false; public boolean persistentTileEntityDisplayNames = false; -@@ -393,6 +394,7 @@ public class PurpurWorldConfig { +@@ -401,6 +402,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); diff --git a/patches/server/0150-Farmland-trampling-changes.patch b/patches/server/0150-Farmland-trampling-changes.patch index 520d65b60..3ec83c71f 100644 --- a/patches/server/0150-Farmland-trampling-changes.patch +++ b/patches/server/0150-Farmland-trampling-changes.patch @@ -37,10 +37,10 @@ index e06a8a68ccb9c9a77df061264e58fd850cf1f794..010da2b44fa3a4f033e4f86e9a0917b5 if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { return; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 19b162cd4d8fa4f5c996d54800e3859c88a5d900..08f96bb13b0bc201a298a91c04d9fa22f0aba77f 100644 +index 6b02ac8a7ed8e4787abf017af23936718cee8d9c..8eda95b6b8c71fdc2c1938304b51c626f66235bd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -472,10 +472,16 @@ public class PurpurWorldConfig { +@@ -480,10 +480,16 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0151-Movement-options-for-armor-stands.patch b/patches/server/0151-Movement-options-for-armor-stands.patch index cf16daed2..e392d8c9f 100644 --- a/patches/server/0151-Movement-options-for-armor-stands.patch +++ b/patches/server/0151-Movement-options-for-armor-stands.patch @@ -66,10 +66,10 @@ index 796ab61f4513c02b0d55d34044d2f7084c447796..d119f8ab447bc17deabc494463de4961 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 08f96bb13b0bc201a298a91c04d9fa22f0aba77f..3135325fa86dd88f28c72b1a132939c921149eb7 100644 +index 8eda95b6b8c71fdc2c1938304b51c626f66235bd..6a4170e60bf845ac33a7f65c0082617da584f99d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -102,10 +102,16 @@ public class PurpurWorldConfig { +@@ -103,10 +103,16 @@ public class PurpurWorldConfig { public float armorstandStepHeight = 0.0F; public boolean armorstandSetNameVisible = false; public boolean armorstandFixNametags = false; diff --git a/patches/server/0152-Fix-stuck-in-portals.patch b/patches/server/0152-Fix-stuck-in-portals.patch index 431d7c3d4..72e3015b6 100644 --- a/patches/server/0152-Fix-stuck-in-portals.patch +++ b/patches/server/0152-Fix-stuck-in-portals.patch @@ -37,10 +37,10 @@ index 3ad67d65990feaedbb67ed15fe50032c0fd0fdc2..3c5d34e82154c68bb5ac9472d3826962 this.isInsidePortal = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3135325fa86dd88f28c72b1a132939c921149eb7..b6c4f29c80ca88c977f21da69e528777f4ed7e04 100644 +index 6a4170e60bf845ac33a7f65c0082617da584f99d..60ff59cfbd5e748a6899fdbee4e06d7a01eff115 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -296,6 +296,7 @@ public class PurpurWorldConfig { +@@ -297,6 +297,7 @@ public class PurpurWorldConfig { public int playerDeathExpDropMax = 100; public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; @@ -48,7 +48,7 @@ index 3135325fa86dd88f28c72b1a132939c921149eb7..b6c4f29c80ca88c977f21da69e528777 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -313,6 +314,7 @@ public class PurpurWorldConfig { +@@ -314,6 +315,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); diff --git a/patches/server/0153-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0153-Toggle-for-water-sensitive-mob-damage.patch index 3ab143172..5d1819f04 100644 --- a/patches/server/0153-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0153-Toggle-for-water-sensitive-mob-damage.patch @@ -70,10 +70,10 @@ index 66dab9b4e5ae05deeae11c8588a0b855d8847bdc..19753a1855b11f8cdc9fb77e8d9079bb @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75d8a716d6 100644 +index 60ff59cfbd5e748a6899fdbee4e06d7a01eff115..fade989848435cc96baed2400ebbb19248ca54af 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -639,6 +639,7 @@ public class PurpurWorldConfig { +@@ -647,6 +647,7 @@ public class PurpurWorldConfig { public boolean blazeRidableInWater = false; public double blazeMaxY = 256D; public double blazeMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -649,6 +650,7 @@ public class PurpurWorldConfig { +@@ -657,6 +658,7 @@ public class PurpurWorldConfig { set("mobs.blaze.attributes.max_health", oldValue); } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); @@ -89,7 +89,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 } public boolean catRidable = false; -@@ -865,6 +867,7 @@ public class PurpurWorldConfig { +@@ -873,6 +875,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -97,7 +97,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -877,6 +880,7 @@ public class PurpurWorldConfig { +@@ -885,6 +888,7 @@ 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); @@ -105,7 +105,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 } public boolean endermiteRidable = false; -@@ -1562,6 +1566,7 @@ public class PurpurWorldConfig { +@@ -1570,6 +1574,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -113,7 +113,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1579,6 +1584,7 @@ public class PurpurWorldConfig { +@@ -1587,6 +1592,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); @@ -121,7 +121,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 } public boolean squidRidable = false; -@@ -1632,6 +1638,7 @@ public class PurpurWorldConfig { +@@ -1640,6 +1646,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -129,7 +129,7 @@ index b6c4f29c80ca88c977f21da69e528777f4ed7e04..86072c35bc0050fc9e85ff032142cc75 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1643,6 +1650,7 @@ public class PurpurWorldConfig { +@@ -1651,6 +1658,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); diff --git a/patches/server/0154-Config-to-always-tame-in-Creative.patch b/patches/server/0154-Config-to-always-tame-in-Creative.patch index 3d4b79744..559707d0c 100644 --- a/patches/server/0154-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0154-Config-to-always-tame-in-Creative.patch @@ -59,10 +59,10 @@ index 518dd0e6b4889c049e438b393baa795a5eac3e7d..21e154c4e7fe261a41c891b481072fbd this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 86072c35bc0050fc9e85ff032142cc75d8a716d6..6cbb7aa50d0b179e9e0bca182295682a3f3a3732 100644 +index fade989848435cc96baed2400ebbb19248ca54af..8449637ff57ac78c1936313f2dd559b1f61b0c92 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -377,6 +377,7 @@ public class PurpurWorldConfig { +@@ -385,6 +385,7 @@ public class PurpurWorldConfig { } public boolean useBetterMending = false; @@ -70,7 +70,7 @@ index 86072c35bc0050fc9e85ff032142cc75d8a716d6..6cbb7aa50d0b179e9e0bca182295682a public boolean boatEjectPlayersOnLand = false; public boolean boatsDoFallDamage = true; public boolean disableDropsOnCrammingDeath = false; -@@ -396,6 +397,7 @@ public class PurpurWorldConfig { +@@ -404,6 +405,7 @@ public class PurpurWorldConfig { public int animalBreedingCooldownSeconds = 0; private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); diff --git a/patches/server/0155-End-crystal-explosion-options.patch b/patches/server/0155-End-crystal-explosion-options.patch index 7f50dc6a8..39ad06050 100644 --- a/patches/server/0155-End-crystal-explosion-options.patch +++ b/patches/server/0155-End-crystal-explosion-options.patch @@ -52,10 +52,10 @@ index 92e65f3fbc8f5d77bb8cc31e7a7780c2589f4227..0c46507ab0b904fb1f79bc5421c88c03 this.onDestroyedBy(source); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6cbb7aa50d0b179e9e0bca182295682a3f3a3732..155cb77b8aba0aa0a76ca1219f8daeaf83ce4a04 100644 +index 8449637ff57ac78c1936313f2dd559b1f61b0c92..e80bad1049c51998614e5c9fb917dee8a2a8bb95 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -479,6 +479,35 @@ public class PurpurWorldConfig { +@@ -487,6 +487,35 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0157-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0157-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index f080e9268..c41afcd87 100644 --- a/patches/server/0157-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0157-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index bdcbe92cbe431727f5879a04bf734811ffd03c3d..257a1b91c65d9f66173cfe8a31f598a0 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 155cb77b8aba0aa0a76ca1219f8daeaf83ce4a04..bc81ceaef6ac2da472c49a74870d5bfd74ad0c3f 100644 +index e80bad1049c51998614e5c9fb917dee8a2a8bb95..8f7fb9cf88562637fc27d00351f5ed34ba10dfa5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -874,6 +874,7 @@ public class PurpurWorldConfig { +@@ -882,6 +882,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -40,7 +40,7 @@ index 155cb77b8aba0aa0a76ca1219f8daeaf83ce4a04..bc81ceaef6ac2da472c49a74870d5bfd private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -890,6 +891,7 @@ public class PurpurWorldConfig { +@@ -898,6 +899,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); @@ -48,7 +48,7 @@ index 155cb77b8aba0aa0a76ca1219f8daeaf83ce4a04..bc81ceaef6ac2da472c49a74870d5bfd } public boolean endermanRidable = false; -@@ -1862,6 +1864,7 @@ public class PurpurWorldConfig { +@@ -1870,6 +1872,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -56,7 +56,7 @@ index 155cb77b8aba0aa0a76ca1219f8daeaf83ce4a04..bc81ceaef6ac2da472c49a74870d5bfd private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1879,6 +1882,7 @@ public class PurpurWorldConfig { +@@ -1887,6 +1890,7 @@ 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); diff --git a/patches/server/0158-Dont-run-with-scissors.patch b/patches/server/0158-Dont-run-with-scissors.patch index dc16d6ae9..f09a6a961 100644 --- a/patches/server/0158-Dont-run-with-scissors.patch +++ b/patches/server/0158-Dont-run-with-scissors.patch @@ -36,7 +36,7 @@ index 3d73f44edca1b13a98f858ae0c1fd0bc79055a12..c0ab928ecff6aea1544406576e689979 private boolean hasNewCollision(final ServerLevel world, final Entity entity, final AABB oldBox, final AABB newBox) { final List collisions = io.papermc.paper.util.CachedLists.getTempCollisionList(); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index e4e5b2cef7bcbb4e9411f78aefbdf2486e1658e8..9b688f88e319d59724d923a1e2631879c3104ef4 100644 +index 16a7808f0ad010240db8a33eccc61b623ccd3d76..e1ad567510edd0818c0faf71bfbb33c31694f8ff 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -165,6 +165,7 @@ public class PurpurConfig { @@ -56,10 +56,10 @@ index e4e5b2cef7bcbb4e9411f78aefbdf2486e1658e8..9b688f88e319d59724d923a1e2631879 public static String serverModName = "Purpur"; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bc81ceaef6ac2da472c49a74870d5bfd74ad0c3f..d51e861fe8ffab512ef42c2bde7f316b6a231101 100644 +index 8f7fb9cf88562637fc27d00351f5ed34ba10dfa5..86832a2171a57cb4d28ca3fe267579bd5a036104 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -156,6 +156,8 @@ public class PurpurWorldConfig { +@@ -157,6 +157,8 @@ public class PurpurWorldConfig { public List itemImmuneToExplosion = new ArrayList<>(); public List itemImmuneToFire = new ArrayList<>(); public List itemImmuneToLightning = new ArrayList<>(); @@ -68,7 +68,7 @@ index bc81ceaef6ac2da472c49a74870d5bfd74ad0c3f..d51e861fe8ffab512ef42c2bde7f316b private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -193,6 +195,8 @@ public class PurpurWorldConfig { +@@ -194,6 +196,8 @@ public class PurpurWorldConfig { Item item = Registry.ITEM.get(new ResourceLocation(key.toString())); if (item != Items.AIR) itemImmuneToLightning.add(item); }); diff --git a/patches/server/0159-One-Punch-Man.patch b/patches/server/0159-One-Punch-Man.patch index 1770ada87..4a309e5de 100644 --- a/patches/server/0159-One-Punch-Man.patch +++ b/patches/server/0159-One-Punch-Man.patch @@ -30,10 +30,10 @@ index 10ed6cf0d1543e1fbfb54308aa785cc206abd13d..ee4f096d4b3d23981074eb6013624c85 if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d51e861fe8ffab512ef42c2bde7f316b6a231101..1c1d169aaf5158029778f3635d72878f32f4786a 100644 +index 86832a2171a57cb4d28ca3fe267579bd5a036104..6d0c419ca584d41bfe9974278d78ceeb7166f393 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -301,6 +301,7 @@ public class PurpurWorldConfig { +@@ -302,6 +302,7 @@ public class PurpurWorldConfig { public boolean teleportIfOutsideBorder = false; public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; @@ -41,7 +41,7 @@ index d51e861fe8ffab512ef42c2bde7f316b6a231101..1c1d169aaf5158029778f3635d72878f private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -319,6 +320,7 @@ public class PurpurWorldConfig { +@@ -320,6 +321,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); diff --git a/patches/server/0160-Add-config-for-snow-on-blue-ice.patch b/patches/server/0160-Add-config-for-snow-on-blue-ice.patch index 49ca21f1a..f5df175a3 100644 --- a/patches/server/0160-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0160-Add-config-for-snow-on-blue-ice.patch @@ -29,10 +29,10 @@ index 0169d874247a96c2e10a65ecb9c0c093f5a6ecfb..b760e2d014b3ae70671878082bb853b7 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1c1d169aaf5158029778f3635d72878f32f4786a..9956f0d219b8570eadff207aeffedee079250135 100644 +index 6d0c419ca584d41bfe9974278d78ceeb7166f393..f5d4fec6a1a648d775ea8be0b511a22958c4a2c5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -540,6 +540,11 @@ public class PurpurWorldConfig { +@@ -548,6 +548,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0161-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0161-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index 1e655b54e..3a5a3bdef 100644 --- a/patches/server/0161-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0161-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,10 +43,10 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f // Paper end if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9956f0d219b8570eadff207aeffedee079250135..80e1d3c7ea6f5228924d8c2dc033262fd46c4691 100644 +index f5d4fec6a1a648d775ea8be0b511a22958c4a2c5..16d8181614fd7ffaf682438d3fb348c133a82620 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -158,6 +158,10 @@ public class PurpurWorldConfig { +@@ -159,6 +159,10 @@ public class PurpurWorldConfig { public List itemImmuneToLightning = new ArrayList<>(); public boolean dontRunWithScissors = false; public double scissorsRunningDamage = 1D; @@ -57,7 +57,7 @@ index 9956f0d219b8570eadff207aeffedee079250135..80e1d3c7ea6f5228924d8c2dc033262f private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -197,6 +201,10 @@ public class PurpurWorldConfig { +@@ -198,6 +202,10 @@ public class PurpurWorldConfig { }); dontRunWithScissors = getBoolean("gameplay-mechanics.item.shears.damage-if-sprinting", dontRunWithScissors); scissorsRunningDamage = getDouble("gameplay-mechanics.item.shears.sprinting-damage", scissorsRunningDamage); diff --git a/patches/server/0162-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0162-Config-to-ignore-nearby-mobs-when-sleeping.patch index cc863a1a9..7052e8ce6 100644 --- a/patches/server/0162-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0162-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -18,10 +18,10 @@ index 4a201004d397cf960822259d4f7d19cf53d28cf7..b0bbd09379e451798b3fa965c2c61ad0 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 80e1d3c7ea6f5228924d8c2dc033262fd46c4691..651d4ad39c01a3c450e809cef44a3efd039fc322 100644 +index 16d8181614fd7ffaf682438d3fb348c133a82620..846cd0e6509b662fc2ace83939a96a9f17a696ae 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -310,6 +310,7 @@ public class PurpurWorldConfig { +@@ -311,6 +311,7 @@ public class PurpurWorldConfig { public boolean totemOfUndyingWorksInInventory = false; public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; @@ -29,7 +29,7 @@ index 80e1d3c7ea6f5228924d8c2dc033262fd46c4691..651d4ad39c01a3c450e809cef44a3efd private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -329,6 +330,7 @@ public class PurpurWorldConfig { +@@ -330,6 +331,7 @@ public class PurpurWorldConfig { totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); diff --git a/patches/server/0164-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0164-Config-Enderman-aggressiveness-towards-Endermites.patch index 49bbf0b6c..6345baf79 100644 --- a/patches/server/0164-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0164-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 5718b5941dc63987bad30efe5377476c60095b99..31384fc12fd8af92c27c709b8c1ea33d } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 651d4ad39c01a3c450e809cef44a3efd039fc322..4b37968f84812352f88663de61fee1756965a50e 100644 +index 846cd0e6509b662fc2ace83939a96a9f17a696ae..efed5943156113db61d5406f6e51e20ec92ec82c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -922,6 +922,8 @@ public class PurpurWorldConfig { +@@ -930,6 +930,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 651d4ad39c01a3c450e809cef44a3efd039fc322..4b37968f84812352f88663de61fee175 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -930,11 +932,17 @@ public class PurpurWorldConfig { +@@ -938,11 +940,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index ff7dcdeff..bdee5acac 100644 --- a/patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0165-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index 31384fc12fd8af92c27c709b8c1ea33d1a035eee..3e15f892f210611edf68dc56b912be5b } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4b37968f84812352f88663de61fee1756965a50e..3bab607ae94afa2a02ae501f386e5797b78871cc 100644 +index efed5943156113db61d5406f6e51e20ec92ec82c..819addfb7e9580ce7f95f08153c41cfd1350efef 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -924,6 +924,8 @@ public class PurpurWorldConfig { +@@ -932,6 +932,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index 4b37968f84812352f88663de61fee1756965a50e..3bab607ae94afa2a02ae501f386e5797 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -943,6 +945,8 @@ public class PurpurWorldConfig { +@@ -951,6 +953,8 @@ public class PurpurWorldConfig { endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); diff --git a/patches/server/0166-Tick-fluids-config.patch b/patches/server/0166-Tick-fluids-config.patch index 825d3a265..d793622f7 100644 --- a/patches/server/0166-Tick-fluids-config.patch +++ b/patches/server/0166-Tick-fluids-config.patch @@ -36,10 +36,10 @@ index 087601ffdeea97ec4cbb9959607bdcbcbae7c6fa..ad24daa0c727df15dbe0549036290a6c } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3bab607ae94afa2a02ae501f386e5797b78871cc..0e1f348aacc42b8ad13f18b0f151433f24ab8e42 100644 +index 819addfb7e9580ce7f95f08153c41cfd1350efef..6787eebe7aa1c928d8af66ce2ba2b569b4bfa300 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -406,6 +406,7 @@ public class PurpurWorldConfig { +@@ -414,6 +414,7 @@ public class PurpurWorldConfig { public boolean persistentTileEntityDisplayNames = false; public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; @@ -47,7 +47,7 @@ index 3bab607ae94afa2a02ae501f386e5797b78871cc..0e1f348aacc42b8ad13f18b0f151433f public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -426,6 +427,7 @@ public class PurpurWorldConfig { +@@ -434,6 +435,7 @@ public class PurpurWorldConfig { persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing); diff --git a/patches/server/0167-Config-to-disable-Llama-caravans.patch b/patches/server/0167-Config-to-disable-Llama-caravans.patch index 4dc7315c0..d02ed3265 100644 --- a/patches/server/0167-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0167-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 93a05b945ac248df0ea7a0b9d7264a9c129c3bcf..8f12851f220bb23102f52f523a4c5d98 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0e1f348aacc42b8ad13f18b0f151433f24ab8e42..cba258c7fdbb844e4205fec426b2f80ecccdc831 100644 +index 6787eebe7aa1c928d8af66ce2ba2b569b4bfa300..2b3400586512cceceb25346e8d0b715cca096733 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1190,6 +1190,7 @@ public class PurpurWorldConfig { +@@ -1198,6 +1198,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -43,7 +43,7 @@ index 0e1f348aacc42b8ad13f18b0f151433f24ab8e42..cba258c7fdbb844e4205fec426b2f80e private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1207,6 +1208,7 @@ public class PurpurWorldConfig { +@@ -1215,6 +1216,7 @@ 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); diff --git a/patches/server/0168-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0168-Config-to-make-Creepers-explode-on-death.patch index 3103e4928..f011ff407 100644 --- a/patches/server/0168-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0168-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index 0192c5502037b8f93e6507e7dcb9229201d29d36..ba12eb0b3b4023371938ec4c076cbac3 private void spawnLingeringCloud() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cba258c7fdbb844e4205fec426b2f80ecccdc831..3537c044d0a5542939d596d8e6c30e09ad75cbbc 100644 +index 2b3400586512cceceb25346e8d0b715cca096733..71e3d13901a90105caaf19d46a15eff4e2b3396e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -797,6 +797,7 @@ public class PurpurWorldConfig { +@@ -805,6 +805,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -61,7 +61,7 @@ index cba258c7fdbb844e4205fec426b2f80ecccdc831..3537c044d0a5542939d596d8e6c30e09 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -809,6 +810,7 @@ public class PurpurWorldConfig { +@@ -817,6 +818,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); diff --git a/patches/server/0169-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0169-Configurable-ravager-griefable-blocks-list.patch index 50a785287..ccc2b427b 100644 --- a/patches/server/0169-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0169-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 3c51e6d419a244b9270119590aa299527163c331..b466b0430dd94777975a1e7ab9792166 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3537c044d0a5542939d596d8e6c30e09ad75cbbc..c9bebc201fdf944281e75ff0f614be845c3e8823 100644 +index 71e3d13901a90105caaf19d46a15eff4e2b3396e..e30ede9fa58b626b04334b7346390498e57fd412 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1500,6 +1500,7 @@ public class PurpurWorldConfig { +@@ -1508,6 +1508,7 @@ public class PurpurWorldConfig { public boolean ravagerRidableInWater = false; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 3537c044d0a5542939d596d8e6c30e09ad75cbbc..c9bebc201fdf944281e75ff0f614be84 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1510,6 +1511,23 @@ public class PurpurWorldConfig { +@@ -1518,6 +1519,23 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); diff --git a/patches/server/0170-Sneak-to-bulk-process-composter.patch b/patches/server/0170-Sneak-to-bulk-process-composter.patch index a063d7de6..fd1c5239f 100644 --- a/patches/server/0170-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0170-Sneak-to-bulk-process-composter.patch @@ -75,10 +75,10 @@ index 4c9ae6bdb2f0358798f84928271a2d783dcba7b4..47bf769a031ae39cc72d2191195d1378 int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c9bebc201fdf944281e75ff0f614be845c3e8823..d9bd87e63f5f9e0dc3c7e5c0855625e12bb4f7e2 100644 +index e30ede9fa58b626b04334b7346390498e57fd412..28c943c1632174d4ae2a13039d2eb619a56bc644 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -490,6 +490,11 @@ public class PurpurWorldConfig { +@@ -498,6 +498,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0171-Config-for-skipping-night.patch b/patches/server/0171-Config-for-skipping-night.patch index db58aa539..7b6b43010 100644 --- a/patches/server/0171-Config-for-skipping-night.patch +++ b/patches/server/0171-Config-for-skipping-night.patch @@ -18,10 +18,10 @@ index 85b3ffb58b06ff6342abdd8948c1607079c4ee8f..40b9ce197be14894610673832752b875 long l = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d9bd87e63f5f9e0dc3c7e5c0855625e12bb4f7e2..cbf2c803de7b256550c748eba8c110e3f6c61edb 100644 +index 28c943c1632174d4ae2a13039d2eb619a56bc644..f20157b4bde76c563593e4d65cee63c49584953f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -311,6 +311,7 @@ public class PurpurWorldConfig { +@@ -312,6 +312,7 @@ public class PurpurWorldConfig { public boolean playerFixStuckPortal = false; public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; @@ -29,7 +29,7 @@ index d9bd87e63f5f9e0dc3c7e5c0855625e12bb4f7e2..cbf2c803de7b256550c748eba8c110e3 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 { +@@ -332,6 +333,7 @@ public class PurpurWorldConfig { playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); diff --git a/patches/server/0172-Add-config-for-villager-trading.patch b/patches/server/0172-Add-config-for-villager-trading.patch index 30e6c5a30..9ff80b90c 100644 --- a/patches/server/0172-Add-config-for-villager-trading.patch +++ b/patches/server/0172-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index c48935d35a6141c41db22e3ec172d5994fd317a2..fa4644c11cbb252734a6f5dc21c861d2 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cbf2c803de7b256550c748eba8c110e3f6c61edb..e6a317143896dec02be183b4726fcddaf5826a8f 100644 +index f20157b4bde76c563593e4d65cee63c49584953f..5c8e3b36288a25d8aac9fea545867cf7f9b7e969 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1844,6 +1844,7 @@ public class PurpurWorldConfig { +@@ -1852,6 +1852,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index cbf2c803de7b256550c748eba8c110e3f6c61edb..e6a317143896dec02be183b4726fcdda private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1871,6 +1872,7 @@ public class PurpurWorldConfig { +@@ -1879,6 +1880,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -50,7 +50,7 @@ index cbf2c803de7b256550c748eba8c110e3f6c61edb..e6a317143896dec02be183b4726fcdda } public boolean vindicatorRidable = false; -@@ -1894,6 +1896,7 @@ public class PurpurWorldConfig { +@@ -1902,6 +1904,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -58,7 +58,7 @@ index cbf2c803de7b256550c748eba8c110e3f6c61edb..e6a317143896dec02be183b4726fcdda private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1905,6 +1908,7 @@ public class PurpurWorldConfig { +@@ -1913,6 +1916,7 @@ public class PurpurWorldConfig { wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); diff --git a/patches/server/0174-Drowning-Settings.patch b/patches/server/0174-Drowning-Settings.patch index ab04fcd30..79e1985ff 100644 --- a/patches/server/0174-Drowning-Settings.patch +++ b/patches/server/0174-Drowning-Settings.patch @@ -40,10 +40,10 @@ index ee4f096d4b3d23981074eb6013624c85d6890b4e..fe0e0670fce56f96a7d9204ca20a483a } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e6a317143896dec02be183b4726fcddaf5826a8f..72979fd75f25c48a9421f8c1ba66a693eb227114 100644 +index 5c8e3b36288a25d8aac9fea545867cf7f9b7e969..e5999316a7ec7a42d5a9415bf7851bb6413eb62d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -121,6 +121,15 @@ public class PurpurWorldConfig { +@@ -122,6 +122,15 @@ public class PurpurWorldConfig { nighttimeTicks = getInt("gameplay-mechanics.daylight-cycle-ticks.nighttime", nighttimeTicks); } diff --git a/patches/server/0175-Break-individual-slabs-when-sneaking.patch b/patches/server/0175-Break-individual-slabs-when-sneaking.patch index 0fe23e19c..1043d49c7 100644 --- a/patches/server/0175-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0175-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index eb7f8907bb362c0461194bbaf62917ce71c669f3..89f5e0d26500f1806dff9f91390546cd + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 72979fd75f25c48a9421f8c1ba66a693eb227114..8f4fdd39de12c9c40f72c4bebb083bb0d2ae3fc7 100644 +index e5999316a7ec7a42d5a9415bf7851bb6413eb62d..6014c801897848f6a5edf133882995bebfe34693 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -617,6 +617,11 @@ public class PurpurWorldConfig { +@@ -625,6 +625,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch index 01402a397..4b1d5ae2c 100644 --- a/patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0176-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -22,10 +22,10 @@ index fc34cfa8bfb3b82a8e1b28d261f0e901d837467e..35d47bb0d8c4a2b8374564133f040899 return false; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8f4fdd39de12c9c40f72c4bebb083bb0d2ae3fc7..5473bab042800baf78e4db6dc5f49a96f4b2f6f9 100644 +index 6014c801897848f6a5edf133882995bebfe34693..366144207f5891f8caa2a00e213ca6ece439d1d7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -569,8 +569,12 @@ public class PurpurWorldConfig { +@@ -577,8 +577,12 @@ public class PurpurWorldConfig { } public boolean snowOnBlueIce = true; diff --git a/patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch index 71a39ab94..471a61c1f 100644 --- a/patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0177-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,10 +17,10 @@ index d119f8ab447bc17deabc494463de496161c9b126..c9a44a4765f43b9c0247ed1005f4c134 public ArmorStand(Level world, double x, double y, double z) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5473bab042800baf78e4db6dc5f49a96f4b2f6f9..148c54151d5555533667eb6f429ca44c0b82b3de 100644 +index 366144207f5891f8caa2a00e213ca6ece439d1d7..33dfdbdcdb344851431fb8786796784202e3aff1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -105,6 +105,7 @@ public class PurpurWorldConfig { +@@ -106,6 +106,7 @@ public class PurpurWorldConfig { public boolean armorstandMovement = true; public boolean armorstandWaterMovement = true; public boolean armorstandWaterFence = true; @@ -28,7 +28,7 @@ index 5473bab042800baf78e4db6dc5f49a96f4b2f6f9..148c54151d5555533667eb6f429ca44c private void armorstandSettings() { armorstandStepHeight = (float) getDouble("gameplay-mechanics.armorstand.step-height", armorstandStepHeight); armorstandSetNameVisible = getBoolean("gameplay-mechanics.armorstand.set-name-visible-when-placing-with-custom-name", armorstandSetNameVisible); -@@ -112,6 +113,7 @@ public class PurpurWorldConfig { +@@ -113,6 +114,7 @@ public class PurpurWorldConfig { armorstandMovement = getBoolean("gameplay-mechanics.armorstand.can-movement-tick", armorstandMovement); armorstandWaterMovement = getBoolean("gameplay-mechanics.armorstand.can-move-in-water", armorstandWaterMovement); armorstandWaterFence = getBoolean("gameplay-mechanics.armorstand.can-move-in-water-over-fence", armorstandWaterFence); diff --git a/patches/server/0178-Option-to-make-doors-require-redstone.patch b/patches/server/0178-Option-to-make-doors-require-redstone.patch index 1f39c39f1..79b23eed5 100644 --- a/patches/server/0178-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0178-Option-to-make-doors-require-redstone.patch @@ -67,10 +67,10 @@ index c903a1a8d2234bb0fa354d1c44ff3ab2275b04c7..d01e4064a772710c1383927e0848b9b3 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 148c54151d5555533667eb6f429ca44c0b82b3de..1b99b0b97086a944eb2447d35d29427c92d70936 100644 +index 33dfdbdcdb344851431fb8786796784202e3aff1..2e095d14a7fe54774d4046d80dae9cd7a405dc28 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -515,6 +515,16 @@ public class PurpurWorldConfig { +@@ -523,6 +523,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0180-Configurable-sponge-absorption.patch b/patches/server/0180-Configurable-sponge-absorption.patch index a910c3d29..fb3d3ae02 100644 --- a/patches/server/0180-Configurable-sponge-absorption.patch +++ b/patches/server/0180-Configurable-sponge-absorption.patch @@ -43,10 +43,10 @@ index 1ef8eadd4e59f2e5d2bbd84f6f9bcf37b59db5bd..5b10e1110f938745c8f9ed0b55960566 } } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1b99b0b97086a944eb2447d35d29427c92d70936..f5ff6d74d668407af52e14d09b025f79a318a6b6 100644 +index 2e095d14a7fe54774d4046d80dae9cd7a405dc28..bd7ce307864ae535024c1fa4621ecbeb04dea9d8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -643,6 +643,13 @@ public class PurpurWorldConfig { +@@ -651,6 +651,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0181-Projectile-offset-config.patch b/patches/server/0181-Projectile-offset-config.patch index e5cadeb56..c5b205044 100644 --- a/patches/server/0181-Projectile-offset-config.patch +++ b/patches/server/0181-Projectile-offset-config.patch @@ -96,10 +96,10 @@ index 3f53dc8f250ad3f7616ce7ef0a2353caa0ab1879..29130aa9673a3956030f3e43b784ac46 entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f5ff6d74d668407af52e14d09b025f79a318a6b6..6954208b8c108225deba6502f994b0c714f7c9dd 100644 +index bd7ce307864ae535024c1fa4621ecbeb04dea9d8..9d187f13fcb0f504f16249d99e872dfd56f8c822 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -380,6 +380,23 @@ public class PurpurWorldConfig { +@@ -381,6 +381,23 @@ public class PurpurWorldConfig { witherSkullDespawnRate = getInt("gameplay-mechanics.projectile-despawn-rates.wither_skull", witherSkullDespawnRate); } @@ -121,5 +121,5 @@ index f5ff6d74d668407af52e14d09b025f79a318a6b6..6954208b8c108225deba6502f994b0c7 + } + public boolean silkTouchEnabled = false; - public String silkTouchSpawnerName = "Spawner"; + public String silkTouchSpawnerName = "Spawner"; public List silkTouchSpawnerLore = new ArrayList<>(); diff --git a/patches/server/0182-Config-for-powered-rail-activation-distance.patch b/patches/server/0182-Config-for-powered-rail-activation-distance.patch index 546c5483e..7cfc8692e 100644 --- a/patches/server/0182-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0182-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b } else { int j = pos.getX(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6954208b8c108225deba6502f994b0c714f7c9dd..78944f828e3bb179664da150d8ac79e0e72394b1 100644 +index 9d187f13fcb0f504f16249d99e872dfd56f8c822..32ac15c5c067347c5683336831351292ac37293a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -655,6 +655,11 @@ public class PurpurWorldConfig { +@@ -663,6 +663,11 @@ public class PurpurWorldConfig { slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak); } diff --git a/patches/server/0183-Piglin-portal-spawn-modifier.patch b/patches/server/0183-Piglin-portal-spawn-modifier.patch index f5b4a6f31..f83422c74 100644 --- a/patches/server/0183-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0183-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index fef1027829c44957e23c0a121033bfb7640d06f0..c42349d0f6b0025525278295b36f4030 pos = pos.below(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 78944f828e3bb179664da150d8ac79e0e72394b1..fd09b4172abcf20bd393ced8245838c1ffa1af73 100644 +index 32ac15c5c067347c5683336831351292ac37293a..fe1ff28cfb414a9631c66d135cc089d8ee79aa41 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1465,6 +1465,7 @@ public class PurpurWorldConfig { +@@ -1473,6 +1473,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 78944f828e3bb179664da150d8ac79e0e72394b1..fd09b4172abcf20bd393ced8245838c1 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1475,6 +1476,7 @@ public class PurpurWorldConfig { +@@ -1483,6 +1484,7 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); diff --git a/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch index c5cbf5d00..4a63569b4 100644 --- a/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch @@ -31,10 +31,10 @@ index 5d844ed98b916298a657d5e9766ab7f383a304e0..0129460ce1ca199a47b6657f824c75fd entity.hurt(DamageSource.HOT_FLOOR, 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fd09b4172abcf20bd393ced8245838c1ffa1af73..2ab8fc9ece25973210c1da7aa75d719d25dbc920 100644 +index fe1ff28cfb414a9631c66d135cc089d8ee79aa41..13749cf8c1e1d8b6de21fa2b38d8886e30ab91d6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -622,6 +622,13 @@ public class PurpurWorldConfig { +@@ -630,6 +630,13 @@ public class PurpurWorldConfig { kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); } diff --git a/patches/server/0186-Config-for-wither-explosion-radius.patch b/patches/server/0186-Config-for-wither-explosion-radius.patch index 8d61631cd..b9c8a2f7b 100644 --- a/patches/server/0186-Config-for-wither-explosion-radius.patch +++ b/patches/server/0186-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index 430aa10101d9f21561155941ff24441fd0c4103a..de91f0dd7f9a62e5a96b4cc3e4f505ec if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2ab8fc9ece25973210c1da7aa75d719d25dbc920..9bfc999e79f7af108ed13558be0dba178fe21107 100644 +index 13749cf8c1e1d8b6de21fa2b38d8886e30ab91d6..4cfe4bb07f995ef52bda097e3247719c605e5de5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2001,6 +2001,7 @@ public class PurpurWorldConfig { +@@ -2009,6 +2009,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index 2ab8fc9ece25973210c1da7aa75d719d25dbc920..9bfc999e79f7af108ed13558be0dba17 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2019,6 +2020,7 @@ public class PurpurWorldConfig { +@@ -2027,6 +2028,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0188-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch b/patches/server/0188-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch index 12dd29f5d..2fd44c1c5 100644 --- a/patches/server/0188-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch +++ b/patches/server/0188-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch @@ -18,10 +18,10 @@ index e5562b407bba35ab93bf8bc3c22ac9d45e8353cb..c688bb73cd062f36524cfc231cb691f2 if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) { level.playSound(player, blockPos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9bfc999e79f7af108ed13558be0dba178fe21107..cdbba64e789485bc719a3ac6e19fd3e1d807f712 100644 +index 4cfe4bb07f995ef52bda097e3247719c605e5de5..df34f0b8cc56004e19c25aadc523b900229f88b1 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -397,6 +397,21 @@ public class PurpurWorldConfig { +@@ -398,6 +398,21 @@ public class PurpurWorldConfig { snowballProjectileOffset = getDouble("gameplay-mechanics.projectile-offset.snowball", snowballProjectileOffset); } @@ -41,5 +41,5 @@ index 9bfc999e79f7af108ed13558be0dba178fe21107..cdbba64e789485bc719a3ac6e19fd3e1 + } + public boolean silkTouchEnabled = false; - public String silkTouchSpawnerName = "Spawner"; + public String silkTouchSpawnerName = "Spawner"; public List silkTouchSpawnerLore = new ArrayList<>(); diff --git a/patches/server/0189-Configurable-piston-push-limit.patch b/patches/server/0189-Configurable-piston-push-limit.patch index 9d1ed92a7..23becbcc0 100644 --- a/patches/server/0189-Configurable-piston-push-limit.patch +++ b/patches/server/0189-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cdbba64e789485bc719a3ac6e19fd3e1d807f712..27df350d38e2b77403971093a6c5ce20fa710af5 100644 +index df34f0b8cc56004e19c25aadc523b900229f88b1..7910a07cb6f3d03ced57a4dddbd0e06c457e629e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -644,6 +644,11 @@ public class PurpurWorldConfig { +@@ -652,6 +652,11 @@ public class PurpurWorldConfig { magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); } diff --git a/patches/server/0192-Configurable-mob-blindness.patch b/patches/server/0192-Configurable-mob-blindness.patch index 0fae588b2..f406bf25e 100644 --- a/patches/server/0192-Configurable-mob-blindness.patch +++ b/patches/server/0192-Configurable-mob-blindness.patch @@ -28,10 +28,10 @@ index fe0e0670fce56f96a7d9204ca20a483ad709493a..d1237c85995d3aab5d9a664db6b6ef32 return d0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 27df350d38e2b77403971093a6c5ce20fa710af5..fcc7b33320de3522a905ba705e28187a9dbf7394 100644 +index 7910a07cb6f3d03ced57a4dddbd0e06c457e629e..2aab50eb3e27ffd932960605cfb2016deb1eaad6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -452,6 +452,7 @@ public class PurpurWorldConfig { +@@ -460,6 +460,7 @@ public class PurpurWorldConfig { public boolean persistentDroppableEntityDisplayNames = false; public boolean projectilesBypassMobGriefing = false; public boolean tickFluids = true; @@ -39,7 +39,7 @@ index 27df350d38e2b77403971093a6c5ce20fa710af5..fcc7b33320de3522a905ba705e28187a public double tridentLoyaltyVoidReturnHeight = 0.0D; public double voidDamageHeight = -64.0D; public double voidDamageDealt = 4.0D; -@@ -473,6 +474,7 @@ public class PurpurWorldConfig { +@@ -481,6 +482,7 @@ public class PurpurWorldConfig { persistentDroppableEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-droppable-entity-display-names", persistentDroppableEntityDisplayNames); projectilesBypassMobGriefing = getBoolean("gameplay-mechanics.projectiles-bypass-mob-griefing", projectilesBypassMobGriefing); tickFluids = getBoolean("gameplay-mechanics.tick-fluids", tickFluids); diff --git a/patches/server/0194-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0194-Config-for-health-to-impact-Creeper-explosion-radius.patch index b67400c30..87366d72a 100644 --- a/patches/server/0194-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0194-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index ba12eb0b3b4023371938ec4c076cbac3166099a8..02ebc4ee80d433f895e643bfbc618aa8 if (!event.isCancelled()) { this.dead = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fcc7b33320de3522a905ba705e28187a9dbf7394..2f8dc8c296624a07c469c56aecbdd524527fd81b 100644 +index 2aab50eb3e27ffd932960605cfb2016deb1eaad6..cc20f2c582c287b411bb1d41d9b232a5382630f6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -893,6 +893,7 @@ public class PurpurWorldConfig { +@@ -901,6 +901,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index fcc7b33320de3522a905ba705e28187a9dbf7394..2f8dc8c296624a07c469c56aecbdd524 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -906,6 +907,7 @@ public class PurpurWorldConfig { +@@ -914,6 +915,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0195-Iron-golem-poppy-calms-anger.patch b/patches/server/0195-Iron-golem-poppy-calms-anger.patch index a685704e1..3bebad819 100644 --- a/patches/server/0195-Iron-golem-poppy-calms-anger.patch +++ b/patches/server/0195-Iron-golem-poppy-calms-anger.patch @@ -17,10 +17,10 @@ index f4e983da7206923ee0b0f984e65a6c2b3a6a8aeb..cea3725009af1bc746a593c4db63ed63 this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F)); this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2f8dc8c296624a07c469c56aecbdd524527fd81b..ebadcb6df947c02a91ba4fabf96833ac18a75d22 100644 +index cc20f2c582c287b411bb1d41d9b232a5382630f6..9a8dada4c9b40685bf7d29b3ab9335441ca493f2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1268,6 +1268,7 @@ public class PurpurWorldConfig { +@@ -1276,6 +1276,7 @@ public class PurpurWorldConfig { public boolean ironGolemRidableInWater = false; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -28,7 +28,7 @@ index 2f8dc8c296624a07c469c56aecbdd524527fd81b..ebadcb6df947c02a91ba4fabf96833ac private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1278,6 +1279,7 @@ public class PurpurWorldConfig { +@@ -1286,6 +1287,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); diff --git a/patches/server/0196-Breedable-parrots.patch b/patches/server/0196-Breedable-parrots.patch index c8c4767bf..3201b36de 100644 --- a/patches/server/0196-Breedable-parrots.patch +++ b/patches/server/0196-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 553b0aff0ccc5baf41d5faae1a2fd88249dd5a74..3da2b68fb03a80676d7a5eed271499f6 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ebadcb6df947c02a91ba4fabf96833ac18a75d22..98ef2440cbdfad53687bc144b083324b70e42a34 100644 +index 9a8dada4c9b40685bf7d29b3ab9335441ca493f2..af3aab11f668cc7b0c8749ccb33b5b900066d774 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1404,6 +1404,7 @@ public class PurpurWorldConfig { +@@ -1412,6 +1412,7 @@ public class PurpurWorldConfig { public boolean parrotRidableInWater = false; public double parrotMaxY = 256D; public double parrotMaxHealth = 6.0D; @@ -61,7 +61,7 @@ index ebadcb6df947c02a91ba4fabf96833ac18a75d22..98ef2440cbdfad53687bc144b083324b private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1414,6 +1415,7 @@ public class PurpurWorldConfig { +@@ -1422,6 +1423,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); diff --git a/patches/server/0197-Configurable-powered-rail-boost-modifier.patch b/patches/server/0197-Configurable-powered-rail-boost-modifier.patch index 86ff2e35f..9a06b2a5e 100644 --- a/patches/server/0197-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0197-Configurable-powered-rail-boost-modifier.patch @@ -18,10 +18,10 @@ index 1e3077a22d9d3d26356b865001dcce81c9c1d7e5..cc57ff699d159a0cc748e91b61d53965 Vec3 vec3d5 = this.getDeltaMovement(); double d21 = vec3d5.x; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 98ef2440cbdfad53687bc144b083324b70e42a34..a477c7cdf85c7f1a30c0c19d7bb1464058e011e5 100644 +index af3aab11f668cc7b0c8749ccb33b5b900066d774..aaa1ee02190ca0910d88f7e729ff88aff693ea18 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -226,6 +226,7 @@ public class PurpurWorldConfig { +@@ -227,6 +227,7 @@ public class PurpurWorldConfig { public boolean minecartControllableFallDamage = true; public double minecartControllableBaseSpeed = 0.1D; public Map minecartControllableBlockSpeeds = new HashMap<>(); @@ -29,7 +29,7 @@ index 98ef2440cbdfad53687bc144b083324b70e42a34..a477c7cdf85c7f1a30c0c19d7bb14640 private void minecartSettings() { if (PurpurConfig.version < 12) { boolean oldBool = getBoolean("gameplay-mechanics.controllable-minecarts.place-anywhere", minecartPlaceAnywhere); -@@ -278,6 +279,7 @@ public class PurpurWorldConfig { +@@ -279,6 +280,7 @@ public class PurpurWorldConfig { set("gameplay-mechanics.minecart.controllable.block-speed.grass_block", 0.3D); set("gameplay-mechanics.minecart.controllable.block-speed.stone", 0.5D); } diff --git a/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch index dc1060b24..4ebddb6c3 100644 --- a/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch @@ -18,10 +18,10 @@ index d7a3d2928a63517a1513f5572b121f77979f1b17..d201e3ad325cd6a6cca49ae310a70f36 f += f1; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a477c7cdf85c7f1a30c0c19d7bb1464058e011e5..198c94a5f41561d5692b8a68bd016b335d562579 100644 +index aaa1ee02190ca0910d88f7e729ff88aff693ea18..8d38357a0e12ed11970cb8be2cfab5bb7d05ba8c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -325,6 +325,7 @@ public class PurpurWorldConfig { +@@ -326,6 +326,7 @@ public class PurpurWorldConfig { public boolean creativeOnePunch = false; public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; @@ -29,7 +29,7 @@ index a477c7cdf85c7f1a30c0c19d7bb1464058e011e5..198c94a5f41561d5692b8a68bd016b33 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -346,6 +347,7 @@ public class PurpurWorldConfig { +@@ -347,6 +348,7 @@ public class PurpurWorldConfig { creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); diff --git a/patches/server/0199-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0199-Option-to-disable-dragon-egg-teleporting.patch index 5826b062a..07ae6509b 100644 --- a/patches/server/0199-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0199-Option-to-disable-dragon-egg-teleporting.patch @@ -17,10 +17,10 @@ index 78f51f3dd0e7249af69228479da932e9aea982d6..d9d4421f7f316281487828739168cfd6 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 198c94a5f41561d5692b8a68bd016b335d562579..bb6ae6c30251d5b8b036cf1797dc3a77932f489c 100644 +index 8d38357a0e12ed11970cb8be2cfab5bb7d05ba8c..30c7fcf42c299c4f18c5659f5691a9c80d9dfaa5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -563,6 +563,11 @@ public class PurpurWorldConfig { +@@ -571,6 +571,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch index a224ac0ab..32b8bee33 100644 --- a/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch @@ -35,10 +35,10 @@ index b9c558060024d380e89116489c7fc12ad88db8ad..0a0a4be15bed899812fcd4af0e311f5f CompoundTag compoundTag = shulkerBoxBlockEntity.saveToTag(new CompoundTag()); if (!compoundTag.isEmpty()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index bb6ae6c30251d5b8b036cf1797dc3a77932f489c..0b551cf91b159a0b819b66e0938a6480ba887502 100644 +index 30c7fcf42c299c4f18c5659f5691a9c80d9dfaa5..bc34d085488602c065970d9c19d30eda8b854785 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -681,6 +681,11 @@ public class PurpurWorldConfig { +@@ -689,6 +689,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0203-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0203-Bee-can-work-when-raining-or-at-night.patch index c9bb678c4..83f972377 100644 --- a/patches/server/0203-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0203-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index ffacc4b8cc3ab8285c4131aec58e48ffa9e1952e..e0e039e2f614f2df48d8d1b6e8bbbe7a return false; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0b551cf91b159a0b819b66e0938a6480ba887502..7530ae70ec2dccd1e565fc4a5a188e2ee331618e 100644 +index bc34d085488602c065970d9c19d30eda8b854785..4fa7de97d21c1378a6ab9bc0dbda3ec372cd264d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -785,6 +785,8 @@ public class PurpurWorldConfig { +@@ -793,6 +793,8 @@ public class PurpurWorldConfig { public double beeMaxY = 256D; public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; @@ -43,7 +43,7 @@ index 0b551cf91b159a0b819b66e0938a6480ba887502..7530ae70ec2dccd1e565fc4a5a188e2e private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -796,6 +798,8 @@ public class PurpurWorldConfig { +@@ -804,6 +806,8 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); diff --git a/patches/server/0206-Config-MobEffect-by-world.patch b/patches/server/0206-Config-MobEffect-by-world.patch index 776424d5f..8a9e493ee 100644 --- a/patches/server/0206-Config-MobEffect-by-world.patch +++ b/patches/server/0206-Config-MobEffect-by-world.patch @@ -40,10 +40,10 @@ index 79e036d79dec2ec4404baf02c23ba5ccad20cdce..6706d8e6d43cc5f3058f08fdfde77bed ((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7530ae70ec2dccd1e565fc4a5a188e2ee331618e..5fdeafe905ea542adc7e72719118d4d6fcc4ecfe 100644 +index 4fa7de97d21c1378a6ab9bc0dbda3ec372cd264d..2aa2d1c63ba3adb367ccb242ea037bfbab3977fe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -282,6 +282,21 @@ public class PurpurWorldConfig { +@@ -283,6 +283,21 @@ public class PurpurWorldConfig { poweredRailBoostModifier = getDouble("gameplay-mechanics.minecart.powered-rail.boost-modifier", poweredRailBoostModifier); } diff --git a/patches/server/0207-Beacon-Activation-Range-Configurable.patch b/patches/server/0207-Beacon-Activation-Range-Configurable.patch index 02471e439..fd9074007 100644 --- a/patches/server/0207-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0207-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index 3281448bf37da8a1b4b7b44f10f4b2438b4a4f29..418c2ddf8ff50a5071b2a31585b77e9f } else { return effectRange; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5fdeafe905ea542adc7e72719118d4d6fcc4ecfe..876e25abdb8ef395cb4c99151eabb97b4ad6e52c 100644 +index 2aa2d1c63ba3adb367ccb242ea037bfbab3977fe..aa4ce6873753d60f5112a6cbee0140d47072a14b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -528,6 +528,17 @@ public class PurpurWorldConfig { +@@ -536,6 +536,17 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } diff --git a/patches/server/0208-Add-toggle-for-sand-duping-fix.patch b/patches/server/0208-Add-toggle-for-sand-duping-fix.patch index 92dbb4acb..8ac657b60 100644 --- a/patches/server/0208-Add-toggle-for-sand-duping-fix.patch +++ b/patches/server/0208-Add-toggle-for-sand-duping-fix.patch @@ -27,10 +27,10 @@ index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d8126 } // Paper end - fix sand duping diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 876e25abdb8ef395cb4c99151eabb97b4ad6e52c..0b1098e17305d11e59e29e644ea4c32053fdc8cb 100644 +index aa4ce6873753d60f5112a6cbee0140d47072a14b..68bd8da2c58c1c4a05e42be5004ca99145718a8e 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -707,6 +707,11 @@ public class PurpurWorldConfig { +@@ -715,6 +715,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch index 675f52605..19dd7358f 100644 --- a/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch @@ -45,10 +45,10 @@ index 197482e1ace23c3de002242097a68c6cc297cd3f..428875a6a99a619d337e2a7bbd2cb182 entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0b1098e17305d11e59e29e644ea4c32053fdc8cb..377bc91d341ff880b95576effbb55b1daceac6d2 100644 +index 68bd8da2c58c1c4a05e42be5004ca99145718a8e..ec87a6dc34cce3ad98e76ca44af2e61701273b60 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -649,6 +649,11 @@ public class PurpurWorldConfig { +@@ -657,6 +657,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0212-Burp-after-eating-food-fills-hunger-bar-completely.patch b/patches/server/0212-Burp-after-eating-food-fills-hunger-bar-completely.patch index ff00e969e..92b4afb50 100644 --- a/patches/server/0212-Burp-after-eating-food-fills-hunger-bar-completely.patch +++ b/patches/server/0212-Burp-after-eating-food-fills-hunger-bar-completely.patch @@ -55,10 +55,10 @@ index 97133bd4af30d0ba92cbf884b83140f3399f92e2..c1130952e3fa22abaa27fcc1c4761c83 public void eat(Item item, ItemStack stack) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 377bc91d341ff880b95576effbb55b1daceac6d2..82ff334a6614f5ed8c07a32ae49998d5585744d8 100644 +index ec87a6dc34cce3ad98e76ca44af2e61701273b60..6fc8342df3a9512d9889a8e19495d77975572ad8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -341,6 +341,7 @@ public class PurpurWorldConfig { +@@ -342,6 +342,7 @@ public class PurpurWorldConfig { public boolean playerSleepNearMonsters = false; public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; @@ -66,7 +66,7 @@ index 377bc91d341ff880b95576effbb55b1daceac6d2..82ff334a6614f5ed8c07a32ae49998d5 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -363,6 +364,7 @@ public class PurpurWorldConfig { +@@ -364,6 +365,7 @@ public class PurpurWorldConfig { playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); diff --git a/patches/server/0215-Shulker-spawn-from-bullet-options.patch b/patches/server/0215-Shulker-spawn-from-bullet-options.patch index 822125bda..ea85396a8 100644 --- a/patches/server/0215-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0215-Shulker-spawn-from-bullet-options.patch @@ -61,10 +61,10 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 82ff334a6614f5ed8c07a32ae49998d5585744d8..6f716a423b6280dc6c6dac8313e5ed734a42953a 100644 +index 6fc8342df3a9512d9889a8e19495d77975572ad8..98c09438637429a0fd73e0798d85dd337d1256c9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1722,6 +1722,11 @@ public class PurpurWorldConfig { +@@ -1730,6 +1730,11 @@ public class PurpurWorldConfig { public boolean shulkerRidable = false; public boolean shulkerRidableInWater = false; public double shulkerMaxHealth = 30.0D; @@ -76,7 +76,7 @@ index 82ff334a6614f5ed8c07a32ae49998d5585744d8..6f716a423b6280dc6c6dac8313e5ed73 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1731,6 +1736,11 @@ public class PurpurWorldConfig { +@@ -1739,6 +1744,11 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); diff --git a/patches/server/0216-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0216-Eating-glow-berries-adds-glow-effect.patch index 54b92af8c..5c7365448 100644 --- a/patches/server/0216-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0216-Eating-glow-berries-adds-glow-effect.patch @@ -18,10 +18,10 @@ index 89d4b7e4cd4222b61b49833fceda56ffa39710fa..1eb50f0bc41db79f091f900861ba71d7 public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS); public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6f716a423b6280dc6c6dac8313e5ed734a42953a..0f86df706607108ef03c5b0d3f8e8e01356a7573 100644 +index 98c09438637429a0fd73e0798d85dd337d1256c9..88cf92082ddd0cf14e740f252680cd1ef585169d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -173,6 +173,7 @@ public class PurpurWorldConfig { +@@ -174,6 +174,7 @@ public class PurpurWorldConfig { public int enderPearlCooldown = 20; public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; @@ -29,7 +29,7 @@ index 6f716a423b6280dc6c6dac8313e5ed734a42953a..0f86df706607108ef03c5b0d3f8e8e01 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -216,6 +217,7 @@ public class PurpurWorldConfig { +@@ -217,6 +218,7 @@ public class PurpurWorldConfig { enderPearlCooldown = getInt("gameplay-mechanics.item.ender-pearl.cooldown", enderPearlCooldown); enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); diff --git a/patches/server/0217-Option-to-make-drowned-break-doors.patch b/patches/server/0217-Option-to-make-drowned-break-doors.patch index 9534ca66d..cd7490211 100644 --- a/patches/server/0217-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0217-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 8d3ce6c97a8734c0d13844cafca251a3f4dce8a4..a004d59483dc3ffb404ae28daf76c807 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0f86df706607108ef03c5b0d3f8e8e01356a7573..beeeb6f6a6a4d9e216b22b969ce04eebe89ed443 100644 +index 88cf92082ddd0cf14e740f252680cd1ef585169d..0333761a4f44d5bd65006318aeaa3a872602a6fe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1021,6 +1021,7 @@ public class PurpurWorldConfig { +@@ -1029,6 +1029,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -45,7 +45,7 @@ index 0f86df706607108ef03c5b0d3f8e8e01356a7573..beeeb6f6a6a4d9e216b22b969ce04eeb private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1034,6 +1035,7 @@ public class PurpurWorldConfig { +@@ -1042,6 +1043,7 @@ 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); diff --git a/patches/server/0218-Configurable-hunger-starvation-damage.patch b/patches/server/0218-Configurable-hunger-starvation-damage.patch index da6386fe6..e6e4919f6 100644 --- a/patches/server/0218-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0218-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index c1130952e3fa22abaa27fcc1c4761c831dc56cc3..1ac08eca469739cb52abd38483c431b6 this.tickTimer = 0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index beeeb6f6a6a4d9e216b22b969ce04eebe89ed443..a45781c2fd497b7ae7c7ddd703fab8a35295df14 100644 +index 0333761a4f44d5bd65006318aeaa3a872602a6fe..26445a451a18560fdb3c742b1b6b9f8b853bcbb9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2279,4 +2279,9 @@ public class PurpurWorldConfig { +@@ -2287,4 +2287,9 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); } diff --git a/patches/server/0220-Armor-click-equip-options.patch b/patches/server/0220-Armor-click-equip-options.patch index cfb0ac166..2f4846eba 100644 --- a/patches/server/0220-Armor-click-equip-options.patch +++ b/patches/server/0220-Armor-click-equip-options.patch @@ -58,10 +58,10 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2 return InteractionResultHolder.fail(itemStack); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a45781c2fd497b7ae7c7ddd703fab8a35295df14..50236d7fa4f0054ca22186697a17e1205c89393e 100644 +index 26445a451a18560fdb3c742b1b6b9f8b853bcbb9..9a6938358294ac1bae252ca23f3fdc70450c4df9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -344,6 +344,8 @@ public class PurpurWorldConfig { +@@ -345,6 +345,8 @@ public class PurpurWorldConfig { public boolean playersSkipNight = true; public double playerCriticalDamageMultiplier = 1.5D; public boolean playerBurpWhenFull = false; @@ -70,7 +70,7 @@ index a45781c2fd497b7ae7c7ddd703fab8a35295df14..50236d7fa4f0054ca22186697a17e120 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -367,6 +369,8 @@ public class PurpurWorldConfig { +@@ -368,6 +370,8 @@ public class PurpurWorldConfig { playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); diff --git a/patches/server/0223-Tool-actionable-options.patch b/patches/server/0223-Tool-actionable-options.patch index 4c1362c33..34b3dc656 100644 --- a/patches/server/0223-Tool-actionable-options.patch +++ b/patches/server/0223-Tool-actionable-options.patch @@ -109,10 +109,10 @@ index 009dd6b59e27a9413b3ef115468a6d1dd0746d56..fdbc1378bc148f5a16b414a3e5867cdc return InteractionResult.PASS; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 50236d7fa4f0054ca22186697a17e1205c89393e..77ad75f834350afda49bbc6f2d27d38da4616c1f 100644 +index 9a6938358294ac1bae252ca23f3fdc70450c4df9..692cfd153391dad3780eb79f9f25c069f365dd95 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -464,6 +464,153 @@ public class PurpurWorldConfig { +@@ -472,6 +472,153 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0228-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0228-option-to-disable-shulker-box-items-from-dropping-co.patch index c4b5ab8ff..e4a2f85c6 100644 --- a/patches/server/0228-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0228-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -19,10 +19,10 @@ index 6c261b9ddee80139140bd1f091fcdacc3a70c8ef..65917d1438b0f480385e9117ba2a386e if (nbttagcompound != null) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 77ad75f834350afda49bbc6f2d27d38da4616c1f..e2fd8469626d497a79692cda17b725330d733add 100644 +index 692cfd153391dad3780eb79f9f25c069f365dd95..0a0ea959bfe246197ed7a0bb353ed0749588e143 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -174,6 +174,7 @@ public class PurpurWorldConfig { +@@ -175,6 +175,7 @@ public class PurpurWorldConfig { public int enderPearlCooldownCreative = 20; public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; @@ -30,7 +30,7 @@ index 77ad75f834350afda49bbc6f2d27d38da4616c1f..e2fd8469626d497a79692cda17b72533 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -218,6 +219,7 @@ public class PurpurWorldConfig { +@@ -219,6 +220,7 @@ public class PurpurWorldConfig { enderPearlCooldownCreative = getInt("gameplay-mechanics.item.ender-pearl.creative-cooldown", enderPearlCooldownCreative); enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); diff --git a/patches/server/0229-Silk-touchable-budding-amethyst.patch b/patches/server/0229-Silk-touchable-budding-amethyst.patch index 59568305e..337270d7b 100644 --- a/patches/server/0229-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0229-Silk-touchable-budding-amethyst.patch @@ -24,10 +24,10 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e2fd8469626d497a79692cda17b725330d733add..6bd57a023bd448324146c2dea4d1f6a4a6b2ec40 100644 +index 0a0ea959bfe246197ed7a0bb353ed0749588e143..e1636d10a018d1b89d3ef357b1ad832170524f08 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -712,6 +712,11 @@ public class PurpurWorldConfig { +@@ -720,6 +720,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0230-Big-dripleaf-tilt-delay.patch b/patches/server/0230-Big-dripleaf-tilt-delay.patch index 5c1f2637a..527f206da 100644 --- a/patches/server/0230-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0230-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 5bfb60258018c8beda1fc2ac29e8ffc5c9377064..24e80e4d3ebbfd5f72e00ad7610efa12 if (i != -1) { world.getBlockTicks().scheduleTick(blockposition, this, i); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6bd57a023bd448324146c2dea4d1f6a4a6b2ec40..5d7562577eb5f63773263d929760982f4dd1f6b5 100644 +index e1636d10a018d1b89d3ef357b1ad832170524f08..244a25922d0e4a7bd4929a15249b731a4671d9f3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -712,6 +712,22 @@ public class PurpurWorldConfig { +@@ -720,6 +720,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0231-Player-ridable-in-water-option.patch b/patches/server/0231-Player-ridable-in-water-option.patch index 19cdc410b..7ddc37b27 100644 --- a/patches/server/0231-Player-ridable-in-water-option.patch +++ b/patches/server/0231-Player-ridable-in-water-option.patch @@ -21,10 +21,10 @@ index 841e21e160f728af12daef1eba8d25e5cd081bda..8102ee4cc9f936de20a0cb6875ada524 if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5d7562577eb5f63773263d929760982f4dd1f6b5..c94152cffd69ee533031426dfcc65aad933fd9e9 100644 +index 244a25922d0e4a7bd4929a15249b731a4671d9f3..132d897f59ab4cc2d7b5f1775f4fbf415ba7f074 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -348,6 +348,7 @@ public class PurpurWorldConfig { +@@ -349,6 +349,7 @@ public class PurpurWorldConfig { public boolean playerBurpWhenFull = false; public boolean playerArmorSwapping = false; public boolean playerArmorSwappingCreativeMakesCopy = true; @@ -32,7 +32,7 @@ index 5d7562577eb5f63773263d929760982f4dd1f6b5..c94152cffd69ee533031426dfcc65aad private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -373,6 +374,7 @@ public class PurpurWorldConfig { +@@ -374,6 +375,7 @@ public class PurpurWorldConfig { playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping); playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy); diff --git a/patches/server/0232-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0232-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index b6a85baaf..c52005aa8 100644 --- a/patches/server/0232-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0232-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -18,10 +18,10 @@ index 3e15f892f210611edf68dc56b912be5b4890dbcb..e76164aa8e8750cb188bec250d0cca26 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c94152cffd69ee533031426dfcc65aad933fd9e9..5d7042e55c2d46947fc2f82e2ff90b2efc77dcba 100644 +index 132d897f59ab4cc2d7b5f1775f4fbf415ba7f074..ec9a56a4acf191e24c10af815216cdba5afd220c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1263,6 +1263,7 @@ public class PurpurWorldConfig { +@@ -1271,6 +1271,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index c94152cffd69ee533031426dfcc65aad933fd9e9..5d7042e55c2d46947fc2f82e2ff90b2e private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1284,6 +1285,7 @@ public class PurpurWorldConfig { +@@ -1292,6 +1293,7 @@ public class PurpurWorldConfig { endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); diff --git a/patches/server/0234-Add-compass-command.patch b/patches/server/0234-Add-compass-command.patch index eb7f276bd..d4d214dd8 100644 --- a/patches/server/0234-Add-compass-command.patch +++ b/patches/server/0234-Add-compass-command.patch @@ -81,7 +81,7 @@ index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..046bf9cbf02b002e89f7d39b616dd0f5 CompoundTag compoundTag = stack.getOrCreateTag(); if (compoundTag.contains("LodestoneTracked") && !compoundTag.getBoolean("LodestoneTracked")) { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 430a2a47cdb9ead034dfb2bfdfcae653a7bb03ac..919077551b633f2aaa8dd1c67ef7f31bed5f19b1 100644 +index 6f992bd9b1e35dbd712d64daa0e0b8d5b4f85ec5..babd56746ea83c7387f17a7c191d1b878c8b5d12 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -252,6 +252,11 @@ public class PurpurConfig { @@ -111,10 +111,10 @@ index 430a2a47cdb9ead034dfb2bfdfcae653a7bb03ac..919077551b633f2aaa8dd1c67ef7f31b hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5d7042e55c2d46947fc2f82e2ff90b2efc77dcba..60b2d35aeafeaeac8d65184c4e936e8677bcc406 100644 +index ec9a56a4acf191e24c10af815216cdba5afd220c..a8a8821a7a79ea5b429ca1b7e8b56a10b8869e02 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -175,6 +175,7 @@ public class PurpurWorldConfig { +@@ -176,6 +176,7 @@ public class PurpurWorldConfig { public float enderPearlEndermiteChance = 0.05F; public int glowBerriesEatGlowDuration = 0; public boolean shulkerBoxItemDropContentsWhenDestroyed = true; @@ -122,7 +122,7 @@ index 5d7042e55c2d46947fc2f82e2ff90b2efc77dcba..60b2d35aeafeaeac8d65184c4e936e86 private void itemSettings() { itemImmuneToCactus.clear(); getList("gameplay-mechanics.item.immune.cactus", new ArrayList<>()).forEach(key -> { -@@ -220,6 +221,7 @@ public class PurpurWorldConfig { +@@ -221,6 +222,7 @@ public class PurpurWorldConfig { enderPearlEndermiteChance = (float) getDouble("gameplay-mechanics.item.ender-pearl.endermite-spawn-chance", enderPearlEndermiteChance); glowBerriesEatGlowDuration = getInt("gameplay-mechanics.item.glow_berries.eat-glow-duration", glowBerriesEatGlowDuration); shulkerBoxItemDropContentsWhenDestroyed = getBoolean("gameplay-mechanics.item.shulker_box.drop-contents-when-destroyed", shulkerBoxItemDropContentsWhenDestroyed); diff --git a/patches/server/0235-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0235-Config-to-prevent-horses-from-standing-with-riders.patch index 649c789e4..41ef6a13c 100644 --- a/patches/server/0235-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0235-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index 16b72398645757ca194cb638f46b4528283e2199..03ae6519a523ee73cce664d85074b5f9 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 60b2d35aeafeaeac8d65184c4e936e8677bcc406..3b232ff1bba47836a2911b75b4757ef9161bb76b 100644 +index a8a8821a7a79ea5b429ca1b7e8b56a10b8869e02..7f0c784d7d37519336cedcac9353665c9f0d4140 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1442,6 +1442,7 @@ public class PurpurWorldConfig { +@@ -1450,6 +1450,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -31,7 +31,7 @@ index 60b2d35aeafeaeac8d65184c4e936e8677bcc406..3b232ff1bba47836a2911b75b4757ef9 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1458,6 +1459,7 @@ public class PurpurWorldConfig { +@@ -1466,6 +1467,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); diff --git a/patches/server/0236-Toggle-for-kinetic-damage.patch b/patches/server/0236-Toggle-for-kinetic-damage.patch index 1d99ccbea..65b1247db 100644 --- a/patches/server/0236-Toggle-for-kinetic-damage.patch +++ b/patches/server/0236-Toggle-for-kinetic-damage.patch @@ -22,10 +22,10 @@ index ad3ef0b1f3d6d00a0aca909812127b09302e5a8c..4ed72b06786505f61502772bba973b12 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3b232ff1bba47836a2911b75b4757ef9161bb76b..7f6ec9057df3bba8089585924837d3f8336adb3f 100644 +index 7f0c784d7d37519336cedcac9353665c9f0d4140..86d0ff5ca456df5f1d59f26e7bf5201f6ba59cb0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -137,12 +137,14 @@ public class PurpurWorldConfig { +@@ -138,12 +138,14 @@ public class PurpurWorldConfig { public boolean elytraIgnoreUnbreaking = false; public int elytraDamagePerFireworkBoost = 0; public int elytraDamagePerTridentBoost = 0; diff --git a/patches/server/0237-Add-Option-for-disable-observer-clocks.patch b/patches/server/0237-Add-Option-for-disable-observer-clocks.patch index 7ef81eb26..514315cf9 100644 --- a/patches/server/0237-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0237-Add-Option-for-disable-observer-clocks.patch @@ -18,10 +18,10 @@ index 101317912b8299f5be406b75c19cfddb30c1f3f3..21f5632bbc58a1c34b85d9fef2408938 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7f6ec9057df3bba8089585924837d3f8336adb3f..fc1599f1d23fb92f9e394aad52a17cf85ec399d1 100644 +index 86d0ff5ca456df5f1d59f26e7bf5201f6ba59cb0..2e44ded2182482894f2320588e66b1aaea0a72d2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -320,6 +320,11 @@ public class PurpurWorldConfig { +@@ -321,6 +321,11 @@ public class PurpurWorldConfig { villageSiegeSpawning = getBoolean("gameplay-mechanics.mob-spawning.village-sieges", predicate); } diff --git a/patches/server/0238-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0238-Customizeable-Zombie-Villager-curing-times.patch index 324e625a9..97b08243c 100644 --- a/patches/server/0238-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0238-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 7fda07f5fa756077dab59de95f15b9197e09581a..6a456f52ae529654c15bd3e8ec717b3f this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index fc1599f1d23fb92f9e394aad52a17cf85ec399d1..4404247deb6bf08a0e0c53214b89b98d40dd658b 100644 +index 2e44ded2182482894f2320588e66b1aaea0a72d2..b741c9b92ec2a473e25513aa29a204ee9d2c52e2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2430,6 +2430,8 @@ public class PurpurWorldConfig { +@@ -2438,6 +2438,8 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -30,7 +30,7 @@ index fc1599f1d23fb92f9e394aad52a17cf85ec399d1..4404247deb6bf08a0e0c53214b89b98d private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2443,6 +2445,8 @@ public class PurpurWorldConfig { +@@ -2451,6 +2453,8 @@ 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); diff --git a/patches/server/0239-Option-for-sponges-to-work-on-lava.patch b/patches/server/0239-Option-for-sponges-to-work-on-lava.patch index 0dd9d3563..b2c2e6bb0 100644 --- a/patches/server/0239-Option-for-sponges-to-work-on-lava.patch +++ b/patches/server/0239-Option-for-sponges-to-work-on-lava.patch @@ -18,10 +18,10 @@ index 5b10e1110f938745c8f9ed0b55960566bc720c30..c97fddfc680a9d1934c751e0e87e287d ++i; if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 4404247deb6bf08a0e0c53214b89b98d40dd658b..9b61d8c8a46ebce9f3afad96375c9fd24bee74c0 100644 +index b741c9b92ec2a473e25513aa29a204ee9d2c52e2..09c9c3de0db01da1991df16474120170ddaafc73 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -935,9 +935,11 @@ public class PurpurWorldConfig { +@@ -943,9 +943,11 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 64; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0240-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0240-Toggle-for-Wither-s-spawn-sound.patch index 2f2dd99f4..a9b73f1da 100644 --- a/patches/server/0240-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0240-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 48c1ddbd9f20e6ece121b166c08341006fa15105..c01c60485eba8f57ad6ead20bd3f9101 // this.world.b(1023, new BlockPosition(this), 0); //int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9b61d8c8a46ebce9f3afad96375c9fd24bee74c0..ed6a548326d058d74f4f080c9c78f8f437003090 100644 +index 09c9c3de0db01da1991df16474120170ddaafc73..d0b113400f5144da5c1cf441e3256e4c471c2d55 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2291,6 +2291,7 @@ public class PurpurWorldConfig { +@@ -2299,6 +2299,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 9b61d8c8a46ebce9f3afad96375c9fd24bee74c0..ed6a548326d058d74f4f080c9c78f8f4 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2310,6 +2311,7 @@ public class PurpurWorldConfig { +@@ -2318,6 +2319,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0241-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0241-Cactus-breaks-from-solid-neighbors-config.patch index 62e554915..0756f08d5 100644 --- a/patches/server/0241-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0241-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index 2a02fdf58640d26b82e0ca22d0d8ff3326921b61..c65ec767363b76aa8e8234037d937423 return false; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index ed6a548326d058d74f4f080c9c78f8f437003090..83dda9d1f9057c7e3796f2c000f75d1fa3f347cc 100644 +index d0b113400f5144da5c1cf441e3256e4c471c2d55..2c9aa1590fa11121f4996da91f2d17fb805dcb75 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -744,6 +744,11 @@ public class PurpurWorldConfig { +@@ -752,6 +752,11 @@ public class PurpurWorldConfig { buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch); } diff --git a/patches/server/0242-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0242-Config-to-remove-curse-of-binding-with-weakness.patch index f874a2a0d..d40b4ee88 100644 --- a/patches/server/0242-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0242-Config-to-remove-curse-of-binding-with-weakness.patch @@ -26,10 +26,10 @@ index 777c21d8f3d5a7e9c156d25263f4b50ad67bd7c7..98cc31b2f318c468d1d2a26b24441bfe @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 83dda9d1f9057c7e3796f2c000f75d1fa3f347cc..772b723a07981128b2620fa8cc59c88cf1299e65 100644 +index 2c9aa1590fa11121f4996da91f2d17fb805dcb75..768de1265faf28ed78fe60b8e6b01ec5d4fbf335 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -358,6 +358,7 @@ public class PurpurWorldConfig { +@@ -359,6 +359,7 @@ public class PurpurWorldConfig { public boolean playerArmorSwapping = false; public boolean playerArmorSwappingCreativeMakesCopy = true; public boolean playerRidableInWater = false; @@ -37,7 +37,7 @@ index 83dda9d1f9057c7e3796f2c000f75d1fa3f347cc..772b723a07981128b2620fa8cc59c88c private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -384,6 +385,7 @@ public class PurpurWorldConfig { +@@ -385,6 +386,7 @@ public class PurpurWorldConfig { playerArmorSwapping = getBoolean("gameplay-mechanics.player.armor-click-equip.allow-hot-swapping", playerArmorSwapping); playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); diff --git a/patches/server/0243-Conduit-behavior-configuration.patch b/patches/server/0243-Conduit-behavior-configuration.patch index e82a86c17..dff6f09cb 100644 --- a/patches/server/0243-Conduit-behavior-configuration.patch +++ b/patches/server/0243-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 772b723a07981128b2620fa8cc59c88cf1299e65..c3ee58d3b2b4df61c85fa327187f69afe07c1d49 100644 +index 768de1265faf28ed78fe60b8e6b01ec5d4fbf335..dc4bd32f99ae9a8fbe8482d30221c237b5210653 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2488,4 +2488,27 @@ public class PurpurWorldConfig { +@@ -2496,4 +2496,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0244-Cauldron-fill-chances.patch b/patches/server/0244-Cauldron-fill-chances.patch index 6c5230994..90ad7c2f4 100644 --- a/patches/server/0244-Cauldron-fill-chances.patch +++ b/patches/server/0244-Cauldron-fill-chances.patch @@ -18,10 +18,10 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c3ee58d3b2b4df61c85fa327187f69afe07c1d49..37987c92133b723e74cbe1cf40e02470bd087c41 100644 +index dc4bd32f99ae9a8fbe8482d30221c237b5210653..2cbe45967515555ed2ccad80ceb394b904905f5b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2511,4 +2511,11 @@ public class PurpurWorldConfig { +@@ -2519,4 +2519,11 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0245-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0245-Config-to-allow-mobs-to-pathfind-over-rails.patch index 9a702ad57..3027abdf6 100644 --- a/patches/server/0245-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0245-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -18,10 +18,10 @@ index 60605a8a021cc56f9c3ba22bc43c43c302fb1a70..e7dc64c3ef715e3e58d79bb55546a122 if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) { double g = (double)(x - direction.getStepX()) + 0.5D; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 37987c92133b723e74cbe1cf40e02470bd087c41..5203e40b416db5f919b5da8205caec3ef64b6519 100644 +index 2cbe45967515555ed2ccad80ceb394b904905f5b..8da13b954557aca5267dfb123b5e7bac3c7bf786 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -647,6 +647,7 @@ public class PurpurWorldConfig { +@@ -655,6 +655,7 @@ public class PurpurWorldConfig { public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; @@ -29,7 +29,7 @@ index 37987c92133b723e74cbe1cf40e02470bd087c41..5203e40b416db5f919b5da8205caec3e private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -669,6 +670,7 @@ public class PurpurWorldConfig { +@@ -677,6 +678,7 @@ public class PurpurWorldConfig { 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); diff --git a/patches/server/0247-Shulker-change-color-with-dye.patch b/patches/server/0247-Shulker-change-color-with-dye.patch index da17ff25d..aa84d8df5 100644 --- a/patches/server/0247-Shulker-change-color-with-dye.patch +++ b/patches/server/0247-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index 03da91ee39851e8d066b8c63dce849e665c59479..fba13f838c7a427cf43ae9958d8815b1 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5203e40b416db5f919b5da8205caec3ef64b6519..45377b09a17b56d5474bd39454891a18abe9599a 100644 +index 8da13b954557aca5267dfb123b5e7bac3c7bf786..42769727a2f693c98401629e60314023b5e0c5ca 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1931,6 +1931,7 @@ public class PurpurWorldConfig { +@@ -1939,6 +1939,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -58,7 +58,7 @@ index 5203e40b416db5f919b5da8205caec3ef64b6519..45377b09a17b56d5474bd39454891a18 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1945,6 +1946,7 @@ public class PurpurWorldConfig { +@@ -1953,6 +1954,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange); shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); diff --git a/patches/server/0250-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0250-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 201f70905..502cbdbec 100644 --- a/patches/server/0250-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0250-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -25,10 +25,10 @@ index 369ad2615a7f8ee35de91451a4b9fa01031d0dc1..bf91d6c0d67aa72a6272dc878b07e292 // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 45377b09a17b56d5474bd39454891a18abe9599a..34e3a86558685d993245bae76c3a4e9a61530274 100644 +index 42769727a2f693c98401629e60314023b5e0c5ca..60fba94dded07f01e1c0100697ff3c4f787241e4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -648,6 +648,8 @@ public class PurpurWorldConfig { +@@ -656,6 +656,8 @@ public class PurpurWorldConfig { public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; public boolean mobsIgnoreRails = false; @@ -37,7 +37,7 @@ index 45377b09a17b56d5474bd39454891a18abe9599a..34e3a86558685d993245bae76c3a4e9a private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -671,6 +673,8 @@ public class PurpurWorldConfig { +@@ -679,6 +681,8 @@ public class PurpurWorldConfig { raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); diff --git a/patches/server/0251-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0251-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index 57f90e6d4..b870d79f3 100644 --- a/patches/server/0251-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0251-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -45,10 +45,10 @@ index af4287e2fff8bc920f615ba56f78bd5acdec8721..31f84a7231667b593da8ed6cdada976f public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS))); public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF))); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 34e3a86558685d993245bae76c3a4e9a61530274..82d552fcd9f7039bb45d0513b595d7b1c11853c4 100644 +index 60fba94dded07f01e1c0100697ff3c4f787241e4..52d6819b5840d423510ab889a24016414b7a2cfe 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -704,6 +704,11 @@ public class PurpurWorldConfig { +@@ -712,6 +712,11 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } @@ -60,7 +60,7 @@ index 34e3a86558685d993245bae76c3a4e9a61530274..82d552fcd9f7039bb45d0513b595d7b1 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -840,6 +845,11 @@ public class PurpurWorldConfig { +@@ -848,6 +853,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0252-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0252-Shift-right-click-to-use-exp-for-mending.patch index 8634950e2..bfc84666f 100644 --- a/patches/server/0252-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0252-Shift-right-click-to-use-exp-for-mending.patch @@ -48,10 +48,10 @@ index c0ab928ecff6aea1544406576e689979a2e474e9..86ed3f8491ea7ad117ac36be0d4bf304 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 82d552fcd9f7039bb45d0513b595d7b1c11853c4..712fefe7bd8a692695ca89930710e5b77be74f9c 100644 +index 52d6819b5840d423510ab889a24016414b7a2cfe..e570a9e407c27b7461e1b45b6b3a8450d2120597 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -359,6 +359,7 @@ public class PurpurWorldConfig { +@@ -360,6 +360,7 @@ public class PurpurWorldConfig { public boolean playerArmorSwappingCreativeMakesCopy = true; public boolean playerRidableInWater = false; public boolean playerRemoveBindingWithWeakness = false; @@ -59,7 +59,7 @@ index 82d552fcd9f7039bb45d0513b595d7b1c11853c4..712fefe7bd8a692695ca89930710e5b7 private void playerSettings() { if (PurpurConfig.version < 19) { boolean oldVal = getBoolean("gameplay-mechanics.player.idle-timeout.mods-target", idleTimeoutTargetPlayer); -@@ -386,6 +387,7 @@ public class PurpurWorldConfig { +@@ -387,6 +388,7 @@ public class PurpurWorldConfig { playerArmorSwappingCreativeMakesCopy = getBoolean("gameplay-mechanics.player.armor-click-equip.creative-makes-copy", playerArmorSwappingCreativeMakesCopy); playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); diff --git a/patches/server/0253-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0253-Dolphins-naturally-aggressive-to-players-chance.patch index e39a25e07..6a0c61ebe 100644 --- a/patches/server/0253-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0253-Dolphins-naturally-aggressive-to-players-chance.patch @@ -47,10 +47,10 @@ index 2aead13e8f879b614445715fb1912a20b9abf4b9..a33724bee284c3f05b1807d6564ddf15 public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 712fefe7bd8a692695ca89930710e5b77be74f9c..baa29f623b741f4aced68aff3713bfbb58514961 100644 +index e570a9e407c27b7461e1b45b6b3a8450d2120597..ed03ed6a594c2b06f1f5db7cc0c2b537e7aece76 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1186,6 +1186,7 @@ public class PurpurWorldConfig { +@@ -1194,6 +1194,7 @@ public class PurpurWorldConfig { public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; @@ -58,7 +58,7 @@ index 712fefe7bd8a692695ca89930710e5b77be74f9c..baa29f623b741f4aced68aff3713bfbb private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -1198,6 +1199,7 @@ public class PurpurWorldConfig { +@@ -1206,6 +1207,7 @@ public class PurpurWorldConfig { } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); diff --git a/patches/server/0254-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0254-Cows-naturally-aggressive-to-players-chance.patch index 3acac8a13..2f1bd87dd 100644 --- a/patches/server/0254-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0254-Cows-naturally-aggressive-to-players-chance.patch @@ -58,10 +58,10 @@ index c718697a9511ccf761467644967397b777446db9..6855c409f1c793ec436f447838008853 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index baa29f623b741f4aced68aff3713bfbb58514961..57b4fdd0486854efd77b203d5181692aa9d3d11c 100644 +index ed03ed6a594c2b06f1f5db7cc0c2b537e7aece76..99304124b8055a6d15375922b2b47c2bfd45383c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1143,6 +1143,7 @@ public class PurpurWorldConfig { +@@ -1151,6 +1151,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; @@ -69,7 +69,7 @@ index baa29f623b741f4aced68aff3713bfbb58514961..57b4fdd0486854efd77b203d5181692a private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -1154,6 +1155,7 @@ public class PurpurWorldConfig { +@@ -1162,6 +1163,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);