From 2515bc4751c5243c298f582920be89043c187d34 Mon Sep 17 00:00:00 2001 From: Pedro <3602279+Doc94@users.noreply.github.com> Date: Fri, 6 May 2022 11:52:14 -0400 Subject: [PATCH] Improve configurable door difficulty (#6985) --- ...onfigurable-door-breaking-difficulty.patch | 45 ++++++++++--------- ...0579-Configurable-max-leash-distance.patch | 4 +- ...le-for-always-placing-the-dragon-egg.patch | 4 +- ...disable-pathfinding-updates-on-block.patch | 4 +- ...-using-signs-inside-spawn-protection.patch | 4 +- ...616-Entity-load-save-limit-per-chunk.patch | 6 +-- ...658-Limit-item-frame-cursors-on-maps.patch | 4 +- ...n-to-fix-items-merging-through-walls.patch | 4 +- .../0665-Fix-invulnerable-end-crystals.patch | 4 +- .../0671-add-per-world-spawn-limits.patch | 6 +-- ...from-signs-not-firing-command-events.patch | 4 +- ...g-for-mobs-immune-to-default-effects.patch | 4 +- ...n-t-apply-cramming-damage-to-players.patch | 4 +- ...nd-timings-for-sensors-and-behaviors.patch | 4 +- ...tem-frame-map-cursor-update-interval.patch | 4 +- .../0784-Preserve-overstacked-loot.patch | 4 +- .../0791-Configurable-feature-seeds.patch | 4 +- ...de-unnecessary-itemmeta-from-clients.patch | 4 +- ...max-block-light-for-monster-spawning.patch | 4 +- ...ter-animal-spawn-height-configurable.patch | 4 +- ...-configurable-height-for-slime-spawn.patch | 4 +- 21 files changed, 67 insertions(+), 62 deletions(-) diff --git a/patches/server/0567-Configurable-door-breaking-difficulty.patch b/patches/server/0567-Configurable-door-breaking-difficulty.patch index b7a57b57f..cefcd9434 100644 --- a/patches/server/0567-Configurable-door-breaking-difficulty.patch +++ b/patches/server/0567-Configurable-door-breaking-difficulty.patch @@ -3,39 +3,44 @@ From: Jake Potrebic Date: Sun, 3 Jan 2021 22:27:43 -0800 Subject: [PATCH] Configurable door breaking difficulty +Co-authored-by: Doc diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index c22b05f9385efb0cb1f6ae3ae6af6e70f42e7506..512720c6c13edcdae8f334ee584da8c4bca30c5f 100644 +index 137e4a16c4013bbbd6fed4f09f076267b2f45707..2239ebc03a2f5814330631739060335cdf74b42d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -109,6 +109,25 @@ public class PaperWorldConfig { +@@ -109,6 +109,29 @@ public class PaperWorldConfig { disableMobSpawnerSpawnEggTransformation = getBoolean("game-mechanics.disable-mob-spawner-spawn-egg-transformation", disableMobSpawnerSpawnEggTransformation); } + public List zombieBreakDoors; + public List vindicatorBreakDoors; ++ private final List> entitiesValidForBreakDoors = Arrays.asList(net.minecraft.world.entity.EntityType.ZOMBIE, net.minecraft.world.entity.EntityType.ZOMBIE_VILLAGER, net.minecraft.world.entity.EntityType.HUSK, net.minecraft.world.entity.EntityType.ZOMBIFIED_PIGLIN, net.minecraft.world.entity.EntityType.VINDICATOR); ++ public java.util.Map, java.util.List> entitiesDifficultyBreakDoors = new it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap<>(); + private void setupEntityBreakingDoors() { -+ zombieBreakDoors = getEnumList( -+ "door-breaking-difficulty.zombie", -+ java.util.Arrays.stream(net.minecraft.world.Difficulty.values()) -+ .filter(net.minecraft.world.entity.monster.Zombie.DOOR_BREAKING_PREDICATE) -+ .collect(Collectors.toList()), -+ net.minecraft.world.Difficulty.class -+ ); -+ vindicatorBreakDoors = getEnumList( -+ "door-breaking-difficulty.vindicator", -+ java.util.Arrays.stream(net.minecraft.world.Difficulty.values()) -+ .filter(net.minecraft.world.entity.monster.Vindicator.DOOR_BREAKING_PREDICATE) -+ .collect(Collectors.toList()), -+ net.minecraft.world.Difficulty.class -+ ); ++ for (net.minecraft.world.entity.EntityType entityType : entitiesValidForBreakDoors) { ++ java.util.function.Predicate difficultyPredicate = net.minecraft.world.entity.monster.Zombie.DOOR_BREAKING_PREDICATE; ++ if (entityType.getBaseClass() == net.minecraft.world.entity.monster.Vindicator.class) { ++ difficultyPredicate = net.minecraft.world.entity.monster.Vindicator.DOOR_BREAKING_PREDICATE; ++ } ++ entitiesDifficultyBreakDoors.put( ++ entityType, ++ getEnumList( ++ "door-breaking-difficulty." + entityType.id, ++ java.util.Arrays.stream(net.minecraft.world.Difficulty.values()) ++ .filter(difficultyPredicate) ++ .collect(Collectors.toList()), ++ net.minecraft.world.Difficulty.class ++ ) ++ ); ++ } + } + public short keepLoadedRange; private void keepLoadedRange() { keepLoadedRange = (short) (getInt("keep-spawn-loaded-range", Math.min(spigotConfig.viewDistance, 10)) * 16); diff --git a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java -index 920c2101ebbdc07c7fd15903a3d641aa55f8336d..b3a00bff85ade49b476c883350ff3563e1a4b842 100644 +index 920c2101ebbdc07c7fd15903a3d641aa55f8336d..430492facbaa80471875da07bf4b9b601777d1fd 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Vindicator.java +++ b/src/main/java/net/minecraft/world/entity/monster/Vindicator.java @@ -192,7 +192,7 @@ public class Vindicator extends AbstractIllager { @@ -43,12 +48,12 @@ index 920c2101ebbdc07c7fd15903a3d641aa55f8336d..b3a00bff85ade49b476c883350ff3563 public VindicatorBreakDoorGoal(Mob mob) { - super(mob, 6, Vindicator.DOOR_BREAKING_PREDICATE); -+ super(mob, 6, com.google.common.base.Predicates.in(mob.level.paperConfig.vindicatorBreakDoors)); // Paper ++ super(mob, 6, com.google.common.base.Predicates.in(mob.level.paperConfig.entitiesDifficultyBreakDoors.getOrDefault(mob.getType(), mob.level.paperConfig.entitiesDifficultyBreakDoors.get(EntityType.VINDICATOR)))); // Paper this.setFlags(EnumSet.of(Goal.Flag.MOVE)); } diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index dffb315cf21472f306bcc1d9fdcfba441a87b18f..da378373db05f7cf5e655bc76cb58945347d1f32 100644 +index 92145b35cf9f04afd388dfea8215097a9da7c5a7..f9b7877ce5f66cc58ff1111d0fa72081a03c4f4e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java @@ -97,7 +97,7 @@ public class Zombie extends Monster { @@ -56,7 +61,7 @@ index dffb315cf21472f306bcc1d9fdcfba441a87b18f..da378373db05f7cf5e655bc76cb58945 public Zombie(EntityType type, Level world) { super(type, world); - this.breakDoorGoal = new BreakDoorGoal(this, Zombie.DOOR_BREAKING_PREDICATE); -+ this.breakDoorGoal = new BreakDoorGoal(this, com.google.common.base.Predicates.in(world.paperConfig.zombieBreakDoors)); // Paper ++ this.breakDoorGoal = new BreakDoorGoal(this, com.google.common.base.Predicates.in(world.paperConfig.entitiesDifficultyBreakDoors.getOrDefault(type, world.paperConfig.entitiesDifficultyBreakDoors.get(EntityType.ZOMBIE)))); // Paper } public Zombie(Level world) { diff --git a/patches/server/0579-Configurable-max-leash-distance.patch b/patches/server/0579-Configurable-max-leash-distance.patch index 1a1c38fcd..a523d3a0f 100644 --- a/patches/server/0579-Configurable-max-leash-distance.patch +++ b/patches/server/0579-Configurable-max-leash-distance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable max leash distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ea5f021c4ce2274869d884b90aeaba35d4e2db84..8a97978f16f8a4c759cb2eba9f408159b3382db6 100644 +index 527f93261ae1a8c4db55156ab1bd8294367eea6d..97e89ea805e4e696541edd30afc27164f4beb947 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -301,6 +301,12 @@ public class PaperWorldConfig { +@@ -305,6 +305,12 @@ public class PaperWorldConfig { } } diff --git a/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch index 125bbb40a..88826037a 100644 --- a/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch +++ b/patches/server/0582-Add-toggle-for-always-placing-the-dragon-egg.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for always placing the dragon egg diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 9f30096851601b8b9cecf2de97b32371e39d2e9d..63c5e6547af91e8227124fcc214d4b01a94f3c74 100644 +index 97e89ea805e4e696541edd30afc27164f4beb947..317a98ee12653550dd1421ae2056af7e84ada1fc 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -767,6 +767,11 @@ public class PaperWorldConfig { +@@ -771,6 +771,11 @@ public class PaperWorldConfig { perPlayerMobSpawns = getBoolean("per-player-mob-spawns", true); } diff --git a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch index ee3ff7c67..cb69a175c 100644 --- a/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0588-added-option-to-disable-pathfinding-updates-on-block.patch @@ -5,10 +5,10 @@ Subject: [PATCH] added option to disable pathfinding updates on block changes diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 63c5e6547af91e8227124fcc214d4b01a94f3c74..a9a3b50750ce612a4648f2c32c943d11ea48207e 100644 +index 317a98ee12653550dd1421ae2056af7e84ada1fc..187e1d7a7c61bb1836e2c67b7346b22334e88421 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -772,6 +772,11 @@ public class PaperWorldConfig { +@@ -776,6 +776,11 @@ public class PaperWorldConfig { enderDragonsDeathAlwaysPlacesDragonEgg = getBoolean("ender-dragons-death-always-places-dragon-egg", enderDragonsDeathAlwaysPlacesDragonEgg); } diff --git a/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch index 6e179cb7c..28e7dea4d 100644 --- a/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0607-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a9a3b50750ce612a4648f2c32c943d11ea48207e..e18b2e1470f03994facd6c471361e425791b7b19 100644 +index 187e1d7a7c61bb1836e2c67b7346b22334e88421..f97b528ae7eea588066b4d905afe0ef90e16fb3e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -806,4 +806,9 @@ public class PaperWorldConfig { +@@ -810,4 +810,9 @@ public class PaperWorldConfig { delayChunkUnloadsBy *= 20; } } diff --git a/patches/server/0616-Entity-load-save-limit-per-chunk.patch b/patches/server/0616-Entity-load-save-limit-per-chunk.patch index f7e7bf280..dcba5dfb9 100644 --- a/patches/server/0616-Entity-load-save-limit-per-chunk.patch +++ b/patches/server/0616-Entity-load-save-limit-per-chunk.patch @@ -9,7 +9,7 @@ defaults are only included for certain entites, this allows setting limits for any entity type. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 3ea410faba8412fa5aa1c1b6bcdd3aeddc982f59..f06c9b615079b8200b45c4cea7aeacaf789159f3 100644 +index f97b528ae7eea588066b4d905afe0ef90e16fb3e..144ae8b70325ccb8121083223bc1da7338c39e18 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -8,6 +8,8 @@ import it.unimi.dsi.fastutil.objects.Reference2IntMap; @@ -21,8 +21,8 @@ index 3ea410faba8412fa5aa1c1b6bcdd3aeddc982f59..f06c9b615079b8200b45c4cea7aeacaf import org.bukkit.Bukkit; import org.bukkit.configuration.file.YamlConfiguration; import org.spigotmc.SpigotWorldConfig; -@@ -140,6 +142,38 @@ public class PaperWorldConfig { - ); +@@ -144,6 +146,38 @@ public class PaperWorldConfig { + } } + public Map, Integer> entityPerChunkSaveLimits = new HashMap<>(); diff --git a/patches/server/0658-Limit-item-frame-cursors-on-maps.patch b/patches/server/0658-Limit-item-frame-cursors-on-maps.patch index 11982b776..3840df592 100644 --- a/patches/server/0658-Limit-item-frame-cursors-on-maps.patch +++ b/patches/server/0658-Limit-item-frame-cursors-on-maps.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Limit item frame cursors on maps diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 1a59a636a8b1fa52d5af42e24512814ed9b00173..dde252b3884a79aeec17bb3ae6c3b8bd7bd5a28c 100644 +index 144ae8b70325ccb8121083223bc1da7338c39e18..aa84985596c0d20db1009e60184aabeaefdcb993 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -845,4 +845,9 @@ public class PaperWorldConfig { +@@ -849,4 +849,9 @@ public class PaperWorldConfig { private void allowUsingSignsInsideSpawnProtection() { allowUsingSignsInsideSpawnProtection = getBoolean("allow-using-signs-inside-spawn-protection", allowUsingSignsInsideSpawnProtection); } diff --git a/patches/server/0663-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0663-Add-option-to-fix-items-merging-through-walls.patch index a8c689a9b..6373f0457 100644 --- a/patches/server/0663-Add-option-to-fix-items-merging-through-walls.patch +++ b/patches/server/0663-Add-option-to-fix-items-merging-through-walls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to fix items merging through walls diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index dde252b3884a79aeec17bb3ae6c3b8bd7bd5a28c..2cab53fce9a3fe875d7e7c7c9fb7b59f74b361b9 100644 +index aa84985596c0d20db1009e60184aabeaefdcb993..f310d03af2da1ba22b8217bedc4fd393b2bc62eb 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -850,4 +850,9 @@ public class PaperWorldConfig { +@@ -854,4 +854,9 @@ public class PaperWorldConfig { private void mapItemFrameCursorLimit() { mapItemFrameCursorLimit = getInt("map-item-frame-cursor-limit", mapItemFrameCursorLimit); } diff --git a/patches/server/0665-Fix-invulnerable-end-crystals.patch b/patches/server/0665-Fix-invulnerable-end-crystals.patch index 53644aafb..ac80dfa3f 100644 --- a/patches/server/0665-Fix-invulnerable-end-crystals.patch +++ b/patches/server/0665-Fix-invulnerable-end-crystals.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix invulnerable end crystals MC-108513 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2cab53fce9a3fe875d7e7c7c9fb7b59f74b361b9..36e5f8e8634271b63fbbdf0b4ba171dd8ee12ef0 100644 +index f310d03af2da1ba22b8217bedc4fd393b2bc62eb..b156e8ce8c14cc283ebed5c41473659df0b7e53e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -855,4 +855,9 @@ public class PaperWorldConfig { +@@ -859,4 +859,9 @@ public class PaperWorldConfig { private void fixItemsMergingThroughWalls() { fixItemsMergingThroughWalls = getBoolean("fix-items-merging-through-walls", fixItemsMergingThroughWalls); } diff --git a/patches/server/0671-add-per-world-spawn-limits.patch b/patches/server/0671-add-per-world-spawn-limits.patch index 7d4b07ec8..54c3d6619 100644 --- a/patches/server/0671-add-per-world-spawn-limits.patch +++ b/patches/server/0671-add-per-world-spawn-limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index db4aed53ce28393ac34c06753647cbe1322e89c6..54a2f43e568b0104571abcb5d84aac35ddde3cd7 100644 +index b156e8ce8c14cc283ebed5c41473659df0b7e53e..a6884fa04f417019737c1b0346414b21b8ff1f71 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -53,6 +53,11 @@ public class PaperWorldConfig { @@ -21,7 +21,7 @@ index db4aed53ce28393ac34c06753647cbe1322e89c6..54a2f43e568b0104571abcb5d84aac35 } if (needsSave) { -@@ -683,6 +688,21 @@ public class PaperWorldConfig { +@@ -687,6 +692,21 @@ public class PaperWorldConfig { zombieVillagerInfectionChance = getDouble("zombie-villager-infection-chance", zombieVillagerInfectionChance); } @@ -44,7 +44,7 @@ index db4aed53ce28393ac34c06753647cbe1322e89c6..54a2f43e568b0104571abcb5d84aac35 private void lightQueueSize() { lightQueueSize = getInt("light-queue-size", lightQueueSize); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index aeced758b9c9cae7ae53f44c731293bca54310ba..9767b183630965472414a4197b54e1500573c89b 100644 +index 3dac97ce8f744dc289f4a0555db1a95204287a4a..e84f352280fbdbda194f5b151f942d6d6718dc40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -221,6 +221,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0679-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0679-Fix-commands-from-signs-not-firing-command-events.patch index 8b91651e4..75c8898f5 100644 --- a/patches/server/0679-Fix-commands-from-signs-not-firing-command-events.patch +++ b/patches/server/0679-Fix-commands-from-signs-not-firing-command-events.patch @@ -10,10 +10,10 @@ This patch changes sign command logic so that `run_command` click events: - sends failure messages to the player who clicked the sign diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 59c6a11c48ae4ad985a12113087eb8cdc72f5c15..ed358b9904ed67e232930469185ba973a792e525 100644 +index a6884fa04f417019737c1b0346414b21b8ff1f71..f72335e341d2017fe439af1ea697ba3553602026 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -880,4 +880,9 @@ public class PaperWorldConfig { +@@ -884,4 +884,9 @@ public class PaperWorldConfig { private void fixInvulnerableEndCrystalExploit() { fixInvulnerableEndCrystalExploit = getBoolean("unsupported-settings.fix-invulnerable-end-crystal-exploit", fixInvulnerableEndCrystalExploit); } diff --git a/patches/server/0682-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0682-Add-config-for-mobs-immune-to-default-effects.patch index a5538750c..4ba85708a 100644 --- a/patches/server/0682-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0682-Add-config-for-mobs-immune-to-default-effects.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config for mobs immune to default effects diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index ee5479b0b168f230ec4f29db56cf481706bbfeb6..c8e1e1f59a689f60846fa88a4a4e48cb21e9863c 100644 +index f72335e341d2017fe439af1ea697ba3553602026..14080b9d06b3d2481d434775befeeadec2e7305d 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -678,6 +678,21 @@ public class PaperWorldConfig { +@@ -682,6 +682,21 @@ public class PaperWorldConfig { log("Hopper Ignore Container Entities inside Occluding Blocks: " + (hoppersIgnoreOccludingBlocks ? "enabled" : "disabled")); } diff --git a/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch index 10f080bca..9039fbc4a 100644 --- a/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0684-Don-t-apply-cramming-damage-to-players.patch @@ -11,10 +11,10 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 55265b9f34a2615b6a30b35cbcd3c1e9032708bf..7454e37ef13f9b48dae49915bb100ebaa7d17665 100644 +index 14080b9d06b3d2481d434775befeeadec2e7305d..7b965af336b6ab42ddf751d630e5c6ef5afd44f8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -900,4 +900,9 @@ public class PaperWorldConfig { +@@ -904,4 +904,9 @@ public class PaperWorldConfig { private void showSignClickCommandFailureMessagesToPlayer() { showSignClickCommandFailureMessagesToPlayer = getBoolean("show-sign-click-command-failure-msgs-to-player", showSignClickCommandFailureMessagesToPlayer); } diff --git a/patches/server/0685-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0685-Rate-options-and-timings-for-sensors-and-behaviors.patch index 8b6e2c2c9..c0e10037e 100644 --- a/patches/server/0685-Rate-options-and-timings-for-sensors-and-behaviors.patch +++ b/patches/server/0685-Rate-options-and-timings-for-sensors-and-behaviors.patch @@ -28,7 +28,7 @@ index b47b7dce26805badd422c1867733ff4bfd00e9f4..b27021a42cbed3f0648a8d0903d00d03 * Get a named timer for the specified tile entity type to track type specific timings. * @param entity diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7454e37ef13f9b48dae49915bb100ebaa7d17665..e1d83ca4270f482a567d2ff1d531dae500044d2c 100644 +index 7b965af336b6ab42ddf751d630e5c6ef5afd44f8..b68610dfe559fcfafcdcbbcd8fe0aeed5a793da7 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java @@ -9,8 +9,10 @@ import it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap; @@ -42,7 +42,7 @@ index 7454e37ef13f9b48dae49915bb100ebaa7d17665..e1d83ca4270f482a567d2ff1d531dae5 import org.bukkit.configuration.file.YamlConfiguration; import org.spigotmc.SpigotWorldConfig; -@@ -905,4 +907,57 @@ public class PaperWorldConfig { +@@ -909,4 +911,57 @@ public class PaperWorldConfig { private void playerCrammingDamage() { allowPlayerCrammingDamage = getBoolean("allow-player-cramming-damage", allowPlayerCrammingDamage); } diff --git a/patches/server/0702-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0702-Configurable-item-frame-map-cursor-update-interval.patch index 7e39be92d..09bf382ad 100644 --- a/patches/server/0702-Configurable-item-frame-map-cursor-update-interval.patch +++ b/patches/server/0702-Configurable-item-frame-map-cursor-update-interval.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable item frame map cursor update interval diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7228474782e66d1b7dcebe80e02180545b55a089..5a111ef1aa944500878ac4b2be2a161534894078 100644 +index 12b7610525d5ce090b2d2b6a44d782a71b50de11..44a15a6bcfc1c46b5b2937142ddc4a1f616d353e 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -893,6 +893,11 @@ public class PaperWorldConfig { +@@ -897,6 +897,11 @@ public class PaperWorldConfig { mapItemFrameCursorLimit = getInt("map-item-frame-cursor-limit", mapItemFrameCursorLimit); } diff --git a/patches/server/0784-Preserve-overstacked-loot.patch b/patches/server/0784-Preserve-overstacked-loot.patch index eb00c5955..ca1123b8e 100644 --- a/patches/server/0784-Preserve-overstacked-loot.patch +++ b/patches/server/0784-Preserve-overstacked-loot.patch @@ -10,10 +10,10 @@ chunk bans via the large amount of NBT created by unstacking the items. Fixes GH-5140 and GH-4748. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 5a111ef1aa944500878ac4b2be2a161534894078..1df7006e5b6ffbf002acb2307b146f18a4338379 100644 +index 44a15a6bcfc1c46b5b2937142ddc4a1f616d353e..56a65d42b37f792eca53dacc1d307ddc2219a000 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -918,6 +918,11 @@ public class PaperWorldConfig { +@@ -922,6 +922,11 @@ public class PaperWorldConfig { allowPlayerCrammingDamage = getBoolean("allow-player-cramming-damage", allowPlayerCrammingDamage); } diff --git a/patches/server/0791-Configurable-feature-seeds.patch b/patches/server/0791-Configurable-feature-seeds.patch index f876cf434..23197aa95 100644 --- a/patches/server/0791-Configurable-feature-seeds.patch +++ b/patches/server/0791-Configurable-feature-seeds.patch @@ -19,10 +19,10 @@ index ee72086b2dee2bd6415803e77825b2b1cb83cd3d..309dbf5fce3ce940d5e1b57d267b9d6b } final Object val = config.get(key); diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 1df7006e5b6ffbf002acb2307b146f18a4338379..919d941383ccf3c4cb3391141db88c38c4070056 100644 +index 56a65d42b37f792eca53dacc1d307ddc2219a000..9455842bcf2f5bca085aea4c27843a88c857d0c8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -963,6 +963,55 @@ public class PaperWorldConfig { +@@ -967,6 +967,55 @@ public class PaperWorldConfig { return table; } diff --git a/patches/server/0802-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0802-Hide-unnecessary-itemmeta-from-clients.patch index 1504b1c44..cf4facb71 100644 --- a/patches/server/0802-Hide-unnecessary-itemmeta-from-clients.patch +++ b/patches/server/0802-Hide-unnecessary-itemmeta-from-clients.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Hide unnecessary itemmeta from clients diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 919d941383ccf3c4cb3391141db88c38c4070056..7e83580c5cd7fb834e936f96824f90a6d7f3e007 100644 +index 9455842bcf2f5bca085aea4c27843a88c857d0c8..672ae50ee14c1460c89cba7553110ce772edf18a 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -933,6 +933,13 @@ public class PaperWorldConfig { +@@ -937,6 +937,13 @@ public class PaperWorldConfig { behaviorTickRates = loadTickRates("behavior"); } diff --git a/patches/server/0823-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0823-Configurable-max-block-light-for-monster-spawning.patch index f4559675d..c03831e7e 100644 --- a/patches/server/0823-Configurable-max-block-light-for-monster-spawning.patch +++ b/patches/server/0823-Configurable-max-block-light-for-monster-spawning.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable max block light for monster spawning diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 7e83580c5cd7fb834e936f96824f90a6d7f3e007..a41014ae52f668a3d788ee37ed547e12233a4e3b 100644 +index 672ae50ee14c1460c89cba7553110ce772edf18a..0fc0af30a1f2b150d1e8858aa76ca59d7ce095f8 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -1031,4 +1031,9 @@ public class PaperWorldConfig { +@@ -1035,4 +1035,9 @@ public class PaperWorldConfig { Integer rate = table.get(columnKey, rowKey); return rate != null && rate > -1 ? rate : def; } diff --git a/patches/server/0832-Make-water-animal-spawn-height-configurable.patch b/patches/server/0832-Make-water-animal-spawn-height-configurable.patch index b4dde44e9..f48b4bc87 100644 --- a/patches/server/0832-Make-water-animal-spawn-height-configurable.patch +++ b/patches/server/0832-Make-water-animal-spawn-height-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make water animal spawn height configurable diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index b599b500528de9c501c086788e5ceb8433d904f0..a50665c6f5cf838f327dfeeafffc997f24f91e72 100644 +index 0fc0af30a1f2b150d1e8858aa76ca59d7ce095f8..cd486a7f9fb59f3c0690d90476e587d10d1be25c 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -385,6 +385,24 @@ public class PaperWorldConfig { +@@ -389,6 +389,24 @@ public class PaperWorldConfig { mobSpawnerTickRate = getInt("mob-spawner-tick-rate", 1); } diff --git a/patches/server/0838-Add-configurable-height-for-slime-spawn.patch b/patches/server/0838-Add-configurable-height-for-slime-spawn.patch index 48ddceb53..d1cfb26ad 100644 --- a/patches/server/0838-Add-configurable-height-for-slime-spawn.patch +++ b/patches/server/0838-Add-configurable-height-for-slime-spawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add configurable height for slime spawn diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index a50665c6f5cf838f327dfeeafffc997f24f91e72..583064f8623c143d381e826fa2c53575367a7bd9 100644 +index cd486a7f9fb59f3c0690d90476e587d10d1be25c..730a39399852f5588d6a0e2b09feae6546842da4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -423,6 +423,16 @@ public class PaperWorldConfig { +@@ -427,6 +427,16 @@ public class PaperWorldConfig { allChunksAreSlimeChunks = getBoolean("all-chunks-are-slime-chunks", false); }