diff --git a/patches/unapplied-server/0018-Silk-touch-spawners.patch b/patches/server/0017-Silk-touch-spawners.patch similarity index 71% rename from patches/unapplied-server/0018-Silk-touch-spawners.patch rename to patches/server/0017-Silk-touch-spawners.patch index 91b675b66..a00b7e056 100644 --- a/patches/unapplied-server/0018-Silk-touch-spawners.patch +++ b/patches/server/0017-Silk-touch-spawners.patch @@ -18,10 +18,10 @@ index d00b59efb754594cf532f8598f4b6d3b29693232..6467358f5fdf4cd4f7c1e2cc65c834a9 public static final Item CRAFTING_TABLE = registerBlock(Blocks.CRAFTING_TABLE); public static final Item FARMLAND = registerBlock(Blocks.FARMLAND); 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 4f190a40b8474aa06a92c8afcc06d0044120ff7b..06c914983a285c1a4e973f1c55088ad6e561cd20 100644 +index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..bc3c0b7c06d0ed5c4f54cf08c37f7331bb0cc00d 100644 --- a/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpawnerBlock.java -@@ -42,6 +42,60 @@ public class SpawnerBlock extends BaseEntityBlock { +@@ -42,6 +42,55 @@ public class SpawnerBlock extends BaseEntityBlock { return createTickerHelper(type, BlockEntityType.MOB_SPAWNER, world.isClientSide ? SpawnerBlockEntity::clientTick : SpawnerBlockEntity::serverTick); } @@ -32,43 +32,38 @@ index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..06c914983a285c1a4e973f1c55088ad6 + java.util.Optional> type = net.minecraft.world.entity.EntityType.by(((SpawnerBlockEntity) blockEntity).getSpawner().nextSpawnData.getEntityToSpawn()); + + net.minecraft.world.entity.EntityType entityType = type.orElse(null); -+ final net.kyori.adventure.text.Component mobName = io.papermc.paper.adventure.PaperAdventure.asAdventure(entityType == null ? Component.empty() : entityType.getDescription()); -+ net.minecraft.nbt.CompoundTag display = new net.minecraft.nbt.CompoundTag(); -+ net.minecraft.nbt.CompoundTag tag = new net.minecraft.nbt.CompoundTag(); -+ net.minecraft.nbt.CompoundTag blockEntityTag = blockEntity.getUpdateTag(); -+ blockEntityTag.remove("Delay"); // remove this tag to allow stacking duplicate spawners -+ tag.put("BlockEntityTag", blockEntityTag); -+ -+ String name = level.purpurConfig.silkTouchSpawnerName; -+ if (name != null && !name.isEmpty() && !name.equals("Monster Spawner")) { -+ net.kyori.adventure.text.Component displayName = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(name, net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.component("mob", mobName)); -+ if (name.startsWith("")) { -+ displayName = displayName.decoration(net.kyori.adventure.text.format.TextDecoration.ITALIC, false); -+ } -+ display.put("Name", net.minecraft.nbt.StringTag.valueOf(io.papermc.paper.adventure.PaperAdventure.asJsonString(displayName, java.util.Locale.ROOT))); -+ tag.put("display", display); -+ } -+ -+ List lore = level.purpurConfig.silkTouchSpawnerLore; -+ if (lore != null && !lore.isEmpty()) { -+ net.minecraft.nbt.ListTag list = new net.minecraft.nbt.ListTag(); -+ for (String line : lore) { -+ net.kyori.adventure.text.Component lineComponent = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(line, net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.component("mob", mobName)); -+ if (line.startsWith("")) { -+ lineComponent = lineComponent.decoration(net.kyori.adventure.text.format.TextDecoration.ITALIC, false); -+ } -+ list.add(net.minecraft.nbt.StringTag.valueOf(io.papermc.paper.adventure.PaperAdventure.asJsonString(lineComponent, java.util.Locale.ROOT))); -+ } -+ display.put("Lore", list); -+ tag.put("display", display); -+ } -+ + ItemStack item = new ItemStack(Blocks.SPAWNER.asItem()); + if (entityType != null) { -+ tag.putDouble("HideFlags", ItemStack.TooltipPart.ADDITIONAL.getMask()); // hides the "Interact with Spawn Egg" tooltip -+ item.setTag(tag); -+ } ++ final net.kyori.adventure.text.Component mobName = io.papermc.paper.adventure.PaperAdventure.asAdventure(entityType.getDescription()); ++ // blockEntityTag.remove("Delay"); // remove this tag to allow stacking duplicate spawners ++ // tag.put("BlockEntityTag", blockEntityTag); + ++ String name = level.purpurConfig.silkTouchSpawnerName; ++ if (name != null && !name.isEmpty() && !name.equals("Monster Spawner")) { ++ net.kyori.adventure.text.Component displayName = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(name, net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.component("mob", mobName)); ++ if (name.startsWith("")) { ++ displayName = displayName.decoration(net.kyori.adventure.text.format.TextDecoration.ITALIC, false); ++ } ++ item.set(net.minecraft.core.component.DataComponents.CUSTOM_NAME, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName)); ++ } ++ ++ List lore = level.purpurConfig.silkTouchSpawnerLore; ++ if (lore != null && !lore.isEmpty()) { ++ ++ List loreComponentList = new java.util.ArrayList<>(); ++ for (String line : lore) { ++ net.kyori.adventure.text.Component lineComponent = net.kyori.adventure.text.minimessage.MiniMessage.miniMessage().deserialize(line, net.kyori.adventure.text.minimessage.tag.resolver.Placeholder.component("mob", mobName)); ++ if (line.startsWith("")) { ++ lineComponent = lineComponent.decoration(net.kyori.adventure.text.format.TextDecoration.ITALIC, false); ++ } ++ loreComponentList.add(io.papermc.paper.adventure.PaperAdventure.asVanilla(lineComponent)); ++ } ++ ++ ++ item.set(net.minecraft.core.component.DataComponents.LORE, new net.minecraft.world.item.component.ItemLore(loreComponentList, loreComponentList)); ++ } ++ item.set(net.minecraft.core.component.DataComponents.HIDE_ADDITIONAL_TOOLTIP, net.minecraft.util.Unit.INSTANCE); ++ } + popResource(level, pos, item); + } + super.playerDestroy(level, player, pos, state, blockEntity, stack, includeDrops, dropExp); @@ -82,7 +77,7 @@ index 4f190a40b8474aa06a92c8afcc06d0044120ff7b..06c914983a285c1a4e973f1c55088ad6 @Override protected void spawnAfterBreak(BlockState state, ServerLevel world, BlockPos pos, ItemStack tool, boolean dropExperience) { super.spawnAfterBreak(state, world, pos, tool, dropExperience); -@@ -50,6 +104,7 @@ public class SpawnerBlock extends BaseEntityBlock { +@@ -50,6 +99,7 @@ public class SpawnerBlock extends BaseEntityBlock { @Override public int getExpDrop(BlockState iblockdata, ServerLevel worldserver, BlockPos blockposition, ItemStack itemstack, boolean flag) { @@ -135,18 +130,20 @@ index 70f53ccb22de2c05c9ead68f8bd29d0b69d0993f..d4bca5b5f3d10c3a04befd8c365f4643 public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java b/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java new file mode 100644 -index 0000000000000000000000000000000000000000..d6cc7e434cb2bacc00e4cad9e1f4be7fcf5d0bee +index 0000000000000000000000000000000000000000..1a929cd455e361f4d544de26b5392b62660b31db --- /dev/null +++ b/src/main/java/org/purpurmc/purpur/item/SpawnerItem.java -@@ -0,0 +1,38 @@ +@@ -0,0 +1,42 @@ +package org.purpurmc.purpur.item; + +import net.minecraft.core.BlockPos; ++import net.minecraft.core.component.DataComponents; +import net.minecraft.nbt.CompoundTag; +import net.minecraft.world.entity.EntityType; +import net.minecraft.world.entity.player.Player; +import net.minecraft.world.item.BlockItem; +import net.minecraft.world.item.ItemStack; ++import net.minecraft.world.item.component.CustomData; +import net.minecraft.world.level.Level; +import net.minecraft.world.level.block.Block; +import net.minecraft.world.level.block.entity.BlockEntity; @@ -164,13 +161,15 @@ index 0000000000000000000000000000000000000000..d6cc7e434cb2bacc00e4cad9e1f4be7f + boolean handled = super.updateCustomBlockEntityTag(pos, level, player, stack, state); + if (level.purpurConfig.silkTouchEnabled && player.getBukkitEntity().hasPermission("purpur.place.spawners")) { + BlockEntity spawner = level.getBlockEntity(pos); -+ if (spawner instanceof SpawnerBlockEntity && stack.hasTag()) { -+ CompoundTag tag = stack.getTag(); -+ if (tag.contains("Purpur.mob_type")) { -+ EntityType.byString(tag.getString("Purpur.mob_type")).ifPresent(type -> ++ if (spawner instanceof SpawnerBlockEntity && stack.has(DataComponents.CUSTOM_DATA)) { ++ CustomData customData = stack.getOrDefault(DataComponents.CUSTOM_DATA, CustomData.EMPTY); ++ if (customData.contains("Purpur.mob_type")) { ++ CompoundTag unsafe = customData.getUnsafe(); ++ ++ EntityType.byString(unsafe.getString("Purpur.mob_type")).ifPresent(type -> + ((SpawnerBlockEntity) spawner).getSpawner().setEntityId(type, level, level.random, pos)); -+ } else if (tag.contains("BlockEntityTag")) { -+ spawner.load(tag.getCompound("BlockEntityTag")); ++ } else if (stack.has(DataComponents.BLOCK_ENTITY_DATA)) { ++ spawner.applyComponentsFromItemStack(stack); + } + } + } diff --git a/patches/server/0017-Add-turtle-egg-block-options.patch b/patches/server/0018-Add-turtle-egg-block-options.patch similarity index 91% rename from patches/server/0017-Add-turtle-egg-block-options.patch rename to patches/server/0018-Add-turtle-egg-block-options.patch index 36642e86a..efb936f2b 100644 --- a/patches/server/0017-Add-turtle-egg-block-options.patch +++ b/patches/server/0018-Add-turtle-egg-block-options.patch @@ -36,11 +36,11 @@ index a6f408e56fa6c9de82fd93555fe21e1b11ce1022..c7377d04ceac3ea624117439783a443c } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70f53ccb22de2c05c9ead68f8bd29d0b69d0993f..66061f3f70161c8b95cd5f6a148ad6a008f3190d 100644 +index d4bca5b5f3d10c3a04befd8c365f46433491f299..ac44ee7789b96e60e6d1d964d64ca33a3d3c2c62 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -108,6 +108,15 @@ public class PurpurWorldConfig { - idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); +@@ -140,6 +140,15 @@ public class PurpurWorldConfig { + }); } + public boolean turtleEggsBreakFromExpOrbs = false; diff --git a/patches/server/0018-Logger-settings-suppressing-pointless-logs.patch b/patches/server/0019-Logger-settings-suppressing-pointless-logs.patch similarity index 100% rename from patches/server/0018-Logger-settings-suppressing-pointless-logs.patch rename to patches/server/0019-Logger-settings-suppressing-pointless-logs.patch diff --git a/patches/server/0019-Disable-outdated-build-check.patch b/patches/server/0020-Disable-outdated-build-check.patch similarity index 100% rename from patches/server/0019-Disable-outdated-build-check.patch rename to patches/server/0020-Disable-outdated-build-check.patch diff --git a/patches/server/0020-Giants-AI-settings.patch b/patches/server/0021-Giants-AI-settings.patch similarity index 97% rename from patches/server/0020-Giants-AI-settings.patch rename to patches/server/0021-Giants-AI-settings.patch index 74299bb00..1f14b308e 100644 --- a/patches/server/0020-Giants-AI-settings.patch +++ b/patches/server/0021-Giants-AI-settings.patch @@ -106,10 +106,10 @@ index 9602e59cbebeedc85ea75d2a41d3e74f0ff45b46..3c1217d36522b1fd3d1a099d3a12d990 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 66061f3f70161c8b95cd5f6a148ad6a008f3190d..9ec335f41361a39ff6bfdc93c53d242383dad594 100644 +index ac44ee7789b96e60e6d1d964d64ca33a3d3c2c62..fb61cd498955fee2dec15fa584273a6e19ca58c9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -522,6 +522,10 @@ public class PurpurWorldConfig { +@@ -554,6 +554,10 @@ public class PurpurWorldConfig { public double giantMovementSpeed = 0.5D; public double giantAttackDamage = 50.0D; public double giantMaxHealth = 100.0D; @@ -120,7 +120,7 @@ index 66061f3f70161c8b95cd5f6a148ad6a008f3190d..9ec335f41361a39ff6bfdc93c53d2423 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -538,6 +542,10 @@ public class PurpurWorldConfig { +@@ -570,6 +574,10 @@ public class PurpurWorldConfig { set("mobs.giant.attributes.max_health", oldValue); } giantMaxHealth = getDouble("mobs.giant.attributes.max_health", giantMaxHealth); diff --git a/patches/server/0021-Zombie-horse-naturally-spawn.patch b/patches/server/0022-Zombie-horse-naturally-spawn.patch similarity index 94% rename from patches/server/0021-Zombie-horse-naturally-spawn.patch rename to patches/server/0022-Zombie-horse-naturally-spawn.patch index 8d9ac230e..8ff2f18f1 100644 --- a/patches/server/0021-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0022-Zombie-horse-naturally-spawn.patch @@ -30,10 +30,10 @@ index fc791a66d299905798c2c1ca542467e4c7933caf..b02d9db8442b209a9df27e417be71b11 entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9ec335f41361a39ff6bfdc93c53d242383dad594..d4dd472dcc85910046a1a01dfed207113359d53a 100644 +index fb61cd498955fee2dec15fa584273a6e19ca58c9..41822b9b050f4267cc0151ea85682523f89af57f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1455,6 +1455,7 @@ public class PurpurWorldConfig { +@@ -1487,6 +1487,7 @@ public class PurpurWorldConfig { public double zombieHorseJumpStrengthMax = 1.0D; public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; @@ -41,7 +41,7 @@ index 9ec335f41361a39ff6bfdc93c53d242383dad594..d4dd472dcc85910046a1a01dfed20711 private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -1471,6 +1472,7 @@ public class PurpurWorldConfig { +@@ -1503,6 +1504,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/0022-Charged-creeper-naturally-spawn.patch b/patches/server/0023-Charged-creeper-naturally-spawn.patch similarity index 92% rename from patches/server/0022-Charged-creeper-naturally-spawn.patch rename to patches/server/0023-Charged-creeper-naturally-spawn.patch index 854efa8c2..3796f4ab6 100644 --- a/patches/server/0022-Charged-creeper-naturally-spawn.patch +++ b/patches/server/0023-Charged-creeper-naturally-spawn.patch @@ -24,10 +24,10 @@ index 624ae0e10ef9f51d484e45ec9a15e4a120bf2af2..84114356ea4c06998572c03f2e2a75b4 protected SoundEvent getHurtSound(DamageSource source) { return SoundEvents.CREEPER_HURT; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d4dd472dcc85910046a1a01dfed207113359d53a..67045185b1a82c3ac68aacefc2b4b6c6c2e1bfff 100644 +index 41822b9b050f4267cc0151ea85682523f89af57f..e033ef722d9b6336f1cbc6bdf404f35c34b45db9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -313,6 +313,7 @@ public class PurpurWorldConfig { +@@ -345,6 +345,7 @@ public class PurpurWorldConfig { public boolean creeperRidableInWater = true; public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; @@ -35,7 +35,7 @@ index d4dd472dcc85910046a1a01dfed207113359d53a..67045185b1a82c3ac68aacefc2b4b6c6 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -323,6 +324,7 @@ public class PurpurWorldConfig { +@@ -355,6 +356,7 @@ public class PurpurWorldConfig { set("mobs.creeper.attributes.max_health", oldValue); } creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); diff --git a/patches/server/0023-Rabbit-naturally-spawn-toast-and-killer.patch b/patches/server/0024-Rabbit-naturally-spawn-toast-and-killer.patch similarity index 93% rename from patches/server/0023-Rabbit-naturally-spawn-toast-and-killer.patch rename to patches/server/0024-Rabbit-naturally-spawn-toast-and-killer.patch index fcdeca1e0..da9dd0eab 100644 --- a/patches/server/0023-Rabbit-naturally-spawn-toast-and-killer.patch +++ b/patches/server/0024-Rabbit-naturally-spawn-toast-and-killer.patch @@ -33,10 +33,10 @@ index 9eb1158213064ddb37ae76e445b5861b963a1f55..4abcde662ed78b16632ee575f695ee43 int i = world.getRandom().nextInt(100); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 67045185b1a82c3ac68aacefc2b4b6c6c2e1bfff..d9c4914076c47cc37af36e1d084b62bd176562e4 100644 +index e033ef722d9b6336f1cbc6bdf404f35c34b45db9..a96aa7f127467a6ea8025c09f4e336f1910cc8af 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -956,6 +956,8 @@ public class PurpurWorldConfig { +@@ -988,6 +988,8 @@ public class PurpurWorldConfig { public boolean rabbitRidableInWater = true; public boolean rabbitControllable = true; public double rabbitMaxHealth = 3.0D; @@ -45,7 +45,7 @@ index 67045185b1a82c3ac68aacefc2b4b6c6c2e1bfff..d9c4914076c47cc37af36e1d084b62bd private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -966,6 +968,8 @@ public class PurpurWorldConfig { +@@ -998,6 +1000,8 @@ public class PurpurWorldConfig { set("mobs.rabbit.attributes.max_health", oldValue); } rabbitMaxHealth = getDouble("mobs.rabbit.attributes.max_health", rabbitMaxHealth); diff --git a/patches/server/0024-Fix-outdated-server-showing-in-ping-before-server-fu.patch b/patches/server/0025-Fix-outdated-server-showing-in-ping-before-server-fu.patch similarity index 100% rename from patches/server/0024-Fix-outdated-server-showing-in-ping-before-server-fu.patch rename to patches/server/0025-Fix-outdated-server-showing-in-ping-before-server-fu.patch diff --git a/patches/server/0025-Tulips-change-fox-type.patch b/patches/server/0026-Tulips-change-fox-type.patch similarity index 95% rename from patches/server/0025-Tulips-change-fox-type.patch rename to patches/server/0026-Tulips-change-fox-type.patch index fa360d4f3..50f08714b 100644 --- a/patches/server/0025-Tulips-change-fox-type.patch +++ b/patches/server/0026-Tulips-change-fox-type.patch @@ -67,10 +67,10 @@ index 8666d82775570b812d5bdd80336c8e14db6ddf47..d2be8c1c23f291e98b9a31a63ba5fa7d // Paper start - Cancellable death event protected org.bukkit.event.entity.EntityDeathEvent dropAllDeathLoot(DamageSource source) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d9c4914076c47cc37af36e1d084b62bd176562e4..164f59cc8426088945528999ed3e347cfeee37f5 100644 +index a96aa7f127467a6ea8025c09f4e336f1910cc8af..d084d5ef20b2fb4d3b5479cb51003fb82a0358fc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -477,6 +477,7 @@ public class PurpurWorldConfig { +@@ -509,6 +509,7 @@ public class PurpurWorldConfig { public boolean foxRidableInWater = true; public boolean foxControllable = true; public double foxMaxHealth = 10.0D; @@ -78,7 +78,7 @@ index d9c4914076c47cc37af36e1d084b62bd176562e4..164f59cc8426088945528999ed3e347c private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -487,6 +488,7 @@ public class PurpurWorldConfig { +@@ -519,6 +520,7 @@ public class PurpurWorldConfig { set("mobs.fox.attributes.max_health", oldValue); } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); diff --git a/patches/server/0026-Breedable-Polar-Bears.patch b/patches/server/0027-Breedable-Polar-Bears.patch similarity index 95% rename from patches/server/0026-Breedable-Polar-Bears.patch rename to patches/server/0027-Breedable-Polar-Bears.patch index 262716fab..952012279 100644 --- a/patches/server/0026-Breedable-Polar-Bears.patch +++ b/patches/server/0027-Breedable-Polar-Bears.patch @@ -59,10 +59,10 @@ index 00afde0ec4811992aac306a42d473026b7e7e468..067bb175c457d6de089f18826dfce6c3 this.goalSelector.addGoal(5, new RandomStrollGoal(this, 1.0)); this.goalSelector.addGoal(6, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 164f59cc8426088945528999ed3e347cfeee37f5..084750aa09798e8d67642b5ac1cff339ec15c022 100644 +index d084d5ef20b2fb4d3b5479cb51003fb82a0358fc..ae6383c3d8435caba2bae551f36e3562e724361a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -928,6 +928,8 @@ public class PurpurWorldConfig { +@@ -960,6 +960,8 @@ public class PurpurWorldConfig { public boolean polarBearRidableInWater = true; public boolean polarBearControllable = true; public double polarBearMaxHealth = 30.0D; @@ -71,7 +71,7 @@ index 164f59cc8426088945528999ed3e347cfeee37f5..084750aa09798e8d67642b5ac1cff339 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -938,6 +940,9 @@ public class PurpurWorldConfig { +@@ -970,6 +972,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/0027-Chickens-can-retaliate.patch b/patches/server/0028-Chickens-can-retaliate.patch similarity index 94% rename from patches/server/0027-Chickens-can-retaliate.patch rename to patches/server/0028-Chickens-can-retaliate.patch index 2f434f43d..b7479c92c 100644 --- a/patches/server/0027-Chickens-can-retaliate.patch +++ b/patches/server/0028-Chickens-can-retaliate.patch @@ -51,10 +51,10 @@ index a7c76e1d89f54f0dc3b27a8a8db168ea4570bf60..14210dac8a4fa8caaf69ec830f83d155 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 084750aa09798e8d67642b5ac1cff339ec15c022..b67c2719a311c720b04343ff88d8170a495bca29 100644 +index ae6383c3d8435caba2bae551f36e3562e724361a..4cd6d9309ed81956d59063fe4d229c6f930922ed 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -267,6 +267,7 @@ public class PurpurWorldConfig { +@@ -299,6 +299,7 @@ public class PurpurWorldConfig { public boolean chickenRidableInWater = false; public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; @@ -62,7 +62,7 @@ index 084750aa09798e8d67642b5ac1cff339ec15c022..b67c2719a311c720b04343ff88d8170a private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -277,6 +278,7 @@ public class PurpurWorldConfig { +@@ -309,6 +310,7 @@ public class PurpurWorldConfig { set("mobs.chicken.attributes.max_health", oldValue); } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); diff --git a/patches/server/0028-Add-option-to-set-armorstand-step-height.patch b/patches/server/0029-Add-option-to-set-armorstand-step-height.patch similarity index 96% rename from patches/server/0028-Add-option-to-set-armorstand-step-height.patch rename to patches/server/0029-Add-option-to-set-armorstand-step-height.patch index 7f12d2d00..cb9752a8c 100644 --- a/patches/server/0028-Add-option-to-set-armorstand-step-height.patch +++ b/patches/server/0029-Add-option-to-set-armorstand-step-height.patch @@ -38,7 +38,7 @@ index c2bd2e303f956d390319f6bbbe9a6492ebec5154..5abbc0caf90cafc1a06dfff158c158b1 if (!this.canTick) { if (this.noTickPoseDirty) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b67c2719a311c720b04343ff88d8170a495bca29..d5fb5919b0571e4327a9976dda78ef8510fc5d05 100644 +index 4cd6d9309ed81956d59063fe4d229c6f930922ed..6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -90,6 +90,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0029-Cat-spawning-options.patch b/patches/server/0030-Cat-spawning-options.patch similarity index 94% rename from patches/server/0029-Cat-spawning-options.patch rename to patches/server/0030-Cat-spawning-options.patch index 9ebeec89a..862db1dc6 100644 --- a/patches/server/0029-Cat-spawning-options.patch +++ b/patches/server/0030-Cat-spawning-options.patch @@ -46,10 +46,10 @@ index e0e5046c84941a8d17e18c177f3daea9cb631940..d503d7a5837dbeb98e58dbe8f7e5de45 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d5fb5919b0571e4327a9976dda78ef8510fc5d05..73b86b6a367cb37b180b4806671c19dccd90950a 100644 +index 6649787fc15ca06ec2d4e7ac7b0ff061c4d4de82..c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -240,6 +240,9 @@ public class PurpurWorldConfig { +@@ -272,6 +272,9 @@ public class PurpurWorldConfig { public boolean catRidableInWater = true; public boolean catControllable = true; public double catMaxHealth = 10.0D; @@ -59,7 +59,7 @@ index d5fb5919b0571e4327a9976dda78ef8510fc5d05..73b86b6a367cb37b180b4806671c19dc private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -250,6 +253,9 @@ public class PurpurWorldConfig { +@@ -282,6 +285,9 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max_health", oldValue); } catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); diff --git a/patches/server/0030-Cows-eat-mushrooms.patch b/patches/server/0031-Cows-eat-mushrooms.patch similarity index 97% rename from patches/server/0030-Cows-eat-mushrooms.patch rename to patches/server/0031-Cows-eat-mushrooms.patch index 270530355..4b9bf527b 100644 --- a/patches/server/0030-Cows-eat-mushrooms.patch +++ b/patches/server/0031-Cows-eat-mushrooms.patch @@ -115,10 +115,10 @@ index bee1a275f242866206dc461461b7962e04289ddc..bda0d933ccbee613aa7fb31534351a0d + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 73b86b6a367cb37b180b4806671c19dccd90950a..0b19c023f020438418e41b6c2803399d967348dc 100644 +index c9dbbe9dde5b463bdde68604d6e5b1c2902d57fa..ab5960b9104d362852ee3d6ba151cf78dd58a0ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -310,6 +310,7 @@ public class PurpurWorldConfig { +@@ -342,6 +342,7 @@ public class PurpurWorldConfig { public boolean cowRidableInWater = true; public boolean cowControllable = true; public double cowMaxHealth = 10.0D; @@ -126,7 +126,7 @@ index 73b86b6a367cb37b180b4806671c19dccd90950a..0b19c023f020438418e41b6c2803399d private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -320,6 +321,7 @@ public class PurpurWorldConfig { +@@ -352,6 +353,7 @@ public class PurpurWorldConfig { set("mobs.cow.attributes.max_health", oldValue); } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); diff --git a/patches/server/0031-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0032-Fix-cow-rotation-when-shearing-mooshroom.patch similarity index 100% rename from patches/server/0031-Fix-cow-rotation-when-shearing-mooshroom.patch rename to patches/server/0032-Fix-cow-rotation-when-shearing-mooshroom.patch diff --git a/patches/server/0032-Pigs-give-saddle-back.patch b/patches/server/0033-Pigs-give-saddle-back.patch similarity index 92% rename from patches/server/0032-Pigs-give-saddle-back.patch rename to patches/server/0033-Pigs-give-saddle-back.patch index 061e33bbd..0eb376a50 100644 --- a/patches/server/0032-Pigs-give-saddle-back.patch +++ b/patches/server/0033-Pigs-give-saddle-back.patch @@ -27,10 +27,10 @@ index a365573c5c5e640f165701bc79f7c605674c5709..4f84406304114abbaff9f96a5df6a486 if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0b19c023f020438418e41b6c2803399d967348dc..47d0a2413ecd71f823473f781eaf64a55b15fd11 100644 +index ab5960b9104d362852ee3d6ba151cf78dd58a0ee..1c530384c9040236ce525329f37913cdd3e424ff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -879,6 +879,7 @@ public class PurpurWorldConfig { +@@ -911,6 +911,7 @@ public class PurpurWorldConfig { public boolean pigRidableInWater = false; public boolean pigControllable = true; public double pigMaxHealth = 10.0D; @@ -38,7 +38,7 @@ index 0b19c023f020438418e41b6c2803399d967348dc..47d0a2413ecd71f823473f781eaf64a5 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -889,6 +890,7 @@ public class PurpurWorldConfig { +@@ -921,6 +922,7 @@ public class PurpurWorldConfig { set("mobs.pig.attributes.max_health", oldValue); } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); diff --git a/patches/server/0033-Snowman-drop-and-put-back-pumpkin.patch b/patches/server/0034-Snowman-drop-and-put-back-pumpkin.patch similarity index 91% rename from patches/server/0033-Snowman-drop-and-put-back-pumpkin.patch rename to patches/server/0034-Snowman-drop-and-put-back-pumpkin.patch index 9eeefc6eb..4ac6f1b7e 100644 --- a/patches/server/0033-Snowman-drop-and-put-back-pumpkin.patch +++ b/patches/server/0034-Snowman-drop-and-put-back-pumpkin.patch @@ -24,10 +24,10 @@ index a54893d51cc1ce204e59a6ffe8b84228775af4da..0060414b1d5afde56372ce121e9d37a1 return tryRide(player, hand); // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 47d0a2413ecd71f823473f781eaf64a55b15fd11..7b1ff6e90ceb57a83fc1816b0e8023769b09de49 100644 +index 1c530384c9040236ce525329f37913cdd3e424ff..acec5455e9c16508ae474e1307e3cc234d17e6ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1144,6 +1144,7 @@ public class PurpurWorldConfig { +@@ -1176,6 +1176,7 @@ public class PurpurWorldConfig { public boolean snowGolemControllable = true; public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; @@ -35,7 +35,7 @@ index 47d0a2413ecd71f823473f781eaf64a55b15fd11..7b1ff6e90ceb57a83fc1816b0e802376 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1155,6 +1156,7 @@ public class PurpurWorldConfig { +@@ -1187,6 +1188,7 @@ 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/0034-Ender-dragon-always-drop-full-exp.patch b/patches/server/0035-Ender-dragon-always-drop-full-exp.patch similarity index 91% rename from patches/server/0034-Ender-dragon-always-drop-full-exp.patch rename to patches/server/0035-Ender-dragon-always-drop-full-exp.patch index 1d91a0a0a..2226fff2e 100644 --- a/patches/server/0034-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0035-Ender-dragon-always-drop-full-exp.patch @@ -18,10 +18,10 @@ index 0a7f87ac09f9ef6ad69974090f0d6f437d232b11..f751444603e4a1a2ef53e7232b5abfff } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7b1ff6e90ceb57a83fc1816b0e8023769b09de49..19b814ec4c204daf47841efbbccdb432ebe9d3ca 100644 +index acec5455e9c16508ae474e1307e3cc234d17e6ee..a9d6c6713a098ca87d62b43d491bc2d9a8590741 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -423,6 +423,7 @@ public class PurpurWorldConfig { +@@ -455,6 +455,7 @@ public class PurpurWorldConfig { public boolean enderDragonControllable = true; public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; @@ -29,7 +29,7 @@ index 7b1ff6e90ceb57a83fc1816b0e8023769b09de49..19b814ec4c204daf47841efbbccdb432 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -438,6 +439,7 @@ public class PurpurWorldConfig { +@@ -470,6 +471,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/0035-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0036-Allow-soil-to-moisten-from-water-directly-under-it.patch similarity index 85% rename from patches/server/0035-Allow-soil-to-moisten-from-water-directly-under-it.patch rename to patches/server/0036-Allow-soil-to-moisten-from-water-directly-under-it.patch index 621f4dce8..184d03b5d 100644 --- a/patches/server/0035-Allow-soil-to-moisten-from-water-directly-under-it.patch +++ b/patches/server/0036-Allow-soil-to-moisten-from-water-directly-under-it.patch @@ -18,11 +18,11 @@ index d59e33e7326489c6d55d316d0130f22235f4c63c..da85fabd75e9bd5ebece7127ef5b512d } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 19b814ec4c204daf47841efbbccdb432ebe9d3ca..6b04a22f25060c02a51709057251b2669d9b170f 100644 +index a9d6c6713a098ca87d62b43d491bc2d9a8590741..41b804abeab390a259eb0c8ed72f75ad403471dd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -113,6 +113,11 @@ public class PurpurWorldConfig { - idleTimeoutTargetPlayer = getBoolean("gameplay-mechanics.player.idle-timeout.mobs-target", idleTimeoutTargetPlayer); +@@ -145,6 +145,11 @@ public class PurpurWorldConfig { + }); } + public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0036-Minecart-settings-and-WASD-controls.patch b/patches/server/0037-Minecart-settings-and-WASD-controls.patch similarity index 99% rename from patches/server/0036-Minecart-settings-and-WASD-controls.patch rename to patches/server/0037-Minecart-settings-and-WASD-controls.patch index ac76ddce2..b38b1d122 100644 --- a/patches/server/0036-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0037-Minecart-settings-and-WASD-controls.patch @@ -149,7 +149,7 @@ index 2034ca2edd3aff61d94416266e75402babd3e741..3c1091f2a729b7d06ba6e21c37f788ed protected ResourceKey drops; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6b04a22f25060c02a51709057251b2669d9b170f..fbcfcb49ca801964ec904fb29171cf8e7fe9f184 100644 +index 41b804abeab390a259eb0c8ed72f75ad403471dd..755d53e04bb0ed678bebc3497476e252dd5a736e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -95,6 +95,68 @@ public class PurpurWorldConfig { diff --git a/patches/server/0037-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0038-Disable-loot-drops-on-death-by-cramming.patch similarity index 96% rename from patches/server/0037-Disable-loot-drops-on-death-by-cramming.patch rename to patches/server/0038-Disable-loot-drops-on-death-by-cramming.patch index a6a1844ff..996296e66 100644 --- a/patches/server/0037-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0038-Disable-loot-drops-on-death-by-cramming.patch @@ -25,7 +25,7 @@ index a3ee2af337acef86a15b12c9e6d8cd8452980a87..7b210484fd10e6e994c66afb45f8a28f // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fbcfcb49ca801964ec904fb29171cf8e7fe9f184..112966aab8baa01e727d01724db4d752395f7609 100644 +index 755d53e04bb0ed678bebc3497476e252dd5a736e..b7bf1a6e59e33d13887ae3d98f37658f52030e37 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -95,6 +95,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0038-Option-to-toggle-milk-curing-bad-omen.patch b/patches/server/0039-Option-to-toggle-milk-curing-bad-omen.patch similarity index 95% rename from patches/server/0038-Option-to-toggle-milk-curing-bad-omen.patch rename to patches/server/0039-Option-to-toggle-milk-curing-bad-omen.patch index 32b057f17..90595d0c8 100644 --- a/patches/server/0038-Option-to-toggle-milk-curing-bad-omen.patch +++ b/patches/server/0039-Option-to-toggle-milk-curing-bad-omen.patch @@ -19,7 +19,7 @@ index 0f83ae4b0d5f52ff9ccfff6bbcc31153d45bd619..d0751274e89042715cab8e9e72387042 return stack.isEmpty() ? new ItemStack(Items.BUCKET) : stack; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 112966aab8baa01e727d01724db4d752395f7609..c96caceb66932a731bbd702f0b8f5eb829855dc1 100644 +index b7bf1a6e59e33d13887ae3d98f37658f52030e37..40493cbb1b14f16549b95aa439e4c25c04a0627c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -96,8 +96,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0039-End-gateway-should-check-if-entity-can-use-portal.patch b/patches/server/0040-End-gateway-should-check-if-entity-can-use-portal.patch similarity index 100% rename from patches/server/0039-End-gateway-should-check-if-entity-can-use-portal.patch rename to patches/server/0040-End-gateway-should-check-if-entity-can-use-portal.patch diff --git a/patches/server/0040-Skip-events-if-there-s-no-listeners.patch b/patches/server/0041-Skip-events-if-there-s-no-listeners.patch similarity index 100% rename from patches/server/0040-Skip-events-if-there-s-no-listeners.patch rename to patches/server/0041-Skip-events-if-there-s-no-listeners.patch diff --git a/patches/server/0041-Add-permission-for-F3-N-debug.patch b/patches/server/0042-Add-permission-for-F3-N-debug.patch similarity index 100% rename from patches/server/0041-Add-permission-for-F3-N-debug.patch rename to patches/server/0042-Add-permission-for-F3-N-debug.patch diff --git a/patches/server/0042-Configurable-TPS-Catchup.patch b/patches/server/0043-Configurable-TPS-Catchup.patch similarity index 100% rename from patches/server/0042-Configurable-TPS-Catchup.patch rename to patches/server/0043-Configurable-TPS-Catchup.patch diff --git a/patches/server/0043-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0044-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch similarity index 96% rename from patches/server/0043-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch rename to patches/server/0044-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index fbfcc7735..d357ceeda 100644 --- a/patches/server/0043-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0044-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -18,7 +18,7 @@ index 3ff06cc6ad35567bcb1f29115db63c11a8e79dbb..f7dd785bdb0dbd0706b367b48235215f if (!this.level().isClientSide && this.pickup == AbstractArrow.Pickup.ALLOWED) { this.spawnAtLocation(this.getPickupItem(), 0.1F); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c96caceb66932a731bbd702f0b8f5eb829855dc1..e1c7a3ff87a3ecc0cb90acd0502a627be22982fc 100644 +index 40493cbb1b14f16549b95aa439e4c25c04a0627c..a5ec746fc30af0093430bb7a7f6848081220ec57 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -97,9 +97,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0044-Add-enderman-and-creeper-griefing-controls.patch b/patches/server/0045-Add-enderman-and-creeper-griefing-controls.patch similarity index 93% rename from patches/server/0044-Add-enderman-and-creeper-griefing-controls.patch rename to patches/server/0045-Add-enderman-and-creeper-griefing-controls.patch index d79789f82..d66f9a8f4 100644 --- a/patches/server/0044-Add-enderman-and-creeper-griefing-controls.patch +++ b/patches/server/0045-Add-enderman-and-creeper-griefing-controls.patch @@ -38,10 +38,10 @@ index 3abfc4f449552ec60a1f7c4e3faa9fd0ebfdc300..89275ac02fcfab963b520efae6135d6f } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e1c7a3ff87a3ecc0cb90acd0502a627be22982fc..5c12dd12ea462137fd95a5e161742c54c097868a 100644 +index a5ec746fc30af0093430bb7a7f6848081220ec57..b266fc52508106f1f0f449b8eb900e4c04316fec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -405,6 +405,7 @@ public class PurpurWorldConfig { +@@ -437,6 +437,7 @@ public class PurpurWorldConfig { public boolean creeperControllable = true; public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; @@ -49,7 +49,7 @@ index e1c7a3ff87a3ecc0cb90acd0502a627be22982fc..5c12dd12ea462137fd95a5e161742c54 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -416,6 +417,7 @@ public class PurpurWorldConfig { +@@ -448,6 +449,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 e1c7a3ff87a3ecc0cb90acd0502a627be22982fc..5c12dd12ea462137fd95a5e161742c54 } public boolean dolphinRidable = false; -@@ -522,6 +524,7 @@ public class PurpurWorldConfig { +@@ -554,6 +556,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = true; public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; @@ -65,7 +65,7 @@ index e1c7a3ff87a3ecc0cb90acd0502a627be22982fc..5c12dd12ea462137fd95a5e161742c54 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -532,6 +535,7 @@ public class PurpurWorldConfig { +@@ -564,6 +567,7 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max_health", oldValue); } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); diff --git a/patches/server/0045-Villagers-follow-emerald-blocks.patch b/patches/server/0046-Villagers-follow-emerald-blocks.patch similarity index 94% rename from patches/server/0045-Villagers-follow-emerald-blocks.patch rename to patches/server/0046-Villagers-follow-emerald-blocks.patch index e6a6d4347..ca38dbc6b 100644 --- a/patches/server/0045-Villagers-follow-emerald-blocks.patch +++ b/patches/server/0046-Villagers-follow-emerald-blocks.patch @@ -54,10 +54,10 @@ index ac3cca0db4478841f91d966bd49ca4e5b5e91229..30f13bc35a96950f05b065b5c7783083 this.goalSelector.addGoal(8, new WaterAvoidingRandomStrollGoal(this, 0.35D)); this.goalSelector.addGoal(9, new InteractGoal(this, Player.class, 3.0F, 1.0F)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5c12dd12ea462137fd95a5e161742c54c097868a..90e8dd9c38f123e37826ac587d70ed3f4c1e43e0 100644 +index b266fc52508106f1f0f449b8eb900e4c04316fec..f42a1205a66f4842ca43aad456dcb42481c041e9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1403,6 +1403,7 @@ public class PurpurWorldConfig { +@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig { public boolean villagerRidableInWater = true; public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; @@ -65,7 +65,7 @@ index 5c12dd12ea462137fd95a5e161742c54c097868a..90e8dd9c38f123e37826ac587d70ed3f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1413,6 +1414,7 @@ public class PurpurWorldConfig { +@@ -1445,6 +1446,7 @@ public class PurpurWorldConfig { set("mobs.villager.attributes.max_health", oldValue); } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); @@ -73,7 +73,7 @@ index 5c12dd12ea462137fd95a5e161742c54c097868a..90e8dd9c38f123e37826ac587d70ed3f } public boolean vindicatorRidable = false; -@@ -1435,6 +1437,7 @@ public class PurpurWorldConfig { +@@ -1467,6 +1469,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderRidableInWater = true; public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; @@ -81,7 +81,7 @@ index 5c12dd12ea462137fd95a5e161742c54c097868a..90e8dd9c38f123e37826ac587d70ed3f private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1445,6 +1448,7 @@ public class PurpurWorldConfig { +@@ -1477,6 +1480,7 @@ public class PurpurWorldConfig { set("mobs.wandering_trader.attributes.max_health", oldValue); } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); diff --git a/patches/server/0046-Allow-leashing-villagers.patch b/patches/server/0047-Allow-leashing-villagers.patch similarity index 94% rename from patches/server/0046-Allow-leashing-villagers.patch rename to patches/server/0047-Allow-leashing-villagers.patch index 4dd25724e..33f1f3212 100644 --- a/patches/server/0046-Allow-leashing-villagers.patch +++ b/patches/server/0047-Allow-leashing-villagers.patch @@ -49,10 +49,10 @@ index 30f13bc35a96950f05b065b5c77830834e5792d1..9d5eaaf1869a3ecb61947ab0c09af558 protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 90e8dd9c38f123e37826ac587d70ed3f4c1e43e0..62c8414d89d83fdaedcbbb783b84047364ef4b43 100644 +index f42a1205a66f4842ca43aad456dcb42481c041e9..c07064174a0ef81a9bbe628251ee1346af890ae0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1404,6 +1404,7 @@ public class PurpurWorldConfig { +@@ -1436,6 +1436,7 @@ public class PurpurWorldConfig { public boolean villagerControllable = true; public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; @@ -60,7 +60,7 @@ index 90e8dd9c38f123e37826ac587d70ed3f4c1e43e0..62c8414d89d83fdaedcbbb783b840473 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1415,6 +1416,7 @@ public class PurpurWorldConfig { +@@ -1447,6 +1448,7 @@ public class PurpurWorldConfig { } villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); @@ -68,7 +68,7 @@ index 90e8dd9c38f123e37826ac587d70ed3f4c1e43e0..62c8414d89d83fdaedcbbb783b840473 } public boolean vindicatorRidable = false; -@@ -1438,6 +1440,7 @@ public class PurpurWorldConfig { +@@ -1470,6 +1472,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderControllable = true; public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; @@ -76,7 +76,7 @@ index 90e8dd9c38f123e37826ac587d70ed3f4c1e43e0..62c8414d89d83fdaedcbbb783b840473 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1449,6 +1452,7 @@ public class PurpurWorldConfig { +@@ -1481,6 +1484,7 @@ public class PurpurWorldConfig { } wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); diff --git a/patches/server/0047-Implement-infinite-liquids.patch b/patches/server/0048-Implement-infinite-liquids.patch similarity index 95% rename from patches/server/0047-Implement-infinite-liquids.patch rename to patches/server/0048-Implement-infinite-liquids.patch index 0e33f8952..e52ee6bdf 100644 --- a/patches/server/0047-Implement-infinite-liquids.patch +++ b/patches/server/0048-Implement-infinite-liquids.patch @@ -67,10 +67,10 @@ index 109f71401c65f476ccf6813137386fc9fef10254..9dcdb2f4001115db0c26fdbf86531dbe @Override protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 62c8414d89d83fdaedcbbb783b84047364ef4b43..bbf7a39f35e14117ce96f1df59d400edb75c1816 100644 +index c07064174a0ef81a9bbe628251ee1346af890ae0..5e9ce4502f5219b941ffc6f341c95d39755af664 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -189,6 +189,11 @@ public class PurpurWorldConfig { +@@ -221,6 +221,11 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } @@ -82,7 +82,7 @@ index 62c8414d89d83fdaedcbbb783b84047364ef4b43..bbf7a39f35e14117ce96f1df59d400ed public boolean turtleEggsBreakFromExpOrbs = false; public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; -@@ -198,6 +203,11 @@ public class PurpurWorldConfig { +@@ -230,6 +235,11 @@ public class PurpurWorldConfig { turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); } diff --git a/patches/server/0048-Make-lava-flow-speed-configurable.patch b/patches/server/0049-Make-lava-flow-speed-configurable.patch similarity index 92% rename from patches/server/0048-Make-lava-flow-speed-configurable.patch rename to patches/server/0049-Make-lava-flow-speed-configurable.patch index 4c08d6686..ba688f13d 100644 --- a/patches/server/0048-Make-lava-flow-speed-configurable.patch +++ b/patches/server/0049-Make-lava-flow-speed-configurable.patch @@ -18,10 +18,10 @@ index 4c230136d832d50ae16ffa037b0b30ff1101b50a..2d492d849ff73a738dfbcb16507feb89 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bbf7a39f35e14117ce96f1df59d400edb75c1816..917cbc020f8c6d25df6d809c6fea0242d424f2e9 100644 +index 5e9ce4502f5219b941ffc6f341c95d39755af664..09c131e3b5282d1ac1230ddc2677f2a49449dc48 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -190,8 +190,12 @@ public class PurpurWorldConfig { +@@ -222,8 +222,12 @@ public class PurpurWorldConfig { } public int lavaInfiniteRequiredSources = 2; diff --git a/patches/server/0049-Add-player-death-exp-control-options.patch b/patches/server/0050-Add-player-death-exp-control-options.patch similarity index 95% rename from patches/server/0049-Add-player-death-exp-control-options.patch rename to patches/server/0050-Add-player-death-exp-control-options.patch index de28460f0..ae4a16619 100644 --- a/patches/server/0049-Add-player-death-exp-control-options.patch +++ b/patches/server/0050-Add-player-death-exp-control-options.patch @@ -32,7 +32,7 @@ index d5383e9cbbee2f9d4223319ae38abed41a13cfb3..a838f339dd0085660164b0eb1597e0a1 return 0; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 917cbc020f8c6d25df6d809c6fea0242d424f2e9..9efb2bf7614f160fd9871dcfbe764c5c5913c728 100644 +index 09c131e3b5282d1ac1230ddc2677f2a49449dc48..66e12893bb9d8984a8cd2916834c5e86058f47bb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -171,6 +171,8 @@ public class PurpurWorldConfig { @@ -52,4 +52,4 @@ index 917cbc020f8c6d25df6d809c6fea0242d424f2e9..9efb2bf7614f160fd9871dcfbe764c5c + playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); } - public boolean farmlandGetsMoistFromBelow = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0050-Configurable-void-damage-height-and-damage.patch b/patches/server/0051-Configurable-void-damage-height-and-damage.patch similarity index 97% rename from patches/server/0050-Configurable-void-damage-height-and-damage.patch rename to patches/server/0051-Configurable-void-damage-height-and-damage.patch index 0d02f425e..8adbee6ec 100644 --- a/patches/server/0050-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0051-Configurable-void-damage-height-and-damage.patch @@ -31,7 +31,7 @@ index 7b210484fd10e6e994c66afb45f8a28ffb5812f1..ed8833ed95584cdf9be2b931915277c0 protected void updateSwingTime() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9efb2bf7614f160fd9871dcfbe764c5c5913c728..8e5fdabb6931b11fd0fe4859be651ad3d34425b0 100644 +index 66e12893bb9d8984a8cd2916834c5e86058f47bb..03c35e455b405517114ffc043732359c112e343f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -98,10 +98,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0051-Add-canSaveToDisk-to-Entity.patch b/patches/server/0052-Add-canSaveToDisk-to-Entity.patch similarity index 100% rename from patches/server/0051-Add-canSaveToDisk-to-Entity.patch rename to patches/server/0052-Add-canSaveToDisk-to-Entity.patch diff --git a/patches/server/0052-Dispenser-curse-of-binding-protection.patch b/patches/server/0053-Dispenser-curse-of-binding-protection.patch similarity index 92% rename from patches/server/0052-Dispenser-curse-of-binding-protection.patch rename to patches/server/0053-Dispenser-curse-of-binding-protection.patch index d328b8ed7..9ceca7396 100644 --- a/patches/server/0052-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0053-Dispenser-curse-of-binding-protection.patch @@ -43,11 +43,11 @@ index 786e4a8700cb84b16dd9b8892a0d1d5803924d81..b108ca4c7900ccf6a14ebea01c21c103 // CraftBukkit start Level world = pointer.level(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8e5fdabb6931b11fd0fe4859be651ad3d34425b0..88f775c79f946d73984cbd89cc6273c04271c676 100644 +index 03c35e455b405517114ffc043732359c112e343f..27c1f09be7d664073263a02a8854ff1e8c6f9ab1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -192,6 +192,11 @@ public class PurpurWorldConfig { - playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); +@@ -224,6 +224,11 @@ public class PurpurWorldConfig { + }); } + public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0053-Add-option-for-boats-to-eject-players-on-land.patch b/patches/server/0054-Add-option-for-boats-to-eject-players-on-land.patch similarity index 95% rename from patches/server/0053-Add-option-for-boats-to-eject-players-on-land.patch rename to patches/server/0054-Add-option-for-boats-to-eject-players-on-land.patch index d5489a040..dfbc74be0 100644 --- a/patches/server/0053-Add-option-for-boats-to-eject-players-on-land.patch +++ b/patches/server/0054-Add-option-for-boats-to-eject-players-on-land.patch @@ -17,7 +17,7 @@ index b068cff9b5aa457d65b679529956e8210296d799..0b23e05f936cab7a9867828c2d69417c } else { return Boat.Status.IN_AIR; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 88f775c79f946d73984cbd89cc6273c04271c676..b9adcd0772674ba2d2f0d523b1adad57055b6e2a 100644 +index 27c1f09be7d664073263a02a8854ff1e8c6f9ab1..76c1cfc35b598eab2ca27656feeb17f79dde7e00 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -95,12 +95,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0054-Mending-mends-most-damages-equipment-first.patch b/patches/server/0055-Mending-mends-most-damages-equipment-first.patch similarity index 98% rename from patches/server/0054-Mending-mends-most-damages-equipment-first.patch rename to patches/server/0055-Mending-mends-most-damages-equipment-first.patch index fe5e0e660..e79a10187 100644 --- a/patches/server/0054-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0055-Mending-mends-most-damages-equipment-first.patch @@ -73,7 +73,7 @@ index d2f0463b0e74983eb2e3dfca9a268e9502b86257..6d0363cec691996be416ab22ef9d8251 public static java.util.Map.Entry getRandomItemWith(Enchantment enchantment, LivingEntity entity) { return getRandomItemWith(enchantment, entity, stack -> true); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9adcd0772674ba2d2f0d523b1adad57055b6e2a..956072d6feefd5cefa2c1c666972557d2f212331 100644 +index 76c1cfc35b598eab2ca27656feeb17f79dde7e00..6705d722e1abe678a5cb90503904dc7888bf55ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -95,6 +95,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0055-Add-5-second-tps-average-in-tps.patch b/patches/server/0056-Add-5-second-tps-average-in-tps.patch similarity index 100% rename from patches/server/0055-Add-5-second-tps-average-in-tps.patch rename to patches/server/0056-Add-5-second-tps-average-in-tps.patch diff --git a/patches/server/0056-Implement-elytra-settings.patch b/patches/server/0057-Implement-elytra-settings.patch similarity index 98% rename from patches/server/0056-Implement-elytra-settings.patch rename to patches/server/0057-Implement-elytra-settings.patch index 3bf9c49e0..e2c58c260 100644 --- a/patches/server/0056-Implement-elytra-settings.patch +++ b/patches/server/0057-Implement-elytra-settings.patch @@ -91,7 +91,7 @@ index 47de500fddb0716d142f8f5876a82a95afaa06fa..b094f4ec513194e10442156d8f7f2205 entityhuman.startAutoSpinAttack(20); if (entityhuman.onGround()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 956072d6feefd5cefa2c1c666972557d2f212331..0d5563dd3c61e4ed28ba4b1a1725501de1e9e3c3 100644 +index 6705d722e1abe678a5cb90503904dc7888bf55ee..88aabe09118cbbad3add3cee44e237580294f685 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -112,6 +112,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0057-Item-entity-immunities.patch b/patches/server/0058-Item-entity-immunities.patch similarity index 98% rename from patches/server/0057-Item-entity-immunities.patch rename to patches/server/0058-Item-entity-immunities.patch index 20c9d3c5f..c45cb2d67 100644 --- a/patches/server/0057-Item-entity-immunities.patch +++ b/patches/server/0058-Item-entity-immunities.patch @@ -117,7 +117,7 @@ index 30d62ee4d5cd2ddacb8783b5bbbf475d592b3e02..01e4395f1669d21c30465aa1366bd2f1 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0d5563dd3c61e4ed28ba4b1a1725501de1e9e3c3..40edab1e1c83b02de14af76ea4949bbcede84f6f 100644 +index 88aabe09118cbbad3add3cee44e237580294f685..62074152a0a494bbde4c39074942425a8b850ffd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -125,6 +125,49 @@ public class PurpurWorldConfig { diff --git a/patches/server/0058-Add-ping-command.patch b/patches/server/0059-Add-ping-command.patch similarity index 100% rename from patches/server/0058-Add-ping-command.patch rename to patches/server/0059-Add-ping-command.patch diff --git a/patches/server/0059-Add-demo-command.patch b/patches/server/0060-Add-demo-command.patch similarity index 100% rename from patches/server/0059-Add-demo-command.patch rename to patches/server/0060-Add-demo-command.patch diff --git a/patches/server/0060-Add-credits-command.patch b/patches/server/0061-Add-credits-command.patch similarity index 100% rename from patches/server/0060-Add-credits-command.patch rename to patches/server/0061-Add-credits-command.patch diff --git a/patches/server/0061-Configurable-jockey-options.patch b/patches/server/0062-Configurable-jockey-options.patch similarity index 95% rename from patches/server/0061-Configurable-jockey-options.patch rename to patches/server/0062-Configurable-jockey-options.patch index 4bea52e17..8b8ec6285 100644 --- a/patches/server/0061-Configurable-jockey-options.patch +++ b/patches/server/0062-Configurable-jockey-options.patch @@ -167,10 +167,10 @@ index 138f3f6a9b0754d54e5f8000962bb52b224f677d..75c34d9fcc4b33d30b18f1ce4c8749a0 public void setPersistentAngerTarget(@Nullable UUID angryAt) { this.persistentAngerTarget = angryAt; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a5ca13a0f 100644 +index 62074152a0a494bbde4c39074942425a8b850ffd..7fabef36d3f9a5294a62ed956010d7ef853e00ab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -556,6 +556,9 @@ public class PurpurWorldConfig { +@@ -588,6 +588,9 @@ public class PurpurWorldConfig { public boolean drownedControllable = true; public double drownedMaxHealth = 20.0D; public double drownedSpawnReinforcements = 0.1D; @@ -180,7 +180,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -567,6 +570,9 @@ public class PurpurWorldConfig { +@@ -599,6 +602,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 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a } public boolean elderGuardianRidable = false; -@@ -815,6 +821,9 @@ public class PurpurWorldConfig { +@@ -847,6 +853,9 @@ public class PurpurWorldConfig { public boolean huskControllable = true; public double huskMaxHealth = 20.0D; public double huskSpawnReinforcements = 0.1D; @@ -200,7 +200,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -826,6 +835,9 @@ public class PurpurWorldConfig { +@@ -858,6 +867,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 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a } public boolean illusionerRidable = false; -@@ -1642,6 +1654,9 @@ public class PurpurWorldConfig { +@@ -1674,6 +1686,9 @@ public class PurpurWorldConfig { public boolean zombieControllable = true; public double zombieMaxHealth = 20.0D; public double zombieSpawnReinforcements = 0.1D; @@ -220,7 +220,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1653,6 +1668,9 @@ public class PurpurWorldConfig { +@@ -1685,6 +1700,9 @@ public class PurpurWorldConfig { } zombieMaxHealth = getDouble("mobs.zombie.attributes.max_health", zombieMaxHealth); zombieSpawnReinforcements = getDouble("mobs.zombie.attributes.spawn_reinforcements", zombieSpawnReinforcements); @@ -230,7 +230,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a } public boolean zombieHorseRidable = false; -@@ -1689,6 +1707,9 @@ public class PurpurWorldConfig { +@@ -1721,6 +1739,9 @@ public class PurpurWorldConfig { public boolean zombieVillagerControllable = true; public double zombieVillagerMaxHealth = 20.0D; public double zombieVillagerSpawnReinforcements = 0.1D; @@ -240,7 +240,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1700,6 +1721,9 @@ public class PurpurWorldConfig { +@@ -1732,6 +1753,9 @@ public class PurpurWorldConfig { } zombieVillagerMaxHealth = getDouble("mobs.zombie_villager.attributes.max_health", zombieVillagerMaxHealth); zombieVillagerSpawnReinforcements = getDouble("mobs.zombie_villager.attributes.spawn_reinforcements", zombieVillagerSpawnReinforcements); @@ -250,7 +250,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a } public boolean zombifiedPiglinRidable = false; -@@ -1707,6 +1731,9 @@ public class PurpurWorldConfig { +@@ -1739,6 +1763,9 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinControllable = true; public double zombifiedPiglinMaxHealth = 20.0D; public double zombifiedPiglinSpawnReinforcements = 0.0D; @@ -260,7 +260,7 @@ index 40edab1e1c83b02de14af76ea4949bbcede84f6f..0d016b2c3aa623c2cfa48ab5faa7481a private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1718,5 +1745,8 @@ public class PurpurWorldConfig { +@@ -1750,5 +1777,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/0062-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch b/patches/server/0063-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch similarity index 98% rename from patches/server/0062-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch rename to patches/server/0063-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch index d58cf2d6b..b8b783a89 100644 --- a/patches/server/0062-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch +++ b/patches/server/0063-Phantoms-attracted-to-crystals-and-crystals-shoot-ph.patch @@ -256,10 +256,10 @@ index 01e8eaecec61e664838b5d7f18a9c3e730f00ddf..e0b1b0106fd3bbb6764d1b0a58ab2810 private float speed = 0.1F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0d016b2c3aa623c2cfa48ab5faa7481a5ca13a0f..cbc5cf3b5a2d2b0ccb6b7ba9ee509a35e9f8ae63 100644 +index 7fabef36d3f9a5294a62ed956010d7ef853e00ab..e1652079b92a5c951b5191997803e9d486892c61 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1033,6 +1033,9 @@ public class PurpurWorldConfig { +@@ -1065,6 +1065,9 @@ public class PurpurWorldConfig { public String phantomAttackDamage = "6 + size"; public Map phantomMaxHealthCache = new HashMap<>(); public Map phantomAttackDamageCache = new HashMap<>(); @@ -269,7 +269,7 @@ index 0d016b2c3aa623c2cfa48ab5faa7481a5ca13a0f..cbc5cf3b5a2d2b0ccb6b7ba9ee509a35 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1054,6 +1057,9 @@ public class PurpurWorldConfig { +@@ -1086,6 +1089,9 @@ public class PurpurWorldConfig { phantomAttackDamage = getString("mobs.phantom.attributes.attack_damage", phantomAttackDamage); phantomMaxHealthCache.clear(); phantomAttackDamageCache.clear(); diff --git a/patches/server/0063-Add-phantom-spawning-options.patch b/patches/server/0064-Add-phantom-spawning-options.patch similarity index 96% rename from patches/server/0063-Add-phantom-spawning-options.patch rename to patches/server/0064-Add-phantom-spawning-options.patch index 207759689..3bd99a5d7 100644 --- a/patches/server/0063-Add-phantom-spawning-options.patch +++ b/patches/server/0064-Add-phantom-spawning-options.patch @@ -40,10 +40,10 @@ index 1b1b475ca27e799e251d6f8a8c9fe1a4fd8bae83..04f67f7b43d2f461c776c76614dc3e5f for (int l = 0; l < k; ++l) { // Paper start - PhantomPreSpawnEvent diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cbc5cf3b5a2d2b0ccb6b7ba9ee509a35e9f8ae63..ba65dc9930376f014164ca95b607c23b092e2573 100644 +index e1652079b92a5c951b5191997803e9d486892c61..10de2140aa89f75e7f67b38f6c1286f4330d127b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1036,6 +1036,12 @@ public class PurpurWorldConfig { +@@ -1068,6 +1068,12 @@ public class PurpurWorldConfig { public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; public double phantomOrbitCrystalRadius = 0.0D; @@ -56,7 +56,7 @@ index cbc5cf3b5a2d2b0ccb6b7ba9ee509a35e9f8ae63..ba65dc9930376f014164ca95b607c23b private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1060,6 +1066,12 @@ public class PurpurWorldConfig { +@@ -1092,6 +1098,12 @@ 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/0064-Implement-bed-explosion-options.patch b/patches/server/0065-Implement-bed-explosion-options.patch similarity index 93% rename from patches/server/0064-Implement-bed-explosion-options.patch rename to patches/server/0065-Implement-bed-explosion-options.patch index 89efb6afe..2ff47c399 100644 --- a/patches/server/0064-Implement-bed-explosion-options.patch +++ b/patches/server/0065-Implement-bed-explosion-options.patch @@ -27,11 +27,11 @@ index e9f8949267208b93f0c56c36ada38274ed4280f5..9084e11df829fb24489773d15435a3a3 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ba65dc9930376f014164ca95b607c23b092e2573..b1d307815d6090ed32e0178bee8ed720ecb022ce 100644 +index 10de2140aa89f75e7f67b38f6c1286f4330d127b..95f016b7c127129b71e266a3daefd55502fdb299 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -252,6 +252,27 @@ public class PurpurWorldConfig { - playerDeathExpDropMax = getInt("gameplay-mechanics.player.exp-dropped-on-death.maximum", playerDeathExpDropMax); +@@ -284,6 +284,27 @@ public class PurpurWorldConfig { + }); } + public boolean bedExplode = true; diff --git a/patches/server/0065-Implement-respawn-anchor-explosion-options.patch b/patches/server/0066-Implement-respawn-anchor-explosion-options.patch similarity index 95% rename from patches/server/0065-Implement-respawn-anchor-explosion-options.patch rename to patches/server/0066-Implement-respawn-anchor-explosion-options.patch index aca026954..1cf02a3c0 100644 --- a/patches/server/0065-Implement-respawn-anchor-explosion-options.patch +++ b/patches/server/0066-Implement-respawn-anchor-explosion-options.patch @@ -18,10 +18,10 @@ index 4e2fad1f234356ada6f29445038e43b9a8406cf9..6f3f53940431afc7a22b262d9d34bc0a public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b1d307815d6090ed32e0178bee8ed720ecb022ce..60e9354c77a2cd2e684252a6d67710822b555743 100644 +index 95f016b7c127129b71e266a3daefd55502fdb299..55ae989ae13ae9c0730f6f8df5f7eba52a560b1f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -292,6 +292,27 @@ public class PurpurWorldConfig { +@@ -324,6 +324,27 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0066-Add-allow-water-in-end-world-option.patch b/patches/server/0067-Add-allow-water-in-end-world-option.patch similarity index 100% rename from patches/server/0066-Add-allow-water-in-end-world-option.patch rename to patches/server/0067-Add-allow-water-in-end-world-option.patch diff --git a/patches/server/0067-Entity-lifespan.patch b/patches/server/0068-Entity-lifespan.patch similarity index 98% rename from patches/server/0067-Entity-lifespan.patch rename to patches/server/0068-Entity-lifespan.patch index d304d3b75..5e9facec0 100644 --- a/patches/server/0067-Entity-lifespan.patch +++ b/patches/server/0068-Entity-lifespan.patch @@ -94,7 +94,7 @@ index c4392a997061aa4939e5ad7dcacf5e39cbecc55a..e7251ac940b49564c83b4b603e49c399 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 60e9354c77a2cd2e684252a6d67710822b555743..d5026545ae9126e979103cf7b701867a4d21d9bf 100644 +index 55ae989ae13ae9c0730f6f8df5f7eba52a560b1f..9ba3a90e1af9c733949c52988c56c05af46356e8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -125,6 +125,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0068-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0069-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch similarity index 96% rename from patches/server/0068-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch rename to patches/server/0069-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index e0226a01d..21154237b 100644 --- a/patches/server/0068-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0069-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -48,7 +48,7 @@ index 9a2725e3f61a7d37943518cc760b17859a0938bb..9a912752b12730a8fb09f5a6ab5a8638 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d5026545ae9126e979103cf7b701867a4d21d9bf..7822c9d78f49a9e1c2ce42cf689d7afe0e4d7b69 100644 +index 9ba3a90e1af9c733949c52988c56c05af46356e8..98e6faaeeaf8a983f9d730591a9d85c314c112d3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -242,6 +242,7 @@ public class PurpurWorldConfig { @@ -66,4 +66,4 @@ index d5026545ae9126e979103cf7b701867a4d21d9bf..7822c9d78f49a9e1c2ce42cf689d7afe + teleportIfOutsideBorder = getBoolean("gameplay-mechanics.player.teleport-if-outside-border", teleportIfOutsideBorder); } - public boolean bedExplode = true; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0069-Squid-EAR-immunity.patch b/patches/server/0070-Squid-EAR-immunity.patch similarity index 91% rename from patches/server/0069-Squid-EAR-immunity.patch rename to patches/server/0070-Squid-EAR-immunity.patch index edd1010b4..6e6183b7a 100644 --- a/patches/server/0069-Squid-EAR-immunity.patch +++ b/patches/server/0070-Squid-EAR-immunity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Squid EAR immunity diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7822c9d78f49a9e1c2ce42cf689d7afe0e4d7b69..fb36eac6390e31e9611f94174668d29a89c6f5d9 100644 +index 98e6faaeeaf8a983f9d730591a9d85c314c112d3..27d279d76fd3632fd023edded3b10630629ec132 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1421,6 +1421,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig { public boolean squidRidable = false; public boolean squidControllable = true; public double squidMaxHealth = 10.0D; @@ -16,7 +16,7 @@ index 7822c9d78f49a9e1c2ce42cf689d7afe0e4d7b69..fb36eac6390e31e9611f94174668d29a private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1430,6 +1431,7 @@ public class PurpurWorldConfig { +@@ -1462,6 +1463,7 @@ public class PurpurWorldConfig { set("mobs.squid.attributes.max_health", oldValue); } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); diff --git a/patches/server/0070-Phantoms-burn-in-light.patch b/patches/server/0071-Phantoms-burn-in-light.patch similarity index 96% rename from patches/server/0070-Phantoms-burn-in-light.patch rename to patches/server/0071-Phantoms-burn-in-light.patch index 01bae219a..d35474462 100644 --- a/patches/server/0070-Phantoms-burn-in-light.patch +++ b/patches/server/0071-Phantoms-burn-in-light.patch @@ -51,10 +51,10 @@ index e0b1b0106fd3bbb6764d1b0a58ab2810181cac02..1ddccb9fa438682c2ebad7c071c7a4f8 list.sort(Comparator.comparing((Entity e) -> { return e.getY(); }).reversed()); // CraftBukkit - decompile error Iterator iterator = list.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fb36eac6390e31e9611f94174668d29a89c6f5d9..cfa0faec3609126b1f76f4840e813efda52192d1 100644 +index 27d279d76fd3632fd023edded3b10630629ec132..dcd9f80eb69e34b514f57158568e4cb59e9860ec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1091,6 +1091,9 @@ public class PurpurWorldConfig { +@@ -1123,6 +1123,9 @@ public class PurpurWorldConfig { public double phantomSpawnLocalDifficultyChance = 3.0D; public int phantomSpawnMinPerAttempt = 1; public int phantomSpawnMaxPerAttempt = -1; @@ -64,7 +64,7 @@ index fb36eac6390e31e9611f94174668d29a89c6f5d9..cfa0faec3609126b1f76f4840e813efd private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1121,6 +1124,9 @@ public class PurpurWorldConfig { +@@ -1153,6 +1156,9 @@ public class PurpurWorldConfig { phantomSpawnLocalDifficultyChance = getDouble("mobs.phantom.spawn.local-difficulty-chance", phantomSpawnLocalDifficultyChance); phantomSpawnMinPerAttempt = getInt("mobs.phantom.spawn.per-attempt.min", phantomSpawnMinPerAttempt); phantomSpawnMaxPerAttempt = getInt("mobs.phantom.spawn.per-attempt.max", phantomSpawnMaxPerAttempt); diff --git a/patches/server/0071-Configurable-villager-breeding.patch b/patches/server/0072-Configurable-villager-breeding.patch similarity index 91% rename from patches/server/0071-Configurable-villager-breeding.patch rename to patches/server/0072-Configurable-villager-breeding.patch index f6f8f1a68..71c318976 100644 --- a/patches/server/0071-Configurable-villager-breeding.patch +++ b/patches/server/0072-Configurable-villager-breeding.patch @@ -18,10 +18,10 @@ index 051940da69567274f48485f060cbc3ac21a0907f..6de74d992bd8b2845ab98d56201e7eea private boolean hungry() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cfa0faec3609126b1f76f4840e813efda52192d1..aa429a369a5fa7225b4dcadfae79e665f69b3365 100644 +index dcd9f80eb69e34b514f57158568e4cb59e9860ec..df4f384032f398fc9852e753dee820ffa33e10bb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1579,6 +1579,7 @@ public class PurpurWorldConfig { +@@ -1611,6 +1611,7 @@ public class PurpurWorldConfig { public double villagerMaxHealth = 20.0D; public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; @@ -29,7 +29,7 @@ index cfa0faec3609126b1f76f4840e813efda52192d1..aa429a369a5fa7225b4dcadfae79e665 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1591,6 +1592,7 @@ public class PurpurWorldConfig { +@@ -1623,6 +1624,7 @@ public class PurpurWorldConfig { villagerMaxHealth = getDouble("mobs.villager.attributes.max_health", villagerMaxHealth); villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); diff --git a/patches/server/0072-Redstone-deactivates-spawners.patch b/patches/server/0073-Redstone-deactivates-spawners.patch similarity index 91% rename from patches/server/0072-Redstone-deactivates-spawners.patch rename to patches/server/0073-Redstone-deactivates-spawners.patch index 2a96b9869..41653f9a7 100644 --- a/patches/server/0072-Redstone-deactivates-spawners.patch +++ b/patches/server/0073-Redstone-deactivates-spawners.patch @@ -17,10 +17,10 @@ index f57e1b78204dff661ad5d3ee93a88a00330af2dc..967af8771ff8564c715d89f4b4b69b16 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aa429a369a5fa7225b4dcadfae79e665f69b3365..008b01f578441f35397b39bdb2e4dd6a4b0e7948 100644 +index df4f384032f398fc9852e753dee820ffa33e10bb..85d2030c58fb97be82c97a042bc5d73e76274268 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -320,6 +320,11 @@ public class PurpurWorldConfig { +@@ -352,6 +352,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0073-Totems-work-in-inventory.patch b/patches/server/0074-Totems-work-in-inventory.patch similarity index 95% rename from patches/server/0073-Totems-work-in-inventory.patch rename to patches/server/0074-Totems-work-in-inventory.patch index c9e33d02a..1babbff8a 100644 --- a/patches/server/0073-Totems-work-in-inventory.patch +++ b/patches/server/0074-Totems-work-in-inventory.patch @@ -28,7 +28,7 @@ index 9a912752b12730a8fb09f5a6ab5a8638b555e3e3..2ea60043f3bbf6cce77799f6c74ffe1f EntityResurrectEvent event = new EntityResurrectEvent((org.bukkit.entity.LivingEntity) this.getBukkitEntity(), handSlot); event.setCancelled(itemstack == null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 008b01f578441f35397b39bdb2e4dd6a4b0e7948..58d9ce9b8fb97d947c265b6ffdd5e864a1aad012 100644 +index 85d2030c58fb97be82c97a042bc5d73e76274268..be916fe3a8bc8996be8b0835e3bd8f7920c15055 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -243,6 +243,7 @@ public class PurpurWorldConfig { @@ -46,4 +46,4 @@ index 008b01f578441f35397b39bdb2e4dd6a4b0e7948..58d9ce9b8fb97d947c265b6ffdd5e864 + totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); } - public boolean bedExplode = true; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0074-Add-vindicator-johnny-spawn-chance.patch b/patches/server/0075-Add-vindicator-johnny-spawn-chance.patch similarity index 91% rename from patches/server/0074-Add-vindicator-johnny-spawn-chance.patch rename to patches/server/0075-Add-vindicator-johnny-spawn-chance.patch index 929db38c4..34abb4304 100644 --- a/patches/server/0074-Add-vindicator-johnny-spawn-chance.patch +++ b/patches/server/0075-Add-vindicator-johnny-spawn-chance.patch @@ -22,10 +22,10 @@ index e270da29fdab5060b6a936bba67c433a78c54b5b..61f1778d454cebaab5580179614ff48a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 58d9ce9b8fb97d947c265b6ffdd5e864a1aad012..17ff9373ecc58d1d197c97c490ce6c6cdb5a62c3 100644 +index be916fe3a8bc8996be8b0835e3bd8f7920c15055..7b584d5c8460e90dfea250591e4ca36cb1db004a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1606,6 +1606,7 @@ public class PurpurWorldConfig { +@@ -1638,6 +1638,7 @@ public class PurpurWorldConfig { public boolean vindicatorRidableInWater = true; public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; @@ -33,7 +33,7 @@ index 58d9ce9b8fb97d947c265b6ffdd5e864a1aad012..17ff9373ecc58d1d197c97c490ce6c6c private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1616,6 +1617,7 @@ public class PurpurWorldConfig { +@@ -1648,6 +1649,7 @@ public class PurpurWorldConfig { set("mobs.vindicator.attributes.max_health", oldValue); } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); diff --git a/patches/server/0075-Dispensers-place-anvils-option.patch b/patches/server/0076-Dispensers-place-anvils-option.patch similarity index 94% rename from patches/server/0075-Dispensers-place-anvils-option.patch rename to patches/server/0076-Dispensers-place-anvils-option.patch index e7ddd7e89..0dbf632e9 100644 --- a/patches/server/0075-Dispensers-place-anvils-option.patch +++ b/patches/server/0076-Dispensers-place-anvils-option.patch @@ -32,10 +32,10 @@ index 5dab1e10303177e5a4d97a91ee46ede66f30ae35..68236139e3571791b891dbbef6e3ee20 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 17ff9373ecc58d1d197c97c490ce6c6cdb5a62c3..7a5b2c4ac1a4ab952fd23474ddf4f37926fc3ff5 100644 +index 7b584d5c8460e90dfea250591e4ca36cb1db004a..00c4cda4ca21195c4fbfeb47f92e197be18aa4c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -283,8 +283,10 @@ public class PurpurWorldConfig { +@@ -315,8 +315,10 @@ public class PurpurWorldConfig { } public boolean dispenserApplyCursedArmor = true; diff --git a/patches/server/0076-Allow-anvil-colors.patch b/patches/server/0077-Allow-anvil-colors.patch similarity index 94% rename from patches/server/0076-Allow-anvil-colors.patch rename to patches/server/0077-Allow-anvil-colors.patch index b309a5b2a..cdcf19f9a 100644 --- a/patches/server/0076-Allow-anvil-colors.patch +++ b/patches/server/0077-Allow-anvil-colors.patch @@ -64,11 +64,11 @@ index 9036426256f87b3ba4a78e6fa2cea4e028f84481..5cadd69bcae33b1de58806fcf4053385 } } else if (itemstack.has(DataComponents.CUSTOM_NAME)) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7a5b2c4ac1a4ab952fd23474ddf4f37926fc3ff5..a846066d44340a588fe532b2e19dc6de19ff8f07 100644 +index 00c4cda4ca21195c4fbfeb47f92e197be18aa4c6..4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -261,6 +261,13 @@ public class PurpurWorldConfig { - totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); +@@ -293,6 +293,13 @@ public class PurpurWorldConfig { + }); } + public boolean anvilAllowColors = false; diff --git a/patches/server/0077-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0078-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 90% rename from patches/server/0077-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/server/0078-Add-option-to-disable-dolphin-treasure-searching.patch index bf6aa83e6..23dbd04de 100644 --- a/patches/server/0077-Add-option-to-disable-dolphin-treasure-searching.patch +++ b/patches/server/0078-Add-option-to-disable-dolphin-treasure-searching.patch @@ -17,10 +17,10 @@ index 4f294b3ecf061f34046b52bf2b6a3d0ff1ed347b..366d583926e7e33a8c1e5a803bb75a45 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a846066d44340a588fe532b2e19dc6de19ff8f07..a371280fffdf9d9bc35a412aacf8c9e6220aa5eb 100644 +index 4c80796777c5a90c5e7a9e8ef0beedfcb49f0aa9..b9faaf71e0cd5918b072d068bbc2096aa2805616 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -578,6 +578,7 @@ public class PurpurWorldConfig { +@@ -610,6 +610,7 @@ public class PurpurWorldConfig { public float dolphinSpitSpeed = 1.0F; public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; @@ -28,7 +28,7 @@ index a846066d44340a588fe532b2e19dc6de19ff8f07..a371280fffdf9d9bc35a412aacf8c9e6 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -590,6 +591,7 @@ public class PurpurWorldConfig { +@@ -622,6 +623,7 @@ public class PurpurWorldConfig { set("mobs.dolphin.attributes.max_health", oldValue); } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); diff --git a/patches/server/0078-Short-enderman-height.patch b/patches/server/0079-Short-enderman-height.patch similarity index 100% rename from patches/server/0078-Short-enderman-height.patch rename to patches/server/0079-Short-enderman-height.patch diff --git a/patches/server/0079-Stop-squids-floating-on-top-of-water.patch b/patches/server/0080-Stop-squids-floating-on-top-of-water.patch similarity index 94% rename from patches/server/0079-Stop-squids-floating-on-top-of-water.patch rename to patches/server/0080-Stop-squids-floating-on-top-of-water.patch index 8c6fcc8e9..0ce118bf6 100644 --- a/patches/server/0079-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0080-Stop-squids-floating-on-top-of-water.patch @@ -54,10 +54,10 @@ index 92394960fc76886f393cba02ac33c57739a4b383..494808b7bc2fb296b78e229ce138a937 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a371280fffdf9d9bc35a412aacf8c9e6220aa5eb..3bd08df44e11ded9bf70a3e66cfa2b3a324a38db 100644 +index b9faaf71e0cd5918b072d068bbc2096aa2805616..56f34c0a0f7bc94a90bb1db32f8e30a590a3b38c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1446,6 +1446,7 @@ public class PurpurWorldConfig { +@@ -1478,6 +1478,7 @@ public class PurpurWorldConfig { public boolean squidControllable = true; public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; @@ -65,7 +65,7 @@ index a371280fffdf9d9bc35a412aacf8c9e6220aa5eb..3bd08df44e11ded9bf70a3e66cfa2b3a private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1456,6 +1457,7 @@ public class PurpurWorldConfig { +@@ -1488,6 +1489,7 @@ public class PurpurWorldConfig { } squidMaxHealth = getDouble("mobs.squid.attributes.max_health", squidMaxHealth); squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); diff --git a/patches/server/0080-Crying-obsidian-valid-for-portal-frames.patch b/patches/server/0081-Crying-obsidian-valid-for-portal-frames.patch similarity index 100% rename from patches/server/0080-Crying-obsidian-valid-for-portal-frames.patch rename to patches/server/0081-Crying-obsidian-valid-for-portal-frames.patch diff --git a/patches/server/0081-Entities-can-use-portals-configuration.patch b/patches/server/0082-Entities-can-use-portals-configuration.patch similarity index 97% rename from patches/server/0081-Entities-can-use-portals-configuration.patch rename to patches/server/0082-Entities-can-use-portals-configuration.patch index 5eb7e6a28..571526817 100644 --- a/patches/server/0081-Entities-can-use-portals-configuration.patch +++ b/patches/server/0082-Entities-can-use-portals-configuration.patch @@ -27,7 +27,7 @@ index 9a3796a69dd8745a498be5f2bb06c50355af44ce..a93ae9de698ce97e8603deb1075e6dc5 public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3bd08df44e11ded9bf70a3e66cfa2b3a324a38db..7c241acf936147cdff652548a66fa9c2664894c4 100644 +index 56f34c0a0f7bc94a90bb1db32f8e30a590a3b38c..1f25407aafba71762a482f0b1982302fed14387f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -98,6 +98,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0082-LivingEntity-broadcastItemBreak.patch b/patches/server/0083-LivingEntity-broadcastItemBreak.patch similarity index 100% rename from patches/server/0082-LivingEntity-broadcastItemBreak.patch rename to patches/server/0083-LivingEntity-broadcastItemBreak.patch diff --git a/patches/server/0083-Customizable-wither-health-and-healing.patch b/patches/server/0084-Customizable-wither-health-and-healing.patch similarity index 92% rename from patches/server/0083-Customizable-wither-health-and-healing.patch rename to patches/server/0084-Customizable-wither-health-and-healing.patch index 9cd3b13f7..0ce62c319 100644 --- a/patches/server/0083-Customizable-wither-health-and-healing.patch +++ b/patches/server/0084-Customizable-wither-health-and-healing.patch @@ -23,10 +23,10 @@ index 0cc32342cf6c65466dd1e45f9097ca89b01036e4..8d2894bb1ae70f63c8fa67de3e9f7c6a this.bossEvent.setProgress(this.getHealth() / this.getMaxHealth()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7c241acf936147cdff652548a66fa9c2664894c4..ff10f3166f1ac4a7ef978080162865b6c336ba13 100644 +index 1f25407aafba71762a482f0b1982302fed14387f..beea39d7cdbca783de7248a5c40ea2c7ab02e5b5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1685,6 +1685,8 @@ public class PurpurWorldConfig { +@@ -1717,6 +1717,8 @@ public class PurpurWorldConfig { public boolean witherControllable = true; public double witherMaxY = 320D; public double witherMaxHealth = 300.0D; @@ -35,7 +35,7 @@ index 7c241acf936147cdff652548a66fa9c2664894c4..ff10f3166f1ac4a7ef978080162865b6 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1700,6 +1702,8 @@ public class PurpurWorldConfig { +@@ -1732,6 +1734,8 @@ public class PurpurWorldConfig { set("mobs.wither.attributes.max_health", oldValue); } witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); diff --git a/patches/server/0084-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0085-Allow-toggling-special-MobSpawners-per-world.patch similarity index 98% rename from patches/server/0084-Allow-toggling-special-MobSpawners-per-world.patch rename to patches/server/0085-Allow-toggling-special-MobSpawners-per-world.patch index c2f472afc..a123bfffa 100644 --- a/patches/server/0084-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0085-Allow-toggling-special-MobSpawners-per-world.patch @@ -59,7 +59,7 @@ index c72b6ea5530e54fc373c701028e1c147cea34b59..96e9fce5f9084737d2fcf4deb8330573 if (spawnplacementtype.isSpawnPositionOk(world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ff10f3166f1ac4a7ef978080162865b6c336ba13..226e6055a712b81ae5831257786d496768ccea56 100644 +index beea39d7cdbca783de7248a5c40ea2c7ab02e5b5..ce5db64c233bac3800a715e66aada4740bdad95b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -69,6 +69,12 @@ public class PurpurWorldConfig { diff --git a/patches/server/0085-Raid-cooldown-setting.patch b/patches/server/0086-Raid-cooldown-setting.patch similarity index 97% rename from patches/server/0085-Raid-cooldown-setting.patch rename to patches/server/0086-Raid-cooldown-setting.patch index 56febeda8..439cbff14 100644 --- a/patches/server/0085-Raid-cooldown-setting.patch +++ b/patches/server/0086-Raid-cooldown-setting.patch @@ -49,7 +49,7 @@ index 8c60f71270d909c10e6617eb64b8fdb42deb73e9..eedce2a3d67d875d5174ee125e267948 if (!raid.isStarted() && !this.raidMap.containsKey(raid.getId())) { this.raidMap.put(raid.getId(), raid); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 226e6055a712b81ae5831257786d496768ccea56..d1802b8a5c1bd300bba6989c8bfa6c78accc041a 100644 +index ce5db64c233bac3800a715e66aada4740bdad95b..9654023afbb0569d5d814368b93b74dedda905a4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -109,6 +109,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0086-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0087-Despawn-rate-config-options-per-projectile-type.patch similarity index 88% rename from patches/server/0086-Despawn-rate-config-options-per-projectile-type.patch rename to patches/server/0087-Despawn-rate-config-options-per-projectile-type.patch index b41e71c73..b197ba556 100644 --- a/patches/server/0086-Despawn-rate-config-options-per-projectile-type.patch +++ b/patches/server/0087-Despawn-rate-config-options-per-projectile-type.patch @@ -7,11 +7,11 @@ This patch's implementation has been removed in favor of Pufferfish's entity-tim The config remains for migration purposes. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d1802b8a5c1bd300bba6989c8bfa6c78accc041a..42d342ff59ca98cc4b79195f2aeb430a89c6ba9b 100644 +index 9654023afbb0569d5d814368b93b74dedda905a4..8a577d78d63adc799de71f96b45320372c346552 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -286,6 +286,39 @@ public class PurpurWorldConfig { - totemOfUndyingWorksInInventory = getBoolean("gameplay-mechanics.player.totem-of-undying-works-in-inventory", totemOfUndyingWorksInInventory); +@@ -318,6 +318,40 @@ public class PurpurWorldConfig { + }); } + private static boolean projectileDespawnRateSettingsMigrated = false; @@ -30,7 +30,7 @@ index d1802b8a5c1bd300bba6989c8bfa6c78accc041a..42d342ff59ca98cc4b79195f2aeb430a + migrateProjectileDespawnRateSettings(EntityType.SMALL_FIREBALL); + migrateProjectileDespawnRateSettings(EntityType.SNOWBALL); + migrateProjectileDespawnRateSettings(EntityType.WITHER_SKULL); -+ //PufferfishConfig.save(); ++ //PufferfishConfig.save(); // TODO: Pufferfish + set("gameplay-mechanics.projectile-despawn-rates", null); + // pufferfish's entity_timeout is a global config + // we only want to migrate values from the @@ -39,6 +39,7 @@ index d1802b8a5c1bd300bba6989c8bfa6c78accc041a..42d342ff59ca98cc4b79195f2aeb430a + } + } + private void migrateProjectileDespawnRateSettings(EntityType type) { ++ // TODO: Pufferfish + //String pufferName = "entity_timeouts." + type.id.toUpperCase(Locale.ROOT); + //int value = getInt("gameplay-mechanics.projectile-despawn-rates." + type.id, -1); + //if (value != -1 && PufferfishConfig.getRawInt(pufferName, -1) == -1) { diff --git a/patches/server/0087-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0088-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 96% rename from patches/server/0087-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0088-Add-option-to-disable-zombie-aggressiveness-towards-.patch index 60a229425..af48746e7 100644 --- a/patches/server/0087-Add-option-to-disable-zombie-aggressiveness-towards-.patch +++ b/patches/server/0088-Add-option-to-disable-zombie-aggressiveness-towards-.patch @@ -70,10 +70,10 @@ index 555b86925b8d848fad40a838dd98607db8741e3b..3d42b2ea26217243dba96174ff0eadbc this.targetSelector.addGoal(5, new NearestAttackableTargetGoal<>(this, Turtle.class, 10, true, false, Turtle.BABY_ON_LAND_SELECTOR)); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 42d342ff59ca98cc4b79195f2aeb430a89c6ba9b..ba6ac7cc8d41710e1cdf9e130cc9ed170e6ab2b9 100644 +index 8a577d78d63adc799de71f96b45320372c346552..69c433dd27be4a67052d73620c80d48ed6566034 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1818,6 +1818,7 @@ public class PurpurWorldConfig { +@@ -1851,6 +1851,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyOnlyBaby = true; public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; @@ -81,7 +81,7 @@ index 42d342ff59ca98cc4b79195f2aeb430a89c6ba9b..ba6ac7cc8d41710e1cdf9e130cc9ed17 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1832,6 +1833,7 @@ public class PurpurWorldConfig { +@@ -1865,6 +1866,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/0088-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0089-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/server/0088-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0089-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/server/0089-Flying-squids-Oh-my.patch b/patches/server/0090-Flying-squids-Oh-my.patch similarity index 94% rename from patches/server/0089-Flying-squids-Oh-my.patch rename to patches/server/0090-Flying-squids-Oh-my.patch index 748f4d805..b0907f34a 100644 --- a/patches/server/0089-Flying-squids-Oh-my.patch +++ b/patches/server/0090-Flying-squids-Oh-my.patch @@ -58,10 +58,10 @@ index c562eeb5e865a57fbc595de47c5d4e2b90430026..f0261117a4f8ae240b3b991053deaf8d float g = Mth.cos(f) * 0.2F; float h = -0.1F + this.squid.getRandom().nextFloat() * 0.2F; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ba6ac7cc8d41710e1cdf9e130cc9ed170e6ab2b9..e6aa3036b089b509a6187e9909c353eb129369b9 100644 +index 69c433dd27be4a67052d73620c80d48ed6566034..636f1a2962ee48a42a644b241569f08e7d57097c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -870,10 +870,12 @@ public class PurpurWorldConfig { +@@ -903,10 +903,12 @@ public class PurpurWorldConfig { public boolean glowSquidRidable = false; public boolean glowSquidControllable = true; public double glowSquidMaxHealth = 10.0D; @@ -74,7 +74,7 @@ index ba6ac7cc8d41710e1cdf9e130cc9ed170e6ab2b9..e6aa3036b089b509a6187e9909c353eb } public boolean goatRidable = false; -@@ -1505,6 +1507,7 @@ public class PurpurWorldConfig { +@@ -1538,6 +1540,7 @@ public class PurpurWorldConfig { public double squidMaxHealth = 10.0D; public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; @@ -82,7 +82,7 @@ index ba6ac7cc8d41710e1cdf9e130cc9ed170e6ab2b9..e6aa3036b089b509a6187e9909c353eb private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1516,6 +1519,7 @@ public class PurpurWorldConfig { +@@ -1549,6 +1552,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/0090-Infinity-bow-settings.patch b/patches/server/0091-Infinity-bow-settings.patch similarity index 97% rename from patches/server/0090-Infinity-bow-settings.patch rename to patches/server/0091-Infinity-bow-settings.patch index 46571573d..69e964faf 100644 --- a/patches/server/0090-Infinity-bow-settings.patch +++ b/patches/server/0091-Infinity-bow-settings.patch @@ -27,7 +27,7 @@ index 5ca843df5b4caa668953e5e36a9b20fabeb35046..4ae6b98b6a0d41e949b055f0678200a6 } else { user.startUsingItem(hand); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e6aa3036b089b509a6187e9909c353eb129369b9..4b88a659aeff786bcca0e8bd068fa6dadf63d17e 100644 +index 636f1a2962ee48a42a644b241569f08e7d57097c..b66182a7b52d16aac78b61cd9c077236a2abbe33 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -140,6 +140,17 @@ public class PurpurWorldConfig { diff --git a/patches/server/0091-Configurable-daylight-cycle.patch b/patches/server/0092-Configurable-daylight-cycle.patch similarity index 98% rename from patches/server/0091-Configurable-daylight-cycle.patch rename to patches/server/0092-Configurable-daylight-cycle.patch index 776d42e7b..c0d9a51e8 100644 --- a/patches/server/0091-Configurable-daylight-cycle.patch +++ b/patches/server/0092-Configurable-daylight-cycle.patch @@ -88,7 +88,7 @@ index 1c74802577e056b9023dcc2cbec5885d02fe2c92..aef5157d183b69903fd215a5ce30c070 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { Iterator iterator = this.customSpawners.iterator(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4b88a659aeff786bcca0e8bd068fa6dadf63d17e..910a88e731b64a20d88d0137e6ecb975180be71e 100644 +index b66182a7b52d16aac78b61cd9c077236a2abbe33..d2ab4fe9ccb19f837a41bddddf29cfcc96fc3f96 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -122,6 +122,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0092-Allow-infinite-and-mending-enchantments-together.patch b/patches/server/0093-Allow-infinite-and-mending-enchantments-together.patch similarity index 100% rename from patches/server/0092-Allow-infinite-and-mending-enchantments-together.patch rename to patches/server/0093-Allow-infinite-and-mending-enchantments-together.patch diff --git a/patches/server/0093-Furnace-uses-lava-from-underneath.patch b/patches/server/0094-Furnace-uses-lava-from-underneath.patch similarity index 96% rename from patches/server/0093-Furnace-uses-lava-from-underneath.patch rename to patches/server/0094-Furnace-uses-lava-from-underneath.patch index cb8e67b25..e5d2aa6fe 100644 --- a/patches/server/0093-Furnace-uses-lava-from-underneath.patch +++ b/patches/server/0094-Furnace-uses-lava-from-underneath.patch @@ -47,10 +47,10 @@ index a99fe191c429bb528209dd0f31b509acf9cccbb5..ce2c424068001eec16032361baa206f6 private static boolean canBurn(RegistryAccess registryManager, @Nullable RecipeHolder recipe, NonNullList slots, int count) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 910a88e731b64a20d88d0137e6ecb975180be71e..6bf609f2fe54ace1a9f8126cbc2b1ec2e4131c18 100644 +index d2ab4fe9ccb19f837a41bddddf29cfcc96fc3f96..163d2cfaeaa301c34f04ed13d8ff881ecb868224 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -377,6 +377,17 @@ public class PurpurWorldConfig { +@@ -410,6 +410,17 @@ public class PurpurWorldConfig { farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); } diff --git a/patches/server/0094-Arrows-should-not-reset-despawn-counter.patch b/patches/server/0095-Arrows-should-not-reset-despawn-counter.patch similarity index 95% rename from patches/server/0094-Arrows-should-not-reset-despawn-counter.patch rename to patches/server/0095-Arrows-should-not-reset-despawn-counter.patch index 3b1af187f..6fe03557a 100644 --- a/patches/server/0094-Arrows-should-not-reset-despawn-counter.patch +++ b/patches/server/0095-Arrows-should-not-reset-despawn-counter.patch @@ -20,7 +20,7 @@ index 31b8a8bf78d52b5f11b68e780ec09bf78e7bda84..342eaa0e3b053e9b39dc58fa92cd18ca @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6bf609f2fe54ace1a9f8126cbc2b1ec2e4131c18..693b9ea8dcc05c07d5d3e79eab582015079ea69d 100644 +index 163d2cfaeaa301c34f04ed13d8ff881ecb868224..5a49ea28eb227c6d550f3d7e589fb1e98fa2d285 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -101,6 +101,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0095-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0096-Ability-to-re-add-farmland-mechanics-from-Alpha.patch similarity index 92% rename from patches/server/0095-Ability-to-re-add-farmland-mechanics-from-Alpha.patch rename to patches/server/0096-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index c8131c15f..a10dc92f4 100644 --- a/patches/server/0095-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0096-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -24,10 +24,10 @@ index da85fabd75e9bd5ebece7127ef5b512df16fe3ac..dc356bd0931af9bdab9ec71e3de66e88 return; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 693b9ea8dcc05c07d5d3e79eab582015079ea69d..e3df00971e9510614bbad71cdb506653209d0820 100644 +index 5a49ea28eb227c6d550f3d7e589fb1e98fa2d285..543c7679cf1ac50ff103be3366421d4faa542319 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -378,8 +378,10 @@ public class PurpurWorldConfig { +@@ -411,8 +411,10 @@ public class PurpurWorldConfig { } public boolean farmlandGetsMoistFromBelow = false; diff --git a/patches/server/0096-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0097-Add-adjustable-breeding-cooldown-to-config.patch similarity index 98% rename from patches/server/0096-Add-adjustable-breeding-cooldown-to-config.patch rename to patches/server/0097-Add-adjustable-breeding-cooldown-to-config.patch index 31fa5dc74..50177cb6b 100644 --- a/patches/server/0096-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0097-Add-adjustable-breeding-cooldown-to-config.patch @@ -104,7 +104,7 @@ index 2e44e9ea9558ebc1456d9bbf53561988e33ce845..edd9762e2475aa8828930ada59eb331a this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e3df00971e9510614bbad71cdb506653209d0820..febcde8f02354c9621b3ded08af1363c549c4cfc 100644 +index 543c7679cf1ac50ff103be3366421d4faa542319..37292c309b465fce3b601a3ff8400e58c5a74308 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -115,6 +115,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0097-Make-entity-breeding-times-configurable.patch b/patches/server/0098-Make-entity-breeding-times-configurable.patch similarity index 94% rename from patches/server/0097-Make-entity-breeding-times-configurable.patch rename to patches/server/0098-Make-entity-breeding-times-configurable.patch index f77cce220..a6b0bf3d5 100644 --- a/patches/server/0097-Make-entity-breeding-times-configurable.patch +++ b/patches/server/0098-Make-entity-breeding-times-configurable.patch @@ -538,10 +538,10 @@ index 3bfc073fb142e3446044a42c33be6c30587cc3c4..a770ae0e13c4dad296dfb8f33259408e public boolean canBeLeashed(Player player) { return !this.isLeashed(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3dcd330df7 100644 +index 37292c309b465fce3b601a3ff8400e58c5a74308..8ba5fc8813ef1cb34f7df801f6d7b2ed42b1c052 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -469,10 +469,12 @@ public class PurpurWorldConfig { +@@ -502,10 +502,12 @@ public class PurpurWorldConfig { public boolean axolotlRidable = false; public boolean axolotlControllable = true; public double axolotlMaxHealth = 14.0D; @@ -554,7 +554,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean batRidable = false; -@@ -512,6 +514,7 @@ public class PurpurWorldConfig { +@@ -545,6 +547,7 @@ public class PurpurWorldConfig { public boolean beeControllable = true; public double beeMaxY = 320D; public double beeMaxHealth = 10.0D; @@ -562,7 +562,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -523,6 +526,7 @@ public class PurpurWorldConfig { +@@ -556,6 +559,7 @@ public class PurpurWorldConfig { set("mobs.bee.attributes.max_health", oldValue); } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); @@ -570,7 +570,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean blazeRidable = false; -@@ -550,6 +554,7 @@ public class PurpurWorldConfig { +@@ -583,6 +587,7 @@ public class PurpurWorldConfig { public double camelJumpStrengthMax = 0.42D; public double camelMovementSpeedMin = 0.09D; public double camelMovementSpeedMax = 0.09D; @@ -578,7 +578,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void camelSettings() { camelRidableInWater = getBoolean("mobs.camel.ridable-in-water", camelRidableInWater); camelMaxHealthMin = getDouble("mobs.camel.attributes.max_health.min", camelMaxHealthMin); -@@ -558,6 +563,7 @@ public class PurpurWorldConfig { +@@ -591,6 +596,7 @@ public class PurpurWorldConfig { camelJumpStrengthMax = getDouble("mobs.camel.attributes.jump_strength.max", camelJumpStrengthMax); camelMovementSpeedMin = getDouble("mobs.camel.attributes.movement_speed.min", camelMovementSpeedMin); camelMovementSpeedMax = getDouble("mobs.camel.attributes.movement_speed.max", camelMovementSpeedMax); @@ -586,7 +586,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean catRidable = false; -@@ -567,6 +573,7 @@ public class PurpurWorldConfig { +@@ -600,6 +606,7 @@ public class PurpurWorldConfig { public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; @@ -594,7 +594,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -580,6 +587,7 @@ public class PurpurWorldConfig { +@@ -613,6 +620,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); @@ -602,7 +602,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean caveSpiderRidable = false; -@@ -603,6 +611,7 @@ public class PurpurWorldConfig { +@@ -636,6 +644,7 @@ public class PurpurWorldConfig { public boolean chickenControllable = true; public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; @@ -610,7 +610,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -614,6 +623,7 @@ public class PurpurWorldConfig { +@@ -647,6 +656,7 @@ public class PurpurWorldConfig { } chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); @@ -618,7 +618,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean codRidable = false; -@@ -635,6 +645,7 @@ public class PurpurWorldConfig { +@@ -668,6 +678,7 @@ public class PurpurWorldConfig { public boolean cowControllable = true; public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; @@ -626,7 +626,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -646,6 +657,7 @@ public class PurpurWorldConfig { +@@ -679,6 +690,7 @@ public class PurpurWorldConfig { } cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); @@ -634,7 +634,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean creeperRidable = false; -@@ -697,6 +709,7 @@ public class PurpurWorldConfig { +@@ -730,6 +742,7 @@ public class PurpurWorldConfig { public double donkeyJumpStrengthMax = 0.5D; public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; @@ -642,7 +642,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -712,6 +725,7 @@ public class PurpurWorldConfig { +@@ -745,6 +758,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); @@ -650,7 +650,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean drownedRidable = false; -@@ -831,6 +845,7 @@ public class PurpurWorldConfig { +@@ -864,6 +878,7 @@ public class PurpurWorldConfig { public boolean foxControllable = true; public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; @@ -658,7 +658,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -842,17 +857,20 @@ public class PurpurWorldConfig { +@@ -875,17 +890,20 @@ public class PurpurWorldConfig { } foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); @@ -679,7 +679,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean ghastRidable = false; -@@ -920,11 +938,13 @@ public class PurpurWorldConfig { +@@ -953,11 +971,13 @@ public class PurpurWorldConfig { public boolean goatRidableInWater = true; public boolean goatControllable = true; public double goatMaxHealth = 10.0D; @@ -693,7 +693,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean guardianRidable = false; -@@ -945,6 +965,7 @@ public class PurpurWorldConfig { +@@ -978,6 +998,7 @@ public class PurpurWorldConfig { public boolean hoglinRidableInWater = true; public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; @@ -701,7 +701,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -955,6 +976,7 @@ public class PurpurWorldConfig { +@@ -988,6 +1009,7 @@ public class PurpurWorldConfig { set("mobs.hoglin.attributes.max_health", oldValue); } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); @@ -709,7 +709,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean horseRidableInWater = false; -@@ -964,6 +986,7 @@ public class PurpurWorldConfig { +@@ -997,6 +1019,7 @@ public class PurpurWorldConfig { public double horseJumpStrengthMax = 1.0D; public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; @@ -717,7 +717,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -979,6 +1002,7 @@ public class PurpurWorldConfig { +@@ -1012,6 +1035,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); @@ -725,7 +725,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean huskRidable = false; -@@ -1056,6 +1080,7 @@ public class PurpurWorldConfig { +@@ -1089,6 +1113,7 @@ public class PurpurWorldConfig { public double llamaJumpStrengthMax = 0.5D; public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; @@ -733,7 +733,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1073,6 +1098,7 @@ public class PurpurWorldConfig { +@@ -1106,6 +1131,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); @@ -741,7 +741,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean magmaCubeRidable = false; -@@ -1101,6 +1127,7 @@ public class PurpurWorldConfig { +@@ -1134,6 +1160,7 @@ public class PurpurWorldConfig { public boolean mooshroomRidableInWater = true; public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; @@ -749,7 +749,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1111,6 +1138,7 @@ public class PurpurWorldConfig { +@@ -1144,6 +1171,7 @@ public class PurpurWorldConfig { set("mobs.mooshroom.attributes.max_health", oldValue); } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); @@ -757,7 +757,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean muleRidableInWater = false; -@@ -1120,6 +1148,7 @@ public class PurpurWorldConfig { +@@ -1153,6 +1181,7 @@ public class PurpurWorldConfig { public double muleJumpStrengthMax = 0.5D; public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; @@ -765,7 +765,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1135,12 +1164,14 @@ public class PurpurWorldConfig { +@@ -1168,12 +1197,14 @@ public class PurpurWorldConfig { muleJumpStrengthMax = getDouble("mobs.mule.attributes.jump_strength.max", muleJumpStrengthMax); muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); @@ -780,7 +780,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1151,12 +1182,14 @@ public class PurpurWorldConfig { +@@ -1184,12 +1215,14 @@ public class PurpurWorldConfig { set("mobs.ocelot.attributes.max_health", oldValue); } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); @@ -795,7 +795,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1167,6 +1200,7 @@ public class PurpurWorldConfig { +@@ -1200,6 +1233,7 @@ public class PurpurWorldConfig { set("mobs.panda.attributes.max_health", oldValue); } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); @@ -803,7 +803,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean parrotRidable = false; -@@ -1250,6 +1284,7 @@ public class PurpurWorldConfig { +@@ -1283,6 +1317,7 @@ public class PurpurWorldConfig { public boolean pigControllable = true; public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; @@ -811,7 +811,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1261,6 +1296,7 @@ public class PurpurWorldConfig { +@@ -1294,6 +1329,7 @@ public class PurpurWorldConfig { } pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); @@ -819,7 +819,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean piglinRidable = false; -@@ -1317,6 +1353,7 @@ public class PurpurWorldConfig { +@@ -1350,6 +1386,7 @@ public class PurpurWorldConfig { public double polarBearMaxHealth = 30.0D; public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; @@ -827,7 +827,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1330,6 +1367,7 @@ public class PurpurWorldConfig { +@@ -1363,6 +1400,7 @@ public class PurpurWorldConfig { polarBearBreedableItemString = getString("mobs.polar_bear.breedable-item", polarBearBreedableItemString); Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; @@ -835,7 +835,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean pufferfishRidable = false; -@@ -1352,6 +1390,7 @@ public class PurpurWorldConfig { +@@ -1385,6 +1423,7 @@ public class PurpurWorldConfig { public double rabbitMaxHealth = 3.0D; public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; @@ -843,7 +843,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1364,6 +1403,7 @@ public class PurpurWorldConfig { +@@ -1397,6 +1436,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); @@ -851,7 +851,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean ravagerRidable = false; -@@ -1400,6 +1440,7 @@ public class PurpurWorldConfig { +@@ -1433,6 +1473,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = true; public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; @@ -859,7 +859,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1410,6 +1451,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1484,7 @@ public class PurpurWorldConfig { set("mobs.sheep.attributes.max_health", oldValue); } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); @@ -867,7 +867,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean shulkerRidable = false; -@@ -1533,11 +1575,13 @@ public class PurpurWorldConfig { +@@ -1566,11 +1608,13 @@ public class PurpurWorldConfig { public boolean snifferRidableInWater = true; public boolean snifferControllable = true; public double snifferMaxHealth = 14.0D; @@ -881,7 +881,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean squidRidable = false; -@@ -1596,6 +1640,7 @@ public class PurpurWorldConfig { +@@ -1629,6 +1673,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public boolean striderControllable = true; public double striderMaxHealth = 20.0D; @@ -889,7 +889,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1606,6 +1651,7 @@ public class PurpurWorldConfig { +@@ -1639,6 +1684,7 @@ public class PurpurWorldConfig { set("mobs.strider.attributes.max_health", oldValue); } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); @@ -897,7 +897,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean tadpoleRidable = false; -@@ -1626,6 +1672,7 @@ public class PurpurWorldConfig { +@@ -1659,6 +1705,7 @@ public class PurpurWorldConfig { public double traderLlamaJumpStrengthMax = 0.5D; public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; @@ -905,7 +905,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1643,6 +1690,7 @@ public class PurpurWorldConfig { +@@ -1676,6 +1723,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); @@ -913,7 +913,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean tropicalFishRidable = false; -@@ -1663,6 +1711,7 @@ public class PurpurWorldConfig { +@@ -1696,6 +1744,7 @@ public class PurpurWorldConfig { public boolean turtleRidableInWater = true; public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; @@ -921,7 +921,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1673,6 +1722,7 @@ public class PurpurWorldConfig { +@@ -1706,6 +1755,7 @@ public class PurpurWorldConfig { set("mobs.turtle.attributes.max_health", oldValue); } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); @@ -929,7 +929,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean vexRidable = false; -@@ -1700,6 +1750,7 @@ public class PurpurWorldConfig { +@@ -1733,6 +1783,7 @@ public class PurpurWorldConfig { public boolean villagerFollowEmeraldBlock = false; public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; @@ -937,7 +937,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1713,6 +1764,7 @@ public class PurpurWorldConfig { +@@ -1746,6 +1797,7 @@ public class PurpurWorldConfig { villagerFollowEmeraldBlock = getBoolean("mobs.villager.follow-emerald-blocks", villagerFollowEmeraldBlock); villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); @@ -945,7 +945,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d } public boolean vindicatorRidable = false; -@@ -1824,6 +1876,7 @@ public class PurpurWorldConfig { +@@ -1857,6 +1909,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -953,7 +953,7 @@ index febcde8f02354c9621b3ded08af1363c549c4cfc..b34df3578dbf8d3aa7ac75598d1a1f3d private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1834,6 +1887,7 @@ public class PurpurWorldConfig { +@@ -1867,6 +1920,7 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0099-Apply-display-names-from-item-forms-of-entities-to-e.patch similarity index 98% rename from patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch rename to patches/server/0099-Apply-display-names-from-item-forms-of-entities-to-e.patch index ba1ee76bc..f746e667a 100644 --- a/patches/server/0098-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0099-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -126,7 +126,7 @@ index 530167ce8e5bb72a418f8ec61411e38a5892fd72..35dc7546793dba34bf6debad3f214f61 if (((HangingEntity) object).survives()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b34df3578dbf8d3aa7ac75598d1a1f3dcd330df7..d362bc34ec171d55abc5fe7699bb31917c19e4f0 100644 +index 8ba5fc8813ef1cb34f7df801f6d7b2ed42b1c052..1f5cfaf07e0fd86a530b57fd0198ade2b1d0d999 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -97,8 +97,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0099-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0100-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 96% rename from patches/server/0099-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0100-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch index 0750ce961..aef93925b 100644 --- a/patches/server/0099-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch +++ b/patches/server/0100-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch @@ -17,7 +17,7 @@ index 774c982f28b4f127fc3f036c19dfb47fb9ae3264..d49b60e7e643498b49c03593dc0da2f8 // Paper end - Add PlayerNameEntityEvent mob.setPersistenceRequired(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d362bc34ec171d55abc5fe7699bb31917c19e4f0..e00eda1d7767fdd01b9ef90a8b2d56350b05b92e 100644 +index 1f5cfaf07e0fd86a530b57fd0198ade2b1d0d999..548ad445ed73c5009c93cadb0ee8e39acdbd737c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -98,9 +98,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0100-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0101-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 91% rename from patches/server/0100-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0101-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index d1456f40f..c83b3b0e5 100644 --- a/patches/server/0100-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0101-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -21,10 +21,10 @@ index cb307a9419399e33a895376a584456f084691965..052a0c168268b7e788953063f54c3769 private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e00eda1d7767fdd01b9ef90a8b2d56350b05b92e..8a35a9ad7a81308237a3c69ea9a1330a0e8b7548 100644 +index 548ad445ed73c5009c93cadb0ee8e39acdbd737c..2afd56fd352f7a0bd2028a2b9b238f3d1d8fe14a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -801,6 +801,7 @@ public class PurpurWorldConfig { +@@ -834,6 +834,7 @@ public class PurpurWorldConfig { public boolean endermanControllable = true; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index e00eda1d7767fdd01b9ef90a8b2d56350b05b92e..8a35a9ad7a81308237a3c69ea9a1330a private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -812,6 +813,7 @@ public class PurpurWorldConfig { +@@ -845,6 +846,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0101-Add-configurable-snowball-damage.patch b/patches/server/0102-Add-configurable-snowball-damage.patch similarity index 92% rename from patches/server/0101-Add-configurable-snowball-damage.patch rename to patches/server/0102-Add-configurable-snowball-damage.patch index 2abf89257..226d4c521 100644 --- a/patches/server/0101-Add-configurable-snowball-damage.patch +++ b/patches/server/0102-Add-configurable-snowball-damage.patch @@ -18,10 +18,10 @@ index 2b4d206c0d31ba38d7b2af654bd420e85145d441..f59a2903bfb8ae591a638ea5bb387caa entity.hurt(this.damageSources().thrown(this, this.getOwner()), (float) i); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8a35a9ad7a81308237a3c69ea9a1330a0e8b7548..a63c53c5d0309237337f3ef927b0eec8e7a6fbb5 100644 +index 2afd56fd352f7a0bd2028a2b9b238f3d1d8fe14a..f87abb5d0572b8d51c91dd90638e7a728c49a69a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -350,6 +350,11 @@ public class PurpurWorldConfig { +@@ -383,6 +383,11 @@ public class PurpurWorldConfig { //} } diff --git a/patches/server/0102-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0103-Changeable-Mob-Left-Handed-Chance.patch similarity index 95% rename from patches/server/0102-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0103-Changeable-Mob-Left-Handed-Chance.patch index 8eb17c4e5..1fd4f031c 100644 --- a/patches/server/0102-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0103-Changeable-Mob-Left-Handed-Chance.patch @@ -18,7 +18,7 @@ index e7251ac940b49564c83b4b603e49c3990fc85db1..34d00acc43d2541307aa90a77a3c5d19 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a63c53c5d0309237337f3ef927b0eec8e7a6fbb5..c1fb70e037639828ef9209b78dcb0869496093db 100644 +index f87abb5d0572b8d51c91dd90638e7a728c49a69a..4ac5d5469312b5f9e0203551baa085317189553b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -156,8 +156,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0103-Add-boat-fall-damage-config.patch b/patches/server/0104-Add-boat-fall-damage-config.patch similarity index 97% rename from patches/server/0103-Add-boat-fall-damage-config.patch rename to patches/server/0104-Add-boat-fall-damage-config.patch index 73b88d5a5..6282219c2 100644 --- a/patches/server/0103-Add-boat-fall-damage-config.patch +++ b/patches/server/0104-Add-boat-fall-damage-config.patch @@ -27,7 +27,7 @@ index 03b206289d103a36d19dcf3154f10ad98f976ba2..fe250c154aed8b10e33c6b916cabedb0 if (!flag && this.spawnInvulnerableTime > 0 && !source.is(DamageTypeTags.BYPASSES_INVULNERABILITY)) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c1fb70e037639828ef9209b78dcb0869496093db..75ec9a5e012ba7bccfbd980a9b38a78239f2ec85 100644 +index 4ac5d5469312b5f9e0203551baa085317189553b..8a0a018ff9119afe4ada2f30f98b260a523f2e70 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -112,6 +112,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0104-Snow-Golem-rate-of-fire-config.patch b/patches/server/0105-Snow-Golem-rate-of-fire-config.patch similarity index 94% rename from patches/server/0104-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0105-Snow-Golem-rate-of-fire-config.patch index d912b82d1..2c258fc94 100644 --- a/patches/server/0104-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0105-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index 0060414b1d5afde56372ce121e9d37a1668cd03b..ee4d4a4fe314ee9bce69c96dd65d84ed this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 75ec9a5e012ba7bccfbd980a9b38a78239f2ec85..c08e2bd031aff2baa0ec5588b0c035f38949ca88 100644 +index 8a0a018ff9119afe4ada2f30f98b260a523f2e70..51d9cdfce0cdcf2daa882fdcc75123c925396d10 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1574,6 +1574,10 @@ public class PurpurWorldConfig { +@@ -1607,6 +1607,10 @@ public class PurpurWorldConfig { public boolean snowGolemLeaveTrailWhenRidden = false; public double snowGolemMaxHealth = 4.0D; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 75ec9a5e012ba7bccfbd980a9b38a78239f2ec85..c08e2bd031aff2baa0ec5588b0c035f3 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1586,6 +1590,10 @@ public class PurpurWorldConfig { +@@ -1619,6 +1623,10 @@ public class PurpurWorldConfig { } snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0105-EMC-Configurable-disable-give-dropping.patch b/patches/server/0106-EMC-Configurable-disable-give-dropping.patch similarity index 100% rename from patches/server/0105-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0106-EMC-Configurable-disable-give-dropping.patch diff --git a/patches/server/0106-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0107-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 98% rename from patches/server/0106-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0107-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index f3ea47ce2..527b784f4 100644 --- a/patches/server/0106-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0107-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -174,10 +174,10 @@ index 1316f4475802e17039800cc6128e1b065328beb7..d02e2d1aceac651e06a3a3698b7ac64d "farmer", PoiTypes.FARMER, diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c08e2bd031aff2baa0ec5588b0c035f38949ca88..c6eeb701abd00f7a7772eac8ef5ed438228b3bb7 100644 +index 51d9cdfce0cdcf2daa882fdcc75123c925396d10..f20f4622871b840ba18a78bb0806028ba706f74e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1776,6 +1776,8 @@ public class PurpurWorldConfig { +@@ -1809,6 +1809,8 @@ public class PurpurWorldConfig { public boolean villagerCanBeLeashed = false; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -186,7 +186,7 @@ index c08e2bd031aff2baa0ec5588b0c035f38949ca88..c6eeb701abd00f7a7772eac8ef5ed438 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1790,6 +1792,8 @@ public class PurpurWorldConfig { +@@ -1823,6 +1825,8 @@ public class PurpurWorldConfig { villagerCanBeLeashed = getBoolean("mobs.villager.can-be-leashed", villagerCanBeLeashed); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0107-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0108-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 94% rename from patches/server/0107-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0108-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index 105b98b42..2f898ce18 100644 --- a/patches/server/0107-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0108-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 75c34d9fcc4b33d30b18f1ce4c8749a068744abc..6be751e2d434982a35bbbece4f4fc463 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c6eeb701abd00f7a7772eac8ef5ed438228b3bb7..a46f31d3e57b961af5b31534ff214399f4f33e83 100644 +index f20f4622871b840ba18a78bb0806028ba706f74e..d621f330f954a12635d8c87c5ff66dae7448a856 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2022,6 +2022,7 @@ public class PurpurWorldConfig { +@@ -2055,6 +2055,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index c6eeb701abd00f7a7772eac8ef5ed438228b3bb7..a46f31d3e57b961af5b31534ff214399 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2036,5 +2037,6 @@ public class PurpurWorldConfig { +@@ -2069,5 +2070,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/0108-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0109-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 98% rename from patches/server/0108-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0109-Configurable-chance-for-wolves-to-spawn-rabid.patch index cc73b95d7..b20a45261 100644 --- a/patches/server/0108-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0109-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -191,10 +191,10 @@ index 86574da257731de7646a712ed73384955fe35aa3..e223234dd64b0e41441c3b9f649f0b64 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a46f31d3e57b961af5b31534ff214399f4f33e83..9e9f874bcb0573f65afbe5137f1b223337cdf40d 100644 +index d621f330f954a12635d8c87c5ff66dae7448a856..fc0a733df7f0e851681bed1b22bfa6836812272a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1905,6 +1905,8 @@ public class PurpurWorldConfig { +@@ -1938,6 +1938,8 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -203,7 +203,7 @@ index a46f31d3e57b961af5b31534ff214399f4f33e83..9e9f874bcb0573f65afbe5137f1b2233 public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1916,6 +1918,8 @@ public class PurpurWorldConfig { +@@ -1949,6 +1951,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0109-Configurable-default-collar-color.patch b/patches/server/0110-Configurable-default-collar-color.patch similarity index 93% rename from patches/server/0109-Configurable-default-collar-color.patch rename to patches/server/0110-Configurable-default-collar-color.patch index b77b75628..784a1651c 100644 --- a/patches/server/0109-Configurable-default-collar-color.patch +++ b/patches/server/0110-Configurable-default-collar-color.patch @@ -43,10 +43,10 @@ index 5c74febb5ff6632a35f856717a6c44df38c1d329..0364c0ded7842a86043c9c925bb123aa protected void registerGoals() { this.goalSelector.addGoal(1, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9e9f874bcb0573f65afbe5137f1b223337cdf40d..5120330969bb220162da27762a6a7e202d64c120 100644 +index fc0a733df7f0e851681bed1b22bfa6836812272a..d73268340e5201181f42084fbe47883a22d062cc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -589,6 +589,7 @@ public class PurpurWorldConfig { +@@ -622,6 +622,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -54,7 +54,7 @@ index 9e9f874bcb0573f65afbe5137f1b223337cdf40d..5120330969bb220162da27762a6a7e20 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -603,6 +604,11 @@ public class PurpurWorldConfig { +@@ -636,6 +637,11 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -66,7 +66,7 @@ index 9e9f874bcb0573f65afbe5137f1b223337cdf40d..5120330969bb220162da27762a6a7e20 } public boolean caveSpiderRidable = false; -@@ -1905,6 +1911,7 @@ public class PurpurWorldConfig { +@@ -1938,6 +1944,7 @@ public class PurpurWorldConfig { public boolean wolfRidableInWater = true; public boolean wolfControllable = true; public double wolfMaxHealth = 8.0D; @@ -74,7 +74,7 @@ index 9e9f874bcb0573f65afbe5137f1b223337cdf40d..5120330969bb220162da27762a6a7e20 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1918,6 +1925,11 @@ public class PurpurWorldConfig { +@@ -1951,6 +1958,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0110-Phantom-flames-on-swoop.patch b/patches/server/0111-Phantom-flames-on-swoop.patch similarity index 91% rename from patches/server/0110-Phantom-flames-on-swoop.patch rename to patches/server/0111-Phantom-flames-on-swoop.patch index 386b9dfd8..2c374a8b6 100644 --- a/patches/server/0110-Phantom-flames-on-swoop.patch +++ b/patches/server/0111-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index 1ddccb9fa438682c2ebad7c071c7a4f8dd00b463..c15d75472d4d92baeb87a147832e17e3 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5120330969bb220162da27762a6a7e202d64c120..8253c912bad1de3a1c1413689833a1b6a8e5869c 100644 +index d73268340e5201181f42084fbe47883a22d062cc..4fbd94117f356388a40d1a7f7faf75b08e6b7dbe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1267,6 +1267,7 @@ public class PurpurWorldConfig { +@@ -1300,6 +1300,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -28,7 +28,7 @@ index 5120330969bb220162da27762a6a7e202d64c120..8253c912bad1de3a1c1413689833a1b6 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1300,6 +1301,7 @@ public class PurpurWorldConfig { +@@ -1333,6 +1334,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); diff --git a/patches/server/0111-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0112-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 91% rename from patches/server/0111-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/server/0112-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 33889eece..d988e5ffb 100644 --- a/patches/server/0111-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0112-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,10 +17,10 @@ index 491474b66856fccb038ee436968c9a5d3e4bf75c..a66499c9bd9af9da5d261a3c1aa23b1d return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8253c912bad1de3a1c1413689833a1b6a8e5869c..81693a10dccd1559f4b6a4dc18780533716e710c 100644 +index 4fbd94117f356388a40d1a7f7faf75b08e6b7dbe..50bf456b7e87a77e50b938488abde4cf577d1228 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -387,6 +387,11 @@ public class PurpurWorldConfig { +@@ -420,6 +420,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0112-Implement-TPSBar.patch b/patches/server/0113-Implement-TPSBar.patch similarity index 100% rename from patches/server/0112-Implement-TPSBar.patch rename to patches/server/0113-Implement-TPSBar.patch diff --git a/patches/server/0113-Striders-give-saddle-back.patch b/patches/server/0114-Striders-give-saddle-back.patch similarity index 92% rename from patches/server/0113-Striders-give-saddle-back.patch rename to patches/server/0114-Striders-give-saddle-back.patch index aa7af7e7c..2455ebac4 100644 --- a/patches/server/0113-Striders-give-saddle-back.patch +++ b/patches/server/0114-Striders-give-saddle-back.patch @@ -29,10 +29,10 @@ index 5f1166ccd64509a70323e2713f3ab58674d83105..741eedcd9e0e29b57d2b3caf5aef1aef if (!this.level().isClientSide) { player.startRiding(this); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 81693a10dccd1559f4b6a4dc18780533716e710c..a7a5e0565507460f0fee94f0ea867b5dfe11e276 100644 +index 50bf456b7e87a77e50b938488abde4cf577d1228..3f83dee1fc6a847d8f56cc230a6de1223d4f3964 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1679,6 +1679,7 @@ public class PurpurWorldConfig { +@@ -1712,6 +1712,7 @@ public class PurpurWorldConfig { public boolean striderControllable = true; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -40,7 +40,7 @@ index 81693a10dccd1559f4b6a4dc18780533716e710c..a7a5e0565507460f0fee94f0ea867b5d private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1690,6 +1691,7 @@ public class PurpurWorldConfig { +@@ -1723,6 +1724,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/0114-PlayerBookTooLargeEvent.patch b/patches/server/0115-PlayerBookTooLargeEvent.patch similarity index 100% rename from patches/server/0114-PlayerBookTooLargeEvent.patch rename to patches/server/0115-PlayerBookTooLargeEvent.patch diff --git a/patches/server/0115-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0116-Full-netherite-armor-grants-fire-resistance.patch similarity index 97% rename from patches/server/0115-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0116-Full-netherite-armor-grants-fire-resistance.patch index 02360f6c8..dc945aff1 100644 --- a/patches/server/0115-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0116-Full-netherite-armor-grants-fire-resistance.patch @@ -26,7 +26,7 @@ index a838f339dd0085660164b0eb1597e0a14e4de6f4..e7f45fe435f679afb4fabe657922d735 protected ItemCooldowns createItemCooldowns() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a7a5e0565507460f0fee94f0ea867b5dfe11e276..558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c 100644 +index 3f83dee1fc6a847d8f56cc230a6de1223d4f3964..66c4906cb9c3da6f111b96f0ad6be17772764125 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -295,6 +295,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0117-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 96% rename from patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0117-Add-mobGriefing-bypass-to-everything-affected.patch index a2156b806..019668575 100644 --- a/patches/server/0116-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0117-Add-mobGriefing-bypass-to-everything-affected.patch @@ -375,7 +375,7 @@ index c7377d04ceac3ea624117439783a443c6d6f6d08..0c732cfbd9ce50198a3f85ae8ef2263d } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e6034a276 100644 +index 66c4906cb9c3da6f111b96f0ad6be17772764125..51002cc2901b432123dfc6b3c130e26b3c3486a3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -115,8 +115,11 @@ public class PurpurWorldConfig { @@ -402,7 +402,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e 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); -@@ -412,9 +418,11 @@ public class PurpurWorldConfig { +@@ -445,9 +451,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -414,7 +414,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -439,6 +447,11 @@ public class PurpurWorldConfig { +@@ -472,6 +480,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } @@ -426,7 +426,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -468,10 +481,12 @@ public class PurpurWorldConfig { +@@ -501,10 +514,12 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromExpOrbs = false; public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; @@ -439,7 +439,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public int waterInfiniteRequiredSources = 2; -@@ -705,6 +720,7 @@ public class PurpurWorldConfig { +@@ -738,6 +753,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -447,7 +447,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -717,6 +733,7 @@ public class PurpurWorldConfig { +@@ -750,6 +766,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); @@ -455,7 +455,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean dolphinRidable = false; -@@ -811,6 +828,7 @@ public class PurpurWorldConfig { +@@ -844,6 +861,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 320D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -463,7 +463,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -827,6 +845,7 @@ public class PurpurWorldConfig { +@@ -860,6 +878,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -471,7 +471,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean endermanRidable = false; -@@ -835,6 +854,7 @@ public class PurpurWorldConfig { +@@ -868,6 +887,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -479,7 +479,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -847,6 +867,7 @@ public class PurpurWorldConfig { +@@ -880,6 +900,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); @@ -487,7 +487,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean endermiteRidable = false; -@@ -869,6 +890,7 @@ public class PurpurWorldConfig { +@@ -902,6 +923,7 @@ public class PurpurWorldConfig { public boolean evokerRidableInWater = true; public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; @@ -495,7 +495,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -879,6 +901,7 @@ public class PurpurWorldConfig { +@@ -912,6 +934,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -503,7 +503,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean foxRidable = false; -@@ -887,6 +910,7 @@ public class PurpurWorldConfig { +@@ -920,6 +943,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -511,7 +511,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -899,6 +923,7 @@ public class PurpurWorldConfig { +@@ -932,6 +956,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); @@ -519,7 +519,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean frogRidable = false; -@@ -1346,6 +1371,7 @@ public class PurpurWorldConfig { +@@ -1379,6 +1404,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = true; public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; @@ -527,7 +527,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1356,6 +1382,7 @@ public class PurpurWorldConfig { +@@ -1389,6 +1415,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -535,7 +535,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean piglinBruteRidable = false; -@@ -1378,6 +1405,7 @@ public class PurpurWorldConfig { +@@ -1411,6 +1438,7 @@ public class PurpurWorldConfig { public boolean pillagerRidableInWater = true; public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; @@ -543,7 +543,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1388,6 +1416,7 @@ public class PurpurWorldConfig { +@@ -1421,6 +1449,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -551,7 +551,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean polarBearRidable = false; -@@ -1434,6 +1463,7 @@ public class PurpurWorldConfig { +@@ -1467,6 +1496,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -559,7 +559,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1447,12 +1477,14 @@ public class PurpurWorldConfig { +@@ -1480,12 +1510,14 @@ public class PurpurWorldConfig { rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); @@ -574,7 +574,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1463,6 +1495,7 @@ public class PurpurWorldConfig { +@@ -1496,6 +1528,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -582,7 +582,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean salmonRidable = false; -@@ -1484,6 +1517,7 @@ public class PurpurWorldConfig { +@@ -1517,6 +1550,7 @@ public class PurpurWorldConfig { public boolean sheepControllable = true; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -590,7 +590,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1495,6 +1529,7 @@ public class PurpurWorldConfig { +@@ -1528,6 +1562,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -598,7 +598,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean shulkerRidable = false; -@@ -1517,6 +1552,7 @@ public class PurpurWorldConfig { +@@ -1550,6 +1585,7 @@ public class PurpurWorldConfig { public boolean silverfishRidableInWater = true; public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; @@ -606,7 +606,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1527,6 +1563,7 @@ public class PurpurWorldConfig { +@@ -1560,6 +1596,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -614,7 +614,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean skeletonRidable = false; -@@ -1604,6 +1641,7 @@ public class PurpurWorldConfig { +@@ -1637,6 +1674,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -622,7 +622,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1620,6 +1658,7 @@ public class PurpurWorldConfig { +@@ -1653,6 +1691,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); @@ -630,7 +630,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean snifferRidable = false; -@@ -1806,6 +1845,7 @@ public class PurpurWorldConfig { +@@ -1839,6 +1878,7 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -638,7 +638,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1822,6 +1862,7 @@ public class PurpurWorldConfig { +@@ -1855,6 +1895,7 @@ public class PurpurWorldConfig { villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -646,7 +646,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean vindicatorRidable = false; -@@ -1894,6 +1935,7 @@ public class PurpurWorldConfig { +@@ -1927,6 +1968,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -654,7 +654,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1911,6 +1953,7 @@ public class PurpurWorldConfig { +@@ -1944,6 +1986,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); @@ -662,7 +662,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e } public boolean witherSkeletonRidable = false; -@@ -1982,6 +2025,7 @@ public class PurpurWorldConfig { +@@ -2015,6 +2058,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -670,7 +670,7 @@ index 558f1b54c2b4a06e2bbf10e47c22ae9beeebf14c..4c1c68e0a758c99a694f8299e511562e private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1997,6 +2041,7 @@ public class PurpurWorldConfig { +@@ -2030,6 +2074,7 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0117-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0118-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 97% rename from patches/server/0117-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0118-Config-to-allow-Note-Block-sounds-when-blocked.patch index 05192560b..fe5cc46f7 100644 --- a/patches/server/0117-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0118-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -22,7 +22,7 @@ index 1d82cfe7af0dc42f88901fb0c44896771fdf8a93..43dd972b374daa1072608f3a68e812e7 // org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, pos, state.getValue(NoteBlock.INSTRUMENT), state.getValue(NoteBlock.NOTE)); // if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4c1c68e0a758c99a694f8299e511562e6034a276..eee986e5ab2214c2f9db594cc65d62cb8f61cef0 100644 +index 51002cc2901b432123dfc6b3c130e26b3c3486a3..30a95d4b18964c6b25beb4dbec84f03effc2145b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -118,6 +118,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0118-Add-EntityTeleportHinderedEvent.patch b/patches/server/0119-Add-EntityTeleportHinderedEvent.patch similarity index 99% rename from patches/server/0118-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0119-Add-EntityTeleportHinderedEvent.patch index 2e396d5da..19f49ec38 100644 --- a/patches/server/0118-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0119-Add-EntityTeleportHinderedEvent.patch @@ -104,7 +104,7 @@ index 33f229c13b3b77f967d81e9d4453e6afa9157fd9..485c742874defe0a8cf1e7db09406b03 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index eee986e5ab2214c2f9db594cc65d62cb8f61cef0..325ea4700422862213602bba1a0546887b45f3c9 100644 +index 30a95d4b18964c6b25beb4dbec84f03effc2145b..bed0ee3cac8d2acda872f5f3fcbd2b75a6ca3a0d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -117,6 +117,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0119-Farmland-trampling-changes.patch b/patches/server/0120-Farmland-trampling-changes.patch similarity index 95% rename from patches/server/0119-Farmland-trampling-changes.patch rename to patches/server/0120-Farmland-trampling-changes.patch index 5f1e91cde..e48e6ca91 100644 --- a/patches/server/0119-Farmland-trampling-changes.patch +++ b/patches/server/0120-Farmland-trampling-changes.patch @@ -37,10 +37,10 @@ index 99798220b6e0ad06db2ba5c9b74bfb72af185fee..12a0c69f8fec30fad64cbb00af2ca1bb if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState())) { return; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 325ea4700422862213602bba1a0546887b45f3c9..a5e2f5d66da7a42311a22cdc6233964a27a0eddf 100644 +index bed0ee3cac8d2acda872f5f3fcbd2b75a6ca3a0d..91f204f313ee4b5a1f16416670e855d4e7177e51 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -425,10 +425,16 @@ public class PurpurWorldConfig { +@@ -458,10 +458,16 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0120-Movement-options-for-armor-stands.patch b/patches/server/0121-Movement-options-for-armor-stands.patch similarity index 98% rename from patches/server/0120-Movement-options-for-armor-stands.patch rename to patches/server/0121-Movement-options-for-armor-stands.patch index c2ddf5592..2e06519b9 100644 --- a/patches/server/0120-Movement-options-for-armor-stands.patch +++ b/patches/server/0121-Movement-options-for-armor-stands.patch @@ -66,7 +66,7 @@ index 8b25bb80a913cd002cdaeadf076d811172f10488..89f600edda9a1c5d1b132355fefb7eae + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a5e2f5d66da7a42311a22cdc6233964a27a0eddf..5b888502203ecfba12147da827c95ac2f24037b1 100644 +index 91f204f313ee4b5a1f16416670e855d4e7177e51..c0f62102bb2147d08666013c5ca5360a5bcf8e8b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -99,10 +99,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0121-Fix-stuck-in-portals.patch b/patches/server/0122-Fix-stuck-in-portals.patch similarity index 95% rename from patches/server/0121-Fix-stuck-in-portals.patch rename to patches/server/0122-Fix-stuck-in-portals.patch index 705472d25..79213b490 100644 --- a/patches/server/0121-Fix-stuck-in-portals.patch +++ b/patches/server/0122-Fix-stuck-in-portals.patch @@ -37,7 +37,7 @@ index 2f8b5646222b86fa7ef908c9796d28e034702ec7..1ec1f023d7eee5714c94dbb6c842444f this.isInsidePortal = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5b888502203ecfba12147da827c95ac2f24037b1..b31b47741c49e132ae9a93ee8f048dbf14fac440 100644 +index c0f62102bb2147d08666013c5ca5360a5bcf8e8b..780a13db057456e49690d90c368284752bafde3f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -333,6 +333,7 @@ public class PurpurWorldConfig { @@ -55,4 +55,4 @@ index 5b888502203ecfba12147da827c95ac2f24037b1..b31b47741c49e132ae9a93ee8f048dbf + playerFixStuckPortal = getBoolean("gameplay-mechanics.player.fix-stuck-in-portal", playerFixStuckPortal); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0122-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0123-Toggle-for-water-sensitive-mob-damage.patch similarity index 94% rename from patches/server/0122-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0123-Toggle-for-water-sensitive-mob-damage.patch index efb27443d..ef3c9f46f 100644 --- a/patches/server/0122-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0123-Toggle-for-water-sensitive-mob-damage.patch @@ -1199,10 +1199,10 @@ index 9d5eaaf1869a3ecb61947ab0c09af558fa1cd283..c192f4cc5fd9cb0cf40083c4297f649a protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f596e9110 100644 +index 780a13db057456e49690d90c368284752bafde3f..7e520532aec1dc38da84dce2dc8679d977a030ea 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -536,11 +536,13 @@ public class PurpurWorldConfig { +@@ -569,11 +569,13 @@ public class PurpurWorldConfig { public boolean axolotlControllable = true; public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; @@ -1216,7 +1216,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean batRidable = false; -@@ -555,6 +557,7 @@ public class PurpurWorldConfig { +@@ -588,6 +590,7 @@ public class PurpurWorldConfig { public double batArmor = 0.0D; public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; @@ -1224,7 +1224,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -573,6 +576,7 @@ public class PurpurWorldConfig { +@@ -606,6 +609,7 @@ public class PurpurWorldConfig { batArmor = getDouble("mobs.bat.attributes.armor", batArmor); batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness); batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback); @@ -1232,7 +1232,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean beeRidable = false; -@@ -581,6 +585,7 @@ public class PurpurWorldConfig { +@@ -614,6 +618,7 @@ public class PurpurWorldConfig { public double beeMaxY = 320D; public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; @@ -1240,7 +1240,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -593,6 +598,7 @@ public class PurpurWorldConfig { +@@ -626,6 +631,7 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); @@ -1248,7 +1248,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean blazeRidable = false; -@@ -600,6 +606,7 @@ public class PurpurWorldConfig { +@@ -633,6 +639,7 @@ public class PurpurWorldConfig { public boolean blazeControllable = true; public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; @@ -1256,7 +1256,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -611,6 +618,7 @@ public class PurpurWorldConfig { +@@ -644,6 +651,7 @@ public class PurpurWorldConfig { set("mobs.blaze.attributes.max_health", oldValue); } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); @@ -1264,7 +1264,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean camelRidableInWater = false; -@@ -641,6 +649,7 @@ public class PurpurWorldConfig { +@@ -674,6 +682,7 @@ public class PurpurWorldConfig { public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; @@ -1272,7 +1272,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -660,12 +669,14 @@ public class PurpurWorldConfig { +@@ -693,12 +702,14 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { catDefaultCollarColor = DyeColor.RED; } @@ -1287,7 +1287,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -676,6 +687,7 @@ public class PurpurWorldConfig { +@@ -709,6 +720,7 @@ public class PurpurWorldConfig { set("mobs.cave_spider.attributes.max_health", oldValue); } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); @@ -1295,7 +1295,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean chickenRidable = false; -@@ -684,6 +696,7 @@ public class PurpurWorldConfig { +@@ -717,6 +729,7 @@ public class PurpurWorldConfig { public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; @@ -1303,7 +1303,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -696,11 +709,13 @@ public class PurpurWorldConfig { +@@ -729,11 +742,13 @@ public class PurpurWorldConfig { chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); @@ -1317,7 +1317,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -710,6 +725,7 @@ public class PurpurWorldConfig { +@@ -743,6 +758,7 @@ public class PurpurWorldConfig { set("mobs.cod.attributes.max_health", oldValue); } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); @@ -1325,7 +1325,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean cowRidable = false; -@@ -718,6 +734,7 @@ public class PurpurWorldConfig { +@@ -751,6 +767,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; @@ -1333,7 +1333,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -730,6 +747,7 @@ public class PurpurWorldConfig { +@@ -763,6 +780,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); @@ -1341,7 +1341,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean creeperRidable = false; -@@ -739,6 +757,7 @@ public class PurpurWorldConfig { +@@ -772,6 +790,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -1349,7 +1349,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -752,6 +771,7 @@ public class PurpurWorldConfig { +@@ -785,6 +804,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); @@ -1357,7 +1357,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean dolphinRidable = false; -@@ -761,6 +781,7 @@ public class PurpurWorldConfig { +@@ -794,6 +814,7 @@ public class PurpurWorldConfig { public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; @@ -1365,7 +1365,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -774,6 +795,7 @@ public class PurpurWorldConfig { +@@ -807,6 +828,7 @@ public class PurpurWorldConfig { } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); @@ -1373,7 +1373,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean donkeyRidableInWater = false; -@@ -784,6 +806,7 @@ public class PurpurWorldConfig { +@@ -817,6 +839,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; @@ -1381,7 +1381,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -800,6 +823,7 @@ public class PurpurWorldConfig { +@@ -833,6 +856,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); @@ -1389,7 +1389,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean drownedRidable = false; -@@ -810,6 +834,7 @@ public class PurpurWorldConfig { +@@ -843,6 +867,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -1397,7 +1397,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -824,11 +849,13 @@ public class PurpurWorldConfig { +@@ -857,11 +882,13 @@ 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); @@ -1411,7 +1411,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -838,6 +865,7 @@ public class PurpurWorldConfig { +@@ -871,6 +898,7 @@ public class PurpurWorldConfig { set("mobs.elder_guardian.attributes.max_health", oldValue); } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); @@ -1419,7 +1419,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean enderDragonRidable = false; -@@ -847,6 +875,7 @@ public class PurpurWorldConfig { +@@ -880,6 +908,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -1427,7 +1427,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -864,6 +893,7 @@ public class PurpurWorldConfig { +@@ -897,6 +926,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); @@ -1435,7 +1435,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean endermanRidable = false; -@@ -873,6 +903,7 @@ public class PurpurWorldConfig { +@@ -906,6 +936,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -1443,7 +1443,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -886,12 +917,14 @@ public class PurpurWorldConfig { +@@ -919,12 +950,14 @@ 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); @@ -1458,7 +1458,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -902,6 +935,7 @@ public class PurpurWorldConfig { +@@ -935,6 +968,7 @@ public class PurpurWorldConfig { set("mobs.endermite.attributes.max_health", oldValue); } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); @@ -1466,7 +1466,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean evokerRidable = false; -@@ -909,6 +943,7 @@ public class PurpurWorldConfig { +@@ -942,6 +976,7 @@ public class PurpurWorldConfig { public boolean evokerControllable = true; public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; @@ -1474,7 +1474,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -920,6 +955,7 @@ public class PurpurWorldConfig { +@@ -953,6 +988,7 @@ public class PurpurWorldConfig { } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); @@ -1482,7 +1482,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean foxRidable = false; -@@ -929,6 +965,7 @@ public class PurpurWorldConfig { +@@ -962,6 +998,7 @@ public class PurpurWorldConfig { public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; @@ -1490,7 +1490,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -942,6 +979,7 @@ public class PurpurWorldConfig { +@@ -975,6 +1012,7 @@ public class PurpurWorldConfig { foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); @@ -1498,7 +1498,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean frogRidable = false; -@@ -962,6 +1000,7 @@ public class PurpurWorldConfig { +@@ -995,6 +1033,7 @@ public class PurpurWorldConfig { public boolean ghastControllable = true; public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; @@ -1506,7 +1506,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -973,6 +1012,7 @@ public class PurpurWorldConfig { +@@ -1006,6 +1045,7 @@ public class PurpurWorldConfig { set("mobs.ghast.attributes.max_health", oldValue); } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); @@ -1514,7 +1514,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean giantRidable = false; -@@ -985,6 +1025,7 @@ public class PurpurWorldConfig { +@@ -1018,6 +1058,7 @@ public class PurpurWorldConfig { public float giantJumpHeight = 1.0F; public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; @@ -1522,7 +1522,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1005,17 +1046,20 @@ public class PurpurWorldConfig { +@@ -1038,17 +1079,20 @@ public class PurpurWorldConfig { giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); @@ -1543,7 +1543,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean goatRidable = false; -@@ -1023,17 +1067,20 @@ public class PurpurWorldConfig { +@@ -1056,17 +1100,20 @@ public class PurpurWorldConfig { public boolean goatControllable = true; public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; @@ -1564,7 +1564,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1043,6 +1090,7 @@ public class PurpurWorldConfig { +@@ -1076,6 +1123,7 @@ public class PurpurWorldConfig { set("mobs.guardian.attributes.max_health", oldValue); } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); @@ -1572,7 +1572,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean hoglinRidable = false; -@@ -1050,6 +1098,7 @@ public class PurpurWorldConfig { +@@ -1083,6 +1131,7 @@ public class PurpurWorldConfig { public boolean hoglinControllable = true; public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; @@ -1580,7 +1580,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1061,6 +1110,7 @@ public class PurpurWorldConfig { +@@ -1094,6 +1143,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); @@ -1588,7 +1588,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean horseRidableInWater = false; -@@ -1071,6 +1121,7 @@ public class PurpurWorldConfig { +@@ -1104,6 +1154,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -1596,7 +1596,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1087,6 +1138,7 @@ public class PurpurWorldConfig { +@@ -1120,6 +1171,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); @@ -1604,7 +1604,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean huskRidable = false; -@@ -1097,6 +1149,7 @@ public class PurpurWorldConfig { +@@ -1130,6 +1182,7 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1612,7 +1612,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1111,6 +1164,7 @@ public class PurpurWorldConfig { +@@ -1144,6 +1197,7 @@ public class PurpurWorldConfig { huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); @@ -1620,7 +1620,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean illusionerRidable = false; -@@ -1119,6 +1173,7 @@ public class PurpurWorldConfig { +@@ -1152,6 +1206,7 @@ public class PurpurWorldConfig { public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; @@ -1628,7 +1628,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1135,6 +1190,7 @@ public class PurpurWorldConfig { +@@ -1168,6 +1223,7 @@ public class PurpurWorldConfig { set("mobs.illusioner.attributes.max_health", oldValue); } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); @@ -1636,7 +1636,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean ironGolemRidable = false; -@@ -1142,6 +1198,7 @@ public class PurpurWorldConfig { +@@ -1175,6 +1231,7 @@ public class PurpurWorldConfig { public boolean ironGolemControllable = true; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -1644,7 +1644,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1153,6 +1210,7 @@ public class PurpurWorldConfig { +@@ -1186,6 +1243,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); @@ -1652,7 +1652,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean llamaRidable = false; -@@ -1165,6 +1223,7 @@ public class PurpurWorldConfig { +@@ -1198,6 +1256,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -1660,7 +1660,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1183,6 +1242,7 @@ public class PurpurWorldConfig { +@@ -1216,6 +1275,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); @@ -1668,7 +1668,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean magmaCubeRidable = false; -@@ -1192,6 +1252,7 @@ public class PurpurWorldConfig { +@@ -1225,6 +1285,7 @@ public class PurpurWorldConfig { public String magmaCubeAttackDamage = "size"; public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); @@ -1676,7 +1676,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1205,6 +1266,7 @@ public class PurpurWorldConfig { +@@ -1238,6 +1299,7 @@ public class PurpurWorldConfig { magmaCubeAttackDamage = getString("mobs.magma_cube.attributes.attack_damage", magmaCubeAttackDamage); magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); @@ -1684,7 +1684,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean mooshroomRidable = false; -@@ -1212,6 +1274,7 @@ public class PurpurWorldConfig { +@@ -1245,6 +1307,7 @@ public class PurpurWorldConfig { public boolean mooshroomControllable = true; public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; @@ -1692,7 +1692,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1223,6 +1286,7 @@ public class PurpurWorldConfig { +@@ -1256,6 +1319,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1700,7 +1700,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean muleRidableInWater = false; -@@ -1233,6 +1297,7 @@ public class PurpurWorldConfig { +@@ -1266,6 +1330,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1708,7 +1708,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1249,6 +1314,7 @@ public class PurpurWorldConfig { +@@ -1282,6 +1347,7 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1716,7 +1716,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean ocelotRidable = false; -@@ -1256,6 +1322,7 @@ public class PurpurWorldConfig { +@@ -1289,6 +1355,7 @@ public class PurpurWorldConfig { public boolean ocelotControllable = true; public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; @@ -1724,7 +1724,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1267,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1300,6 +1367,7 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1732,7 +1732,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean pandaRidable = false; -@@ -1274,6 +1342,7 @@ public class PurpurWorldConfig { +@@ -1307,6 +1375,7 @@ public class PurpurWorldConfig { public boolean pandaControllable = true; public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; @@ -1740,7 +1740,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1285,6 +1354,7 @@ public class PurpurWorldConfig { +@@ -1318,6 +1387,7 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1748,7 +1748,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean parrotRidable = false; -@@ -1292,6 +1362,7 @@ public class PurpurWorldConfig { +@@ -1325,6 +1395,7 @@ public class PurpurWorldConfig { public boolean parrotControllable = true; public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; @@ -1756,7 +1756,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1303,6 +1374,7 @@ public class PurpurWorldConfig { +@@ -1336,6 +1407,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); @@ -1764,7 +1764,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean phantomRidable = false; -@@ -1329,6 +1401,7 @@ public class PurpurWorldConfig { +@@ -1362,6 +1434,7 @@ public class PurpurWorldConfig { public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; @@ -1772,7 +1772,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1363,6 +1436,7 @@ public class PurpurWorldConfig { +@@ -1396,6 +1469,7 @@ public class PurpurWorldConfig { phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); @@ -1780,7 +1780,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean pigRidable = false; -@@ -1371,6 +1445,7 @@ public class PurpurWorldConfig { +@@ -1404,6 +1478,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1788,7 +1788,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1383,6 +1458,7 @@ public class PurpurWorldConfig { +@@ -1416,6 +1491,7 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1796,7 +1796,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean piglinRidable = false; -@@ -1390,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1423,6 +1499,7 @@ public class PurpurWorldConfig { public boolean piglinControllable = true; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -1804,7 +1804,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1401,12 +1478,14 @@ public class PurpurWorldConfig { +@@ -1434,12 +1511,14 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1819,7 +1819,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1417,6 +1496,7 @@ public class PurpurWorldConfig { +@@ -1450,6 +1529,7 @@ public class PurpurWorldConfig { set("mobs.piglin_brute.attributes.max_health", oldValue); } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); @@ -1827,7 +1827,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean pillagerRidable = false; -@@ -1424,6 +1504,7 @@ public class PurpurWorldConfig { +@@ -1457,6 +1537,7 @@ public class PurpurWorldConfig { public boolean pillagerControllable = true; public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; @@ -1835,7 +1835,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1435,6 +1516,7 @@ public class PurpurWorldConfig { +@@ -1468,6 +1549,7 @@ public class PurpurWorldConfig { } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1843,7 +1843,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean polarBearRidable = false; -@@ -1444,6 +1526,7 @@ public class PurpurWorldConfig { +@@ -1477,6 +1559,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1851,7 +1851,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1458,11 +1541,13 @@ public class PurpurWorldConfig { +@@ -1491,11 +1574,13 @@ public class PurpurWorldConfig { Item item = BuiltInRegistries.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1865,7 +1865,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -1472,6 +1557,7 @@ public class PurpurWorldConfig { +@@ -1505,6 +1590,7 @@ public class PurpurWorldConfig { set("mobs.pufferfish.attributes.max_health", oldValue); } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); @@ -1873,7 +1873,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean rabbitRidable = false; -@@ -1482,6 +1568,7 @@ public class PurpurWorldConfig { +@@ -1515,6 +1601,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1881,7 +1881,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1496,6 +1583,7 @@ public class PurpurWorldConfig { +@@ -1529,6 +1616,7 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1889,7 +1889,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean ravagerRidable = false; -@@ -1503,6 +1591,7 @@ public class PurpurWorldConfig { +@@ -1536,6 +1624,7 @@ public class PurpurWorldConfig { public boolean ravagerControllable = true; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -1897,7 +1897,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1514,11 +1603,13 @@ public class PurpurWorldConfig { +@@ -1547,11 +1636,13 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1911,7 +1911,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -1528,6 +1619,7 @@ public class PurpurWorldConfig { +@@ -1561,6 +1652,7 @@ public class PurpurWorldConfig { set("mobs.salmon.attributes.max_health", oldValue); } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); @@ -1919,7 +1919,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean sheepRidable = false; -@@ -1536,6 +1628,7 @@ public class PurpurWorldConfig { +@@ -1569,6 +1661,7 @@ public class PurpurWorldConfig { public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1927,7 +1927,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1548,12 +1641,14 @@ public class PurpurWorldConfig { +@@ -1581,12 +1674,14 @@ public class PurpurWorldConfig { sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1942,7 +1942,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1564,6 +1659,7 @@ public class PurpurWorldConfig { +@@ -1597,6 +1692,7 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); @@ -1950,7 +1950,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean silverfishRidable = false; -@@ -1571,6 +1667,7 @@ public class PurpurWorldConfig { +@@ -1604,6 +1700,7 @@ public class PurpurWorldConfig { public boolean silverfishControllable = true; public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; @@ -1958,7 +1958,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1582,12 +1679,14 @@ public class PurpurWorldConfig { +@@ -1615,12 +1712,14 @@ public class PurpurWorldConfig { } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1973,7 +1973,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1598,6 +1697,7 @@ public class PurpurWorldConfig { +@@ -1631,6 +1730,7 @@ public class PurpurWorldConfig { set("mobs.skeleton.attributes.max_health", oldValue); } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); @@ -1981,7 +1981,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean skeletonHorseRidable = false; -@@ -1609,6 +1709,7 @@ public class PurpurWorldConfig { +@@ -1642,6 +1742,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -1989,7 +1989,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -1625,6 +1726,7 @@ public class PurpurWorldConfig { +@@ -1658,6 +1759,7 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -1997,7 +1997,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean slimeRidable = false; -@@ -1634,6 +1736,7 @@ public class PurpurWorldConfig { +@@ -1667,6 +1769,7 @@ public class PurpurWorldConfig { public String slimeAttackDamage = "size"; public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); @@ -2005,7 +2005,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1647,6 +1750,7 @@ public class PurpurWorldConfig { +@@ -1680,6 +1783,7 @@ public class PurpurWorldConfig { slimeAttackDamage = getString("mobs.slime.attributes.attack_damage", slimeAttackDamage); slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); @@ -2013,7 +2013,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean snowGolemRidable = false; -@@ -1660,6 +1764,7 @@ public class PurpurWorldConfig { +@@ -1693,6 +1797,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -2021,7 +2021,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1677,6 +1782,7 @@ public class PurpurWorldConfig { +@@ -1710,6 +1815,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); @@ -2029,7 +2029,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean snifferRidable = false; -@@ -1698,6 +1804,7 @@ public class PurpurWorldConfig { +@@ -1731,6 +1837,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -2037,7 +2037,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -1710,12 +1817,14 @@ public class PurpurWorldConfig { +@@ -1743,12 +1850,14 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -2052,7 +2052,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1726,12 +1835,14 @@ public class PurpurWorldConfig { +@@ -1759,12 +1868,14 @@ public class PurpurWorldConfig { set("mobs.spider.attributes.max_health", oldValue); } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); @@ -2067,7 +2067,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1742,6 +1853,7 @@ public class PurpurWorldConfig { +@@ -1775,6 +1886,7 @@ public class PurpurWorldConfig { set("mobs.stray.attributes.max_health", oldValue); } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); @@ -2075,7 +2075,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean striderRidable = false; -@@ -1750,6 +1862,7 @@ public class PurpurWorldConfig { +@@ -1783,6 +1895,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2083,7 +2083,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1762,6 +1875,7 @@ public class PurpurWorldConfig { +@@ -1795,6 +1908,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); @@ -2091,7 +2091,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean tadpoleRidable = false; -@@ -1783,6 +1897,7 @@ public class PurpurWorldConfig { +@@ -1816,6 +1930,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2099,7 +2099,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1801,11 +1916,13 @@ public class PurpurWorldConfig { +@@ -1834,11 +1949,13 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2113,7 +2113,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -1815,6 +1932,7 @@ public class PurpurWorldConfig { +@@ -1848,6 +1965,7 @@ public class PurpurWorldConfig { set("mobs.tropical_fish.attributes.max_health", oldValue); } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); @@ -2121,7 +2121,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean turtleRidable = false; -@@ -1822,6 +1940,7 @@ public class PurpurWorldConfig { +@@ -1855,6 +1973,7 @@ public class PurpurWorldConfig { public boolean turtleControllable = true; public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; @@ -2129,7 +2129,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1833,6 +1952,7 @@ public class PurpurWorldConfig { +@@ -1866,6 +1985,7 @@ public class PurpurWorldConfig { } turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2137,7 +2137,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean vexRidable = false; -@@ -1840,6 +1960,7 @@ public class PurpurWorldConfig { +@@ -1873,6 +1993,7 @@ public class PurpurWorldConfig { public boolean vexControllable = true; public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; @@ -2145,7 +2145,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -1851,6 +1972,7 @@ public class PurpurWorldConfig { +@@ -1884,6 +2005,7 @@ public class PurpurWorldConfig { set("mobs.vex.attributes.max_health", oldValue); } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); @@ -2153,7 +2153,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean villagerRidable = false; -@@ -1864,6 +1986,7 @@ public class PurpurWorldConfig { +@@ -1897,6 +2019,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2161,7 +2161,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1881,6 +2004,7 @@ public class PurpurWorldConfig { +@@ -1914,6 +2037,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); @@ -2169,7 +2169,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean vindicatorRidable = false; -@@ -1888,6 +2012,7 @@ public class PurpurWorldConfig { +@@ -1921,6 +2045,7 @@ public class PurpurWorldConfig { public boolean vindicatorControllable = true; public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; @@ -2177,7 +2177,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1899,6 +2024,7 @@ public class PurpurWorldConfig { +@@ -1932,6 +2057,7 @@ public class PurpurWorldConfig { } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2185,7 +2185,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean wanderingTraderRidable = false; -@@ -1907,6 +2033,7 @@ public class PurpurWorldConfig { +@@ -1940,6 +2066,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2193,7 +2193,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1919,6 +2046,7 @@ public class PurpurWorldConfig { +@@ -1952,6 +2079,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); @@ -2201,7 +2201,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean wardenRidable = false; -@@ -1934,6 +2062,7 @@ public class PurpurWorldConfig { +@@ -1967,6 +2095,7 @@ public class PurpurWorldConfig { public boolean witchRidableInWater = true; public boolean witchControllable = true; public double witchMaxHealth = 26.0D; @@ -2209,7 +2209,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -1944,6 +2073,7 @@ public class PurpurWorldConfig { +@@ -1977,6 +2106,7 @@ public class PurpurWorldConfig { set("mobs.witch.attributes.max_health", oldValue); } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); @@ -2217,7 +2217,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean witherRidable = false; -@@ -1954,6 +2084,7 @@ public class PurpurWorldConfig { +@@ -1987,6 +2117,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2225,7 +2225,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1972,12 +2103,14 @@ public class PurpurWorldConfig { +@@ -2005,12 +2136,14 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); @@ -2240,7 +2240,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -1988,6 +2121,7 @@ public class PurpurWorldConfig { +@@ -2021,6 +2154,7 @@ public class PurpurWorldConfig { set("mobs.wither_skeleton.attributes.max_health", oldValue); } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); @@ -2248,7 +2248,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean wolfRidable = false; -@@ -1998,6 +2132,7 @@ public class PurpurWorldConfig { +@@ -2031,6 +2165,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2256,7 +2256,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2016,12 +2151,14 @@ public class PurpurWorldConfig { +@@ -2049,12 +2184,14 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2271,7 +2271,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2032,6 +2169,7 @@ public class PurpurWorldConfig { +@@ -2065,6 +2202,7 @@ public class PurpurWorldConfig { set("mobs.zoglin.attributes.max_health", oldValue); } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); @@ -2279,7 +2279,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean zombieRidable = false; -@@ -2044,6 +2182,7 @@ public class PurpurWorldConfig { +@@ -2077,6 +2215,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2287,7 +2287,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2060,6 +2199,7 @@ public class PurpurWorldConfig { +@@ -2093,6 +2232,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2295,7 +2295,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean zombieHorseRidable = false; -@@ -2072,6 +2212,7 @@ public class PurpurWorldConfig { +@@ -2105,6 +2245,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2303,7 +2303,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -2089,6 +2230,7 @@ public class PurpurWorldConfig { +@@ -2122,6 +2263,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2311,7 +2311,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean zombieVillagerRidable = false; -@@ -2099,6 +2241,7 @@ public class PurpurWorldConfig { +@@ -2132,6 +2274,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2319,7 +2319,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2113,6 +2256,7 @@ public class PurpurWorldConfig { +@@ -2146,6 +2289,7 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); @@ -2327,7 +2327,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f } public boolean zombifiedPiglinRidable = false; -@@ -2124,6 +2268,7 @@ public class PurpurWorldConfig { +@@ -2157,6 +2301,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2335,7 +2335,7 @@ index b31b47741c49e132ae9a93ee8f048dbf14fac440..de166b51b0f8d41b5e5da282bf912f8f private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2139,5 +2284,6 @@ public class PurpurWorldConfig { +@@ -2172,5 +2317,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); diff --git a/patches/server/0123-Config-to-always-tame-in-Creative.patch b/patches/server/0124-Config-to-always-tame-in-Creative.patch similarity index 98% rename from patches/server/0123-Config-to-always-tame-in-Creative.patch rename to patches/server/0124-Config-to-always-tame-in-Creative.patch index b2ff0cba7..4088c7e41 100644 --- a/patches/server/0123-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0124-Config-to-always-tame-in-Creative.patch @@ -59,7 +59,7 @@ index cfcfa1dfb6d0512124ac226c2dc8274c837c21dd..4a866ba9ac3ce9403d490f48df88ab33 this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index de166b51b0f8d41b5e5da282bf912f8f596e9110..0415b122b8efe73d7d2071070bc6169de082090d 100644 +index 7e520532aec1dc38da84dce2dc8679d977a030ea..75c9c93f808b624370a2820a93f625a599093b5c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -117,6 +117,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0124-End-crystal-explosion-options.patch b/patches/server/0125-End-crystal-explosion-options.patch similarity index 97% rename from patches/server/0124-End-crystal-explosion-options.patch rename to patches/server/0125-End-crystal-explosion-options.patch index 0357778ba..bb314bae2 100644 --- a/patches/server/0124-End-crystal-explosion-options.patch +++ b/patches/server/0125-End-crystal-explosion-options.patch @@ -53,10 +53,10 @@ index 2bac39e5ba09e08d23d2a4be37f7fe0da0ce71a6..8c6ce06a1845832c8b0de654657788d2 this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0415b122b8efe73d7d2071070bc6169de082090d..7f7082a36736f78464867867f45e7c697716ec22 100644 +index 75c9c93f808b624370a2820a93f625a599093b5c..9de44dd59e69d709490290cf07b7c75889ac8387 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -432,6 +432,43 @@ public class PurpurWorldConfig { +@@ -465,6 +465,43 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0125-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0126-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 92% rename from patches/server/0125-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/server/0126-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 9e2220802..8e440c4a0 100644 --- a/patches/server/0125-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0126-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index 948e5747d8d280695dd903a29b9c9f9dae9a44c1..6752a0039fac041e9bdd25327cdf20d3 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7f7082a36736f78464867867f45e7c697716ec22..3f2bb23999594cc9f7f41f8a7f775c6d5bcded54 100644 +index 9de44dd59e69d709490290cf07b7c75889ac8387..d56aa23ea97e6cd7e1b5824fc46d1b6c0ee23a2d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -915,6 +915,7 @@ public class PurpurWorldConfig { +@@ -948,6 +948,7 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonTakeDamageFromWater = false; @@ -40,7 +40,7 @@ index 7f7082a36736f78464867867f45e7c697716ec22..3f2bb23999594cc9f7f41f8a7f775c6d private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -933,6 +934,7 @@ public class PurpurWorldConfig { +@@ -966,6 +967,7 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater); @@ -48,7 +48,7 @@ index 7f7082a36736f78464867867f45e7c697716ec22..3f2bb23999594cc9f7f41f8a7f775c6d } public boolean endermanRidable = false; -@@ -2124,6 +2126,7 @@ public class PurpurWorldConfig { +@@ -2157,6 +2159,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 7f7082a36736f78464867867f45e7c697716ec22..3f2bb23999594cc9f7f41f8a7f775c6d private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2143,6 +2146,7 @@ public class PurpurWorldConfig { +@@ -2176,6 +2179,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0126-Dont-run-with-scissors.patch b/patches/server/0127-Dont-run-with-scissors.patch similarity index 99% rename from patches/server/0126-Dont-run-with-scissors.patch rename to patches/server/0127-Dont-run-with-scissors.patch index 2168cdf7f..6df59668d 100644 --- a/patches/server/0126-Dont-run-with-scissors.patch +++ b/patches/server/0127-Dont-run-with-scissors.patch @@ -149,7 +149,7 @@ index 57734b187e3a66d0d244db2f7968256884957ff2..6714c095714c3a34464b9190be964cea public static String serverModName = "Purpur"; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3f2bb23999594cc9f7f41f8a7f775c6d5bcded54..c4a7595f2199167e3e3d1efec60a647960f3099d 100644 +index d56aa23ea97e6cd7e1b5824fc46d1b6c0ee23a2d..3f07fa6eec5efb308d6ec10ddb036c4774031a32 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -197,6 +197,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0127-One-Punch-Man.patch b/patches/server/0128-One-Punch-Man.patch similarity index 94% rename from patches/server/0127-One-Punch-Man.patch rename to patches/server/0128-One-Punch-Man.patch index 7e6cfde80..8c548bd62 100644 --- a/patches/server/0127-One-Punch-Man.patch +++ b/patches/server/0128-One-Punch-Man.patch @@ -31,7 +31,7 @@ index dc1c7c55fd13cc1a8ade803bfb1b7c385cf29132..0b4384b6898ad591b8b9256b24273594 if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c4a7595f2199167e3e3d1efec60a647960f3099d..6c5acac4ae04eeab5fde9996b0150d0846e5beed 100644 +index 3f07fa6eec5efb308d6ec10ddb036c4774031a32..5f01c0d1277e1aa910208a3b9308c427b6e22cdb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -344,6 +344,7 @@ public class PurpurWorldConfig { @@ -49,4 +49,4 @@ index c4a7595f2199167e3e3d1efec60a647960f3099d..6c5acac4ae04eeab5fde9996b0150d08 + creativeOnePunch = getBoolean("gameplay-mechanics.player.one-punch-in-creative", creativeOnePunch); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0128-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0129-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 98% rename from patches/server/0128-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/server/0129-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index ccc471c27..4248c4ebc 100644 --- a/patches/server/0128-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0129-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,7 +43,7 @@ index 20a91d798d31a71b3c05efa2cc5bda55494e26cc..fc62754f93bd11a10c28b8b7b116e9ff // Paper end - PlayerLaunchProjectileEvent if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6c5acac4ae04eeab5fde9996b0150d0846e5beed..3c105b83599b7959f17661bc2a8c2ffd1116835b 100644 +index 5f01c0d1277e1aa910208a3b9308c427b6e22cdb..a71ce1e255bbb469d3c0a20853450130589af326 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -201,6 +201,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0129-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0130-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 93% rename from patches/server/0129-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/server/0130-Config-to-ignore-nearby-mobs-when-sleeping.patch index 359004bef..29cc238c3 100644 --- a/patches/server/0129-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0130-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -18,7 +18,7 @@ index 146c2e46e0fb9a9358484a054f716d72b9750ed8..c9458551b1da419f484e9dce6b3fba8d } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3c105b83599b7959f17661bc2a8c2ffd1116835b..5754516ad5fda5950813ede6b057a757a13f8bdb 100644 +index a71ce1e255bbb469d3c0a20853450130589af326..afcde828b7f39affd26cf3a52b744e0b37140694 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -353,6 +353,7 @@ public class PurpurWorldConfig { @@ -36,4 +36,4 @@ index 3c105b83599b7959f17661bc2a8c2ffd1116835b..5754516ad5fda5950813ede6b057a757 + playerSleepNearMonsters = getBoolean("gameplay-mechanics.player.sleep-ignore-nearby-mobs", playerSleepNearMonsters); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0130-Add-back-player-spawned-endermite-API.patch b/patches/server/0131-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/server/0130-Add-back-player-spawned-endermite-API.patch rename to patches/server/0131-Add-back-player-spawned-endermite-API.patch diff --git a/patches/server/0131-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0132-Config-Enderman-aggressiveness-towards-Endermites.patch similarity index 94% rename from patches/server/0131-Config-Enderman-aggressiveness-towards-Endermites.patch rename to patches/server/0132-Config-Enderman-aggressiveness-towards-Endermites.patch index 8b84130fc..0ef7d7bfe 100644 --- a/patches/server/0131-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0132-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 17b044e58d2ed33ed16e60f4fd4f63b2ee3f854d..4821aec304399c64cbcff741334567a0 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5754516ad5fda5950813ede6b057a757a13f8bdb..d022368b53659b27e4bc5058e704f7d254dfbd6f 100644 +index afcde828b7f39affd26cf3a52b744e0b37140694..3736b6a5be1c4eea48416c48822675e394b821f1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -965,6 +965,8 @@ public class PurpurWorldConfig { +@@ -998,6 +998,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 5754516ad5fda5950813ede6b057a757a13f8bdb..d022368b53659b27e4bc5058e704f7d2 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -974,11 +976,17 @@ public class PurpurWorldConfig { +@@ -1007,11 +1009,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0132-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0133-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 93% rename from patches/server/0132-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/server/0133-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 078a75e2b..3fc172e84 100644 --- a/patches/server/0132-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0133-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index 4821aec304399c64cbcff741334567a08b840c0a..b361c6b4ca17b9d466555037235a5660 } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d022368b53659b27e4bc5058e704f7d254dfbd6f..ef27f15a07350d8b8c1eabd68bf5f4c5cc7eb6f4 100644 +index 3736b6a5be1c4eea48416c48822675e394b821f1..e3e0a5c0f241e7fe1fdd2be1bd1afe7752628b9e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -967,6 +967,8 @@ public class PurpurWorldConfig { +@@ -1000,6 +1000,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index d022368b53659b27e4bc5058e704f7d254dfbd6f..ef27f15a07350d8b8c1eabd68bf5f4c5 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -987,6 +989,8 @@ public class PurpurWorldConfig { +@@ -1020,6 +1022,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/0133-Tick-fluids-config.patch b/patches/server/0134-Tick-fluids-config.patch similarity index 97% rename from patches/server/0133-Tick-fluids-config.patch rename to patches/server/0134-Tick-fluids-config.patch index 55316990d..4a067efd0 100644 --- a/patches/server/0133-Tick-fluids-config.patch +++ b/patches/server/0134-Tick-fluids-config.patch @@ -36,7 +36,7 @@ index 84623c632d8c2f0fa7ec939c711316d757117d23..1851035b9fdcc076442d0699567a3b02 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ef27f15a07350d8b8c1eabd68bf5f4c5cc7eb6f4..d0b92b3ee0eb94df5cbb57c567183da0adf7cc5c 100644 +index e3e0a5c0f241e7fe1fdd2be1bd1afe7752628b9e..6756564f9b03bc822485b4199bf46c50069eea65 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -129,6 +129,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0134-Config-to-disable-Llama-caravans.patch b/patches/server/0135-Config-to-disable-Llama-caravans.patch similarity index 94% rename from patches/server/0134-Config-to-disable-Llama-caravans.patch rename to patches/server/0135-Config-to-disable-Llama-caravans.patch index 3329a360f..3600b1e45 100644 --- a/patches/server/0134-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0135-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 87ec5bd632353ce364de29c5d56460551b6a4139..12ff4091674f7efb3e324df0df2d798d this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d0b92b3ee0eb94df5cbb57c567183da0adf7cc5c..9c610c52a0dab48ff817c01b11ffaefa7f95c9e5 100644 +index 6756564f9b03bc822485b4199bf46c50069eea65..3045fff19b9f9c35ed1b2e14894f6b5aa8442817 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1299,6 +1299,7 @@ public class PurpurWorldConfig { +@@ -1332,6 +1332,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index d0b92b3ee0eb94df5cbb57c567183da0adf7cc5c..9c610c52a0dab48ff817c01b11ffaefa private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1318,6 +1319,7 @@ public class PurpurWorldConfig { +@@ -1351,6 +1352,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0135-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0136-Config-to-make-Creepers-explode-on-death.patch similarity index 94% rename from patches/server/0135-Config-to-make-Creepers-explode-on-death.patch rename to patches/server/0136-Config-to-make-Creepers-explode-on-death.patch index 0ffb9e508..f5bdb4084 100644 --- a/patches/server/0135-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0136-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index a9523b156eb88646ef82ee857d5f68360b12a753..af6f2fd2f2f48b8057cfb0462a0e72a8 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9c610c52a0dab48ff817c01b11ffaefa7f95c9e5..d73b0498530c91a15f8bd00782127614b0bc7fbb 100644 +index 3045fff19b9f9c35ed1b2e14894f6b5aa8442817..3a730b7d187ba043fc8f3f0ca7412ec44e352fba 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -819,6 +819,7 @@ public class PurpurWorldConfig { +@@ -852,6 +852,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 9c610c52a0dab48ff817c01b11ffaefa7f95c9e5..d73b0498530c91a15f8bd00782127614 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -833,6 +834,7 @@ public class PurpurWorldConfig { +@@ -866,6 +867,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0136-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0137-Configurable-ravager-griefable-blocks-list.patch similarity index 95% rename from patches/server/0136-Configurable-ravager-griefable-blocks-list.patch rename to patches/server/0137-Configurable-ravager-griefable-blocks-list.patch index b52377367..e4e120f7a 100644 --- a/patches/server/0136-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0137-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 2af4c365743b2956939335512f74e0a1d84298f7..a69e7e8da81bd13578d230cc1e3f0f90 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d73b0498530c91a15f8bd00782127614b0bc7fbb..66690bb2bebf07f6e3300b8444d297d85e105bc5 100644 +index 3a730b7d187ba043fc8f3f0ca7412ec44e352fba..9ec5bae4a4caee44d84dd77b8be6b5c4b4b05b3e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1671,6 +1671,7 @@ public class PurpurWorldConfig { +@@ -1704,6 +1704,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index d73b0498530c91a15f8bd00782127614b0bc7fbb..66690bb2bebf07f6e3300b8444d297d8 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1683,6 +1684,23 @@ public class PurpurWorldConfig { +@@ -1716,6 +1717,23 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0137-Sneak-to-bulk-process-composter.patch b/patches/server/0138-Sneak-to-bulk-process-composter.patch similarity index 97% rename from patches/server/0137-Sneak-to-bulk-process-composter.patch rename to patches/server/0138-Sneak-to-bulk-process-composter.patch index 3c32b4de7..3260a1417 100644 --- a/patches/server/0137-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0138-Sneak-to-bulk-process-composter.patch @@ -87,10 +87,10 @@ index d3d12f9114173f4971f95d7ef895a4374705bd3f..f34159f8d6c51af2341bf49db0d6d6f0 protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { int i = (Integer) state.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 66690bb2bebf07f6e3300b8444d297d85e105bc5..4a3d20cc9998a1cc21d1c5bdf0fbadcc5ad3b6f0 100644 +index 9ec5bae4a4caee44d84dd77b8be6b5c4b4b05b3e..3b9973bbe7e752e906e152f9ddde5e7a1546988b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -447,6 +447,11 @@ public class PurpurWorldConfig { +@@ -480,6 +480,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0138-Config-for-skipping-night.patch b/patches/server/0139-Config-for-skipping-night.patch similarity index 93% rename from patches/server/0138-Config-for-skipping-night.patch rename to patches/server/0139-Config-for-skipping-night.patch index 3c4a45244..a0874bf67 100644 --- a/patches/server/0138-Config-for-skipping-night.patch +++ b/patches/server/0139-Config-for-skipping-night.patch @@ -18,7 +18,7 @@ index aef5157d183b69903fd215a5ce30c0705ba8fa3e..bcdef2c9bb116409445a4ef65c5e407c j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4a3d20cc9998a1cc21d1c5bdf0fbadcc5ad3b6f0..7fbfa1412882c5c8142e5f8796d0c15c9481265f 100644 +index 3b9973bbe7e752e906e152f9ddde5e7a1546988b..94f0eea598ee9908dd58efd7f4d5f6841bc9a003 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -356,6 +356,7 @@ public class PurpurWorldConfig { @@ -36,4 +36,4 @@ index 4a3d20cc9998a1cc21d1c5bdf0fbadcc5ad3b6f0..7fbfa1412882c5c8142e5f8796d0c15c + playersSkipNight = getBoolean("gameplay-mechanics.player.can-skip-night", playersSkipNight); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0139-Add-config-for-villager-trading.patch b/patches/server/0140-Add-config-for-villager-trading.patch similarity index 93% rename from patches/server/0139-Add-config-for-villager-trading.patch rename to patches/server/0140-Add-config-for-villager-trading.patch index 7c0b10286..2a72a25f9 100644 --- a/patches/server/0139-Add-config-for-villager-trading.patch +++ b/patches/server/0140-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index c192f4cc5fd9cb0cf40083c4297f649ab909649d..0d11200ab580cc306602c29c61f76195 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7fbfa1412882c5c8142e5f8796d0c15c9481265f..ae096579fb96b0a500d45cfcdf39d1b6daca145c 100644 +index 94f0eea598ee9908dd58efd7f4d5f6841bc9a003..9ad20a137f6cf35776e0e9cafe03c0dd475501b0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2091,6 +2091,7 @@ public class PurpurWorldConfig { +@@ -2124,6 +2124,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 7fbfa1412882c5c8142e5f8796d0c15c9481265f..ae096579fb96b0a500d45cfcdf39d1b6 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2109,6 +2110,7 @@ public class PurpurWorldConfig { +@@ -2142,6 +2143,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -50,7 +50,7 @@ index 7fbfa1412882c5c8142e5f8796d0c15c9481265f..ae096579fb96b0a500d45cfcdf39d1b6 } public boolean vindicatorRidable = false; -@@ -2138,6 +2140,7 @@ public class PurpurWorldConfig { +@@ -2171,6 +2173,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index 7fbfa1412882c5c8142e5f8796d0c15c9481265f..ae096579fb96b0a500d45cfcdf39d1b6 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2151,6 +2154,7 @@ public class PurpurWorldConfig { +@@ -2184,6 +2187,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0140-Allow-infinity-on-crossbows.patch b/patches/server/0141-Allow-infinity-on-crossbows.patch similarity index 100% rename from patches/server/0140-Allow-infinity-on-crossbows.patch rename to patches/server/0141-Allow-infinity-on-crossbows.patch diff --git a/patches/server/0141-Drowning-Settings.patch b/patches/server/0142-Drowning-Settings.patch similarity index 97% rename from patches/server/0141-Drowning-Settings.patch rename to patches/server/0142-Drowning-Settings.patch index c0248b94a..8147c4eac 100644 --- a/patches/server/0141-Drowning-Settings.patch +++ b/patches/server/0142-Drowning-Settings.patch @@ -40,7 +40,7 @@ index 0b4384b6898ad591b8b9256b2427359474dd9c57..db0537c968a55f05e4c154aa42ebe73e } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ae096579fb96b0a500d45cfcdf39d1b6daca145c..50ebc72e71e60d8fd9a4b3a96f39a01f5743d593 100644 +index 9ad20a137f6cf35776e0e9cafe03c0dd475501b0..76e26e67ba5bc56af28aae17ccd1da9b609e4947 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -164,6 +164,15 @@ public class PurpurWorldConfig { diff --git a/patches/server/0142-Break-individual-slabs-when-sneaking.patch b/patches/server/0143-Break-individual-slabs-when-sneaking.patch similarity index 95% rename from patches/server/0142-Break-individual-slabs-when-sneaking.patch rename to patches/server/0143-Break-individual-slabs-when-sneaking.patch index 2882135c5..c62491c48 100644 --- a/patches/server/0142-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0143-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index fa29eb15934b3dad171d27c21d99b2451cfe553b..ba4aa69425d796d306791ea193f9c6b2 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 50ebc72e71e60d8fd9a4b3a96f39a01f5743d593..bf6a208ac3f1deabe62db2c20a39af184dde0ae0 100644 +index 76e26e67ba5bc56af28aae17ccd1da9b609e4947..c84cd3ebe3b95505a832e612c993e106d4cc1067 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -568,6 +568,11 @@ public class PurpurWorldConfig { +@@ -601,6 +601,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0143-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 94% rename from patches/server/0143-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch index f0b0b6171..16d1fd82b 100644 --- a/patches/server/0143-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0144-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -24,10 +24,10 @@ index 759839e912c54598b257ad738481364940f88a18..e60e6b3e5ae5a468cfe649ed2222412f return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bf6a208ac3f1deabe62db2c20a39af184dde0ae0..a0f2ee8e69ce6c677fb4056b060841b67071bdb0 100644 +index c84cd3ebe3b95505a832e612c993e106d4cc1067..afac6d1da8604a2d6c6b015227db77617914867e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -533,6 +533,13 @@ public class PurpurWorldConfig { +@@ -566,6 +566,13 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0144-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 96% rename from patches/server/0144-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch index 9c7d1fcda..6908249a2 100644 --- a/patches/server/0144-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0145-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,7 +17,7 @@ index 89f600edda9a1c5d1b132355fefb7eaed77c52f5..6697cd8a632becd72ee132007a61d122 public ArmorStand(Level world, double x, double y, double z) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a0f2ee8e69ce6c677fb4056b060841b67071bdb0..1af84ac3766ccfd377995d96e1a264ce18f81c34 100644 +index afac6d1da8604a2d6c6b015227db77617914867e..4c9479029b659baa53377fde1dd7117d5e1bfc15 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -102,6 +102,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0145-Option-to-make-doors-require-redstone.patch b/patches/server/0146-Option-to-make-doors-require-redstone.patch similarity index 96% rename from patches/server/0145-Option-to-make-doors-require-redstone.patch rename to patches/server/0146-Option-to-make-doors-require-redstone.patch index 862d81255..739f0b0e7 100644 --- a/patches/server/0145-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0146-Option-to-make-doors-require-redstone.patch @@ -67,10 +67,10 @@ index 42d43b7a7e3b7c53cc80b8706c130e660f2c72da..96199441202ad929ad0274574704635c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1af84ac3766ccfd377995d96e1a264ce18f81c34..1a38b0691110b73e1a2a964222d23f5f08854bae 100644 +index 4c9479029b659baa53377fde1dd7117d5e1bfc15..3464f0c8d019c4675c2df7c83e0a77cb3eec16e0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -472,6 +472,16 @@ public class PurpurWorldConfig { +@@ -505,6 +505,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0146-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0147-Config-to-allow-for-unsafe-enchants.patch similarity index 100% rename from patches/server/0146-Config-to-allow-for-unsafe-enchants.patch rename to patches/server/0147-Config-to-allow-for-unsafe-enchants.patch diff --git a/patches/server/0147-Configurable-sponge-absorption.patch b/patches/server/0148-Configurable-sponge-absorption.patch similarity index 93% rename from patches/server/0147-Configurable-sponge-absorption.patch rename to patches/server/0148-Configurable-sponge-absorption.patch index 0307678ef..3c506fc31 100644 --- a/patches/server/0147-Configurable-sponge-absorption.patch +++ b/patches/server/0148-Configurable-sponge-absorption.patch @@ -21,10 +21,10 @@ index 902825ec9ea05f4418b45f56a008d73f217bd178..a676ccfa6b02e8986df6f6a2e04cbb06 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1a38b0691110b73e1a2a964222d23f5f08854bae..684a3525a390101d95cc71d33c3b106b7680fe61 100644 +index 3464f0c8d019c4675c2df7c83e0a77cb3eec16e0..d7cfb2ab82953799d0ff13fcdcb115ca2fa20450 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -597,6 +597,13 @@ public class PurpurWorldConfig { +@@ -630,6 +630,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0148-Projectile-offset-config.patch b/patches/server/0149-Projectile-offset-config.patch similarity index 98% rename from patches/server/0148-Projectile-offset-config.patch rename to patches/server/0149-Projectile-offset-config.patch index f8a73728f..311e8df4e 100644 --- a/patches/server/0148-Projectile-offset-config.patch +++ b/patches/server/0149-Projectile-offset-config.patch @@ -96,10 +96,10 @@ index b094f4ec513194e10442156d8f7f2205da2384ac..85dc79b9b969fa0cbf6964cb26bac139 entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 684a3525a390101d95cc71d33c3b106b7680fe61..2346e42a27d836fa8bc06a3865abbfb1e808dd29 100644 +index d7cfb2ab82953799d0ff13fcdcb115ca2fa20450..3550147e9c80964dc1bf4007e4280de4a3b39d78 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -422,6 +422,23 @@ public class PurpurWorldConfig { +@@ -455,6 +455,23 @@ public class PurpurWorldConfig { //} } diff --git a/patches/server/0149-Config-for-powered-rail-activation-distance.patch b/patches/server/0150-Config-for-powered-rail-activation-distance.patch similarity index 91% rename from patches/server/0149-Config-for-powered-rail-activation-distance.patch rename to patches/server/0150-Config-for-powered-rail-activation-distance.patch index d67c5e679..a92753919 100644 --- a/patches/server/0149-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0150-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index 9603d8c84ff483030dc08e82d3579b89e5c1f6e9..8fc65c32a3c6e6842a76b36f45e1b1c2 } else { int j = pos.getX(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2346e42a27d836fa8bc06a3865abbfb1e808dd29..6d6182cb379ed88d609348842e76ecc0e16636a3 100644 +index 3550147e9c80964dc1bf4007e4280de4a3b39d78..57ac8480bc6bb324366bbdd30718eb5df6a7d69b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -583,6 +583,11 @@ public class PurpurWorldConfig { +@@ -616,6 +616,11 @@ public class PurpurWorldConfig { powderSnowBypassMobGriefing = getBoolean("blocks.powder_snow.bypass-mob-griefing", powderSnowBypassMobGriefing); } diff --git a/patches/server/0150-Piglin-portal-spawn-modifier.patch b/patches/server/0151-Piglin-portal-spawn-modifier.patch similarity index 93% rename from patches/server/0150-Piglin-portal-spawn-modifier.patch rename to patches/server/0151-Piglin-portal-spawn-modifier.patch index 477f97735..1ef7cd6e3 100644 --- a/patches/server/0150-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0151-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 67060b7446535fc352d221d9fe3928d1d6ffcf54..8d5e841d8cc69bf09a9f1b6248633a72 pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6d6182cb379ed88d609348842e76ecc0e16636a3..4480958d78edb21b454f0ca1ba06ef6b8f983f18 100644 +index 57ac8480bc6bb324366bbdd30718eb5df6a7d69b..518973f15f10d68039675dfcedfbeb5d2324a989 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1615,6 +1615,7 @@ public class PurpurWorldConfig { +@@ -1648,6 +1648,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 6d6182cb379ed88d609348842e76ecc0e16636a3..4480958d78edb21b454f0ca1ba06ef6b private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1627,6 +1628,7 @@ public class PurpurWorldConfig { +@@ -1660,6 +1661,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0151-Config-to-change-max-number-of-bees.patch b/patches/server/0152-Config-to-change-max-number-of-bees.patch similarity index 100% rename from patches/server/0151-Config-to-change-max-number-of-bees.patch rename to patches/server/0152-Config-to-change-max-number-of-bees.patch diff --git a/patches/server/0152-Config-for-wither-explosion-radius.patch b/patches/server/0153-Config-for-wither-explosion-radius.patch similarity index 92% rename from patches/server/0152-Config-for-wither-explosion-radius.patch rename to patches/server/0153-Config-for-wither-explosion-radius.patch index 40f4cedd6..6b368ede8 100644 --- a/patches/server/0152-Config-for-wither-explosion-radius.patch +++ b/patches/server/0153-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index c753f715710ec4bb8337e035ac5a4c11371a84a0..a60d7f7baab005afc532ecec7aa22c53 if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4480958d78edb21b454f0ca1ba06ef6b8f983f18..4b107d63bd8425f89560488852647731c89eb369 100644 +index 518973f15f10d68039675dfcedfbeb5d2324a989..3a298515545972bb06a2f214aa35fb579bbac3de 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2258,6 +2258,7 @@ public class PurpurWorldConfig { +@@ -2291,6 +2291,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index 4480958d78edb21b454f0ca1ba06ef6b8f983f18..4b107d63bd8425f89560488852647731 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2278,6 +2279,7 @@ public class PurpurWorldConfig { +@@ -2311,6 +2312,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0153-Gamemode-extra-permissions.patch b/patches/server/0154-Gamemode-extra-permissions.patch similarity index 100% rename from patches/server/0153-Gamemode-extra-permissions.patch rename to patches/server/0154-Gamemode-extra-permissions.patch diff --git a/patches/server/0154-Configurable-piston-push-limit.patch b/patches/server/0155-Configurable-piston-push-limit.patch similarity index 94% rename from patches/server/0154-Configurable-piston-push-limit.patch rename to patches/server/0155-Configurable-piston-push-limit.patch index aefbc7e39..4b3ade3fc 100644 --- a/patches/server/0154-Configurable-piston-push-limit.patch +++ b/patches/server/0155-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 205e223c356634bd6bc6bd58c6f0b7fda61a6f5f..bea05cb928d540a2f19b51bb7352d032 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4b107d63bd8425f89560488852647731c89eb369..581b673994ab01b84ddbc80669923190fa4254e2 100644 +index 3a298515545972bb06a2f214aa35fb579bbac3de..046c11b359125851d48f97505b0a823f01635cff 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -578,6 +578,11 @@ public class PurpurWorldConfig { +@@ -611,6 +611,11 @@ public class PurpurWorldConfig { lavaSpeedNotNether = getInt("blocks.lava.speed.not-nether", lavaSpeedNotNether); } diff --git a/patches/server/0155-Configurable-broadcast-settings.patch b/patches/server/0156-Configurable-broadcast-settings.patch similarity index 100% rename from patches/server/0155-Configurable-broadcast-settings.patch rename to patches/server/0156-Configurable-broadcast-settings.patch diff --git a/patches/server/0156-Configurable-mob-blindness.patch b/patches/server/0157-Configurable-mob-blindness.patch similarity index 97% rename from patches/server/0156-Configurable-mob-blindness.patch rename to patches/server/0157-Configurable-mob-blindness.patch index e6ab5cad4..d14929a61 100644 --- a/patches/server/0156-Configurable-mob-blindness.patch +++ b/patches/server/0157-Configurable-mob-blindness.patch @@ -28,7 +28,7 @@ index db0537c968a55f05e4c154aa42ebe73ed8ca9caa..b5e63979fca87ac1f97e83ae18dd30df return d0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 581b673994ab01b84ddbc80669923190fa4254e2..ceb405c67f69e68afbc920a154fb5c2c6e5985b6 100644 +index 046c11b359125851d48f97505b0a823f01635cff..bc6d8925d1124a138af8918146764ed2bc7b9f27 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -132,6 +132,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0157-Hide-hidden-players-from-entity-selector.patch b/patches/server/0158-Hide-hidden-players-from-entity-selector.patch similarity index 100% rename from patches/server/0157-Hide-hidden-players-from-entity-selector.patch rename to patches/server/0158-Hide-hidden-players-from-entity-selector.patch diff --git a/patches/server/0158-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 92% rename from patches/server/0158-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch index 962e0fe3e..48baffaa1 100644 --- a/patches/server/0158-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0159-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index af6f2fd2f2f48b8057cfb0462a0e72a86a1f83e3..039ae2b694800e0bcd9844be85ad29a0 // CraftBukkit end this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ceb405c67f69e68afbc920a154fb5c2c6e5985b6..9a883639b6a012302b46f2d8e35b8813b2fb0a6b 100644 +index bc6d8925d1124a138af8918146764ed2bc7b9f27..77af32b0e98aaf49add6ca97ff00c6024bcc2cfd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -896,6 +896,7 @@ public class PurpurWorldConfig { +@@ -929,6 +929,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index ceb405c67f69e68afbc920a154fb5c2c6e5985b6..9a883639b6a012302b46f2d8e35b8813 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -911,6 +912,7 @@ public class PurpurWorldConfig { +@@ -944,6 +945,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0159-Iron-golem-calm-anger-options.patch b/patches/server/0160-Iron-golem-calm-anger-options.patch similarity index 96% rename from patches/server/0159-Iron-golem-calm-anger-options.patch rename to patches/server/0160-Iron-golem-calm-anger-options.patch index be6cbd583..3a31b700a 100644 --- a/patches/server/0159-Iron-golem-calm-anger-options.patch +++ b/patches/server/0160-Iron-golem-calm-anger-options.patch @@ -25,10 +25,10 @@ index 9c86d86a6d89585cfbdace89e66866f496da86cb..fa81b12fc38a20b8ec39155259fb75c1 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9a883639b6a012302b46f2d8e35b8813b2fb0a6b..18d4a212e4372352e9600872b953ae842c4ed01c 100644 +index 77af32b0e98aaf49add6ca97ff00c6024bcc2cfd..0e8829422bd7239523c80048be1aa8c3a17480b1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1354,6 +1354,8 @@ public class PurpurWorldConfig { +@@ -1387,6 +1387,8 @@ public class PurpurWorldConfig { public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -37,7 +37,7 @@ index 9a883639b6a012302b46f2d8e35b8813b2fb0a6b..18d4a212e4372352e9600872b953ae84 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1366,6 +1368,8 @@ public class PurpurWorldConfig { +@@ -1399,6 +1401,8 @@ public class PurpurWorldConfig { } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0160-Breedable-parrots.patch b/patches/server/0161-Breedable-parrots.patch similarity index 94% rename from patches/server/0160-Breedable-parrots.patch rename to patches/server/0161-Breedable-parrots.patch index 58a9814b3..d017c922c 100644 --- a/patches/server/0160-Breedable-parrots.patch +++ b/patches/server/0161-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 490d7f8ac402f50a2f2f90ca032169784a402c0f..65be3dd9bc6994cac828ed45b74a577b @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 18d4a212e4372352e9600872b953ae842c4ed01c..db6ab54957c590c707f61b95de01b55bf0fd9ca4 100644 +index 0e8829422bd7239523c80048be1aa8c3a17480b1..77f8952da7ee8476b685e6aef1f8e2441bca068e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1524,6 +1524,7 @@ public class PurpurWorldConfig { +@@ -1557,6 +1557,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 320D; public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 18d4a212e4372352e9600872b953ae842c4ed01c..db6ab54957c590c707f61b95de01b55b private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1536,6 +1537,7 @@ public class PurpurWorldConfig { +@@ -1569,6 +1570,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0161-Configurable-powered-rail-boost-modifier.patch b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch similarity index 96% rename from patches/server/0161-Configurable-powered-rail-boost-modifier.patch rename to patches/server/0162-Configurable-powered-rail-boost-modifier.patch index 6c67b1459..7339c27fc 100644 --- a/patches/server/0161-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0162-Configurable-powered-rail-boost-modifier.patch @@ -18,7 +18,7 @@ index 97172e9c53c381d451111227feb4d1fa19d38ad8..e7a1ce585c9e552e6f9ce9acd26fdfe5 Vec3 vec3d5 = this.getDeltaMovement(); double d21 = vec3d5.x; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index db6ab54957c590c707f61b95de01b55bf0fd9ca4..45cbf5d77b6a0776ffc6362db369ddc2821ac3de 100644 +index 77f8952da7ee8476b685e6aef1f8e2441bca068e..c283a8aec6dfea3f9b84d47cf6abf568be2a73da 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -275,6 +275,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0162-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch similarity index 93% rename from patches/server/0162-Add-config-change-multiplier-critical-damage-value.patch rename to patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch index d9228bcbd..e5afd6c6a 100644 --- a/patches/server/0162-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0163-Add-config-change-multiplier-critical-damage-value.patch @@ -18,7 +18,7 @@ index e7f45fe435f679afb4fabe657922d7354183c6fb..f45794bf2b418f94961681bac8b0f39f f += f1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 45cbf5d77b6a0776ffc6362db369ddc2821ac3de..4508699964ef7e388d8874cd3a227a6d08e8e8ad 100644 +index c283a8aec6dfea3f9b84d47cf6abf568be2a73da..a7d95013005c895676dbe8cc10f12dbcf689b29c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -372,6 +372,7 @@ public class PurpurWorldConfig { @@ -36,4 +36,4 @@ index 45cbf5d77b6a0776ffc6362db369ddc2821ac3de..4508699964ef7e388d8874cd3a227a6d + playerCriticalDamageMultiplier = getDouble("gameplay-mechanics.player.critical-damage-multiplier", playerCriticalDamageMultiplier); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0163-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch similarity index 92% rename from patches/server/0163-Option-to-disable-dragon-egg-teleporting.patch rename to patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch index caf0a5390..591f3c374 100644 --- a/patches/server/0163-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0164-Option-to-disable-dragon-egg-teleporting.patch @@ -19,10 +19,10 @@ index fbe15cdd5b9bca2ab4b1e871abbbdbff49ade8a4..23d113842bf774bdc74e0dffcc97b642 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4508699964ef7e388d8874cd3a227a6d08e8e8ad..251776c4c1c4ad9d4128a14b3a489ad81b2f7e02 100644 +index a7d95013005c895676dbe8cc10f12dbcf689b29c..9c9fea719a90e49147b6c2ae342a1437ea8b9be3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -505,6 +505,11 @@ public class PurpurWorldConfig { +@@ -538,6 +538,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0164-Config-for-unverified-username-message.patch b/patches/server/0165-Config-for-unverified-username-message.patch similarity index 100% rename from patches/server/0164-Config-for-unverified-username-message.patch rename to patches/server/0165-Config-for-unverified-username-message.patch diff --git a/patches/server/0165-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0166-Make-anvil-cumulative-cost-configurable.patch similarity index 100% rename from patches/server/0165-Make-anvil-cumulative-cost-configurable.patch rename to patches/server/0166-Make-anvil-cumulative-cost-configurable.patch diff --git a/patches/server/0166-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch similarity index 94% rename from patches/server/0166-Bee-can-work-when-raining-or-at-night.patch rename to patches/server/0167-Bee-can-work-when-raining-or-at-night.patch index 5673e90d1..e5f375fc3 100644 --- a/patches/server/0166-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0167-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index f52823146944d333f2d050e90261b570ba66f5dd..d8efb00c325448d566c59418fe22268c return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 251776c4c1c4ad9d4128a14b3a489ad81b2f7e02..870443b9214fc1221b4105c67b58002e6f0a505f 100644 +index 9c9fea719a90e49147b6c2ae342a1437ea8b9be3..b3d24e076aef331f26ed5035f2015680f4a5c732 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -732,6 +732,8 @@ public class PurpurWorldConfig { +@@ -765,6 +765,8 @@ public class PurpurWorldConfig { public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; public boolean beeTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 251776c4c1c4ad9d4128a14b3a489ad81b2f7e02..870443b9214fc1221b4105c67b58002e private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -745,6 +747,8 @@ public class PurpurWorldConfig { +@@ -778,6 +780,8 @@ public class PurpurWorldConfig { beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); diff --git a/patches/server/0167-API-for-any-mob-to-burn-daylight.patch b/patches/server/0168-API-for-any-mob-to-burn-daylight.patch similarity index 100% rename from patches/server/0167-API-for-any-mob-to-burn-daylight.patch rename to patches/server/0168-API-for-any-mob-to-burn-daylight.patch diff --git a/patches/server/0168-Config-MobEffect-by-world.patch b/patches/server/0169-Config-MobEffect-by-world.patch similarity index 98% rename from patches/server/0168-Config-MobEffect-by-world.patch rename to patches/server/0169-Config-MobEffect-by-world.patch index 3fade3a5c..5b850adcc 100644 --- a/patches/server/0168-Config-MobEffect-by-world.patch +++ b/patches/server/0169-Config-MobEffect-by-world.patch @@ -72,7 +72,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 870443b9214fc1221b4105c67b58002e6f0a505f..7725eca13f7a4ca3f07054090fff66a50ef8ba30 100644 +index b3d24e076aef331f26ed5035f2015680f4a5c732..e22dc10989d83642c4714aef97fbbd4a82d68c11 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -331,6 +331,21 @@ public class PurpurWorldConfig { diff --git a/patches/server/0169-Beacon-Activation-Range-Configurable.patch b/patches/server/0170-Beacon-Activation-Range-Configurable.patch similarity index 94% rename from patches/server/0169-Beacon-Activation-Range-Configurable.patch rename to patches/server/0170-Beacon-Activation-Range-Configurable.patch index 17f392847..c6e34d5a2 100644 --- a/patches/server/0169-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0170-Beacon-Activation-Range-Configurable.patch @@ -26,10 +26,10 @@ index dd1fe8357ccf084880a7f3d4d9e499bde672c787..37ce2605c8803d8d87770bf6a95a83aa } else { return effectRange; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7725eca13f7a4ca3f07054090fff66a50ef8ba30..25bd2cac6fc8d09fc0a1902868ca6cbd77a214c7 100644 +index e22dc10989d83642c4714aef97fbbd4a82d68c11..c27e8ad0e401499105ed3db2ef7b73a6fda8fb37 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -472,6 +472,17 @@ public class PurpurWorldConfig { +@@ -505,6 +505,17 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } diff --git a/patches/server/0170-Make-lightning-rod-range-configurable.patch b/patches/server/0171-Make-lightning-rod-range-configurable.patch similarity index 100% rename from patches/server/0170-Make-lightning-rod-range-configurable.patch rename to patches/server/0171-Make-lightning-rod-range-configurable.patch diff --git a/patches/server/0171-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch similarity index 96% rename from patches/server/0171-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch rename to patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch index 798db8d40..2fe9cc01b 100644 --- a/patches/server/0171-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch +++ b/patches/server/0172-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch @@ -54,7 +54,7 @@ index b89860d451d92ddda64b7e4144542b7fc5fd86f0..08a6cca64ddd49826a0bbddd7711187c public void eat(ItemStack stack) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 25bd2cac6fc8d09fc0a1902868ca6cbd77a214c7..dcfd7934da0962f83dcb0f63d471402dd7340389 100644 +index c27e8ad0e401499105ed3db2ef7b73a6fda8fb37..1c2aec3ddbe6d9dd0ae9ce4d074092ed0555d711 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -388,6 +388,8 @@ public class PurpurWorldConfig { @@ -74,4 +74,4 @@ index 25bd2cac6fc8d09fc0a1902868ca6cbd77a214c7..dcfd7934da0962f83dcb0f63d471402d + playerBurpWhenFull = getBoolean("gameplay-mechanics.player.burp-when-full", playerBurpWhenFull); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0172-Allow-player-join-full-server-by-permission.patch b/patches/server/0173-Allow-player-join-full-server-by-permission.patch similarity index 100% rename from patches/server/0172-Allow-player-join-full-server-by-permission.patch rename to patches/server/0173-Allow-player-join-full-server-by-permission.patch diff --git a/patches/server/0173-Add-portal-permission-bypass.patch b/patches/server/0174-Add-portal-permission-bypass.patch similarity index 100% rename from patches/server/0173-Add-portal-permission-bypass.patch rename to patches/server/0174-Add-portal-permission-bypass.patch diff --git a/patches/server/0174-Shulker-spawn-from-bullet-options.patch b/patches/server/0175-Shulker-spawn-from-bullet-options.patch similarity index 96% rename from patches/server/0174-Shulker-spawn-from-bullet-options.patch rename to patches/server/0175-Shulker-spawn-from-bullet-options.patch index 0c748698c..7776673b5 100644 --- a/patches/server/0174-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0175-Shulker-spawn-from-bullet-options.patch @@ -68,10 +68,10 @@ index 2202798612cad53aff28c499b8909a7292a37ad5..5ed2b7d15686fc9aa6dc7c03c337433c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dcfd7934da0962f83dcb0f63d471402dd7340389..882cc1117196c70d64887bcc1f04c2977270009f 100644 +index 1c2aec3ddbe6d9dd0ae9ce4d074092ed0555d711..444ae36042e5d5bf2bd3ba7348882304825b5f06 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1875,6 +1875,11 @@ public class PurpurWorldConfig { +@@ -1908,6 +1908,11 @@ public class PurpurWorldConfig { public boolean shulkerControllable = true; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -83,7 +83,7 @@ index dcfd7934da0962f83dcb0f63d471402dd7340389..882cc1117196c70d64887bcc1f04c297 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1886,6 +1891,11 @@ public class PurpurWorldConfig { +@@ -1919,6 +1924,11 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0175-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch similarity index 95% rename from patches/server/0175-Eating-glow-berries-adds-glow-effect.patch rename to patches/server/0176-Eating-glow-berries-adds-glow-effect.patch index ab7574b0e..c5288146e 100644 --- a/patches/server/0175-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0176-Eating-glow-berries-adds-glow-effect.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Eating glow berries adds glow effect diff --git a/src/main/java/net/minecraft/world/item/Items.java b/src/main/java/net/minecraft/world/item/Items.java -index d00b59efb754594cf532f8598f4b6d3b29693232..6c423952cfecc8f1afeac88dfecfe292d81bbf83 100644 +index 6467358f5fdf4cd4f7c1e2cc65c834a9da39596a..42b322879629afb2d2fc64a215f010f5d5ce9e02 100644 --- a/src/main/java/net/minecraft/world/item/Items.java +++ b/src/main/java/net/minecraft/world/item/Items.java @@ -1909,7 +1909,7 @@ public class Items { @@ -18,7 +18,7 @@ index d00b59efb754594cf532f8598f4b6d3b29693232..6c423952cfecc8f1afeac88dfecfe292 public static final Item CAMPFIRE = registerBlock(Blocks.CAMPFIRE, settings -> settings.component(DataComponents.CONTAINER, ItemContainerContents.EMPTY)); public static final Item SOUL_CAMPFIRE = registerBlock( diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 882cc1117196c70d64887bcc1f04c2977270009f..0323644442a3263f12b146d29928e7ad09774549 100644 +index 444ae36042e5d5bf2bd3ba7348882304825b5f06..75903da7236f6f57c4978d33cd8ac15a4f7d7a62 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -220,6 +220,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0176-Option-to-make-drowned-break-doors.patch b/patches/server/0177-Option-to-make-drowned-break-doors.patch similarity index 94% rename from patches/server/0176-Option-to-make-drowned-break-doors.patch rename to patches/server/0177-Option-to-make-drowned-break-doors.patch index 9dd166c74..48af70fc1 100644 --- a/patches/server/0176-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0177-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index f037d50f26f7532f11a71790448de7a71644b6ca..2547ac49721e2840da2845076d5e62a1 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0323644442a3263f12b146d29928e7ad09774549..0ff82c6a0279436675a2f56727e1a57803db17e0 100644 +index 75903da7236f6f57c4978d33cd8ac15a4f7d7a62..b3a999c8ecaaf9e0dae83d0fe10f9f927f592b58 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1021,6 +1021,7 @@ public class PurpurWorldConfig { +@@ -1054,6 +1054,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -45,7 +45,7 @@ index 0323644442a3263f12b146d29928e7ad09774549..0ff82c6a0279436675a2f56727e1a578 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1036,6 +1037,7 @@ public class PurpurWorldConfig { +@@ -1069,6 +1070,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0177-Configurable-hunger-starvation-damage.patch b/patches/server/0178-Configurable-hunger-starvation-damage.patch similarity index 92% rename from patches/server/0177-Configurable-hunger-starvation-damage.patch rename to patches/server/0178-Configurable-hunger-starvation-damage.patch index 743d38526..0d9d7df22 100644 --- a/patches/server/0177-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0178-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 08a6cca64ddd49826a0bbddd7711187c73bb4997..dd72d6a79139ff33f26a32b71283ce0b this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0ff82c6a0279436675a2f56727e1a57803db17e0..802cde2712dc0d1fec24f7dca46b9765ea406022 100644 +index b3a999c8ecaaf9e0dae83d0fe10f9f927f592b58..a9a2b09b985e3e4eb69d4ae16dfd40f46be936d6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2534,4 +2534,9 @@ public class PurpurWorldConfig { +@@ -2567,4 +2567,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0178-Enhance-SysoutCatcher.patch b/patches/server/0179-Enhance-SysoutCatcher.patch similarity index 100% rename from patches/server/0178-Enhance-SysoutCatcher.patch rename to patches/server/0179-Enhance-SysoutCatcher.patch diff --git a/patches/server/0179-Add-uptime-command.patch b/patches/server/0180-Add-uptime-command.patch similarity index 100% rename from patches/server/0179-Add-uptime-command.patch rename to patches/server/0180-Add-uptime-command.patch diff --git a/patches/server/0180-Tool-actionable-options.patch b/patches/server/0181-Tool-actionable-options.patch similarity index 99% rename from patches/server/0180-Tool-actionable-options.patch rename to patches/server/0181-Tool-actionable-options.patch index 5546e694d..869604642 100644 --- a/patches/server/0180-Tool-actionable-options.patch +++ b/patches/server/0181-Tool-actionable-options.patch @@ -153,10 +153,10 @@ index 24f6a158e4759aac3be8da4cf5e0d40bd295355b..6b7dbb570f8a698c87c6bce992d84d87 return InteractionResult.PASS; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 802cde2712dc0d1fec24f7dca46b9765ea406022..c0bd8bc3a11bfc5120c768cbf3e45efaf52ea6c5 100644 +index a9a2b09b985e3e4eb69d4ae16dfd40f46be936d6..e653a0cf4a4350d0faac21fab7681863fe2c75e0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -471,6 +471,280 @@ public class PurpurWorldConfig { +@@ -504,6 +504,280 @@ public class PurpurWorldConfig { snowballDamage = getInt("gameplay-mechanics.projectile-damage.snowball", snowballDamage); } diff --git a/patches/server/0181-Store-placer-on-Block-when-placed.patch b/patches/server/0182-Store-placer-on-Block-when-placed.patch similarity index 100% rename from patches/server/0181-Store-placer-on-Block-when-placed.patch rename to patches/server/0182-Store-placer-on-Block-when-placed.patch diff --git a/patches/server/0182-Summoner-API.patch b/patches/server/0183-Summoner-API.patch similarity index 100% rename from patches/server/0182-Summoner-API.patch rename to patches/server/0183-Summoner-API.patch diff --git a/patches/server/0183-Customizable-sleeping-actionbar-messages.patch b/patches/server/0184-Customizable-sleeping-actionbar-messages.patch similarity index 100% rename from patches/server/0183-Customizable-sleeping-actionbar-messages.patch rename to patches/server/0184-Customizable-sleeping-actionbar-messages.patch diff --git a/patches/server/0184-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch similarity index 96% rename from patches/server/0184-option-to-disable-shulker-box-items-from-dropping-co.patch rename to patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch index 8bab2b5ab..4f3d628a3 100644 --- a/patches/server/0184-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0185-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -26,7 +26,7 @@ index 96fb69ec6db2e7c8c728435f0c537b076259b2fb..167a8f6fb2354151d5e16aaa6f268f8a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c0bd8bc3a11bfc5120c768cbf3e45efaf52ea6c5..604155c1c99d9f28e5efb60ee9d25cd8af274359 100644 +index e653a0cf4a4350d0faac21fab7681863fe2c75e0..2a05ee4d6d609fb0ab1837d2add45ffba68603fe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -221,6 +221,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0185-Big-dripleaf-tilt-delay.patch b/patches/server/0186-Big-dripleaf-tilt-delay.patch similarity index 94% rename from patches/server/0185-Big-dripleaf-tilt-delay.patch rename to patches/server/0186-Big-dripleaf-tilt-delay.patch index e73ba4d8a..5161c5006 100644 --- a/patches/server/0185-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0186-Big-dripleaf-tilt-delay.patch @@ -24,10 +24,10 @@ index 8240c32d676a88aa23dcd052ee0136767e54fb0d..372c4ab9d390d5afd98947f21c79aae0 if (i != -1) { world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 604155c1c99d9f28e5efb60ee9d25cd8af274359..dc5be6e84ef12bba70a94fc2bd8c636ea558e0d3 100644 +index 2a05ee4d6d609fb0ab1837d2add45ffba68603fe..220787aa0d3d144d2fa4296463af3c6b9ed0cf00 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -786,6 +786,22 @@ public class PurpurWorldConfig { +@@ -819,6 +819,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0186-Player-ridable-in-water-option.patch b/patches/server/0187-Player-ridable-in-water-option.patch similarity index 93% rename from patches/server/0186-Player-ridable-in-water-option.patch rename to patches/server/0187-Player-ridable-in-water-option.patch index 673740ce9..db4001c3f 100644 --- a/patches/server/0186-Player-ridable-in-water-option.patch +++ b/patches/server/0187-Player-ridable-in-water-option.patch @@ -23,7 +23,7 @@ index df33ad8ef6394042c2b617606c7c792fe3801632..44ef706008a1477d2073c29f2c9d016b if (!this.isPassenger() && this.onGround() && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dc5be6e84ef12bba70a94fc2bd8c636ea558e0d3..b361106d71b0b84dd84e25097fe1c4b3407fd170 100644 +index 220787aa0d3d144d2fa4296463af3c6b9ed0cf00..ee356e3174791f3c54abb8ddbf30694a3e9a87dc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -394,6 +394,7 @@ public class PurpurWorldConfig { @@ -41,4 +41,4 @@ index dc5be6e84ef12bba70a94fc2bd8c636ea558e0d3..b361106d71b0b84dd84e25097fe1c4b3 + playerRidableInWater = getBoolean("gameplay-mechanics.player.ridable-in-water", playerRidableInWater); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0187-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch similarity index 92% rename from patches/server/0187-Config-to-disable-Enderman-teleport-on-projectile-hi.patch rename to patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index 68f618522..645ac77ce 100644 --- a/patches/server/0187-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0188-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -17,10 +17,10 @@ index b361c6b4ca17b9d466555037235a5660caa5c9bd..21a570d09ad3e19e6c709ff1152db7d2 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b361106d71b0b84dd84e25097fe1c4b3407fd170..6b7d588a2e320a321e7ababe42feae509194291e 100644 +index ee356e3174791f3c54abb8ddbf30694a3e9a87dc..ae67aa6cf66e64d5e7506c0ca7193a9ba8a986ce 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1392,6 +1392,7 @@ public class PurpurWorldConfig { +@@ -1425,6 +1425,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -28,7 +28,7 @@ index b361106d71b0b84dd84e25097fe1c4b3407fd170..6b7d588a2e320a321e7ababe42feae50 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1414,6 +1415,7 @@ public class PurpurWorldConfig { +@@ -1447,6 +1448,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/0188-Add-compass-command.patch b/patches/server/0189-Add-compass-command.patch similarity index 99% rename from patches/server/0188-Add-compass-command.patch rename to patches/server/0189-Add-compass-command.patch index 8023c4d54..2f4edf5e9 100644 --- a/patches/server/0188-Add-compass-command.patch +++ b/patches/server/0189-Add-compass-command.patch @@ -89,7 +89,7 @@ index 45ce203e295d10d522851caefd049995d2d552a2..042fd443c98258240042d3ce1650f36e hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6b7d588a2e320a321e7ababe42feae509194291e..f82f7e7082b7df08965fd8921441db1c4d2909b3 100644 +index ae67aa6cf66e64d5e7506c0ca7193a9ba8a986ce..963540e5c3eb6dfbb78b089bba013ef348c8487f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -222,6 +222,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0189-Toggle-for-kinetic-damage.patch b/patches/server/0190-Toggle-for-kinetic-damage.patch similarity index 95% rename from patches/server/0189-Toggle-for-kinetic-damage.patch rename to patches/server/0190-Toggle-for-kinetic-damage.patch index ef02295ff..38fea8cff 100644 --- a/patches/server/0189-Toggle-for-kinetic-damage.patch +++ b/patches/server/0190-Toggle-for-kinetic-damage.patch @@ -17,7 +17,7 @@ index 79b782affc598abcd37a640a523f7bc35d1b3796..28718b44dc2bd98a5144ebcfd8be195a } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f82f7e7082b7df08965fd8921441db1c4d2909b3..510841d88d0c88ed2e33f260152aa90e55a4d2b0 100644 +index 963540e5c3eb6dfbb78b089bba013ef348c8487f..7a2a3243e6d1e22dcbd57674db06bf7cb42abfed 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -182,12 +182,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0190-Add-Option-for-disable-observer-clocks.patch b/patches/server/0191-Add-Option-for-disable-observer-clocks.patch similarity index 95% rename from patches/server/0190-Add-Option-for-disable-observer-clocks.patch rename to patches/server/0191-Add-Option-for-disable-observer-clocks.patch index 8f674c185..f71d1040c 100644 --- a/patches/server/0190-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0191-Add-Option-for-disable-observer-clocks.patch @@ -18,7 +18,7 @@ index b38fbe5121f293f425d7673a6ce49b11d0ced0d9..2a74f42672b92393b52a61c27c5b8af7 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 510841d88d0c88ed2e33f260152aa90e55a4d2b0..740ee779f823a560e76357ab981490be5590953c 100644 +index 7a2a3243e6d1e22dcbd57674db06bf7cb42abfed..4513d3e5441e1b68e890836e168c64e9b363f466 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -369,6 +369,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0191-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch similarity index 93% rename from patches/server/0191-Customizeable-Zombie-Villager-curing-times.patch rename to patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch index 7002f26ed..af8658aac 100644 --- a/patches/server/0191-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0192-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 2ec3a09135f85a5de68e77511f3f213adf08712c..d909138942212ee090ff513b1817414c return InteractionResult.SUCCESS; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 740ee779f823a560e76357ab981490be5590953c..1f2dc0fae912e07037cc25b8a434d568345c612e 100644 +index 4513d3e5441e1b68e890836e168c64e9b363f466..69753e7dc0fbc59a6e9d84479a5141a740e2fd15 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2795,6 +2795,8 @@ public class PurpurWorldConfig { +@@ -2828,6 +2828,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 740ee779f823a560e76357ab981490be5590953c..1f2dc0fae912e07037cc25b8a434d568 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2810,6 +2812,8 @@ public class PurpurWorldConfig { +@@ -2843,6 +2845,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0192-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch similarity index 94% rename from patches/server/0192-Option-for-sponges-to-work-on-lava-and-mud.patch rename to patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch index b9a6be86f..adcf1ca6b 100644 --- a/patches/server/0192-Option-for-sponges-to-work-on-lava-and-mud.patch +++ b/patches/server/0193-Option-for-sponges-to-work-on-lava-and-mud.patch @@ -30,10 +30,10 @@ index a676ccfa6b02e8986df6f6a2e04cbb06b3edd0ff..6fe44572e34ad3e3a1851e73138bd8b7 if (!iblockdata.is(Blocks.KELP) && !iblockdata.is(Blocks.KELP_PLANT) && !iblockdata.is(Blocks.SEAGRASS) && !iblockdata.is(Blocks.TALL_SEAGRASS)) { return false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1f2dc0fae912e07037cc25b8a434d568345c612e..3c5c73754a28e2c39e6aee8304f7e78c65f9ff68 100644 +index 69753e7dc0fbc59a6e9d84479a5141a740e2fd15..b69e224dc04758fec2bd0a2631848f4dc5a67b85 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -972,9 +972,13 @@ public class PurpurWorldConfig { +@@ -1005,9 +1005,13 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 65; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0193-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch similarity index 91% rename from patches/server/0193-Toggle-for-Wither-s-spawn-sound.patch rename to patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch index c1fb1a8e0..104d0fc9d 100644 --- a/patches/server/0193-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0194-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 01d193d2584b62897687bd088fb590de8a4ab279..a030fe21a88a9486cc8367710a96af67 // this.level().globalLevelEvent(1023, new BlockPosition(this), 0); int viewDistance = ((ServerLevel) this.level()).getCraftServer().getViewDistance() * 16; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3c5c73754a28e2c39e6aee8304f7e78c65f9ff68..7c1e067957cec8e1ea7fcd20b7893c736ca2dfea 100644 +index b69e224dc04758fec2bd0a2631848f4dc5a67b85..eb64ddde8162833ae522ea88befc2c837a3e6b53 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2640,6 +2640,7 @@ public class PurpurWorldConfig { +@@ -2673,6 +2673,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 3c5c73754a28e2c39e6aee8304f7e78c65f9ff68..7c1e067957cec8e1ea7fcd20b7893c73 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2661,6 +2662,7 @@ public class PurpurWorldConfig { +@@ -2694,6 +2695,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0194-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch similarity index 92% rename from patches/server/0194-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch index b8a80d3fb..5eef83775 100644 --- a/patches/server/0194-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0195-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,10 +18,10 @@ index ff4dda48116a2969704b355ff96407ba869b466e..9200d75b05ce535f7b7f5c1572cd8f62 return false; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7c1e067957cec8e1ea7fcd20b7893c736ca2dfea..3cbcee9438c279266092843932b19f5ceac78735 100644 +index eb64ddde8162833ae522ea88befc2c837a3e6b53..27f34e56820351223707c305f67c5e50aadbbe4f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -813,6 +813,11 @@ public class PurpurWorldConfig { +@@ -846,6 +846,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0195-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 93% rename from patches/server/0195-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch index 01d055a19..154d60583 100644 --- a/patches/server/0195-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0196-Config-to-remove-curse-of-binding-with-weakness.patch @@ -18,7 +18,7 @@ index 9992599dbe4f4a430e822a44b03c00505abfbfaf..3fea9339420aa38b303ccf6c154aec24 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3cbcee9438c279266092843932b19f5ceac78735..79a16954e686b4c80f8687222c7235a0ee09a7a6 100644 +index 27f34e56820351223707c305f67c5e50aadbbe4f..a673122f46d4e4ad48e8c42e2d50e5ea2870df24 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -404,6 +404,7 @@ public class PurpurWorldConfig { @@ -36,4 +36,4 @@ index 3cbcee9438c279266092843932b19f5ceac78735..79a16954e686b4c80f8687222c7235a0 + playerRemoveBindingWithWeakness = getBoolean("gameplay-mechanics.player.curse-of-binding.remove-with-weakness", playerRemoveBindingWithWeakness); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0196-Conduit-behavior-configuration.patch b/patches/server/0197-Conduit-behavior-configuration.patch similarity index 98% rename from patches/server/0196-Conduit-behavior-configuration.patch rename to patches/server/0197-Conduit-behavior-configuration.patch index 5e990b02f..88f09f8d8 100644 --- a/patches/server/0196-Conduit-behavior-configuration.patch +++ b/patches/server/0197-Conduit-behavior-configuration.patch @@ -97,10 +97,10 @@ index c1759aeb3e6ad0e4eb66cba3da1b120dd1dce812..1a91bc2e422db0eba65694ac046f1b36 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 79a16954e686b4c80f8687222c7235a0ee09a7a6..c97d4f18f35b9a8e969707e80ddd51dcaa7c3838 100644 +index a673122f46d4e4ad48e8c42e2d50e5ea2870df24..25c361154866194de70c5d2365c25b4c0148e877 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2861,4 +2861,27 @@ public class PurpurWorldConfig { +@@ -2894,4 +2894,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0197-Cauldron-fill-chances.patch b/patches/server/0198-Cauldron-fill-chances.patch similarity index 96% rename from patches/server/0197-Cauldron-fill-chances.patch rename to patches/server/0198-Cauldron-fill-chances.patch index 8bb045e77..d7f48bf81 100644 --- a/patches/server/0197-Cauldron-fill-chances.patch +++ b/patches/server/0198-Cauldron-fill-chances.patch @@ -47,10 +47,10 @@ index a2bd54dae4b0460d200f6d5300194a7ef5a28830..bf189a171530abfc9bba5db5a305feb3 if (dripChance < f1) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c97d4f18f35b9a8e969707e80ddd51dcaa7c3838..772c5a409c7b9f95e72edca9aa1544d7577a8dc2 100644 +index 25c361154866194de70c5d2365c25b4c0148e877..0227caeb0efa2b9aa1d9e8cb1cb13997ebbb7a1c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2884,4 +2884,15 @@ public class PurpurWorldConfig { +@@ -2917,4 +2917,15 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/server/0198-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 96% rename from patches/server/0198-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch index 791833ffc..051804cbb 100644 --- a/patches/server/0198-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0199-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -18,7 +18,7 @@ index d5004290e40a1ff5e0fcfe75f8da34ae15962359..31ae0f466ae522d767907ec5066b2669 && pathType != PathType.POWDER_SNOW) { node = this.tryJumpOn(x, y, z, maxYStep, prevFeetY, direction, nodeType, mutableBlockPos); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 772c5a409c7b9f95e72edca9aa1544d7577a8dc2..4e5b19ae8fa93dfb446004cc8de3bf84942be74a 100644 +index 0227caeb0efa2b9aa1d9e8cb1cb13997ebbb7a1c..c5e32e0e1865cdbd81b9077038717dab4db46f4d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -138,6 +138,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0199-Shulker-change-color-with-dye.patch b/patches/server/0200-Shulker-change-color-with-dye.patch similarity index 94% rename from patches/server/0199-Shulker-change-color-with-dye.patch rename to patches/server/0200-Shulker-change-color-with-dye.patch index 7fd15a8a1..9bc5a11f2 100644 --- a/patches/server/0199-Shulker-change-color-with-dye.patch +++ b/patches/server/0200-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index 73063abbd051f1d044a8b2c0530cc8d2a96a6331..687fadf1ef64c5ae7e00c5da15b82245 protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HasRider(this)); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4e5b19ae8fa93dfb446004cc8de3bf84942be74a..dc11a0b7340f8260fcbb8f6dd5aa2083ffba82ac 100644 +index c5e32e0e1865cdbd81b9077038717dab4db46f4d..aa037b2fb2957be96db3d200294c41e43f6d820f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2202,6 +2202,7 @@ public class PurpurWorldConfig { +@@ -2235,6 +2235,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 4e5b19ae8fa93dfb446004cc8de3bf84942be74a..dc11a0b7340f8260fcbb8f6dd5aa2083 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2218,6 +2219,7 @@ public class PurpurWorldConfig { +@@ -2251,6 +2252,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/0200-Extended-OfflinePlayer-API.patch b/patches/server/0201-Extended-OfflinePlayer-API.patch similarity index 100% rename from patches/server/0200-Extended-OfflinePlayer-API.patch rename to patches/server/0201-Extended-OfflinePlayer-API.patch diff --git a/patches/server/0201-Added-the-ability-to-add-combustible-items.patch b/patches/server/0202-Added-the-ability-to-add-combustible-items.patch similarity index 100% rename from patches/server/0201-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0202-Added-the-ability-to-add-combustible-items.patch diff --git a/patches/server/0202-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 97% rename from patches/server/0202-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index cf9873527..0d670738a 100644 --- a/patches/server/0202-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0203-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -25,7 +25,7 @@ index 83ec2e31d81d6209953252a3780552c3cf110c68..42db3e64b120b753e98a0fd7e3f56c7d // 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/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dc11a0b7340f8260fcbb8f6dd5aa2083ffba82ac..c6ed88cfb476fc1298398e691fe89b560d69d295 100644 +index aa037b2fb2957be96db3d200294c41e43f6d820f..ef65be19cc55c3c473338f02c9687e74b490b358 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -139,6 +139,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0203-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 94% rename from patches/server/0203-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index 49c36602d..5fca4b152 100644 --- a/patches/server/0203-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0204-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -50,10 +50,10 @@ index 260906f493416d98ab574a7262fce5e9b7e40c64..ce639e4a2d87202a10ef4fc73274c4b2 .sound(SoundType.FLOWERING_AZALEA) .noOcclusion() diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c6ed88cfb476fc1298398e691fe89b560d69d295..75d86d50736eba0050547635504083b3aefde1e5 100644 +index ef65be19cc55c3c473338f02c9687e74b490b358..49837f5ebccfb0d6fbfefe379f52433b44c5aa79 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -773,6 +773,11 @@ public class PurpurWorldConfig { +@@ -806,6 +806,11 @@ public class PurpurWorldConfig { anvilColorsUseMiniMessage = getBoolean("blocks.anvil.use-mini-message", anvilColorsUseMiniMessage); } @@ -65,7 +65,7 @@ index c6ed88cfb476fc1298398e691fe89b560d69d295..75d86d50736eba0050547635504083b3 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -910,6 +915,11 @@ public class PurpurWorldConfig { +@@ -943,6 +948,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0204-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch similarity index 96% rename from patches/server/0204-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch index bdd182473..4a18dec59 100644 --- a/patches/server/0204-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0205-Shift-right-click-to-use-exp-for-mending.patch @@ -48,7 +48,7 @@ index 939234ccd803f173afe74651a92ff3a1c5b29b85..395ad65503c87250c0e2fa8112208f26 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 75d86d50736eba0050547635504083b3aefde1e5..69ac7dfc344dfc01445688de3a0962e6e2fee58a 100644 +index 49837f5ebccfb0d6fbfefe379f52433b44c5aa79..fb785f51d7774d31ed50f71f8048301fc2561ed0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -411,6 +411,7 @@ public class PurpurWorldConfig { @@ -66,4 +66,4 @@ index 75d86d50736eba0050547635504083b3aefde1e5..69ac7dfc344dfc01445688de3a0962e6 + shiftRightClickRepairsMendingPoints = getInt("gameplay-mechanics.player.shift-right-click-repairs-mending-points", shiftRightClickRepairsMendingPoints); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0205-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 95% rename from patches/server/0205-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch index a1634510d..e75951668 100644 --- a/patches/server/0205-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0206-Dolphins-naturally-aggressive-to-players-chance.patch @@ -48,10 +48,10 @@ index 38112239035b0c66c429c0762199867e70e0a67a..e539eefb6e6d3172611d1f9185a11380 public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 69ac7dfc344dfc01445688de3a0962e6e2fee58a..c967af01e241dd70f5fa33aebe2783487f0e939f 100644 +index fb785f51d7774d31ed50f71f8048301fc2561ed0..b1a941d2747ca93354c9abb67df8419114f27ff7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1300,6 +1300,7 @@ public class PurpurWorldConfig { +@@ -1333,6 +1333,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -59,7 +59,7 @@ index 69ac7dfc344dfc01445688de3a0962e6e2fee58a..c967af01e241dd70f5fa33aebe278348 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1314,6 +1315,7 @@ public class PurpurWorldConfig { +@@ -1347,6 +1348,7 @@ public class PurpurWorldConfig { dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); diff --git a/patches/server/0206-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch similarity index 96% rename from patches/server/0206-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch index 800ec8e56..dd14b76e4 100644 --- a/patches/server/0206-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0207-Cows-naturally-aggressive-to-players-chance.patch @@ -61,10 +61,10 @@ index 8c908891c6c683332d8877ab3fa084a0849b17a9..541cc6c70178a430ac8e3ab8f6a2250b @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c967af01e241dd70f5fa33aebe2783487f0e939f..802d1a588a694071fb08fccfeada44a5c05748ac 100644 +index b1a941d2747ca93354c9abb67df8419114f27ff7..0edff6f99dbea98f0d80f2a48d52d86874430ff5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1249,7 +1249,14 @@ public class PurpurWorldConfig { +@@ -1282,7 +1282,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -79,7 +79,7 @@ index c967af01e241dd70f5fa33aebe2783487f0e939f..802d1a588a694071fb08fccfeada44a5 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); cowControllable = getBoolean("mobs.cow.controllable", cowControllable); -@@ -1262,6 +1269,8 @@ public class PurpurWorldConfig { +@@ -1295,6 +1302,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0207-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 92% rename from patches/server/0207-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch index d24accb93..8ee26831e 100644 --- a/patches/server/0207-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0208-Option-for-beds-to-explode-on-villager-sleep.patch @@ -22,10 +22,10 @@ index a7c85c9efd13145cc061a3a0076b44a7af9812b9..1bace0d549ea4a4b45ac4cd140952498 this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level().getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 802d1a588a694071fb08fccfeada44a5c05748ac..5f3fda4dc863bcb0e535ef0c55015b728fdead1e 100644 +index 0edff6f99dbea98f0d80f2a48d52d86874430ff5..613dcb1b68169c724dbf63a6327dab5b50dd4a8d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -792,6 +792,7 @@ public class PurpurWorldConfig { +@@ -825,6 +825,7 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; @@ -33,7 +33,7 @@ index 802d1a588a694071fb08fccfeada44a5c05748ac..5f3fda4dc863bcb0e535ef0c55015b72 public double bedExplosionPower = 5.0D; public boolean bedExplosionFire = true; public net.minecraft.world.level.Level.ExplosionInteraction bedExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; -@@ -802,6 +803,7 @@ public class PurpurWorldConfig { +@@ -835,6 +836,7 @@ public class PurpurWorldConfig { } } bedExplode = getBoolean("blocks.bed.explode", bedExplode); diff --git a/patches/server/0208-Halloween-options-and-optimizations.patch b/patches/server/0209-Halloween-options-and-optimizations.patch similarity index 97% rename from patches/server/0208-Halloween-options-and-optimizations.patch rename to patches/server/0209-Halloween-options-and-optimizations.patch index d6ebcbf6e..b27c2f8a8 100644 --- a/patches/server/0208-Halloween-options-and-optimizations.patch +++ b/patches/server/0209-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 53f7659aed2378b36f1923a0208c7f86048eb85b..d5a5e51e23328deac09d6990539d8207 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5f3fda4dc863bcb0e535ef0c55015b728fdead1e..bfde7e520df0328ab1f7c90f3c028822a7f28355 100644 +index 613dcb1b68169c724dbf63a6327dab5b50dd4a8d..1b7ebd3fe3cefd1ca26957835a93e103641ddb7a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1642,6 +1642,13 @@ public class PurpurWorldConfig { +@@ -1675,6 +1675,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0209-UPnP-Port-Forwarding.patch b/patches/server/0210-UPnP-Port-Forwarding.patch similarity index 100% rename from patches/server/0209-UPnP-Port-Forwarding.patch rename to patches/server/0210-UPnP-Port-Forwarding.patch diff --git a/patches/server/0210-Campfire-option-for-lit-when-placed.patch b/patches/server/0211-Campfire-option-for-lit-when-placed.patch similarity index 94% rename from patches/server/0210-Campfire-option-for-lit-when-placed.patch rename to patches/server/0211-Campfire-option-for-lit-when-placed.patch index 3e033bfe9..9fdd69c02 100644 --- a/patches/server/0210-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0211-Campfire-option-for-lit-when-placed.patch @@ -18,10 +18,10 @@ index d6fffb0953494e8667cc456137cac0f5deebfbb6..f7a2244b998aebe354d38eec7aa22fd9 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bfde7e520df0328ab1f7c90f3c028822a7f28355..e4f0053cf35b419a3f1a37c86b65af50c020c79f 100644 +index 1b7ebd3fe3cefd1ca26957835a93e103641ddb7a..88d300ebbfa907712ddd77c2ca7dd91e04d22f21 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -835,6 +835,11 @@ public class PurpurWorldConfig { +@@ -868,6 +868,11 @@ public class PurpurWorldConfig { cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); } diff --git a/patches/server/0211-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0212-options-to-extinguish-fire-blocks-with-snowballs.patch similarity index 98% rename from patches/server/0211-options-to-extinguish-fire-blocks-with-snowballs.patch rename to patches/server/0212-options-to-extinguish-fire-blocks-with-snowballs.patch index 2f98f6b16..d3e4d711e 100644 --- a/patches/server/0211-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0212-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,7 +46,7 @@ index f59a2903bfb8ae591a638ea5bb387caaa93ce664..1b9d0e28e518c501b4b93ae385ddd64a protected void onHit(HitResult hitResult) { super.onHit(hitResult); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e4f0053cf35b419a3f1a37c86b65af50c020c79f..a3f4652dcbfd8547d87868c261d88844d65e797c 100644 +index 88d300ebbfa907712ddd77c2ca7dd91e04d22f21..d005e045f5fc2a9442fb070ebf984f34785ecc9e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -231,6 +231,9 @@ public class PurpurWorldConfig { diff --git a/patches/server/0212-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0213-Add-option-to-disable-zombie-villagers-cure.patch similarity index 92% rename from patches/server/0212-Add-option-to-disable-zombie-villagers-cure.patch rename to patches/server/0213-Add-option-to-disable-zombie-villagers-cure.patch index 1ee7679cf..7fb8dcede 100644 --- a/patches/server/0212-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0213-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index d909138942212ee090ff513b1817414c93457425..fe43c744cccdc07d5e449ce3ede85f4c if (!this.level().isClientSide) { this.startConverting(player.getUUID(), this.random.nextInt(level().purpurConfig.zombieVillagerCuringTimeMax - level().purpurConfig.zombieVillagerCuringTimeMin + 1) + level().purpurConfig.zombieVillagerCuringTimeMin); // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a3f4652dcbfd8547d87868c261d88844d65e797c..bea2cbacd7fbf48af6daff0e904b76ba62e53557 100644 +index d005e045f5fc2a9442fb070ebf984f34785ecc9e..8d4c3c4a06d40841e8446485364393e36e686fdd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2861,6 +2861,7 @@ public class PurpurWorldConfig { +@@ -2894,6 +2894,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index a3f4652dcbfd8547d87868c261d88844d65e797c..bea2cbacd7fbf48af6daff0e904b76ba private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2878,6 +2879,7 @@ public class PurpurWorldConfig { +@@ -2911,6 +2912,7 @@ public class PurpurWorldConfig { zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); diff --git a/patches/server/0213-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch b/patches/server/0214-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch similarity index 100% rename from patches/server/0213-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch rename to patches/server/0214-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch diff --git a/patches/server/0214-Mobs-always-drop-experience.patch b/patches/server/0215-Mobs-always-drop-experience.patch similarity index 94% rename from patches/server/0214-Mobs-always-drop-experience.patch rename to patches/server/0215-Mobs-always-drop-experience.patch index fb485d4b4..c9e873118 100644 --- a/patches/server/0214-Mobs-always-drop-experience.patch +++ b/patches/server/0215-Mobs-always-drop-experience.patch @@ -1157,10 +1157,10 @@ index 0d11200ab580cc306602c29c61f7619565d8261d..62f5e5cfe5745deced2811d14d0c7ebb protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d204305ba35 100644 +index 8d4c3c4a06d40841e8446485364393e36e686fdd..b493eb542c3284ce1e748ca8f61312c6e0913991 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1060,12 +1060,14 @@ public class PurpurWorldConfig { +@@ -1093,12 +1093,14 @@ public class PurpurWorldConfig { public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; public boolean axolotlTakeDamageFromWater = false; @@ -1175,7 +1175,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean batRidable = false; -@@ -1081,6 +1083,7 @@ public class PurpurWorldConfig { +@@ -1114,6 +1116,7 @@ public class PurpurWorldConfig { public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; public boolean batTakeDamageFromWater = false; @@ -1183,7 +1183,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -1100,6 +1103,7 @@ public class PurpurWorldConfig { +@@ -1133,6 +1136,7 @@ public class PurpurWorldConfig { batArmorToughness = getDouble("mobs.bat.attributes.armor_toughness", batArmorToughness); batAttackKnockback = getDouble("mobs.bat.attributes.attack_knockback", batAttackKnockback); batTakeDamageFromWater = getBoolean("mobs.bat.takes-damage-from-water", batTakeDamageFromWater); @@ -1191,7 +1191,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean beeRidable = false; -@@ -1111,6 +1115,7 @@ public class PurpurWorldConfig { +@@ -1144,6 +1148,7 @@ public class PurpurWorldConfig { public boolean beeTakeDamageFromWater = false; public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; @@ -1199,7 +1199,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1126,6 +1131,7 @@ public class PurpurWorldConfig { +@@ -1159,6 +1164,7 @@ public class PurpurWorldConfig { beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); @@ -1207,7 +1207,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean blazeRidable = false; -@@ -1134,6 +1140,7 @@ public class PurpurWorldConfig { +@@ -1167,6 +1173,7 @@ public class PurpurWorldConfig { public double blazeMaxY = 320D; public double blazeMaxHealth = 20.0D; public boolean blazeTakeDamageFromWater = true; @@ -1215,7 +1215,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -1146,6 +1153,7 @@ public class PurpurWorldConfig { +@@ -1179,6 +1186,7 @@ public class PurpurWorldConfig { } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); blazeTakeDamageFromWater = getBoolean("mobs.blaze.takes-damage-from-water", blazeTakeDamageFromWater); @@ -1223,7 +1223,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean camelRidableInWater = false; -@@ -1177,6 +1185,7 @@ public class PurpurWorldConfig { +@@ -1210,6 +1218,7 @@ public class PurpurWorldConfig { public int catBreedingTicks = 6000; public DyeColor catDefaultCollarColor = DyeColor.RED; public boolean catTakeDamageFromWater = false; @@ -1231,7 +1231,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -1197,6 +1206,7 @@ public class PurpurWorldConfig { +@@ -1230,6 +1239,7 @@ public class PurpurWorldConfig { catDefaultCollarColor = DyeColor.RED; } catTakeDamageFromWater = getBoolean("mobs.cat.takes-damage-from-water", catTakeDamageFromWater); @@ -1239,7 +1239,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean caveSpiderRidable = false; -@@ -1204,6 +1214,7 @@ public class PurpurWorldConfig { +@@ -1237,6 +1247,7 @@ public class PurpurWorldConfig { public boolean caveSpiderControllable = true; public double caveSpiderMaxHealth = 12.0D; public boolean caveSpiderTakeDamageFromWater = false; @@ -1247,7 +1247,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -1215,6 +1226,7 @@ public class PurpurWorldConfig { +@@ -1248,6 +1259,7 @@ public class PurpurWorldConfig { } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); caveSpiderTakeDamageFromWater = getBoolean("mobs.cave_spider.takes-damage-from-water", caveSpiderTakeDamageFromWater); @@ -1255,7 +1255,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean chickenRidable = false; -@@ -1224,6 +1236,7 @@ public class PurpurWorldConfig { +@@ -1257,6 +1269,7 @@ public class PurpurWorldConfig { public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; public boolean chickenTakeDamageFromWater = false; @@ -1263,7 +1263,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -1237,12 +1250,14 @@ public class PurpurWorldConfig { +@@ -1270,12 +1283,14 @@ public class PurpurWorldConfig { chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); chickenTakeDamageFromWater = getBoolean("mobs.chicken.takes-damage-from-water", chickenTakeDamageFromWater); @@ -1278,7 +1278,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); codControllable = getBoolean("mobs.cod.controllable", codControllable); -@@ -1253,6 +1268,7 @@ public class PurpurWorldConfig { +@@ -1286,6 +1301,7 @@ public class PurpurWorldConfig { } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); codTakeDamageFromWater = getBoolean("mobs.cod.takes-damage-from-water", codTakeDamageFromWater); @@ -1286,7 +1286,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean cowRidable = false; -@@ -1264,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1297,6 +1313,7 @@ public class PurpurWorldConfig { public boolean cowTakeDamageFromWater = false; public double cowNaturallyAggressiveToPlayersChance = 0.0D; public double cowNaturallyAggressiveToPlayersDamage = 2.0D; @@ -1294,7 +1294,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void cowSettings() { if (PurpurConfig.version < 22) { double oldValue = getDouble("mobs.cow.naturally-aggressive-to-players-chance", cowNaturallyAggressiveToPlayersChance); -@@ -1284,6 +1301,7 @@ public class PurpurWorldConfig { +@@ -1317,6 +1334,7 @@ public class PurpurWorldConfig { cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); cowNaturallyAggressiveToPlayersChance = getDouble("mobs.cow.naturally-aggressive-to-players.chance", cowNaturallyAggressiveToPlayersChance); cowNaturallyAggressiveToPlayersDamage = getDouble("mobs.cow.naturally-aggressive-to-players.damage", cowNaturallyAggressiveToPlayersDamage); @@ -1302,7 +1302,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean creeperRidable = false; -@@ -1296,6 +1314,7 @@ public class PurpurWorldConfig { +@@ -1329,6 +1347,7 @@ public class PurpurWorldConfig { public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; @@ -1310,7 +1310,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1312,6 +1331,7 @@ public class PurpurWorldConfig { +@@ -1345,6 +1364,7 @@ public class PurpurWorldConfig { creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); @@ -1318,7 +1318,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean dolphinRidable = false; -@@ -1323,6 +1343,7 @@ public class PurpurWorldConfig { +@@ -1356,6 +1376,7 @@ public class PurpurWorldConfig { public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; public double dolphinNaturallyAggressiveToPlayersChance = 0.0D; @@ -1326,7 +1326,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinControllable = getBoolean("mobs.dolphin.controllable", dolphinControllable); -@@ -1338,6 +1359,7 @@ public class PurpurWorldConfig { +@@ -1371,6 +1392,7 @@ public class PurpurWorldConfig { dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); dolphinNaturallyAggressiveToPlayersChance = getDouble("mobs.dolphin.naturally-aggressive-to-players-chance", dolphinNaturallyAggressiveToPlayersChance); @@ -1334,7 +1334,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean donkeyRidableInWater = false; -@@ -1349,6 +1371,7 @@ public class PurpurWorldConfig { +@@ -1382,6 +1404,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; public boolean donkeyTakeDamageFromWater = false; @@ -1342,7 +1342,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -1366,6 +1389,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1422,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); donkeyTakeDamageFromWater = getBoolean("mobs.donkey.takes-damage-from-water", donkeyTakeDamageFromWater); @@ -1350,7 +1350,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean drownedRidable = false; -@@ -1378,6 +1402,7 @@ public class PurpurWorldConfig { +@@ -1411,6 +1435,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; public boolean drownedBreakDoors = false; @@ -1358,7 +1358,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1394,12 +1419,14 @@ public class PurpurWorldConfig { +@@ -1427,12 +1452,14 @@ public class PurpurWorldConfig { drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); drownedBreakDoors = getBoolean("mobs.drowned.can-break-doors", drownedBreakDoors); @@ -1373,7 +1373,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); elderGuardianControllable = getBoolean("mobs.elder_guardian.controllable", elderGuardianControllable); -@@ -1410,6 +1437,7 @@ public class PurpurWorldConfig { +@@ -1443,6 +1470,7 @@ public class PurpurWorldConfig { } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); elderGuardianTakeDamageFromWater = getBoolean("mobs.elder_guardian.takes-damage-from-water", elderGuardianTakeDamageFromWater); @@ -1381,7 +1381,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean enderDragonRidable = false; -@@ -1455,6 +1483,7 @@ public class PurpurWorldConfig { +@@ -1488,6 +1516,7 @@ public class PurpurWorldConfig { public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; public boolean endermanIgnoreProjectiles = false; @@ -1389,7 +1389,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1478,6 +1507,7 @@ public class PurpurWorldConfig { +@@ -1511,6 +1540,7 @@ public class PurpurWorldConfig { endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); endermanIgnoreProjectiles = getBoolean("mobs.enderman.ignore-projectiles", endermanIgnoreProjectiles); @@ -1397,7 +1397,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean endermiteRidable = false; -@@ -1485,6 +1515,7 @@ public class PurpurWorldConfig { +@@ -1518,6 +1548,7 @@ public class PurpurWorldConfig { public boolean endermiteControllable = true; public double endermiteMaxHealth = 8.0D; public boolean endermiteTakeDamageFromWater = false; @@ -1405,7 +1405,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -1496,6 +1527,7 @@ public class PurpurWorldConfig { +@@ -1529,6 +1560,7 @@ public class PurpurWorldConfig { } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); endermiteTakeDamageFromWater = getBoolean("mobs.endermite.takes-damage-from-water", endermiteTakeDamageFromWater); @@ -1413,7 +1413,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean evokerRidable = false; -@@ -1504,6 +1536,7 @@ public class PurpurWorldConfig { +@@ -1537,6 +1569,7 @@ public class PurpurWorldConfig { public double evokerMaxHealth = 24.0D; public boolean evokerBypassMobGriefing = false; public boolean evokerTakeDamageFromWater = false; @@ -1421,7 +1421,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -1516,6 +1549,7 @@ public class PurpurWorldConfig { +@@ -1549,6 +1582,7 @@ public class PurpurWorldConfig { evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); evokerTakeDamageFromWater = getBoolean("mobs.evoker.takes-damage-from-water", evokerTakeDamageFromWater); @@ -1429,7 +1429,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean foxRidable = false; -@@ -1526,6 +1560,7 @@ public class PurpurWorldConfig { +@@ -1559,6 +1593,7 @@ public class PurpurWorldConfig { public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; public boolean foxTakeDamageFromWater = false; @@ -1437,7 +1437,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -1540,6 +1575,7 @@ public class PurpurWorldConfig { +@@ -1573,6 +1608,7 @@ public class PurpurWorldConfig { foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); foxTakeDamageFromWater = getBoolean("mobs.fox.takes-damage-from-water", foxTakeDamageFromWater); @@ -1445,7 +1445,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean frogRidable = false; -@@ -1561,6 +1597,7 @@ public class PurpurWorldConfig { +@@ -1594,6 +1630,7 @@ public class PurpurWorldConfig { public double ghastMaxY = 320D; public double ghastMaxHealth = 10.0D; public boolean ghastTakeDamageFromWater = false; @@ -1453,7 +1453,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -1573,6 +1610,7 @@ public class PurpurWorldConfig { +@@ -1606,6 +1643,7 @@ public class PurpurWorldConfig { } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); ghastTakeDamageFromWater = getBoolean("mobs.ghast.takes-damage-from-water", ghastTakeDamageFromWater); @@ -1461,7 +1461,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean giantRidable = false; -@@ -1586,6 +1624,7 @@ public class PurpurWorldConfig { +@@ -1619,6 +1657,7 @@ public class PurpurWorldConfig { public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; public boolean giantTakeDamageFromWater = false; @@ -1469,7 +1469,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -1607,6 +1646,7 @@ public class PurpurWorldConfig { +@@ -1640,6 +1679,7 @@ public class PurpurWorldConfig { giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); giantTakeDamageFromWater = getBoolean("mobs.giant.takes-damage-from-water", giantTakeDamageFromWater); @@ -1477,7 +1477,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean glowSquidRidable = false; -@@ -1614,12 +1654,14 @@ public class PurpurWorldConfig { +@@ -1647,12 +1687,14 @@ public class PurpurWorldConfig { public double glowSquidMaxHealth = 10.0D; public boolean glowSquidsCanFly = false; public boolean glowSquidTakeDamageFromWater = false; @@ -1492,7 +1492,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean goatRidable = false; -@@ -1628,6 +1670,7 @@ public class PurpurWorldConfig { +@@ -1661,6 +1703,7 @@ public class PurpurWorldConfig { public double goatMaxHealth = 10.0D; public int goatBreedingTicks = 6000; public boolean goatTakeDamageFromWater = false; @@ -1500,7 +1500,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void goatSettings() { goatRidable = getBoolean("mobs.goat.ridable", goatRidable); goatRidableInWater = getBoolean("mobs.goat.ridable-in-water", goatRidableInWater); -@@ -1635,12 +1678,14 @@ public class PurpurWorldConfig { +@@ -1668,12 +1711,14 @@ public class PurpurWorldConfig { goatMaxHealth = getDouble("mobs.goat.attributes.max_health", goatMaxHealth); goatBreedingTicks = getInt("mobs.goat.breeding-delay-ticks", goatBreedingTicks); goatTakeDamageFromWater = getBoolean("mobs.goat.takes-damage-from-water", goatTakeDamageFromWater); @@ -1515,7 +1515,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); guardianControllable = getBoolean("mobs.guardian.controllable", guardianControllable); -@@ -1651,6 +1696,7 @@ public class PurpurWorldConfig { +@@ -1684,6 +1729,7 @@ public class PurpurWorldConfig { } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); @@ -1523,7 +1523,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean forceHalloweenSeason = false; -@@ -1666,6 +1712,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1745,7 @@ public class PurpurWorldConfig { public double hoglinMaxHealth = 40.0D; public int hoglinBreedingTicks = 6000; public boolean hoglinTakeDamageFromWater = false; @@ -1531,7 +1531,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1678,6 +1725,7 @@ public class PurpurWorldConfig { +@@ -1711,6 +1758,7 @@ public class PurpurWorldConfig { hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); hoglinTakeDamageFromWater = getBoolean("mobs.hoglin.takes-damage-from-water", hoglinTakeDamageFromWater); @@ -1539,7 +1539,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean horseRidableInWater = false; -@@ -1689,6 +1737,7 @@ public class PurpurWorldConfig { +@@ -1722,6 +1770,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -1547,7 +1547,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1706,6 +1755,7 @@ public class PurpurWorldConfig { +@@ -1739,6 +1788,7 @@ public class PurpurWorldConfig { horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); @@ -1555,7 +1555,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean huskRidable = false; -@@ -1717,6 +1767,7 @@ public class PurpurWorldConfig { +@@ -1750,6 +1800,7 @@ public class PurpurWorldConfig { public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; public boolean huskTakeDamageFromWater = false; @@ -1563,7 +1563,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1732,6 +1783,7 @@ public class PurpurWorldConfig { +@@ -1765,6 +1816,7 @@ public class PurpurWorldConfig { huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); huskTakeDamageFromWater = getBoolean("mobs.husk.takes-damage-from-water", huskTakeDamageFromWater); @@ -1571,7 +1571,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean illusionerRidable = false; -@@ -1741,6 +1793,7 @@ public class PurpurWorldConfig { +@@ -1774,6 +1826,7 @@ public class PurpurWorldConfig { public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; public boolean illusionerTakeDamageFromWater = false; @@ -1579,7 +1579,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1758,6 +1811,7 @@ public class PurpurWorldConfig { +@@ -1791,6 +1844,7 @@ public class PurpurWorldConfig { } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); illusionerTakeDamageFromWater = getBoolean("mobs.illusioner.takes-damage-from-water", illusionerTakeDamageFromWater); @@ -1587,7 +1587,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean ironGolemRidable = false; -@@ -1768,6 +1822,7 @@ public class PurpurWorldConfig { +@@ -1801,6 +1855,7 @@ public class PurpurWorldConfig { public boolean ironGolemTakeDamageFromWater = false; public boolean ironGolemPoppyCalm = false; public boolean ironGolemHealCalm = false; @@ -1595,7 +1595,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1782,6 +1837,7 @@ public class PurpurWorldConfig { +@@ -1815,6 +1870,7 @@ public class PurpurWorldConfig { ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); ironGolemPoppyCalm = getBoolean("mobs.iron_golem.poppy-calms-anger", ironGolemPoppyCalm); ironGolemHealCalm = getBoolean("mobs.iron_golem.healing-calms-anger", ironGolemHealCalm); @@ -1603,7 +1603,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean llamaRidable = false; -@@ -1796,6 +1852,7 @@ public class PurpurWorldConfig { +@@ -1829,6 +1885,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; @@ -1611,7 +1611,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1816,6 +1873,7 @@ public class PurpurWorldConfig { +@@ -1849,6 +1906,7 @@ public class PurpurWorldConfig { llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); llamaJoinCaravans = getBoolean("mobs.llama.join-caravans", llamaJoinCaravans); @@ -1619,7 +1619,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean magmaCubeRidable = false; -@@ -1826,6 +1884,7 @@ public class PurpurWorldConfig { +@@ -1859,6 +1917,7 @@ public class PurpurWorldConfig { public Map magmaCubeMaxHealthCache = new HashMap<>(); public Map magmaCubeAttackDamageCache = new HashMap<>(); public boolean magmaCubeTakeDamageFromWater = false; @@ -1627,7 +1627,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1840,6 +1899,7 @@ public class PurpurWorldConfig { +@@ -1873,6 +1932,7 @@ public class PurpurWorldConfig { magmaCubeMaxHealthCache.clear(); magmaCubeAttackDamageCache.clear(); magmaCubeTakeDamageFromWater = getBoolean("mobs.magma_cube.takes-damage-from-water", magmaCubeTakeDamageFromWater); @@ -1635,7 +1635,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean mooshroomRidable = false; -@@ -1848,6 +1908,7 @@ public class PurpurWorldConfig { +@@ -1881,6 +1941,7 @@ public class PurpurWorldConfig { public double mooshroomMaxHealth = 10.0D; public int mooshroomBreedingTicks = 6000; public boolean mooshroomTakeDamageFromWater = false; @@ -1643,7 +1643,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1860,6 +1921,7 @@ public class PurpurWorldConfig { +@@ -1893,6 +1954,7 @@ public class PurpurWorldConfig { mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); mooshroomTakeDamageFromWater = getBoolean("mobs.mooshroom.takes-damage-from-water", mooshroomTakeDamageFromWater); @@ -1651,7 +1651,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean muleRidableInWater = false; -@@ -1871,6 +1933,7 @@ public class PurpurWorldConfig { +@@ -1904,6 +1966,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; public boolean muleTakeDamageFromWater = false; @@ -1659,7 +1659,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1888,6 +1951,7 @@ public class PurpurWorldConfig { +@@ -1921,6 +1984,7 @@ public class PurpurWorldConfig { muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); muleTakeDamageFromWater = getBoolean("mobs.mule.takes-damage-from-water", muleTakeDamageFromWater); @@ -1667,7 +1667,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean ocelotRidable = false; -@@ -1896,6 +1960,7 @@ public class PurpurWorldConfig { +@@ -1929,6 +1993,7 @@ public class PurpurWorldConfig { public double ocelotMaxHealth = 10.0D; public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; @@ -1675,7 +1675,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1908,6 +1973,7 @@ public class PurpurWorldConfig { +@@ -1941,6 +2006,7 @@ public class PurpurWorldConfig { ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); @@ -1683,7 +1683,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean pandaRidable = false; -@@ -1916,6 +1982,7 @@ public class PurpurWorldConfig { +@@ -1949,6 +2015,7 @@ public class PurpurWorldConfig { public double pandaMaxHealth = 20.0D; public int pandaBreedingTicks = 6000; public boolean pandaTakeDamageFromWater = false; @@ -1691,7 +1691,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1928,6 +1995,7 @@ public class PurpurWorldConfig { +@@ -1961,6 +2028,7 @@ public class PurpurWorldConfig { pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); pandaTakeDamageFromWater = getBoolean("mobs.panda.takes-damage-from-water", pandaTakeDamageFromWater); @@ -1699,7 +1699,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean parrotRidable = false; -@@ -1937,6 +2005,7 @@ public class PurpurWorldConfig { +@@ -1970,6 +2038,7 @@ public class PurpurWorldConfig { public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; public boolean parrotBreedable = false; @@ -1707,7 +1707,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1950,6 +2019,7 @@ public class PurpurWorldConfig { +@@ -1983,6 +2052,7 @@ public class PurpurWorldConfig { parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); parrotBreedable = getBoolean("mobs.parrot.can-breed", parrotBreedable); @@ -1715,7 +1715,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean phantomRidable = false; -@@ -1977,6 +2047,7 @@ public class PurpurWorldConfig { +@@ -2010,6 +2080,7 @@ public class PurpurWorldConfig { public boolean phantomBurnInDaylight = true; public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; @@ -1723,7 +1723,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2012,6 +2083,7 @@ public class PurpurWorldConfig { +@@ -2045,6 +2116,7 @@ public class PurpurWorldConfig { phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); @@ -1731,7 +1731,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean pigRidable = false; -@@ -2021,6 +2093,7 @@ public class PurpurWorldConfig { +@@ -2054,6 +2126,7 @@ public class PurpurWorldConfig { public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; public boolean pigTakeDamageFromWater = false; @@ -1739,7 +1739,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -2034,6 +2107,7 @@ public class PurpurWorldConfig { +@@ -2067,6 +2140,7 @@ public class PurpurWorldConfig { pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); pigTakeDamageFromWater = getBoolean("mobs.pig.takes-damage-from-water", pigTakeDamageFromWater); @@ -1747,7 +1747,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean piglinRidable = false; -@@ -2043,6 +2117,7 @@ public class PurpurWorldConfig { +@@ -2076,6 +2150,7 @@ public class PurpurWorldConfig { public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; @@ -1755,7 +1755,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2056,6 +2131,7 @@ public class PurpurWorldConfig { +@@ -2089,6 +2164,7 @@ public class PurpurWorldConfig { piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); @@ -1763,7 +1763,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean piglinBruteRidable = false; -@@ -2063,6 +2139,7 @@ public class PurpurWorldConfig { +@@ -2096,6 +2172,7 @@ public class PurpurWorldConfig { public boolean piglinBruteControllable = true; public double piglinBruteMaxHealth = 50.0D; public boolean piglinBruteTakeDamageFromWater = false; @@ -1771,7 +1771,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -2074,6 +2151,7 @@ public class PurpurWorldConfig { +@@ -2107,6 +2184,7 @@ public class PurpurWorldConfig { } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); piglinBruteTakeDamageFromWater = getBoolean("mobs.piglin_brute.takes-damage-from-water", piglinBruteTakeDamageFromWater); @@ -1779,7 +1779,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean pillagerRidable = false; -@@ -2082,6 +2160,7 @@ public class PurpurWorldConfig { +@@ -2115,6 +2193,7 @@ public class PurpurWorldConfig { public double pillagerMaxHealth = 24.0D; public boolean pillagerBypassMobGriefing = false; public boolean pillagerTakeDamageFromWater = false; @@ -1787,7 +1787,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -2094,6 +2173,7 @@ public class PurpurWorldConfig { +@@ -2127,6 +2206,7 @@ public class PurpurWorldConfig { pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); pillagerTakeDamageFromWater = getBoolean("mobs.pillager.takes-damage-from-water", pillagerTakeDamageFromWater); @@ -1795,7 +1795,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean polarBearRidable = false; -@@ -2104,6 +2184,7 @@ public class PurpurWorldConfig { +@@ -2137,6 +2217,7 @@ public class PurpurWorldConfig { public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; public boolean polarBearTakeDamageFromWater = false; @@ -1803,7 +1803,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -2119,12 +2200,14 @@ public class PurpurWorldConfig { +@@ -2152,12 +2233,14 @@ public class PurpurWorldConfig { if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); polarBearTakeDamageFromWater = getBoolean("mobs.polar_bear.takes-damage-from-water", polarBearTakeDamageFromWater); @@ -1818,7 +1818,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); pufferfishControllable = getBoolean("mobs.pufferfish.controllable", pufferfishControllable); -@@ -2135,6 +2218,7 @@ public class PurpurWorldConfig { +@@ -2168,6 +2251,7 @@ public class PurpurWorldConfig { } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); pufferfishTakeDamageFromWater = getBoolean("mobs.pufferfish.takes-damage-from-water", pufferfishTakeDamageFromWater); @@ -1826,7 +1826,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean rabbitRidable = false; -@@ -2146,6 +2230,7 @@ public class PurpurWorldConfig { +@@ -2179,6 +2263,7 @@ public class PurpurWorldConfig { public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; public boolean rabbitTakeDamageFromWater = false; @@ -1834,7 +1834,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -2161,6 +2246,7 @@ public class PurpurWorldConfig { +@@ -2194,6 +2279,7 @@ public class PurpurWorldConfig { rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); rabbitTakeDamageFromWater = getBoolean("mobs.rabbit.takes-damage-from-water", rabbitTakeDamageFromWater); @@ -1842,7 +1842,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean ravagerRidable = false; -@@ -2170,6 +2256,7 @@ public class PurpurWorldConfig { +@@ -2203,6 +2289,7 @@ public class PurpurWorldConfig { public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; public List ravagerGriefableBlocks = new ArrayList<>(); @@ -1850,7 +1850,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -2199,12 +2286,14 @@ public class PurpurWorldConfig { +@@ -2232,12 +2319,14 @@ public class PurpurWorldConfig { ravagerGriefableBlocks.add(block); } }); @@ -1865,7 +1865,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); salmonControllable = getBoolean("mobs.salmon.controllable", salmonControllable); -@@ -2215,6 +2304,7 @@ public class PurpurWorldConfig { +@@ -2248,6 +2337,7 @@ public class PurpurWorldConfig { } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); salmonTakeDamageFromWater = getBoolean("mobs.salmon.takes-damage-from-water", salmonTakeDamageFromWater); @@ -1873,7 +1873,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean sheepRidable = false; -@@ -2224,6 +2314,7 @@ public class PurpurWorldConfig { +@@ -2257,6 +2347,7 @@ public class PurpurWorldConfig { public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; public boolean sheepTakeDamageFromWater = false; @@ -1881,7 +1881,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -2237,6 +2328,7 @@ public class PurpurWorldConfig { +@@ -2270,6 +2361,7 @@ public class PurpurWorldConfig { sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); sheepTakeDamageFromWater = getBoolean("mobs.sheep.takes-damage-from-water", sheepTakeDamageFromWater); @@ -1889,7 +1889,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean shulkerRidable = false; -@@ -2250,6 +2342,7 @@ public class PurpurWorldConfig { +@@ -2283,6 +2375,7 @@ public class PurpurWorldConfig { public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; public boolean shulkerChangeColorWithDye = false; @@ -1897,7 +1897,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2267,6 +2360,7 @@ public class PurpurWorldConfig { +@@ -2300,6 +2393,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); shulkerChangeColorWithDye = getBoolean("mobs.shulker.change-color-with-dye", shulkerChangeColorWithDye); @@ -1905,7 +1905,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean silverfishRidable = false; -@@ -2275,6 +2369,7 @@ public class PurpurWorldConfig { +@@ -2308,6 +2402,7 @@ public class PurpurWorldConfig { public double silverfishMaxHealth = 8.0D; public boolean silverfishBypassMobGriefing = false; public boolean silverfishTakeDamageFromWater = false; @@ -1913,7 +1913,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -2287,6 +2382,7 @@ public class PurpurWorldConfig { +@@ -2320,6 +2415,7 @@ public class PurpurWorldConfig { silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); silverfishTakeDamageFromWater = getBoolean("mobs.silverfish.takes-damage-from-water", silverfishTakeDamageFromWater); @@ -1921,7 +1921,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean skeletonRidable = false; -@@ -2294,6 +2390,7 @@ public class PurpurWorldConfig { +@@ -2327,6 +2423,7 @@ public class PurpurWorldConfig { public boolean skeletonControllable = true; public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; @@ -1929,7 +1929,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2305,6 +2402,7 @@ public class PurpurWorldConfig { +@@ -2338,6 +2435,7 @@ public class PurpurWorldConfig { } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); @@ -1937,7 +1937,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean skeletonHorseRidable = false; -@@ -2317,6 +2415,7 @@ public class PurpurWorldConfig { +@@ -2350,6 +2448,7 @@ public class PurpurWorldConfig { public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; public boolean skeletonHorseTakeDamageFromWater = false; @@ -1945,7 +1945,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void skeletonHorseSettings() { skeletonHorseRidable = getBoolean("mobs.skeleton_horse.ridable", skeletonHorseRidable); skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); -@@ -2334,6 +2433,7 @@ public class PurpurWorldConfig { +@@ -2367,6 +2466,7 @@ public class PurpurWorldConfig { skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); skeletonHorseTakeDamageFromWater = getBoolean("mobs.skeleton_horse.takes-damage-from-water", skeletonHorseTakeDamageFromWater); @@ -1953,7 +1953,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean slimeRidable = false; -@@ -2344,6 +2444,7 @@ public class PurpurWorldConfig { +@@ -2377,6 +2477,7 @@ public class PurpurWorldConfig { public Map slimeMaxHealthCache = new HashMap<>(); public Map slimeAttackDamageCache = new HashMap<>(); public boolean slimeTakeDamageFromWater = false; @@ -1961,7 +1961,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -2358,6 +2459,7 @@ public class PurpurWorldConfig { +@@ -2391,6 +2492,7 @@ public class PurpurWorldConfig { slimeMaxHealthCache.clear(); slimeAttackDamageCache.clear(); slimeTakeDamageFromWater = getBoolean("mobs.slime.takes-damage-from-water", slimeTakeDamageFromWater); @@ -1969,7 +1969,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean snowGolemRidable = false; -@@ -2372,6 +2474,7 @@ public class PurpurWorldConfig { +@@ -2405,6 +2507,7 @@ public class PurpurWorldConfig { public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; public boolean snowGolemTakeDamageFromWater = true; @@ -1977,7 +1977,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -2390,6 +2493,7 @@ public class PurpurWorldConfig { +@@ -2423,6 +2526,7 @@ public class PurpurWorldConfig { snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); snowGolemTakeDamageFromWater = getBoolean("mobs.snow_golem.takes-damage-from-water", snowGolemTakeDamageFromWater); @@ -1985,7 +1985,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean snifferRidable = false; -@@ -2412,6 +2516,7 @@ public class PurpurWorldConfig { +@@ -2445,6 +2549,7 @@ public class PurpurWorldConfig { public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; public boolean squidTakeDamageFromWater = false; @@ -1993,7 +1993,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); squidControllable = getBoolean("mobs.squid.controllable", squidControllable); -@@ -2425,6 +2530,7 @@ public class PurpurWorldConfig { +@@ -2458,6 +2563,7 @@ public class PurpurWorldConfig { squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); squidTakeDamageFromWater = getBoolean("mobs.squid.takes-damage-from-water", squidTakeDamageFromWater); @@ -2001,7 +2001,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean spiderRidable = false; -@@ -2432,6 +2538,7 @@ public class PurpurWorldConfig { +@@ -2465,6 +2571,7 @@ public class PurpurWorldConfig { public boolean spiderControllable = true; public double spiderMaxHealth = 16.0D; public boolean spiderTakeDamageFromWater = false; @@ -2009,7 +2009,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -2443,6 +2550,7 @@ public class PurpurWorldConfig { +@@ -2476,6 +2583,7 @@ public class PurpurWorldConfig { } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); spiderTakeDamageFromWater = getBoolean("mobs.spider.takes-damage-from-water", spiderTakeDamageFromWater); @@ -2017,7 +2017,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean strayRidable = false; -@@ -2450,6 +2558,7 @@ public class PurpurWorldConfig { +@@ -2483,6 +2591,7 @@ public class PurpurWorldConfig { public boolean strayControllable = true; public double strayMaxHealth = 20.0D; public boolean strayTakeDamageFromWater = false; @@ -2025,7 +2025,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -2461,6 +2570,7 @@ public class PurpurWorldConfig { +@@ -2494,6 +2603,7 @@ public class PurpurWorldConfig { } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); strayTakeDamageFromWater = getBoolean("mobs.stray.takes-damage-from-water", strayTakeDamageFromWater); @@ -2033,7 +2033,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean striderRidable = false; -@@ -2470,6 +2580,7 @@ public class PurpurWorldConfig { +@@ -2503,6 +2613,7 @@ public class PurpurWorldConfig { public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; public boolean striderTakeDamageFromWater = true; @@ -2041,7 +2041,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -2483,6 +2594,7 @@ public class PurpurWorldConfig { +@@ -2516,6 +2627,7 @@ public class PurpurWorldConfig { striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); striderTakeDamageFromWater = getBoolean("mobs.strider.takes-damage-from-water", striderTakeDamageFromWater); @@ -2049,7 +2049,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean tadpoleRidable = false; -@@ -2505,6 +2617,7 @@ public class PurpurWorldConfig { +@@ -2538,6 +2650,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; public boolean traderLlamaTakeDamageFromWater = false; @@ -2057,7 +2057,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -2524,12 +2637,14 @@ public class PurpurWorldConfig { +@@ -2557,12 +2670,14 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); traderLlamaTakeDamageFromWater = getBoolean("mobs.trader_llama.takes-damage-from-water", traderLlamaTakeDamageFromWater); @@ -2072,7 +2072,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); tropicalFishControllable = getBoolean("mobs.tropical_fish.controllable", tropicalFishControllable); -@@ -2540,6 +2655,7 @@ public class PurpurWorldConfig { +@@ -2573,6 +2688,7 @@ public class PurpurWorldConfig { } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); tropicalFishTakeDamageFromWater = getBoolean("mobs.tropical_fish.takes-damage-from-water", tropicalFishTakeDamageFromWater); @@ -2080,7 +2080,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean turtleRidable = false; -@@ -2548,6 +2664,7 @@ public class PurpurWorldConfig { +@@ -2581,6 +2697,7 @@ public class PurpurWorldConfig { public double turtleMaxHealth = 30.0D; public int turtleBreedingTicks = 6000; public boolean turtleTakeDamageFromWater = false; @@ -2088,7 +2088,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void turtleSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -2560,6 +2677,7 @@ public class PurpurWorldConfig { +@@ -2593,6 +2710,7 @@ public class PurpurWorldConfig { turtleMaxHealth = getDouble("mobs.turtle.attributes.max_health", turtleMaxHealth); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); turtleTakeDamageFromWater = getBoolean("mobs.turtle.takes-damage-from-water", turtleTakeDamageFromWater); @@ -2096,7 +2096,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean vexRidable = false; -@@ -2568,6 +2686,7 @@ public class PurpurWorldConfig { +@@ -2601,6 +2719,7 @@ public class PurpurWorldConfig { public double vexMaxY = 320D; public double vexMaxHealth = 14.0D; public boolean vexTakeDamageFromWater = false; @@ -2104,7 +2104,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -2580,6 +2699,7 @@ public class PurpurWorldConfig { +@@ -2613,6 +2732,7 @@ public class PurpurWorldConfig { } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); vexTakeDamageFromWater = getBoolean("mobs.vex.takes-damage-from-water", vexTakeDamageFromWater); @@ -2112,7 +2112,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean villagerRidable = false; -@@ -2595,6 +2715,7 @@ public class PurpurWorldConfig { +@@ -2628,6 +2748,7 @@ public class PurpurWorldConfig { public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; @@ -2120,7 +2120,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2614,6 +2735,7 @@ public class PurpurWorldConfig { +@@ -2647,6 +2768,7 @@ public class PurpurWorldConfig { villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); @@ -2128,7 +2128,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean vindicatorRidable = false; -@@ -2622,6 +2744,7 @@ public class PurpurWorldConfig { +@@ -2655,6 +2777,7 @@ public class PurpurWorldConfig { public double vindicatorMaxHealth = 24.0D; public double vindicatorJohnnySpawnChance = 0D; public boolean vindicatorTakeDamageFromWater = false; @@ -2136,7 +2136,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -2634,6 +2757,7 @@ public class PurpurWorldConfig { +@@ -2667,6 +2790,7 @@ public class PurpurWorldConfig { vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); vindicatorTakeDamageFromWater = getBoolean("mobs.vindicator.takes-damage-from-water", vindicatorTakeDamageFromWater); @@ -2144,7 +2144,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean wanderingTraderRidable = false; -@@ -2644,6 +2768,7 @@ public class PurpurWorldConfig { +@@ -2677,6 +2801,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; public boolean wanderingTraderAllowTrading = true; @@ -2152,7 +2152,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2658,6 +2783,7 @@ public class PurpurWorldConfig { +@@ -2691,6 +2816,7 @@ public class PurpurWorldConfig { wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); wanderingTraderAllowTrading = getBoolean("mobs.wandering_trader.allow-trading", wanderingTraderAllowTrading); @@ -2160,7 +2160,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean wardenRidable = false; -@@ -2674,6 +2800,7 @@ public class PurpurWorldConfig { +@@ -2707,6 +2833,7 @@ public class PurpurWorldConfig { public boolean witchControllable = true; public double witchMaxHealth = 26.0D; public boolean witchTakeDamageFromWater = false; @@ -2168,7 +2168,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -2685,6 +2812,7 @@ public class PurpurWorldConfig { +@@ -2718,6 +2845,7 @@ public class PurpurWorldConfig { } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); witchTakeDamageFromWater = getBoolean("mobs.witch.takes-damage-from-water", witchTakeDamageFromWater); @@ -2176,7 +2176,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean witherRidable = false; -@@ -2699,6 +2827,7 @@ public class PurpurWorldConfig { +@@ -2732,6 +2860,7 @@ public class PurpurWorldConfig { public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; public boolean witherPlaySpawnSound = true; @@ -2184,7 +2184,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2721,6 +2850,7 @@ public class PurpurWorldConfig { +@@ -2754,6 +2883,7 @@ public class PurpurWorldConfig { witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); witherPlaySpawnSound = getBoolean("mobs.wither.play-spawn-sound", witherPlaySpawnSound); @@ -2192,7 +2192,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean witherSkeletonRidable = false; -@@ -2728,6 +2858,7 @@ public class PurpurWorldConfig { +@@ -2761,6 +2891,7 @@ public class PurpurWorldConfig { public boolean witherSkeletonControllable = true; public double witherSkeletonMaxHealth = 20.0D; public boolean witherSkeletonTakeDamageFromWater = false; @@ -2200,7 +2200,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -2739,6 +2870,7 @@ public class PurpurWorldConfig { +@@ -2772,6 +2903,7 @@ public class PurpurWorldConfig { } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); witherSkeletonTakeDamageFromWater = getBoolean("mobs.wither_skeleton.takes-damage-from-water", witherSkeletonTakeDamageFromWater); @@ -2208,7 +2208,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean wolfRidable = false; -@@ -2750,6 +2882,7 @@ public class PurpurWorldConfig { +@@ -2783,6 +2915,7 @@ public class PurpurWorldConfig { public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; public boolean wolfTakeDamageFromWater = false; @@ -2216,7 +2216,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -2769,6 +2902,7 @@ public class PurpurWorldConfig { +@@ -2802,6 +2935,7 @@ public class PurpurWorldConfig { wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); wolfTakeDamageFromWater = getBoolean("mobs.wolf.takes-damage-from-water", wolfTakeDamageFromWater); @@ -2224,7 +2224,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean zoglinRidable = false; -@@ -2776,6 +2910,7 @@ public class PurpurWorldConfig { +@@ -2809,6 +2943,7 @@ public class PurpurWorldConfig { public boolean zoglinControllable = true; public double zoglinMaxHealth = 40.0D; public boolean zoglinTakeDamageFromWater = false; @@ -2232,7 +2232,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -2787,6 +2922,7 @@ public class PurpurWorldConfig { +@@ -2820,6 +2955,7 @@ public class PurpurWorldConfig { } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); zoglinTakeDamageFromWater = getBoolean("mobs.zoglin.takes-damage-from-water", zoglinTakeDamageFromWater); @@ -2240,7 +2240,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean zombieRidable = false; -@@ -2800,6 +2936,7 @@ public class PurpurWorldConfig { +@@ -2833,6 +2969,7 @@ public class PurpurWorldConfig { public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; @@ -2248,7 +2248,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2817,6 +2954,7 @@ public class PurpurWorldConfig { +@@ -2850,6 +2987,7 @@ public class PurpurWorldConfig { zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); @@ -2256,7 +2256,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean zombieHorseRidable = false; -@@ -2830,6 +2968,7 @@ public class PurpurWorldConfig { +@@ -2863,6 +3001,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; public boolean zombieHorseTakeDamageFromWater = false; @@ -2264,7 +2264,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void zombieHorseSettings() { zombieHorseRidable = getBoolean("mobs.zombie_horse.ridable", zombieHorseRidable); zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); -@@ -2848,6 +2987,7 @@ public class PurpurWorldConfig { +@@ -2881,6 +3020,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); zombieHorseTakeDamageFromWater = getBoolean("mobs.zombie_horse.takes-damage-from-water", zombieHorseTakeDamageFromWater); @@ -2272,7 +2272,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean zombieVillagerRidable = false; -@@ -2862,6 +3002,7 @@ public class PurpurWorldConfig { +@@ -2895,6 +3035,7 @@ public class PurpurWorldConfig { public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; public boolean zombieVillagerCureEnabled = true; @@ -2280,7 +2280,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2880,6 +3021,7 @@ public class PurpurWorldConfig { +@@ -2913,6 +3054,7 @@ public class PurpurWorldConfig { zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); zombieVillagerCureEnabled = getBoolean("mobs.zombie_villager.cure.enabled", zombieVillagerCureEnabled); @@ -2288,7 +2288,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 } public boolean zombifiedPiglinRidable = false; -@@ -2892,6 +3034,7 @@ public class PurpurWorldConfig { +@@ -2925,6 +3067,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; public boolean zombifiedPiglinTakeDamageFromWater = false; @@ -2296,7 +2296,7 @@ index bea2cbacd7fbf48af6daff0e904b76ba62e53557..b6548af929aee9cb4f323b50de921d20 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -2908,6 +3051,7 @@ public class PurpurWorldConfig { +@@ -2941,6 +3084,7 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); diff --git a/patches/server/0215-Grindstone-API.patch b/patches/server/0216-Grindstone-API.patch similarity index 100% rename from patches/server/0215-Grindstone-API.patch rename to patches/server/0216-Grindstone-API.patch diff --git a/patches/server/0216-Ability-for-hoe-to-replant-crops-and-nether-warts.patch b/patches/server/0217-Ability-for-hoe-to-replant-crops-and-nether-warts.patch similarity index 96% rename from patches/server/0216-Ability-for-hoe-to-replant-crops-and-nether-warts.patch rename to patches/server/0217-Ability-for-hoe-to-replant-crops-and-nether-warts.patch index 16675d2aa..14c0beabc 100644 --- a/patches/server/0216-Ability-for-hoe-to-replant-crops-and-nether-warts.patch +++ b/patches/server/0217-Ability-for-hoe-to-replant-crops-and-nether-warts.patch @@ -74,10 +74,10 @@ index acbd60a2f162fe0e254e36d0e8e7face3fc8a7b3..da1c7999ca64199387054de46489d3ff + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b6548af929aee9cb4f323b50de921d204305ba35..06c9f6b1eaf2ce84b5857704ed0d582d0f7e8c89 100644 +index b493eb542c3284ce1e748ca8f61312c6e0913991..b82024428de95ba18a21b4294ecc0fc52ad89fee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -505,6 +505,8 @@ public class PurpurWorldConfig { +@@ -538,6 +538,8 @@ public class PurpurWorldConfig { public Map axeWeatherables = new HashMap<>(); public Map hoeTillables = new HashMap<>(); public Map shovelFlattenables = new HashMap<>(); @@ -86,7 +86,7 @@ index b6548af929aee9cb4f323b50de921d204305ba35..06c9f6b1eaf2ce84b5857704ed0d582d private void toolSettings() { axeStrippables.clear(); axeWaxables.clear(); -@@ -772,6 +774,8 @@ public class PurpurWorldConfig { +@@ -805,6 +807,8 @@ public class PurpurWorldConfig { }); shovelFlattenables.put(block, new Flattenable(into, drops)); }); diff --git a/patches/server/0217-Turtle-eggs-random-tick-crack-chance.patch b/patches/server/0218-Turtle-eggs-random-tick-crack-chance.patch similarity index 93% rename from patches/server/0217-Turtle-eggs-random-tick-crack-chance.patch rename to patches/server/0218-Turtle-eggs-random-tick-crack-chance.patch index 956b92612..4d99f9fb9 100644 --- a/patches/server/0217-Turtle-eggs-random-tick-crack-chance.patch +++ b/patches/server/0218-Turtle-eggs-random-tick-crack-chance.patch @@ -18,10 +18,10 @@ index 0c732cfbd9ce50198a3f85ae8ef2263d7ae0bc1a..2f0e8aeb9c45853fca12ddd78a7d5181 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 06c9f6b1eaf2ce84b5857704ed0d582d0f7e8c89..7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f 100644 +index b82024428de95ba18a21b4294ecc0fc52ad89fee..f0718c62cc9c2efaaf70b006c712d1cdbb54ccfc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1027,11 +1027,13 @@ public class PurpurWorldConfig { +@@ -1060,11 +1060,13 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = false; public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; diff --git a/patches/server/0218-Mob-head-visibility-percent.patch b/patches/server/0219-Mob-head-visibility-percent.patch similarity index 91% rename from patches/server/0218-Mob-head-visibility-percent.patch rename to patches/server/0219-Mob-head-visibility-percent.patch index c6bf8d240..4dd20025d 100644 --- a/patches/server/0218-Mob-head-visibility-percent.patch +++ b/patches/server/0219-Mob-head-visibility-percent.patch @@ -32,10 +32,10 @@ index 28718b44dc2bd98a5144ebcfd8be195a4715ccd7..24f002e44a7a485026a814c898b85699 // Purpur start if (entity instanceof LivingEntity entityliving) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7b6cc281e 100644 +index f0718c62cc9c2efaaf70b006c712d1cdbb54ccfc..0c3fec906da62b627f2570f78f2d3d46e07b93f1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1321,6 +1321,7 @@ public class PurpurWorldConfig { +@@ -1354,6 +1354,7 @@ public class PurpurWorldConfig { public boolean creeperExplodeWhenKilled = false; public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; @@ -43,7 +43,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1338,6 +1339,7 @@ public class PurpurWorldConfig { +@@ -1371,6 +1372,7 @@ public class PurpurWorldConfig { creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); @@ -51,7 +51,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 } public boolean dolphinRidable = false; -@@ -2124,6 +2126,7 @@ public class PurpurWorldConfig { +@@ -2157,6 +2159,7 @@ public class PurpurWorldConfig { public boolean piglinTakeDamageFromWater = false; public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; @@ -59,7 +59,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2138,6 +2141,7 @@ public class PurpurWorldConfig { +@@ -2171,6 +2174,7 @@ public class PurpurWorldConfig { piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); @@ -67,7 +67,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 } public boolean piglinBruteRidable = false; -@@ -2397,6 +2401,7 @@ public class PurpurWorldConfig { +@@ -2430,6 +2434,7 @@ public class PurpurWorldConfig { public double skeletonMaxHealth = 20.0D; public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; @@ -75,7 +75,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2409,6 +2414,7 @@ public class PurpurWorldConfig { +@@ -2442,6 +2447,7 @@ public class PurpurWorldConfig { skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); @@ -83,7 +83,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 } public boolean skeletonHorseRidable = false; -@@ -2943,6 +2949,7 @@ public class PurpurWorldConfig { +@@ -2976,6 +2982,7 @@ public class PurpurWorldConfig { public boolean zombieBypassMobGriefing = false; public boolean zombieTakeDamageFromWater = false; public boolean zombieAlwaysDropExp = false; @@ -91,7 +91,7 @@ index 7d0319d0da3d09c3d5c58b47ca4e8ab9f47d352f..14182802bed73f6f64940dd1f49b76c7 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -2961,6 +2968,7 @@ public class PurpurWorldConfig { +@@ -2994,6 +3001,7 @@ public class PurpurWorldConfig { zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); zombieTakeDamageFromWater = getBoolean("mobs.zombie.takes-damage-from-water", zombieTakeDamageFromWater); zombieAlwaysDropExp = getBoolean("mobs.zombie.always-drop-exp", zombieAlwaysDropExp); diff --git a/patches/server/0219-Configurable-valid-characters-for-usernames.patch b/patches/server/0220-Configurable-valid-characters-for-usernames.patch similarity index 100% rename from patches/server/0219-Configurable-valid-characters-for-usernames.patch rename to patches/server/0220-Configurable-valid-characters-for-usernames.patch diff --git a/patches/server/0220-Shears-can-have-looting-enchantment.patch b/patches/server/0221-Shears-can-have-looting-enchantment.patch similarity index 100% rename from patches/server/0220-Shears-can-have-looting-enchantment.patch rename to patches/server/0221-Shears-can-have-looting-enchantment.patch diff --git a/patches/server/0221-Stop-bees-from-dying-after-stinging.patch b/patches/server/0222-Stop-bees-from-dying-after-stinging.patch similarity index 90% rename from patches/server/0221-Stop-bees-from-dying-after-stinging.patch rename to patches/server/0222-Stop-bees-from-dying-after-stinging.patch index af73596b0..d65e11b3b 100644 --- a/patches/server/0221-Stop-bees-from-dying-after-stinging.patch +++ b/patches/server/0222-Stop-bees-from-dying-after-stinging.patch @@ -17,10 +17,10 @@ index 926c30db9b28a30fe5d6c8d20f3972dec0d7b4d0..221c0051c7a0e20c1b7a464df26eb63c ++this.timeSinceSting; if (this.timeSinceSting % 5 == 0 && this.random.nextInt(Mth.clamp(1200 - this.timeSinceSting, 1, 1200)) == 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 14182802bed73f6f64940dd1f49b76c7b6cc281e..b6592dadc81a4f003153980d357eba6f62c9fb63 100644 +index 0c3fec906da62b627f2570f78f2d3d46e07b93f1..252a1ab0c8cd7aaaf21a0683dc0611f9e6f0733c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1122,6 +1122,7 @@ public class PurpurWorldConfig { +@@ -1155,6 +1155,7 @@ public class PurpurWorldConfig { public boolean beeCanWorkAtNight = false; public boolean beeCanWorkInRain = false; public boolean beeAlwaysDropExp = false; @@ -28,7 +28,7 @@ index 14182802bed73f6f64940dd1f49b76c7b6cc281e..b6592dadc81a4f003153980d357eba6f private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -1138,6 +1139,7 @@ public class PurpurWorldConfig { +@@ -1171,6 +1172,7 @@ public class PurpurWorldConfig { beeCanWorkAtNight = getBoolean("mobs.bee.can-work-at-night", beeCanWorkAtNight); beeCanWorkInRain = getBoolean("mobs.bee.can-work-in-rain", beeCanWorkInRain); beeAlwaysDropExp = getBoolean("mobs.bee.always-drop-exp", beeAlwaysDropExp); diff --git a/patches/server/0222-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/server/0223-Give-bee-counts-in-beehives-to-Purpur-clients.patch similarity index 100% rename from patches/server/0222-Give-bee-counts-in-beehives-to-Purpur-clients.patch rename to patches/server/0223-Give-bee-counts-in-beehives-to-Purpur-clients.patch diff --git a/patches/server/0223-Configurable-farmland-trample-height.patch b/patches/server/0224-Configurable-farmland-trample-height.patch similarity index 94% rename from patches/server/0223-Configurable-farmland-trample-height.patch rename to patches/server/0224-Configurable-farmland-trample-height.patch index 563e26fe6..ad933891a 100644 --- a/patches/server/0223-Configurable-farmland-trample-height.patch +++ b/patches/server/0224-Configurable-farmland-trample-height.patch @@ -35,10 +35,10 @@ index 12a0c69f8fec30fad64cbb00af2ca1bbf0ea5153..d0ec0722496ed931b48c4e7076fddbb1 org.bukkit.event.Cancellable cancellable; if (entity instanceof Player) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b6592dadc81a4f003153980d357eba6f62c9fb63..3c8e1ae5156c382f94c2785b53eb70a074106ed2 100644 +index 252a1ab0c8cd7aaaf21a0683dc0611f9e6f0733c..9a920c2bb3efa5754245b76aa13a81ca01028fc1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -925,6 +925,7 @@ public class PurpurWorldConfig { +@@ -958,6 +958,7 @@ public class PurpurWorldConfig { public boolean farmlandTramplingDisabled = false; public boolean farmlandTramplingOnlyPlayers = false; public boolean farmlandTramplingFeatherFalling = false; @@ -46,7 +46,7 @@ index b6592dadc81a4f003153980d357eba6f62c9fb63..3c8e1ae5156c382f94c2785b53eb70a0 private void farmlandSettings() { farmlandBypassMobGriefing = getBoolean("blocks.farmland.bypass-mob-griefing", farmlandBypassMobGriefing); farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); -@@ -932,6 +933,7 @@ public class PurpurWorldConfig { +@@ -965,6 +966,7 @@ public class PurpurWorldConfig { farmlandTramplingDisabled = getBoolean("blocks.farmland.disable-trampling", farmlandTramplingDisabled); farmlandTramplingOnlyPlayers = getBoolean("blocks.farmland.only-players-trample", farmlandTramplingOnlyPlayers); farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); diff --git a/patches/server/0224-Configurable-player-pickup-exp-delay.patch b/patches/server/0225-Configurable-player-pickup-exp-delay.patch similarity index 95% rename from patches/server/0224-Configurable-player-pickup-exp-delay.patch rename to patches/server/0225-Configurable-player-pickup-exp-delay.patch index 01628f70e..b09cede36 100644 --- a/patches/server/0224-Configurable-player-pickup-exp-delay.patch +++ b/patches/server/0225-Configurable-player-pickup-exp-delay.patch @@ -35,7 +35,7 @@ index 44ef706008a1477d2073c29f2c9d016bf91e15a6..102da46e66ac3a395af98fdb0013587e } else if (!entity.isRemoved()) { this.touch(entity); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3c8e1ae5156c382f94c2785b53eb70a074106ed2..e7012f1763747672543957029100a76abefc0848 100644 +index 9a920c2bb3efa5754245b76aa13a81ca01028fc1..e687752dafb2daa5ecc638171e4e8730e7d877c7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -418,6 +418,7 @@ public class PurpurWorldConfig { @@ -53,4 +53,4 @@ index 3c8e1ae5156c382f94c2785b53eb70a074106ed2..e7012f1763747672543957029100a76a + playerExpPickupDelay = getInt("gameplay-mechanics.player.exp-pickup-delay-ticks", playerExpPickupDelay); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0225-Allow-void-trading.patch b/patches/server/0226-Allow-void-trading.patch similarity index 94% rename from patches/server/0225-Allow-void-trading.patch rename to patches/server/0226-Allow-void-trading.patch index de6b581d7..ac513522d 100644 --- a/patches/server/0225-Allow-void-trading.patch +++ b/patches/server/0226-Allow-void-trading.patch @@ -18,7 +18,7 @@ index 42db3e64b120b753e98a0fd7e3f56c7d28256fd2..ae2b9732b2795ea7faec96af4c27ccb0 } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e7012f1763747672543957029100a76abefc0848..fee4409841ad82bf8d00864ea285453cfddec849 100644 +index e687752dafb2daa5ecc638171e4e8730e7d877c7..1cce789eedff397dc3c2a1edcd2991bc9925f5cb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -419,6 +419,7 @@ public class PurpurWorldConfig { @@ -36,4 +36,4 @@ index e7012f1763747672543957029100a76abefc0848..fee4409841ad82bf8d00864ea285453c + playerVoidTrading = getBoolean("gameplay-mechanics.player.allow-void-trading", playerVoidTrading); } - private static boolean projectileDespawnRateSettingsMigrated = false; + public boolean silkTouchEnabled = false; diff --git a/patches/server/0226-Configurable-phantom-size.patch b/patches/server/0227-Configurable-phantom-size.patch similarity index 93% rename from patches/server/0226-Configurable-phantom-size.patch rename to patches/server/0227-Configurable-phantom-size.patch index 15ecf628c..c963273a3 100644 --- a/patches/server/0226-Configurable-phantom-size.patch +++ b/patches/server/0227-Configurable-phantom-size.patch @@ -22,10 +22,10 @@ index 0d81540d048cd4a08962bd24d3bdd49db708f83f..26077bd6eeedbdae84613188cb0f336a } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index fee4409841ad82bf8d00864ea285453cfddec849..0bbb872ba5e444cee4f34358a4a7db9e300ca128 100644 +index 1cce789eedff397dc3c2a1edcd2991bc9925f5cb..ae0ad49d5efc06550a27c40c49f3c4b9cbcc63dd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2064,6 +2064,8 @@ public class PurpurWorldConfig { +@@ -2097,6 +2097,8 @@ public class PurpurWorldConfig { public boolean phantomFlamesOnSwoop = false; public boolean phantomTakeDamageFromWater = false; public boolean phantomAlwaysDropExp = false; @@ -34,7 +34,7 @@ index fee4409841ad82bf8d00864ea285453cfddec849..0bbb872ba5e444cee4f34358a4a7db9e private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -2100,6 +2102,13 @@ public class PurpurWorldConfig { +@@ -2133,6 +2135,13 @@ public class PurpurWorldConfig { phantomFlamesOnSwoop = getBoolean("mobs.phantom.flames-on-swoop", phantomFlamesOnSwoop); phantomTakeDamageFromWater = getBoolean("mobs.phantom.takes-damage-from-water", phantomTakeDamageFromWater); phantomAlwaysDropExp = getBoolean("mobs.phantom.always-drop-exp", phantomAlwaysDropExp); diff --git a/patches/server/0227-Max-joins-per-second.patch b/patches/server/0228-Max-joins-per-second.patch similarity index 100% rename from patches/server/0227-Max-joins-per-second.patch rename to patches/server/0228-Max-joins-per-second.patch diff --git a/patches/server/0228-Configurable-minimum-demand-for-trades.patch b/patches/server/0229-Configurable-minimum-demand-for-trades.patch similarity index 94% rename from patches/server/0228-Configurable-minimum-demand-for-trades.patch rename to patches/server/0229-Configurable-minimum-demand-for-trades.patch index 84725e894..c47c3f1d3 100644 --- a/patches/server/0228-Configurable-minimum-demand-for-trades.patch +++ b/patches/server/0229-Configurable-minimum-demand-for-trades.patch @@ -40,10 +40,10 @@ index 0efc8d997b34302c3e0a5d7ec73a11a940dbeefe..af157881d440b34cfe79fbc9b03cc9ef public ItemStack assemble() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0bbb872ba5e444cee4f34358a4a7db9e300ca128..9560a982f4fd33bdab5c6eec860629a8627819c0 100644 +index ae0ad49d5efc06550a27c40c49f3c4b9cbcc63dd..95382bac24be84f0232930373e8d6128b76a8554 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2745,6 +2745,7 @@ public class PurpurWorldConfig { +@@ -2778,6 +2778,7 @@ public class PurpurWorldConfig { public boolean villagerTakeDamageFromWater = false; public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; @@ -51,7 +51,7 @@ index 0bbb872ba5e444cee4f34358a4a7db9e300ca128..9560a982f4fd33bdab5c6eec860629a8 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2765,6 +2766,7 @@ public class PurpurWorldConfig { +@@ -2798,6 +2799,7 @@ public class PurpurWorldConfig { villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); diff --git a/patches/server/0229-Lobotomize-stuck-villagers.patch b/patches/server/0230-Lobotomize-stuck-villagers.patch similarity index 97% rename from patches/server/0229-Lobotomize-stuck-villagers.patch rename to patches/server/0230-Lobotomize-stuck-villagers.patch index 3963fa121..0582fd7cc 100644 --- a/patches/server/0229-Lobotomize-stuck-villagers.patch +++ b/patches/server/0230-Lobotomize-stuck-villagers.patch @@ -104,10 +104,10 @@ index 6c15d40979fd3e3d246a447c432b321fbf29ada3..6ace76a829c88e2e747dbbcce0a6582c + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9560a982f4fd33bdab5c6eec860629a8627819c0..953e8eb3580c337bcfb884ef645459046163b320 100644 +index 95382bac24be84f0232930373e8d6128b76a8554..158d802ce38a9ae6c222cfa9e4a70806bd6eff51 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2746,6 +2746,9 @@ public class PurpurWorldConfig { +@@ -2779,6 +2779,9 @@ public class PurpurWorldConfig { public boolean villagerAllowTrading = true; public boolean villagerAlwaysDropExp = false; public int villagerMinimumDemand = 0; @@ -117,7 +117,7 @@ index 9560a982f4fd33bdab5c6eec860629a8627819c0..953e8eb3580c337bcfb884ef64545904 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2767,6 +2770,18 @@ public class PurpurWorldConfig { +@@ -2800,6 +2803,18 @@ public class PurpurWorldConfig { villagerAllowTrading = getBoolean("mobs.villager.allow-trading", villagerAllowTrading); villagerAlwaysDropExp = getBoolean("mobs.villager.always-drop-exp", villagerAlwaysDropExp); villagerMinimumDemand = getInt("mobs.villager.minimum-demand", villagerMinimumDemand); diff --git a/patches/server/0230-Option-for-villager-display-trade-item.patch b/patches/server/0231-Option-for-villager-display-trade-item.patch similarity index 92% rename from patches/server/0230-Option-for-villager-display-trade-item.patch rename to patches/server/0231-Option-for-villager-display-trade-item.patch index e55a4f689..935342875 100644 --- a/patches/server/0230-Option-for-villager-display-trade-item.patch +++ b/patches/server/0231-Option-for-villager-display-trade-item.patch @@ -17,10 +17,10 @@ index 18dad0825616c4167a0a7555689ee64910a87e09..6945992491027d43eca4f1ca697ad45c && this.lookTime > 0 && entity.getBrain().getMemory(MemoryModuleType.INTERACTION_TARGET).isPresent(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 953e8eb3580c337bcfb884ef645459046163b320..adecd8c6530f72ac4013cdce17ca21d7b1e36b69 100644 +index 158d802ce38a9ae6c222cfa9e4a70806bd6eff51..5c2639e142d04fee6c467292b1173917213a537c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2749,6 +2749,7 @@ public class PurpurWorldConfig { +@@ -2782,6 +2782,7 @@ public class PurpurWorldConfig { public boolean villagerLobotomizeEnabled = false; public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; @@ -28,7 +28,7 @@ index 953e8eb3580c337bcfb884ef645459046163b320..adecd8c6530f72ac4013cdce17ca21d7 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2782,6 +2783,7 @@ public class PurpurWorldConfig { +@@ -2815,6 +2816,7 @@ public class PurpurWorldConfig { villagerLobotomizeEnabled = getBoolean("mobs.villager.lobotomize.enabled", villagerLobotomizeEnabled); villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); diff --git a/patches/server/0231-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch b/patches/server/0232-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch similarity index 93% rename from patches/server/0231-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch rename to patches/server/0232-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch index 0b4b1507e..9002b9b19 100644 --- a/patches/server/0231-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch +++ b/patches/server/0232-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch @@ -17,10 +17,10 @@ index 6f22705072fecbe91196e4966fca2eeec060f120..ed2ae44f7cef5aed17d10cc8a7df0a22 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index adecd8c6530f72ac4013cdce17ca21d7b1e36b69..591c2ac44cd7d921ea0aa7f2703d61c3d8a08921 100644 +index 5c2639e142d04fee6c467292b1173917213a537c..ffdc11fd8c5b2059ac9fc6b9ec47f373c6329b63 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1014,8 +1014,10 @@ public class PurpurWorldConfig { +@@ -1047,8 +1047,10 @@ public class PurpurWorldConfig { } public boolean spawnerDeactivateByRedstone = false; diff --git a/patches/server/0232-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch similarity index 97% rename from patches/server/0232-Config-for-mob-last-hurt-by-player-time.patch rename to patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch index f4950c805..7e1716dda 100644 --- a/patches/server/0232-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0233-Config-for-mob-last-hurt-by-player-time.patch @@ -38,7 +38,7 @@ index 1a8a76aa31bd1d1670be6e9cada162c540084cf9..b452ebbe11145987fb5e66b399938984 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 591c2ac44cd7d921ea0aa7f2703d61c3d8a08921..3c04866f1738c5d13d03b5d86515fb75147e5be6 100644 +index ffdc11fd8c5b2059ac9fc6b9ec47f373c6329b63..6dd04e6b344f1cfc32f3161832c9012ef5b83ee8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -141,6 +141,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0233-Anvil-repair-damage-options.patch b/patches/server/0234-Anvil-repair-damage-options.patch similarity index 97% rename from patches/server/0233-Anvil-repair-damage-options.patch rename to patches/server/0234-Anvil-repair-damage-options.patch index 5d3438009..55bf79728 100644 --- a/patches/server/0233-Anvil-repair-damage-options.patch +++ b/patches/server/0234-Anvil-repair-damage-options.patch @@ -63,10 +63,10 @@ index 923357251ad950ec4f893e8771fcfa99de8a60c5..78a341ac80806f86f2ca0bd895fb091a protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) { if (world.isClientSide) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3c04866f1738c5d13d03b5d86515fb75147e5be6..70560445d1c5eddf7f19153be60cb85f9401f2c8 100644 +index 6dd04e6b344f1cfc32f3161832c9012ef5b83ee8..4b70ba95de6c238f6d085b343e97a4cdc521eaf7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -786,9 +786,13 @@ public class PurpurWorldConfig { +@@ -819,9 +819,13 @@ public class PurpurWorldConfig { public boolean anvilAllowColors = false; public boolean anvilColorsUseMiniMessage; diff --git a/patches/server/0234-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0235-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 94% rename from patches/server/0234-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/server/0235-Option-to-disable-turtle-egg-trampling-with-feather-.patch index 444e8baab..44abee64a 100644 --- a/patches/server/0234-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0235-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,10 +24,10 @@ index 2f0e8aeb9c45853fca12ddd78a7d51813a600e67..08ba90f760abb9fb62311dddd7b5bdbd return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 70560445d1c5eddf7f19153be60cb85f9401f2c8..defaab96d7f9bc7c6dc7578d1a3f40b944ad6a48 100644 +index 4b70ba95de6c238f6d085b343e97a4cdc521eaf7..1c9ecab6a0fe5da259fa1c080374dab8bd446911 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1042,12 +1042,14 @@ public class PurpurWorldConfig { +@@ -1075,12 +1075,14 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromMinecarts = false; public boolean turtleEggsBypassMobGriefing = false; public int turtleEggsRandomTickCrackChance = 500; diff --git a/patches/server/0235-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0236-Add-toggle-for-enchant-level-clamping.patch similarity index 100% rename from patches/server/0235-Add-toggle-for-enchant-level-clamping.patch rename to patches/server/0236-Add-toggle-for-enchant-level-clamping.patch diff --git a/patches/server/0236-Skip-junit-tests-for-purpur-commands.patch b/patches/server/0237-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/server/0236-Skip-junit-tests-for-purpur-commands.patch rename to patches/server/0237-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/server/0237-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0238-Implement-configurable-search-radius-for-villagers-t.patch similarity index 93% rename from patches/server/0237-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/server/0238-Implement-configurable-search-radius-for-villagers-t.patch index 9489fc6d1..224aaf71a 100644 --- a/patches/server/0237-Implement-configurable-search-radius-for-villagers-t.patch +++ b/patches/server/0238-Implement-configurable-search-radius-for-villagers-t.patch @@ -18,10 +18,10 @@ index dd74825c04543ae8c0bb1ab5eef6c8a152b621fd..dcf580d852ede8ea01f5d91944a224ec AABB axisalignedbb = this.getBoundingBox().inflate(10.0D, 10.0D, 10.0D); List list = world.getEntitiesOfClass(Villager.class, axisalignedbb); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index defaab96d7f9bc7c6dc7578d1a3f40b944ad6a48..6fd09799427a6fef8ef1ec75ed5be8ab3fef60a1 100644 +index 1c9ecab6a0fe5da259fa1c080374dab8bd446911..e115fe44b20b1e6231d752770c27c4354f2a942c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2760,6 +2760,8 @@ public class PurpurWorldConfig { +@@ -2793,6 +2793,8 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheckInterval = 100; public boolean villagerLobotomizeWaitUntilTradeLocked = false; public boolean villagerDisplayTradeItem = true; @@ -30,7 +30,7 @@ index defaab96d7f9bc7c6dc7578d1a3f40b944ad6a48..6fd09799427a6fef8ef1ec75ed5be8ab private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2794,6 +2796,8 @@ public class PurpurWorldConfig { +@@ -2827,6 +2829,8 @@ public class PurpurWorldConfig { villagerLobotomizeCheckInterval = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheckInterval); villagerLobotomizeWaitUntilTradeLocked = getBoolean("mobs.villager.lobotomize.wait-until-trade-locked", villagerLobotomizeWaitUntilTradeLocked); villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); diff --git a/patches/server/0238-Stonecutter-damage.patch b/patches/server/0239-Stonecutter-damage.patch similarity index 98% rename from patches/server/0238-Stonecutter-damage.patch rename to patches/server/0239-Stonecutter-damage.patch index e12eb7a97..3489e4090 100644 --- a/patches/server/0238-Stonecutter-damage.patch +++ b/patches/server/0239-Stonecutter-damage.patch @@ -143,10 +143,10 @@ index 1e28c96f5b142a28be530dfc24d67b99c3803948..cadb07b2ec32baa5f509b9da3bfd9044 public static boolean advancementOnlyBroadcastToAffectedPlayer = false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6fd09799427a6fef8ef1ec75ed5be8ab3fef60a1..6a380bf14b21e318c5c834c869510daaf05392a7 100644 +index e115fe44b20b1e6231d752770c27c4354f2a942c..97d7a74c1e6879b2a67c4243b03c35e998773faf 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1037,6 +1037,11 @@ public class PurpurWorldConfig { +@@ -1070,6 +1070,11 @@ public class PurpurWorldConfig { spongeAbsorbsWaterFromMud = getBoolean("blocks.sponge.absorbs-water-from-mud", spongeAbsorbsWaterFromMud); } diff --git a/patches/server/0239-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0240-Configurable-damage-settings-for-magma-blocks.patch similarity index 93% rename from patches/server/0239-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0240-Configurable-damage-settings-for-magma-blocks.patch index e8e37bb2f..a69aacde4 100644 --- a/patches/server/0239-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0240-Configurable-damage-settings-for-magma-blocks.patch @@ -18,10 +18,10 @@ index 77bbdc15472d656fd40e841a70e34d3d31580819..55ae530fac54236ea5614f8e92c30feb } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6a380bf14b21e318c5c834c869510daaf05392a7..07d94a6579905cfa54da183588b4b2729a463605 100644 +index 97d7a74c1e6879b2a67c4243b03c35e998773faf..3d06c206b65a1288c72817f82cfa5b9e5ae026ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -983,6 +983,13 @@ public class PurpurWorldConfig { +@@ -1016,6 +1016,13 @@ public class PurpurWorldConfig { pistonBlockPushLimit = getInt("blocks.piston.block-push-limit", pistonBlockPushLimit); } diff --git a/patches/server/0240-Add-config-for-snow-on-blue-ice.patch b/patches/server/0241-Add-config-for-snow-on-blue-ice.patch similarity index 93% rename from patches/server/0240-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0241-Add-config-for-snow-on-blue-ice.patch index a829346e5..75d067b63 100644 --- a/patches/server/0240-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0241-Add-config-for-snow-on-blue-ice.patch @@ -22,10 +22,10 @@ index 93e8e5107ac047c1f2579b4fe6b0a202edb695f6..f82d275aac7bf3949d3dcc412c7e39e1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 07d94a6579905cfa54da183588b4b2729a463605..b4ffa808f39796e1e5c1e0c649b4027aef9fe1c4 100644 +index 3d06c206b65a1288c72817f82cfa5b9e5ae026ee..dd72530cfa9f1790ebab063e094c255d597dba8a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -964,9 +964,11 @@ public class PurpurWorldConfig { +@@ -997,9 +997,11 @@ public class PurpurWorldConfig { public boolean mobsSpawnOnPackedIce = true; public boolean mobsSpawnOnBlueIce = true; diff --git a/patches/server/0241-Skeletons-eat-wither-roses.patch b/patches/server/0242-Skeletons-eat-wither-roses.patch similarity index 96% rename from patches/server/0241-Skeletons-eat-wither-roses.patch rename to patches/server/0242-Skeletons-eat-wither-roses.patch index 297d9e34e..c3862e7ab 100644 --- a/patches/server/0241-Skeletons-eat-wither-roses.patch +++ b/patches/server/0242-Skeletons-eat-wither-roses.patch @@ -94,10 +94,10 @@ index 1aae461eed332fe31c1449c47d0928f655c740da..9eb6ed001bfc578311300977dda6f3f1 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b4ffa808f39796e1e5c1e0c649b4027aef9fe1c4..ff4e51d06f375fe8426346db539bfb55dafefb10 100644 +index dd72530cfa9f1790ebab063e094c255d597dba8a..66c9464f6c4241c3a14a4057a216418fd5ab067e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2443,6 +2443,7 @@ public class PurpurWorldConfig { +@@ -2476,6 +2476,7 @@ public class PurpurWorldConfig { public boolean skeletonTakeDamageFromWater = false; public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; @@ -105,7 +105,7 @@ index b4ffa808f39796e1e5c1e0c649b4027aef9fe1c4..ff4e51d06f375fe8426346db539bfb55 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2456,6 +2457,7 @@ public class PurpurWorldConfig { +@@ -2489,6 +2490,7 @@ public class PurpurWorldConfig { skeletonTakeDamageFromWater = getBoolean("mobs.skeleton.takes-damage-from-water", skeletonTakeDamageFromWater); skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); diff --git a/patches/server/0242-Enchantment-Table-Persists-Lapis.patch b/patches/server/0243-Enchantment-Table-Persists-Lapis.patch similarity index 97% rename from patches/server/0242-Enchantment-Table-Persists-Lapis.patch rename to patches/server/0243-Enchantment-Table-Persists-Lapis.patch index f09901b88..2c69fe2b5 100644 --- a/patches/server/0242-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0243-Enchantment-Table-Persists-Lapis.patch @@ -137,10 +137,10 @@ index c3503eaec5c5ece6e27a52fb703d06ec7c767383..ed7b41604fb201c346c362803bb92808 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ff4e51d06f375fe8426346db539bfb55dafefb10..512a021ad416c467e42ec39c6ac0bd9788c2c365 100644 +index 66c9464f6c4241c3a14a4057a216418fd5ab067e..8ad6437173dd39aa7415709efc8f65404abf7bd9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1480,6 +1480,11 @@ public class PurpurWorldConfig { +@@ -1513,6 +1513,11 @@ public class PurpurWorldConfig { elderGuardianAlwaysDropExp = getBoolean("mobs.elder_guardian.always-drop-exp", elderGuardianAlwaysDropExp); } diff --git a/patches/server/0243-Spark-Profiler.patch b/patches/server/0244-Spark-Profiler.patch similarity index 100% rename from patches/server/0243-Spark-Profiler.patch rename to patches/server/0244-Spark-Profiler.patch diff --git a/patches/server/0244-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0245-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 100% rename from patches/server/0244-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/server/0245-Option-to-disable-kick-for-out-of-order-chat.patch diff --git a/patches/server/0245-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0246-Config-for-sculk-shrieker-can_summon-state.patch similarity index 92% rename from patches/server/0245-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/server/0246-Config-for-sculk-shrieker-can_summon-state.patch index afdc6e809..a9326ca70 100644 --- a/patches/server/0245-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0246-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,10 +18,10 @@ index b6b367492ebe2af3e63381bef935c6077f6ddb27..09f34c30d9a03751ed826b26375ac5ae @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 512a021ad416c467e42ec39c6ac0bd9788c2c365..83e5ef5d91299f97d65dcb3ad76c84c141ff9272 100644 +index 8ad6437173dd39aa7415709efc8f65404abf7bd9..0811baed3de98fa011f191afeedb5cccd1a0ef4b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1023,6 +1023,11 @@ public class PurpurWorldConfig { +@@ -1056,6 +1056,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0246-Config-to-not-let-coral-die.patch b/patches/server/0247-Config-to-not-let-coral-die.patch similarity index 94% rename from patches/server/0246-Config-to-not-let-coral-die.patch rename to patches/server/0247-Config-to-not-let-coral-die.patch index 6fb3df325..dce57f281 100644 --- a/patches/server/0246-Config-to-not-let-coral-die.patch +++ b/patches/server/0247-Config-to-not-let-coral-die.patch @@ -29,10 +29,10 @@ index 81fe0dea8e6e23c4a78f07fc2f9c0d68cd683f11..bff97b7d3909f2ec9e58a341b901b374 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 83e5ef5d91299f97d65dcb3ad76c84c141ff9272..4e1d5d40484296baa43ec0913ece23afe99683d4 100644 +index 0811baed3de98fa011f191afeedb5cccd1a0ef4b..2e7b471b23694cdce1b8017c14e1f2ca62b90538 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -870,6 +870,11 @@ public class PurpurWorldConfig { +@@ -903,6 +903,11 @@ public class PurpurWorldConfig { composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); } diff --git a/patches/server/0247-Add-local-difficulty-api.patch b/patches/server/0248-Add-local-difficulty-api.patch similarity index 100% rename from patches/server/0247-Add-local-difficulty-api.patch rename to patches/server/0248-Add-local-difficulty-api.patch diff --git a/patches/server/0248-Add-toggle-for-RNG-manipulation.patch b/patches/server/0249-Add-toggle-for-RNG-manipulation.patch similarity index 97% rename from patches/server/0248-Add-toggle-for-RNG-manipulation.patch rename to patches/server/0249-Add-toggle-for-RNG-manipulation.patch index 0d613379e..bc62eb562 100644 --- a/patches/server/0248-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0249-Add-toggle-for-RNG-manipulation.patch @@ -33,7 +33,7 @@ index b86676ebcd6c301e5dd857d8e84e1db2c1da416b..cb950ba3ee3bdfe0ff7acdb94c7ee233 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4e1d5d40484296baa43ec0913ece23afe99683d4..a69f1e56952298bf1155309d3ae1fb995be32ecb 100644 +index 2e7b471b23694cdce1b8017c14e1f2ca62b90538..da2bde5acf5a2e79ad2885f4727844e85de5ca0d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -202,9 +202,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0249-Remove-Timings.patch b/patches/server/0250-Remove-Timings.patch similarity index 100% rename from patches/server/0249-Remove-Timings.patch rename to patches/server/0250-Remove-Timings.patch diff --git a/patches/server/0250-Remove-Mojang-Profiler.patch b/patches/server/0251-Remove-Mojang-Profiler.patch similarity index 100% rename from patches/server/0250-Remove-Mojang-Profiler.patch rename to patches/server/0251-Remove-Mojang-Profiler.patch diff --git a/patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0252-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 100% rename from patches/server/0251-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/server/0252-Add-more-logger-output-for-invalid-movement-kicks.patch diff --git a/patches/server/0252-Add-Bee-API.patch b/patches/server/0253-Add-Bee-API.patch similarity index 100% rename from patches/server/0252-Add-Bee-API.patch rename to patches/server/0253-Add-Bee-API.patch diff --git a/patches/server/0253-Debug-Marker-API.patch b/patches/server/0254-Debug-Marker-API.patch similarity index 100% rename from patches/server/0253-Debug-Marker-API.patch rename to patches/server/0254-Debug-Marker-API.patch diff --git a/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0255-mob-spawning-option-to-ignore-creative-players.patch similarity index 96% rename from patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch rename to patches/server/0255-mob-spawning-option-to-ignore-creative-players.patch index 0b15fe0a4..0c8370562 100644 --- a/patches/server/0254-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0255-mob-spawning-option-to-ignore-creative-players.patch @@ -18,7 +18,7 @@ index 35e94c06361795d032f995e8282f8b35c075dae7..0f90a6803851eba51e164772c984b1cd if (entityhuman != null) { double d2 = entityhuman.distanceToSqr(d0, (double) i, d1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a69f1e56952298bf1155309d3ae1fb995be32ecb..2822dfdf35e4f6b30379350b95a94ebfb7ce7c6d 100644 +index da2bde5acf5a2e79ad2885f4727844e85de5ca0d..d678fbb4ea310b4f833f131618ed5901f1eebd7e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -375,6 +375,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0255-Add-skeleton-bow-accuracy-option.patch b/patches/server/0256-Add-skeleton-bow-accuracy-option.patch similarity index 94% rename from patches/server/0255-Add-skeleton-bow-accuracy-option.patch rename to patches/server/0256-Add-skeleton-bow-accuracy-option.patch index d6be178a6..2688c8cb2 100644 --- a/patches/server/0255-Add-skeleton-bow-accuracy-option.patch +++ b/patches/server/0256-Add-skeleton-bow-accuracy-option.patch @@ -18,10 +18,10 @@ index 8515e6360c1630385884a60f652f65fdefeaf540..e80307198b051cbcd9f72b36e4592768 org.bukkit.event.entity.EntityShootBowEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityShootBowEvent(this, this.getMainHandItem(), entityarrow.getPickupItem(), entityarrow, net.minecraft.world.InteractionHand.MAIN_HAND, 0.8F, true); // Paper if (event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2822dfdf35e4f6b30379350b95a94ebfb7ce7c6d..1fbed95c05e5d8815a815b2e8c33c064446de40a 100644 +index d678fbb4ea310b4f833f131618ed5901f1eebd7e..af8be03143ea89af74ba86b6c0777c13e2eb7121 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2463,6 +2463,8 @@ public class PurpurWorldConfig { +@@ -2496,6 +2496,8 @@ public class PurpurWorldConfig { public boolean skeletonAlwaysDropExp = false; public double skeletonHeadVisibilityPercent = 0.5D; public int skeletonFeedWitherRoses = 0; @@ -30,7 +30,7 @@ index 2822dfdf35e4f6b30379350b95a94ebfb7ce7c6d..1fbed95c05e5d8815a815b2e8c33c064 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -2477,6 +2479,18 @@ public class PurpurWorldConfig { +@@ -2510,6 +2512,18 @@ public class PurpurWorldConfig { skeletonAlwaysDropExp = getBoolean("mobs.skeleton.always-drop-exp", skeletonAlwaysDropExp); skeletonHeadVisibilityPercent = getDouble("mobs.skeleton.head-visibility-percent", skeletonHeadVisibilityPercent); skeletonFeedWitherRoses = getInt("mobs.skeleton.feed-wither-roses", skeletonFeedWitherRoses); diff --git a/patches/server/0256-Add-death-screen-API.patch b/patches/server/0257-Add-death-screen-API.patch similarity index 100% rename from patches/server/0256-Add-death-screen-API.patch rename to patches/server/0257-Add-death-screen-API.patch diff --git a/patches/server/0257-Implement-ram-and-rambar-commands.patch b/patches/server/0258-Implement-ram-and-rambar-commands.patch similarity index 100% rename from patches/server/0257-Implement-ram-and-rambar-commands.patch rename to patches/server/0258-Implement-ram-and-rambar-commands.patch diff --git a/patches/server/0258-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/server/0259-Add-an-option-to-fix-MC-3304-projectile-looting.patch similarity index 100% rename from patches/server/0258-Add-an-option-to-fix-MC-3304-projectile-looting.patch rename to patches/server/0259-Add-an-option-to-fix-MC-3304-projectile-looting.patch diff --git a/patches/server/0259-Configurable-block-blast-resistance.patch b/patches/server/0260-Configurable-block-blast-resistance.patch similarity index 100% rename from patches/server/0259-Configurable-block-blast-resistance.patch rename to patches/server/0260-Configurable-block-blast-resistance.patch diff --git a/patches/server/0260-Configurable-block-fall-damage-modifiers.patch b/patches/server/0261-Configurable-block-fall-damage-modifiers.patch similarity index 100% rename from patches/server/0260-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0261-Configurable-block-fall-damage-modifiers.patch diff --git a/patches/server/0261-Language-API.patch b/patches/server/0262-Language-API.patch similarity index 100% rename from patches/server/0261-Language-API.patch rename to patches/server/0262-Language-API.patch diff --git a/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0263-Milk-Keeps-Beneficial-Effects.patch similarity index 97% rename from patches/server/0262-Milk-Keeps-Beneficial-Effects.patch rename to patches/server/0263-Milk-Keeps-Beneficial-Effects.patch index a87c15301..af54814e3 100644 --- a/patches/server/0262-Milk-Keeps-Beneficial-Effects.patch +++ b/patches/server/0263-Milk-Keeps-Beneficial-Effects.patch @@ -30,7 +30,7 @@ index 62f5e5cfe5745deced2811d14d0c7ebb2c2c6948..c1e573758539a151452b12466339ccf8 this.goalSelector.addGoal(1, new TradeWithPlayerGoal(this)); this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Zombie.class, 8.0F, 0.5D, 0.5D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1fbed95c05e5d8815a815b2e8c33c064446de40a..97c9e8097bcaed24acc465aa5162538d38b56814 100644 +index af8be03143ea89af74ba86b6c0777c13e2eb7121..af8819ef2c6edc91e6ba2c11f31b677bf136117e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -128,6 +128,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0264-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0263-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0264-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0264-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0265-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/server/0264-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0265-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/server/0265-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 92% rename from patches/server/0265-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch index d6297f44b..b8349c464 100644 --- a/patches/server/0265-Add-option-to-allow-creeper-to-encircle-target-when-.patch +++ b/patches/server/0266-Add-option-to-allow-creeper-to-encircle-target-when-.patch @@ -24,10 +24,10 @@ index 137ec75ee803789deb7b1ca93dd9369c9af362b9..ca95d25af3e9a0536868b0c7fd8e7d2f } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 97c9e8097bcaed24acc465aa5162538d38b56814..06b72061a8c1c2e0bd085f4fde7511a73fe3fec3 100644 +index af8819ef2c6edc91e6ba2c11f31b677bf136117e..a3da09a662603d90da4e343e400227e317b4bf24 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1370,6 +1370,7 @@ public class PurpurWorldConfig { +@@ -1403,6 +1403,7 @@ public class PurpurWorldConfig { public boolean creeperHealthRadius = false; public boolean creeperAlwaysDropExp = false; public double creeperHeadVisibilityPercent = 0.5D; @@ -35,7 +35,7 @@ index 97c9e8097bcaed24acc465aa5162538d38b56814..06b72061a8c1c2e0bd085f4fde7511a7 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -1388,6 +1389,7 @@ public class PurpurWorldConfig { +@@ -1421,6 +1422,7 @@ public class PurpurWorldConfig { creeperHealthRadius = getBoolean("mobs.creeper.health-impacts-explosion", creeperHealthRadius); creeperAlwaysDropExp = getBoolean("mobs.creeper.always-drop-exp", creeperAlwaysDropExp); creeperHeadVisibilityPercent = getDouble("mobs.creeper.head-visibility-percent", creeperHeadVisibilityPercent); diff --git a/patches/server/0266-Fire-Immunity-API.patch b/patches/server/0267-Fire-Immunity-API.patch similarity index 100% rename from patches/server/0266-Fire-Immunity-API.patch rename to patches/server/0267-Fire-Immunity-API.patch diff --git a/patches/server/0267-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 96% rename from patches/server/0267-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 503abfc7d..0253810b8 100644 --- a/patches/server/0267-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0268-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -17,7 +17,7 @@ index 7a27388b5155e7b2478b0daa02cb616829a5d4a2..3aae4fa4176c0bf170f4532ae187e312 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 06b72061a8c1c2e0bd085f4fde7511a73fe3fec3..42e6d0177969fc045003b5fa8df2a0223362a1a2 100644 +index a3da09a662603d90da4e343e400227e317b4bf24..f7eba6f2e188ee5504db11feb6b433c46b82f374 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -415,6 +415,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0268-Added-got-ram-event.patch b/patches/server/0269-Added-got-ram-event.patch similarity index 100% rename from patches/server/0268-Added-got-ram-event.patch rename to patches/server/0269-Added-got-ram-event.patch diff --git a/patches/server/0269-Log-skipped-entity-s-position.patch b/patches/server/0270-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0269-Log-skipped-entity-s-position.patch rename to patches/server/0270-Log-skipped-entity-s-position.patch diff --git a/patches/server/0270-End-Crystal-Cramming.patch b/patches/server/0271-End-Crystal-Cramming.patch similarity index 91% rename from patches/server/0270-End-Crystal-Cramming.patch rename to patches/server/0271-End-Crystal-Cramming.patch index c6a791e10..01113d3f5 100644 --- a/patches/server/0270-End-Crystal-Cramming.patch +++ b/patches/server/0271-End-Crystal-Cramming.patch @@ -17,10 +17,10 @@ index 8c6ce06a1845832c8b0de654657788d2daf6b71b..15ca426701f1fc821da94a4dee577fdb // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 42e6d0177969fc045003b5fa8df2a0223362a1a2..d74a3602bdb45594da4deb7d65eee8fe98af5cae 100644 +index f7eba6f2e188ee5504db11feb6b433c46b82f374..1c31adc9bebd8a282719ecc16d60bd45672507fe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -913,6 +913,7 @@ public class PurpurWorldConfig { +@@ -946,6 +946,7 @@ public class PurpurWorldConfig { public double basedEndCrystalExplosionPower = 6.0D; public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; @@ -28,7 +28,7 @@ index 42e6d0177969fc045003b5fa8df2a0223362a1a2..d74a3602bdb45594da4deb7d65eee8fe private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -940,6 +941,7 @@ public class PurpurWorldConfig { +@@ -973,6 +974,7 @@ public class PurpurWorldConfig { log(Level.SEVERE, "Unknown value for `blocks.end-crystal.base.explosion-effect`! Using default of `BLOCK`"); basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } diff --git a/patches/server/0271-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 95% rename from patches/server/0271-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index aee8a4fbd..6770c73c8 100644 --- a/patches/server/0271-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0272-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,10 +36,10 @@ index 37ce2605c8803d8d87770bf6a95a83aa975b99fe..39d4e47b1408dd7c0174a6cf8b4ebac6 BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d74a3602bdb45594da4deb7d65eee8fe98af5cae..c54bf92fbe8b975aee69819cfdf64ad2cb3065b6 100644 +index 1c31adc9bebd8a282719ecc16d60bd45672507fe..9702ce32484954ec0aa4828315df443c1f518ec2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -812,11 +812,13 @@ public class PurpurWorldConfig { +@@ -845,11 +845,13 @@ public class PurpurWorldConfig { public int beaconLevelTwo = 30; public int beaconLevelThree = 40; public int beaconLevelFour = 50; diff --git a/patches/server/0272-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/server/0272-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0273-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/server/0273-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0274-Config-to-remove-explosion-radius-clamp.patch similarity index 95% rename from patches/server/0273-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0274-Config-to-remove-explosion-radius-clamp.patch index 8b6885d33..8dc99e2b4 100644 --- a/patches/server/0273-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0274-Config-to-remove-explosion-radius-clamp.patch @@ -27,7 +27,7 @@ index 6b6340ae8ca3f81f08f9038b63ebc419e003cf6b..ed31528ddfec06e723827a505daeca59 } // CraftBukkit end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c54bf92fbe8b975aee69819cfdf64ad2cb3065b6..8b440188e2ea6e75adcb9b9e4919279c3a7f8576 100644 +index 9702ce32484954ec0aa4828315df443c1f518ec2..b0bfe3b3db03e36bdf837ed4a4a4f12ad887a5fd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -211,6 +211,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0274-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 98% rename from patches/server/0274-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch index d1a339124..6911c8b0a 100644 --- a/patches/server/0274-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0275-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,10 +137,10 @@ index c48c622e92cedeaa46b929c7adfedec98dd5a3fb..6449b5c424443b5f0ee7e3fce8034494 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8b440188e2ea6e75adcb9b9e4919279c3a7f8576..5dd73270a3fe702a660f3689f09d2d08bf9f322f 100644 +index b0bfe3b3db03e36bdf837ed4a4a4f12ad887a5fd..3ad00e226f40685bc68fdb16712876b37a98f5d9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -866,8 +866,20 @@ public class PurpurWorldConfig { +@@ -899,8 +899,20 @@ public class PurpurWorldConfig { } public boolean cactusBreaksFromSolidNeighbors = true; diff --git a/patches/server/0275-Add-PreExplodeEvents.patch b/patches/server/0276-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0275-Add-PreExplodeEvents.patch rename to patches/server/0276-Add-PreExplodeEvents.patch diff --git a/patches/server/0276-Improve-output-of-plugins-command.patch b/patches/server/0277-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0276-Improve-output-of-plugins-command.patch rename to patches/server/0277-Improve-output-of-plugins-command.patch diff --git a/patches/server/0277-Add-mending-multiplier.patch b/patches/server/0278-Add-mending-multiplier.patch similarity index 96% rename from patches/server/0277-Add-mending-multiplier.patch rename to patches/server/0278-Add-mending-multiplier.patch index a5869e5ee..7e09aacf8 100644 --- a/patches/server/0277-Add-mending-multiplier.patch +++ b/patches/server/0278-Add-mending-multiplier.patch @@ -27,7 +27,7 @@ index ce608784e0e35b67dde377436aaf42c956ce0644..f5debc8ddc496cd3e2d8b253511ee5cc public int getValue() { return this.value; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5dd73270a3fe702a660f3689f09d2d08bf9f322f..60159dbc735621db46cc0b8969b8a627fa7a4e4b 100644 +index 3ad00e226f40685bc68fdb16712876b37a98f5d9..ea64ee3480b12e1c711e55705a2b792c0f473f32 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -119,6 +119,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0278-Make-GUI-Great-Again.patch b/patches/server/0279-Make-GUI-Great-Again.patch similarity index 100% rename from patches/server/0278-Make-GUI-Great-Again.patch rename to patches/server/0279-Make-GUI-Great-Again.patch diff --git a/patches/server/0279-Stored-Bee-API.patch b/patches/server/0280-Stored-Bee-API.patch similarity index 100% rename from patches/server/0279-Stored-Bee-API.patch rename to patches/server/0280-Stored-Bee-API.patch diff --git a/patches/server/0280-Shears-can-defuse-TNT.patch b/patches/server/0281-Shears-can-defuse-TNT.patch similarity index 96% rename from patches/server/0280-Shears-can-defuse-TNT.patch rename to patches/server/0281-Shears-can-defuse-TNT.patch index b31b31103..cf09e3ed9 100644 --- a/patches/server/0280-Shears-can-defuse-TNT.patch +++ b/patches/server/0281-Shears-can-defuse-TNT.patch @@ -42,10 +42,10 @@ index f1f352ec0e51f5db59254841a06c176c5a876fc9..dff0e7b08b973a1b29f916e63d3e4778 + // Purpur end - Shears can defuse TNT } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 60159dbc735621db46cc0b8969b8a627fa7a4e4b..33bdb5aab5080d83bc4bdabcb5c2c1de8678238d 100644 +index ea64ee3480b12e1c711e55705a2b792c0f473f32..71d22e8966e24120dc00f79810251341fd243fc1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -3234,4 +3234,11 @@ public class PurpurWorldConfig { +@@ -3267,4 +3267,11 @@ public class PurpurWorldConfig { cauldronDripstoneWaterFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-water", cauldronDripstoneWaterFillChance); cauldronDripstoneLavaFillChance = (float) getDouble("blocks.cauldron.fill-chances.dripstone-lava", cauldronDripstoneLavaFillChance); } diff --git a/patches/server/0281-Explorer-Map-API.patch b/patches/server/0282-Explorer-Map-API.patch similarity index 100% rename from patches/server/0281-Explorer-Map-API.patch rename to patches/server/0282-Explorer-Map-API.patch diff --git a/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0283-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 91% rename from patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/server/0283-Option-Ocelot-Spawn-Under-Sea-Level.patch index 3b4779b56..cb5cab1f7 100644 --- a/patches/server/0282-Option-Ocelot-Spawn-Under-Sea-Level.patch +++ b/patches/server/0283-Option-Ocelot-Spawn-Under-Sea-Level.patch @@ -18,10 +18,10 @@ index 5668aca08732e317c7bccacf1cfaae7d8666bce6..07dc8a43f4e8c54a94696b84896d32f6 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 33bdb5aab5080d83bc4bdabcb5c2c1de8678238d..691eba61c293384e1fb1aa6f0d4fb52034abc0e4 100644 +index 71d22e8966e24120dc00f79810251341fd243fc1..bb965615c778f38e0de6853b4271e39af436e384 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2049,6 +2049,7 @@ public class PurpurWorldConfig { +@@ -2082,6 +2082,7 @@ public class PurpurWorldConfig { public int ocelotBreedingTicks = 6000; public boolean ocelotTakeDamageFromWater = false; public boolean ocelotAlwaysDropExp = false; @@ -29,7 +29,7 @@ index 33bdb5aab5080d83bc4bdabcb5c2c1de8678238d..691eba61c293384e1fb1aa6f0d4fb520 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -2062,6 +2063,7 @@ public class PurpurWorldConfig { +@@ -2095,6 +2096,7 @@ public class PurpurWorldConfig { ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); ocelotTakeDamageFromWater = getBoolean("mobs.ocelot.takes-damage-from-water", ocelotTakeDamageFromWater); ocelotAlwaysDropExp = getBoolean("mobs.ocelot.always-drop-exp", ocelotAlwaysDropExp); diff --git a/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0284-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 93% rename from patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/server/0284-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch index be3cf613f..3149bf48c 100644 --- a/patches/server/0283-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch +++ b/patches/server/0284-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch @@ -29,10 +29,10 @@ index e25af9af8f87e6762716749c367658bf6bda9e34..b7d5c0b0e3741fcf04c4bac21a82fc41 piglin.getBrain().eraseMemory(MemoryModuleType.WALK_TARGET); piglin.getNavigation().stop(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 691eba61c293384e1fb1aa6f0d4fb52034abc0e4..2b1d637e2e6641de2b65a23b05d28527c10cb517 100644 +index bb965615c778f38e0de6853b4271e39af436e384..dc85580bd895babb6e10cefe1ab9eee3d3178959 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2218,6 +2218,7 @@ public class PurpurWorldConfig { +@@ -2251,6 +2251,7 @@ public class PurpurWorldConfig { public int piglinPortalSpawnModifier = 2000; public boolean piglinAlwaysDropExp = false; public double piglinHeadVisibilityPercent = 0.5D; @@ -40,7 +40,7 @@ index 691eba61c293384e1fb1aa6f0d4fb52034abc0e4..2b1d637e2e6641de2b65a23b05d28527 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -2233,6 +2234,7 @@ public class PurpurWorldConfig { +@@ -2266,6 +2267,7 @@ public class PurpurWorldConfig { piglinPortalSpawnModifier = getInt("mobs.piglin.portal-spawn-modifier", piglinPortalSpawnModifier); piglinAlwaysDropExp = getBoolean("mobs.piglin.always-drop-exp", piglinAlwaysDropExp); piglinHeadVisibilityPercent = getDouble("mobs.piglin.head-visibility-percent", piglinHeadVisibilityPercent); diff --git a/patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch b/patches/server/0285-Add-option-for-always-showing-item-in-player-death-m.patch similarity index 100% rename from patches/server/0284-Add-option-for-always-showing-item-in-player-death-m.patch rename to patches/server/0285-Add-option-for-always-showing-item-in-player-death-m.patch diff --git a/patches/server/0285-place-end-crystal-on-any-block.patch b/patches/server/0286-place-end-crystal-on-any-block.patch similarity index 92% rename from patches/server/0285-place-end-crystal-on-any-block.patch rename to patches/server/0286-place-end-crystal-on-any-block.patch index 368d3d326..4f365c3c2 100644 --- a/patches/server/0285-place-end-crystal-on-any-block.patch +++ b/patches/server/0286-place-end-crystal-on-any-block.patch @@ -18,10 +18,10 @@ index dd1bdb4bb87a3a59c229ba76b36841d199717624..54607cea2622f259aedfe425b60e2317 } else { BlockPos blockposition1 = blockposition.above(); final BlockPos aboveBlockPosition = blockposition1; // Paper - OBFHELPER diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2b1d637e2e6641de2b65a23b05d28527c10cb517..a90decaa9ebe5aecadddb58c68e84a1d2e132235 100644 +index dc85580bd895babb6e10cefe1ab9eee3d3178959..5d609c0d67d59c35d9c5ee96dcf2ff0c7afe85a8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -935,6 +935,7 @@ public class PurpurWorldConfig { +@@ -968,6 +968,7 @@ public class PurpurWorldConfig { public boolean basedEndCrystalExplosionFire = false; public net.minecraft.world.level.Level.ExplosionInteraction basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; public int endCrystalCramming = 0; @@ -29,7 +29,7 @@ index 2b1d637e2e6641de2b65a23b05d28527c10cb517..a90decaa9ebe5aecadddb58c68e84a1d private void endCrystalSettings() { if (PurpurConfig.version < 31) { if ("DESTROY".equals(getString("blocks.end-crystal.baseless.explosion-effect", baselessEndCrystalExplosionEffect.name()))) { -@@ -963,6 +964,7 @@ public class PurpurWorldConfig { +@@ -996,6 +997,7 @@ public class PurpurWorldConfig { basedEndCrystalExplosionEffect = net.minecraft.world.level.Level.ExplosionInteraction.BLOCK; } endCrystalCramming = getInt("blocks.end-crystal.cramming-amount", endCrystalCramming); diff --git a/patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch b/patches/server/0287-Add-option-to-disable-the-copper-oxidation-proximity.patch similarity index 96% rename from patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch rename to patches/server/0287-Add-option-to-disable-the-copper-oxidation-proximity.patch index be4f11907..107ab9938 100644 --- a/patches/server/0286-Add-option-to-disable-the-copper-oxidation-proximity.patch +++ b/patches/server/0287-Add-option-to-disable-the-copper-oxidation-proximity.patch @@ -18,7 +18,7 @@ index daae7fd6e0148cfba8e359d990748a0c83a3376e..0e06b1bcd906e92c083dc74d56d6d0a2 return random.nextFloat() < f1 ? this.getNext(state) : Optional.empty(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a90decaa9ebe5aecadddb58c68e84a1d2e132235..083c92fa9e0af35238e919851cf5f0778573e2f5 100644 +index 5d609c0d67d59c35d9c5ee96dcf2ff0c7afe85a8..7ce389e6100b4e8a14ca712f4815350e317dc3f0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -144,6 +144,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0287-register-minecraft-debug-commands.patch b/patches/server/0288-register-minecraft-debug-commands.patch similarity index 100% rename from patches/server/0287-register-minecraft-debug-commands.patch rename to patches/server/0288-register-minecraft-debug-commands.patch diff --git a/patches/server/0288-Configurable-villager-search-radius.patch b/patches/server/0289-Configurable-villager-search-radius.patch similarity index 95% rename from patches/server/0288-Configurable-villager-search-radius.patch rename to patches/server/0289-Configurable-villager-search-radius.patch index ed87a8de6..3d8da0513 100644 --- a/patches/server/0288-Configurable-villager-search-radius.patch +++ b/patches/server/0289-Configurable-villager-search-radius.patch @@ -31,10 +31,10 @@ index 92731b6b593289e9f583c9b705b219e81fcd8e73..9104d7010bda6f9f73b478c11490ef9c // Paper end - optimise POI access if (path != null && path.canReach()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 083c92fa9e0af35238e919851cf5f0778573e2f5..389ba542e27e35f9f508555797d9f1f98dc4bed1 100644 +index 7ce389e6100b4e8a14ca712f4815350e317dc3f0..8704cc621937beda692bf484cf5ef11b2d7d7e4c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2848,6 +2848,8 @@ public class PurpurWorldConfig { +@@ -2881,6 +2881,8 @@ public class PurpurWorldConfig { public boolean villagerDisplayTradeItem = true; public int villagerSpawnIronGolemRadius = 0; public int villagerSpawnIronGolemLimit = 0; @@ -43,7 +43,7 @@ index 083c92fa9e0af35238e919851cf5f0778573e2f5..389ba542e27e35f9f508555797d9f1f9 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -2884,6 +2886,8 @@ public class PurpurWorldConfig { +@@ -2917,6 +2919,8 @@ public class PurpurWorldConfig { villagerDisplayTradeItem = getBoolean("mobs.villager.display-trade-item", villagerDisplayTradeItem); villagerSpawnIronGolemRadius = getInt("mobs.villager.spawn-iron-golem.radius", villagerSpawnIronGolemRadius); villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit);