From 3e81bd3fc94575814a14c67fdafc98ee9cc33591 Mon Sep 17 00:00:00 2001 From: Ben Kerllenevich Date: Thu, 25 Nov 2021 08:28:36 -0500 Subject: [PATCH] all but 3 --- ...0198-Add-toggle-for-sand-duping-fix.patch} | 10 ++-- ...gle-for-end-portal-safe-teleporting.patch} | 10 ++-- .../0200-Flying-Fall-Damage-API.patch} | 10 ++-- ...ke-lightning-rod-range-configurable.patch} | 4 +- ...ng-food-fills-hunger-bar-completely.patch} | 12 ++--- ...ayer-join-full-server-by-permission.patch} | 6 +-- ...ermission-bypass-for-portal-waiting.patch} | 8 ++-- ...5-Shulker-spawn-from-bullet-options.patch} | 8 ++-- ...ating-glow-berries-adds-glow-effect.patch} | 6 +-- ...-Option-to-make-drowned-break-doors.patch} | 10 ++-- ...nfigurable-hunger-starvation-damage.patch} | 6 +-- ...-System.out-calls-to-plugin-loggers.patch} | 8 ++-- .../0210-Armor-click-equip-options.patch} | 10 ++-- .../0211-Add-uptime-command.patch} | 10 ++-- .../0212-Structure-seed-options.patch} | 4 +- .../0213-Tool-actionable-options.patch} | 4 +- ...4-Store-placer-on-Block-when-placed.patch} | 10 ++-- .../0215-Summoner-API.patch} | 34 +++++++------- ...mizable-sleeping-actionbar-messages.patch} | 4 +- ...-shulker-box-items-from-dropping-co.patch} | 10 ++-- ...218-Silk-touchable-budding-amethyst.patch} | 4 +- .../0219-Big-dripleaf-tilt-delay.patch} | 10 ++-- ...0220-Player-ridable-in-water-option.patch} | 6 +-- ...-Enderman-teleport-on-projectile-hi.patch} | 16 +++---- .../0222-Add-compass-command.patch} | 16 +++---- ...nt-horses-from-standing-with-riders.patch} | 10 ++-- .../0224-Toggle-for-kinetic-damage.patch} | 4 +- ...-Option-for-disable-observer-clocks.patch} | 4 +- ...zeable-Zombie-Villager-curing-times.patch} | 10 ++-- ...-Option-for-sponges-to-work-on-lava.patch} | 6 +-- ...228-Toggle-for-Wither-s-spawn-sound.patch} | 14 +++--- ...-breaks-from-solid-neighbors-config.patch} | 6 +-- ...move-curse-of-binding-with-weakness.patch} | 4 +- ...0231-Conduit-behavior-configuration.patch} | 12 ++--- .../0232-Cauldron-fill-chances.patch} | 4 +- ...o-allow-mobs-to-pathfind-over-rails.patch} | 10 ++-- ...mpt-parameters-to-resource-pack-api.patch} | 6 +-- .../0235-Shulker-change-color-with-dye.patch} | 8 ++-- .../0236-Extended-OfflinePlayer-API.patch} | 6 +-- ...he-ability-to-add-combustible-items.patch} | 8 ++-- ...in-and-thunder-should-stop-on-sleep.patch} | 16 +++---- ...-blocks-to-grow-into-trees-naturall.patch} | 10 ++-- ...-right-click-to-use-exp-for-mending.patch} | 12 ++--- ...urally-aggressive-to-players-chance.patch} | 16 +++---- ...urally-aggressive-to-players-chance.patch} | 8 ++-- ...r-beds-to-explode-on-villager-sleep.patch} | 8 ++-- .../0244-horses-tempted-by-gold-config.patch} | 16 +++---- .../0245-llama-tempted-by-hay-config.patch} | 21 +++++---- ...Halloween-options-and-optimizations.patch} | 14 +++--- ...fig-for-Grindstones-ignoring-curses.patch} | 8 ++-- .../0248-UPnP-Port-Forwarding.patch} | 12 ++--- ...Campfire-option-for-lit-when-placed.patch} | 6 +-- ...tinguish-fire-blocks-with-snowballs.patch} | 2 +- ...on-to-disable-zombie-villagers-cure.patch} | 10 ++-- ...sue-Crash-with-Plugin-or-Datapack-Ge.patch | 46 ------------------- 55 files changed, 254 insertions(+), 299 deletions(-) rename patches/{unapplied/server/0201-Add-toggle-for-sand-duping-fix.patch => server/0198-Add-toggle-for-sand-duping-fix.patch} (82%) rename patches/{unapplied/server/0202-Add-toggle-for-end-portal-safe-teleporting.patch => server/0199-Add-toggle-for-end-portal-safe-teleporting.patch} (86%) rename patches/{unapplied/server/0203-Flying-Fall-Damage-API.patch => server/0200-Flying-Fall-Damage-API.patch} (81%) rename patches/{unapplied/server/0204-Make-lightning-rod-range-configurable.patch => server/0201-Make-lightning-rod-range-configurable.patch} (93%) rename patches/{unapplied/server/0205-Burp-after-eating-food-fills-hunger-bar-completely.patch => server/0202-Burp-after-eating-food-fills-hunger-bar-completely.patch} (89%) rename patches/{unapplied/server/0206-Allow-player-join-full-server-by-permission.patch => server/0203-Allow-player-join-full-server-by-permission.patch} (82%) rename patches/{unapplied/server/0207-Add-permission-bypass-for-portal-waiting.patch => server/0204-Add-permission-bypass-for-portal-waiting.patch} (83%) rename patches/{unapplied/server/0208-Shulker-spawn-from-bullet-options.patch => server/0205-Shulker-spawn-from-bullet-options.patch} (94%) rename patches/{unapplied/server/0209-Eating-glow-berries-adds-glow-effect.patch => server/0206-Eating-glow-berries-adds-glow-effect.patch} (94%) rename patches/{unapplied/server/0210-Option-to-make-drowned-break-doors.patch => server/0207-Option-to-make-drowned-break-doors.patch} (89%) rename patches/{unapplied/server/0211-Configurable-hunger-starvation-damage.patch => server/0208-Configurable-hunger-starvation-damage.patch} (87%) rename patches/{unapplied/server/0212-Redirect-System.out-calls-to-plugin-loggers.patch => server/0209-Redirect-System.out-calls-to-plugin-loggers.patch} (94%) rename patches/{unapplied/server/0213-Armor-click-equip-options.patch => server/0210-Armor-click-equip-options.patch} (92%) rename patches/{unapplied/server/0214-Add-uptime-command.patch => server/0211-Add-uptime-command.patch} (95%) rename patches/{unapplied/server/0215-Structure-seed-options.patch => server/0212-Structure-seed-options.patch} (94%) rename patches/{unapplied/server/0216-Tool-actionable-options.patch => server/0213-Tool-actionable-options.patch} (99%) rename patches/{unapplied/server/0217-Store-placer-on-Block-when-placed.patch => server/0214-Store-placer-on-Block-when-placed.patch} (87%) rename patches/{unapplied/server/0218-Summoner-API.patch => server/0215-Summoner-API.patch} (88%) rename patches/{unapplied/server/0219-Customizable-sleeping-actionbar-messages.patch => server/0216-Customizable-sleeping-actionbar-messages.patch} (95%) rename patches/{unapplied/server/0220-option-to-disable-shulker-box-items-from-dropping-co.patch => server/0217-option-to-disable-shulker-box-items-from-dropping-co.patch} (84%) rename patches/{unapplied/server/0221-Silk-touchable-budding-amethyst.patch => server/0218-Silk-touchable-budding-amethyst.patch} (93%) rename patches/{unapplied/server/0222-Big-dripleaf-tilt-delay.patch => server/0219-Big-dripleaf-tilt-delay.patch} (86%) rename patches/{unapplied/server/0223-Player-ridable-in-water-option.patch => server/0220-Player-ridable-in-water-option.patch} (89%) rename patches/{unapplied/server/0224-Config-to-disable-Enderman-teleport-on-projectile-hi.patch => server/0221-Config-to-disable-Enderman-teleport-on-projectile-hi.patch} (81%) rename patches/{unapplied/server/0226-Add-compass-command.patch => server/0222-Add-compass-command.patch} (95%) rename patches/{unapplied/server/0227-Config-to-prevent-horses-from-standing-with-riders.patch => server/0223-Config-to-prevent-horses-from-standing-with-riders.patch} (85%) rename patches/{unapplied/server/0228-Toggle-for-kinetic-damage.patch => server/0224-Toggle-for-kinetic-damage.patch} (92%) rename patches/{unapplied/server/0229-Add-Option-for-disable-observer-clocks.patch => server/0225-Add-Option-for-disable-observer-clocks.patch} (91%) rename patches/{unapplied/server/0230-Customizeable-Zombie-Villager-curing-times.patch => server/0226-Customizeable-Zombie-Villager-curing-times.patch} (87%) rename patches/{unapplied/server/0231-Option-for-sponges-to-work-on-lava.patch => server/0227-Option-for-sponges-to-work-on-lava.patch} (88%) rename patches/{unapplied/server/0232-Toggle-for-Wither-s-spawn-sound.patch => server/0228-Toggle-for-Wither-s-spawn-sound.patch} (73%) rename patches/{unapplied/server/0233-Cactus-breaks-from-solid-neighbors-config.patch => server/0229-Cactus-breaks-from-solid-neighbors-config.patch} (87%) rename patches/{unapplied/server/0234-Config-to-remove-curse-of-binding-with-weakness.patch => server/0230-Config-to-remove-curse-of-binding-with-weakness.patch} (93%) rename patches/{unapplied/server/0235-Conduit-behavior-configuration.patch => server/0231-Conduit-behavior-configuration.patch} (90%) rename patches/{unapplied/server/0236-Cauldron-fill-chances.patch => server/0232-Cauldron-fill-chances.patch} (92%) rename patches/{unapplied/server/0237-Config-to-allow-mobs-to-pathfind-over-rails.patch => server/0233-Config-to-allow-mobs-to-pathfind-over-rails.patch} (88%) rename patches/{unapplied/server/0238-Add-force-and-prompt-parameters-to-resource-pack-api.patch => server/0234-Add-force-and-prompt-parameters-to-resource-pack-api.patch} (90%) rename patches/{unapplied/server/0239-Shulker-change-color-with-dye.patch => server/0235-Shulker-change-color-with-dye.patch} (92%) rename patches/{unapplied/server/0240-Extended-OfflinePlayer-API.patch => server/0236-Extended-OfflinePlayer-API.patch} (97%) rename patches/{unapplied/server/0241-Added-the-ability-to-add-combustible-items.patch => server/0237-Added-the-ability-to-add-combustible-items.patch} (91%) rename patches/{unapplied/server/0242-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch => server/0238-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch} (83%) rename patches/{unapplied/server/0243-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch => server/0239-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch} (93%) rename patches/{unapplied/server/0244-Shift-right-click-to-use-exp-for-mending.patch => server/0240-Shift-right-click-to-use-exp-for-mending.patch} (90%) rename patches/{unapplied/server/0245-Dolphins-naturally-aggressive-to-players-chance.patch => server/0241-Dolphins-naturally-aggressive-to-players-chance.patch} (88%) rename patches/{unapplied/server/0246-Cows-naturally-aggressive-to-players-chance.patch => server/0242-Cows-naturally-aggressive-to-players-chance.patch} (94%) rename patches/{unapplied/server/0247-Option-for-beds-to-explode-on-villager-sleep.patch => server/0243-Option-for-beds-to-explode-on-villager-sleep.patch} (87%) rename patches/{unapplied/server/0248-horses-tempted-by-gold-config.patch => server/0244-horses-tempted-by-gold-config.patch} (70%) rename patches/{unapplied/server/0249-llama-tempted-by-hay-config.patch => server/0245-llama-tempted-by-hay-config.patch} (69%) rename patches/{unapplied/server/0250-Halloween-options-and-optimizations.patch => server/0246-Halloween-options-and-optimizations.patch} (88%) rename patches/{unapplied/server/0251-Config-for-Grindstones-ignoring-curses.patch => server/0247-Config-for-Grindstones-ignoring-curses.patch} (91%) rename patches/{unapplied/server/0252-UPnP-Port-Forwarding.patch => server/0248-UPnP-Port-Forwarding.patch} (88%) rename patches/{unapplied/server/0253-Campfire-option-for-lit-when-placed.patch => server/0249-Campfire-option-for-lit-when-placed.patch} (90%) rename patches/{unapplied/server/0254-options-to-extinguish-fire-blocks-with-snowballs.patch => server/0250-options-to-extinguish-fire-blocks-with-snowballs.patch} (98%) rename patches/{unapplied/server/0255-Add-option-to-disable-zombie-villagers-cure.patch => server/0251-Add-option-to-disable-zombie-villagers-cure.patch} (85%) delete mode 100644 patches/unapplied/server/0225-Fix-Important-Issue-Crash-with-Plugin-or-Datapack-Ge.patch diff --git a/patches/unapplied/server/0201-Add-toggle-for-sand-duping-fix.patch b/patches/server/0198-Add-toggle-for-sand-duping-fix.patch similarity index 82% rename from patches/unapplied/server/0201-Add-toggle-for-sand-duping-fix.patch rename to patches/server/0198-Add-toggle-for-sand-duping-fix.patch index 0f99a1b6c..b8a8c375e 100644 --- a/patches/unapplied/server/0201-Add-toggle-for-sand-duping-fix.patch +++ b/patches/server/0198-Add-toggle-for-sand-duping-fix.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for sand duping fix diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d812681236bc6 100644 +index 0c94b4cb6ee0c3dffe0b67a2291d0160ae0ef96f..92a9869dbabcaa704a0da8bc86f7578661197903 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -107,7 +107,7 @@ public class FallingBlockEntity extends Entity { +@@ -111,7 +111,7 @@ public class FallingBlockEntity extends Entity { @Override public void tick() { // Paper start - fix sand duping @@ -17,7 +17,7 @@ index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d8126 return; } // Paper end - fix sand duping -@@ -144,7 +144,7 @@ public class FallingBlockEntity extends Entity { +@@ -153,7 +153,7 @@ public class FallingBlockEntity extends Entity { this.move(MoverType.SELF, this.getDeltaMovement()); // Paper start - fix sand duping @@ -27,10 +27,10 @@ index 8336ea928faa92c6f58f8cdfb9faf1d8e26c9ccf..c765c182081fe83eb0f30dcbf97d8126 } // Paper end - fix sand duping diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 143253d4b16cec33359723b65d1b6ae89e13525a..8efb4959efef67e650a1344e299bb01984e884e4 100644 +index 06026c89b4ed1ef3cca7073257ff9647efb387f7..f425481ed127b69671f8655267541ea6565faf23 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -722,6 +722,11 @@ public class PurpurWorldConfig { +@@ -698,6 +698,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/unapplied/server/0202-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0199-Add-toggle-for-end-portal-safe-teleporting.patch similarity index 86% rename from patches/unapplied/server/0202-Add-toggle-for-end-portal-safe-teleporting.patch rename to patches/server/0199-Add-toggle-for-end-portal-safe-teleporting.patch index 5d73a433d..3b5cfec76 100644 --- a/patches/unapplied/server/0202-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0199-Add-toggle-for-end-portal-safe-teleporting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 451a5f43b745daa0820d9e483dfb5bcb13b88013..b375c8654787fc287304416b03ab84d044fec5c9 100644 +index 9b817c1754f035b9a6b066bdbfa323191f2679ff..335b08aa2806bacbde99148af9dc7ca129fdc0d4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2767,7 +2767,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2677,7 +2677,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } this.processPortalCooldown(); @@ -18,7 +18,7 @@ index 451a5f43b745daa0820d9e483dfb5bcb13b88013..b375c8654787fc287304416b03ab84d0 } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 197482e1ace23c3de002242097a68c6cc297cd3f..428875a6a99a619d337e2a7bbd2cb1828ca11d04 100644 +index 46fdaf744080ac01498ca693068616659a79b9ea..ca33161a9a2516031c942282fe26f970a40376a7 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -61,6 +61,22 @@ public class EndPortalBlock extends BaseEntityBlock { @@ -45,10 +45,10 @@ index 197482e1ace23c3de002242097a68c6cc297cd3f..428875a6a99a619d337e2a7bbd2cb182 entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 8efb4959efef67e650a1344e299bb01984e884e4..7ac4ae0d7614bb0e8b6e221fa75a871af9280b21 100644 +index f425481ed127b69671f8655267541ea6565faf23..b4c419a6e0038ad966b734d2398c82ab11800ecd 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -657,6 +657,11 @@ public class PurpurWorldConfig { +@@ -633,6 +633,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/unapplied/server/0203-Flying-Fall-Damage-API.patch b/patches/server/0200-Flying-Fall-Damage-API.patch similarity index 81% rename from patches/unapplied/server/0203-Flying-Fall-Damage-API.patch rename to patches/server/0200-Flying-Fall-Damage-API.patch index 4bfabba05..9b7987c9b 100644 --- a/patches/unapplied/server/0203-Flying-Fall-Damage-API.patch +++ b/patches/server/0200-Flying-Fall-Damage-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 0c0d4ec5893f082a8b4071a627a64c7b88fd0067..3b5c1bf87268dc10719c3f8e3e8c105fa7177b9f 100644 +index f55aef0116caf662f9cf1b14750422de802860bb..df780b1e7d0f598c5b5eb249f69f342af2381a08 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity { +@@ -180,6 +180,7 @@ public abstract class Player extends LivingEntity { // Paper start public boolean affectsSpawning = true; // Paper end @@ -16,7 +16,7 @@ index 0c0d4ec5893f082a8b4071a627a64c7b88fd0067..3b5c1bf87268dc10719c3f8e3e8c105f // CraftBukkit start public boolean fauxSleeping; -@@ -1727,7 +1728,7 @@ public abstract class Player extends LivingEntity { +@@ -1729,7 +1730,7 @@ public abstract class Player extends LivingEntity { @Override public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { @@ -26,10 +26,10 @@ index 0c0d4ec5893f082a8b4071a627a64c7b88fd0067..3b5c1bf87268dc10719c3f8e3e8c105f } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2fe84d9d7b0a829baefdb9fad7ba02d336ba5254..f93887579837a9cfc6699c0b481ac60f16a31770 100644 +index b3e1e8d225282216df0fb88335415cdf9ffa781d..c260c5446235177ebf68f75eb09ed8dd68545208 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2628,5 +2628,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2581,5 +2581,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/unapplied/server/0204-Make-lightning-rod-range-configurable.patch b/patches/server/0201-Make-lightning-rod-range-configurable.patch similarity index 93% rename from patches/unapplied/server/0204-Make-lightning-rod-range-configurable.patch rename to patches/server/0201-Make-lightning-rod-range-configurable.patch index b38a13aa9..ff041e1b2 100644 --- a/patches/unapplied/server/0204-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0201-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9c44609b3258168e0a38111cfba5c16b999bec4e..f969c706e47a9613fdc892f92c05ddb054164310 100644 +index 359ba71b137eac65a8ba6c1e5eda70412eb3550f..a77f715b395c782095df711f22e47f9d07f844af 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -997,7 +997,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel { return villageplacetype == PoiType.LIGHTNING_ROD; }, (blockposition1) -> { return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; diff --git a/patches/unapplied/server/0205-Burp-after-eating-food-fills-hunger-bar-completely.patch b/patches/server/0202-Burp-after-eating-food-fills-hunger-bar-completely.patch similarity index 89% rename from patches/unapplied/server/0205-Burp-after-eating-food-fills-hunger-bar-completely.patch rename to patches/server/0202-Burp-after-eating-food-fills-hunger-bar-completely.patch index 53193c629..2b9e2a9b2 100644 --- a/patches/unapplied/server/0205-Burp-after-eating-food-fills-hunger-bar-completely.patch +++ b/patches/server/0202-Burp-after-eating-food-fills-hunger-bar-completely.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Burp after eating food fills hunger bar completely diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 3b5c1bf87268dc10719c3f8e3e8c105fa7177b9f..ffa4b28ffee3a0429cc350777234345f9cefe9f6 100644 +index df780b1e7d0f598c5b5eb249f69f342af2381a08..8a2b855851316e6715b037430e6897535375f4e2 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -195,6 +195,8 @@ public abstract class Player extends LivingEntity { +@@ -193,6 +193,8 @@ public abstract class Player extends LivingEntity { // CraftBukkit end // Purpur start @@ -17,7 +17,7 @@ index 3b5c1bf87268dc10719c3f8e3e8c105fa7177b9f..ffa4b28ffee3a0429cc350777234345f public abstract void resetLastActionTime(); public void setAfk(boolean afk) { -@@ -257,6 +259,12 @@ public abstract class Player extends LivingEntity { +@@ -255,6 +257,12 @@ public abstract class Player extends LivingEntity { @Override public void tick() { @@ -30,7 +30,7 @@ index 3b5c1bf87268dc10719c3f8e3e8c105fa7177b9f..ffa4b28ffee3a0429cc350777234345f this.noPhysics = this.isSpectator(); if (this.isSpectator()) { this.onGround = false; -@@ -2342,7 +2350,7 @@ public abstract class Player extends LivingEntity { +@@ -2344,7 +2352,7 @@ public abstract class Player extends LivingEntity { public ItemStack eat(Level world, ItemStack stack) { this.getFoodData().eat(stack.getItem(), stack); this.awardStat(Stats.ITEM_USED.get(stack.getItem())); @@ -40,7 +40,7 @@ index 3b5c1bf87268dc10719c3f8e3e8c105fa7177b9f..ffa4b28ffee3a0429cc350777234345f CriteriaTriggers.CONSUME_ITEM.trigger((ServerPlayer) this, stack); } diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java -index 97133bd4af30d0ba92cbf884b83140f3399f92e2..c1130952e3fa22abaa27fcc1c4761c831dc56cc3 100644 +index 2934b6de1f1fb914a532ee20184df99d1acd8e65..65421cfff05c0493f5fef1bdff03172c9e33f33e 100644 --- a/src/main/java/net/minecraft/world/food/FoodData.java +++ b/src/main/java/net/minecraft/world/food/FoodData.java @@ -34,8 +34,10 @@ public class FoodData { @@ -55,7 +55,7 @@ index 97133bd4af30d0ba92cbf884b83140f3399f92e2..c1130952e3fa22abaa27fcc1c4761c83 public void eat(Item item, ItemStack stack) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7ac4ae0d7614bb0e8b6e221fa75a871af9280b21..87d4412a8cb4cac1d112436981d9df7c7314d6de 100644 +index b4c419a6e0038ad966b734d2398c82ab11800ecd..d73f94b2ea5a55d93d7655e98d2ba6a7f9bc5b58 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -342,6 +342,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0206-Allow-player-join-full-server-by-permission.patch b/patches/server/0203-Allow-player-join-full-server-by-permission.patch similarity index 82% rename from patches/unapplied/server/0206-Allow-player-join-full-server-by-permission.patch rename to patches/server/0203-Allow-player-join-full-server-by-permission.patch index c41b9205a..b0a43a8e7 100644 --- a/patches/unapplied/server/0206-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0203-Allow-player-join-full-server-by-permission.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4baeaf922b8529e7fb4a44fff9428a77e2ea78de..e3dadb8ad7d1f4154ae56fbc0129b64617aacf8a 100644 +index e4e7049e9e9739b5f5035319640eb04642adcb05..28011a91a668efc4671bc78da72561b76018c7e8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -764,7 +764,7 @@ public abstract class PlayerList { +@@ -762,7 +762,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(chatmessage)); // Paper - Adventure } else { - // return this.players.size() >= this.maxPlayers && !this.d(gameprofile) ? new ChatMessage("multiplayer.disconnect.server_full") : null; + // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? new ChatMessage("multiplayer.disconnect.server_full") : null; - if (this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile)) { + if (this.players.size() >= this.maxPlayers && (!player.hasPermission("purpur.joinfullserver") || !this.canBypassPlayerLimit(gameprofile))) { // Purpur event.disallow(PlayerLoginEvent.Result.KICK_FULL, PaperAdventure.LEGACY_SECTION_UXRC.deserialize(org.spigotmc.SpigotConfig.serverFullMessage)); // Spigot // Paper - Adventure diff --git a/patches/unapplied/server/0207-Add-permission-bypass-for-portal-waiting.patch b/patches/server/0204-Add-permission-bypass-for-portal-waiting.patch similarity index 83% rename from patches/unapplied/server/0207-Add-permission-bypass-for-portal-waiting.patch rename to patches/server/0204-Add-permission-bypass-for-portal-waiting.patch index 4e155322d..532ade1d6 100644 --- a/patches/unapplied/server/0207-Add-permission-bypass-for-portal-waiting.patch +++ b/patches/server/0204-Add-permission-bypass-for-portal-waiting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission bypass for portal waiting diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index ffa4b28ffee3a0429cc350777234345f9cefe9f6..e6c429b2afc2f45ffbe4c8dcf1a4b4955626ee86 100644 +index 8a2b855851316e6715b037430e6897535375f4e2..f9247644e528415388911f22ac1833c678947d37 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity { +@@ -181,6 +181,7 @@ public abstract class Player extends LivingEntity { public boolean affectsSpawning = true; // Paper end public boolean flyingFallDamage = false; // Purpur @@ -16,7 +16,7 @@ index ffa4b28ffee3a0429cc350777234345f9cefe9f6..e6c429b2afc2f45ffbe4c8dcf1a4b495 // CraftBukkit start public boolean fauxSleeping; -@@ -464,7 +465,7 @@ public abstract class Player extends LivingEntity { +@@ -462,7 +463,7 @@ public abstract class Player extends LivingEntity { @Override public int getPortalWaitTime() { @@ -26,7 +26,7 @@ index ffa4b28ffee3a0429cc350777234345f9cefe9f6..e6c429b2afc2f45ffbe4c8dcf1a4b495 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 7c7d05852dd463331110d1dcb71b4d4f5312900f..5939aeff08fd1216c53f3af15362dddfa1e207c9 100644 +index eb0ce87bc8eac723b73c2ee6da41db5da3fab401..7346155ea471f64cc283c2643f665016dcdb12cd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -245,6 +245,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/unapplied/server/0208-Shulker-spawn-from-bullet-options.patch b/patches/server/0205-Shulker-spawn-from-bullet-options.patch similarity index 94% rename from patches/unapplied/server/0208-Shulker-spawn-from-bullet-options.patch rename to patches/server/0205-Shulker-spawn-from-bullet-options.patch index 980228849..89d059f9a 100644 --- a/patches/unapplied/server/0208-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0205-Shulker-spawn-from-bullet-options.patch @@ -13,7 +13,7 @@ Subject: [PATCH] Shulker spawn from bullet options (7 - 1) / 5.0 = 1.2 1.0 - 1.2 = -0.2 0% (6 other shulkers) diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 23b038d4cca101313303299779ca50be7a596d27..06c6be23da8d1090aed33f48fc0bbbe442a974b4 100644 +index e463a4b40dbaed9c2d4e29d18cba98e47af3df3c..73750ec94993fba1d4e7cf7927bb60166757805a 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -501,13 +501,22 @@ public class Shulker extends AbstractGolem implements Enemy { @@ -61,10 +61,10 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 87d4412a8cb4cac1d112436981d9df7c7314d6de..297f7c068e0af8c65f7cc33e8731bd595b95bacf 100644 +index d73f94b2ea5a55d93d7655e98d2ba6a7f9bc5b58..c0a757f4410864ba98502acc94590046e36489b3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1834,6 +1834,11 @@ public class PurpurWorldConfig { +@@ -1810,6 +1810,11 @@ public class PurpurWorldConfig { public boolean shulkerRidableInWater = false; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -76,7 +76,7 @@ index 87d4412a8cb4cac1d112436981d9df7c7314d6de..297f7c068e0af8c65f7cc33e8731bd59 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1844,6 +1849,11 @@ public class PurpurWorldConfig { +@@ -1820,6 +1825,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/unapplied/server/0209-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0206-Eating-glow-berries-adds-glow-effect.patch similarity index 94% rename from patches/unapplied/server/0209-Eating-glow-berries-adds-glow-effect.patch rename to patches/server/0206-Eating-glow-berries-adds-glow-effect.patch index 7df5debac..7e6e85879 100644 --- a/patches/unapplied/server/0209-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0206-Eating-glow-berries-adds-glow-effect.patch @@ -5,10 +5,10 @@ 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 89d4b7e4cd4222b61b49833fceda56ffa39710fa..1eb50f0bc41db79f091f900861ba71d702a5bd2a 100644 +index 68321b5e425c0500a5691f80203176122cc1bff4..e42f48112725729a9f0c135d2879cfaa37a3e3a8 100644 --- a/src/main/java/net/minecraft/world/item/Items.java +++ b/src/main/java/net/minecraft/world/item/Items.java -@@ -1069,7 +1069,7 @@ public class Items { +@@ -1070,7 +1070,7 @@ public class Items { public static final Item LANTERN = registerBlock(Blocks.LANTERN, CreativeModeTab.TAB_DECORATIONS); public static final Item SOUL_LANTERN = registerBlock(Blocks.SOUL_LANTERN, CreativeModeTab.TAB_DECORATIONS); public static final Item SWEET_BERRIES = registerItem("sweet_berries", new ItemNameBlockItem(Blocks.SWEET_BERRY_BUSH, (new Item.Properties()).tab(CreativeModeTab.TAB_FOOD).food(Foods.SWEET_BERRIES))); @@ -18,7 +18,7 @@ index 89d4b7e4cd4222b61b49833fceda56ffa39710fa..1eb50f0bc41db79f091f900861ba71d7 public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS); public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 297f7c068e0af8c65f7cc33e8731bd595b95bacf..a4a1befc72efb329d5b6edec620a8a4a8bc92d74 100644 +index c0a757f4410864ba98502acc94590046e36489b3..2ab44f8554635fde2ea07187bf589d22c7c91044 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -174,6 +174,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0210-Option-to-make-drowned-break-doors.patch b/patches/server/0207-Option-to-make-drowned-break-doors.patch similarity index 89% rename from patches/unapplied/server/0210-Option-to-make-drowned-break-doors.patch rename to patches/server/0207-Option-to-make-drowned-break-doors.patch index 392d199f9..cbb466fc7 100644 --- a/patches/unapplied/server/0210-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0207-Option-to-make-drowned-break-doors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option to make drowned break doors diff --git a/src/main/java/net/minecraft/world/entity/monster/Drowned.java b/src/main/java/net/minecraft/world/entity/monster/Drowned.java -index 729b4a414918b1f74c225e15b5c41dc0db2a9f5b..c69cf2d2778d73f6834208d20e5e0b1502a905c8 100644 +index bd209089f0730674f811d96bdbe7915d6a857729..ddc38e57ae551f4954c8da884648c5ae018feb67 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Drowned.java +++ b/src/main/java/net/minecraft/world/entity/monster/Drowned.java @@ -30,6 +30,7 @@ import net.minecraft.world.entity.ai.goal.MoveToBlockGoal; @@ -24,7 +24,7 @@ index 729b4a414918b1f74c225e15b5c41dc0db2a9f5b..c69cf2d2778d73f6834208d20e5e0b15 this.goalSelector.addGoal(7, new RandomStrollGoal(this, 1.0D)); this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, Drowned.class)).setAlertOthers(ZombifiedPiglin.class)); this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, this::okTarget)); -@@ -166,7 +168,7 @@ public class Drowned extends Zombie implements RangedAttackMob { +@@ -170,7 +172,7 @@ public class Drowned extends Zombie implements RangedAttackMob { @Override public boolean supportsBreakDoorGoal() { @@ -34,10 +34,10 @@ index 729b4a414918b1f74c225e15b5c41dc0db2a9f5b..c69cf2d2778d73f6834208d20e5e0b15 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a4a1befc72efb329d5b6edec620a8a4a8bc92d74..31ba21490a9e645e679f88e7e801f0b3928d83e9 100644 +index 2ab44f8554635fde2ea07187bf589d22c7c91044..0d5952d517338dfbfbdfa5d080bef9ed52f55c2b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1065,6 +1065,7 @@ public class PurpurWorldConfig { +@@ -1041,6 +1041,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -45,7 +45,7 @@ index a4a1befc72efb329d5b6edec620a8a4a8bc92d74..31ba21490a9e645e679f88e7e801f0b3 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1079,6 +1080,7 @@ public class PurpurWorldConfig { +@@ -1055,6 +1056,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/unapplied/server/0211-Configurable-hunger-starvation-damage.patch b/patches/server/0208-Configurable-hunger-starvation-damage.patch similarity index 87% rename from patches/unapplied/server/0211-Configurable-hunger-starvation-damage.patch rename to patches/server/0208-Configurable-hunger-starvation-damage.patch index e85cf89c0..bc79aedf4 100644 --- a/patches/unapplied/server/0211-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0208-Configurable-hunger-starvation-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable hunger starvation damage diff --git a/src/main/java/net/minecraft/world/food/FoodData.java b/src/main/java/net/minecraft/world/food/FoodData.java -index c1130952e3fa22abaa27fcc1c4761c831dc56cc3..1ac08eca469739cb52abd38483c431b63b7f84a2 100644 +index 65421cfff05c0493f5fef1bdff03172c9e33f33e..63584faeec4e5013be7a377e3203ec169f9788f9 100644 --- a/src/main/java/net/minecraft/world/food/FoodData.java +++ b/src/main/java/net/minecraft/world/food/FoodData.java @@ -103,7 +103,7 @@ public class FoodData { @@ -18,10 +18,10 @@ index c1130952e3fa22abaa27fcc1c4761c831dc56cc3..1ac08eca469739cb52abd38483c431b6 this.tickTimer = 0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 31ba21490a9e645e679f88e7e801f0b3928d83e9..07cd83c76b34c6d02dd375292ac5fc3edd5f4491 100644 +index 0d5952d517338dfbfbdfa5d080bef9ed52f55c2b..992ffdcf37a7edc3a0e69dbdbc22839fe51efbc4 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2432,4 +2432,9 @@ public class PurpurWorldConfig { +@@ -2408,4 +2408,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/unapplied/server/0212-Redirect-System.out-calls-to-plugin-loggers.patch b/patches/server/0209-Redirect-System.out-calls-to-plugin-loggers.patch similarity index 94% rename from patches/unapplied/server/0212-Redirect-System.out-calls-to-plugin-loggers.patch rename to patches/server/0209-Redirect-System.out-calls-to-plugin-loggers.patch index 6500a4872..58f1ea2c7 100644 --- a/patches/unapplied/server/0212-Redirect-System.out-calls-to-plugin-loggers.patch +++ b/patches/server/0209-Redirect-System.out-calls-to-plugin-loggers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Redirect System.out calls to plugin loggers diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 489c0a317e5c5711bf7de3e54d24c6d9f609f43e..14dcea731e255a6697fa9df0342e04b91e5b55e0 100644 +index 2c37694a6055513803708c9fb40fb0c475da8e52..c8e6c5bef67c16cf1bef42fe890bf984f0fbafa1 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -178,8 +178,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -176,8 +176,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface */ // Paper end @@ -91,10 +91,10 @@ index 0000000000000000000000000000000000000000..f88da0b86a683b25d429ceea4a36d6dd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d6c1c46e56ad39ec7fde5448120c8750d3ce3fa5..5e24bff3cbbbd59df175db6fa8293b7dc4d59916 100644 +index 0229efbb9b8838fc1228d171b19fa057aec27c2c..78c8b7684ff18c00e27d27c31226b8daaf5cd17b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -291,7 +291,7 @@ public final class CraftServer implements Server { +@@ -295,7 +295,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/unapplied/server/0213-Armor-click-equip-options.patch b/patches/server/0210-Armor-click-equip-options.patch similarity index 92% rename from patches/unapplied/server/0213-Armor-click-equip-options.patch rename to patches/server/0210-Armor-click-equip-options.patch index 31106603f..3cc7c7fe3 100644 --- a/patches/unapplied/server/0213-Armor-click-equip-options.patch +++ b/patches/server/0210-Armor-click-equip-options.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Armor click equip options diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 585e921585529c03756c51550110c796e6f27ea5..a61c0ca02b085d1ab2587d54c9fcdc76a726cc4e 100644 +index a6bf1fb6fff72b7d6460ce27ee7e7c45d4f4fee4..add6aa626273fef9cbd4662f83bea6f79312d1da 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -499,7 +499,7 @@ public class ServerPlayerGameMode { +@@ -495,7 +495,7 @@ public class ServerPlayerGameMode { return interactionresultwrapper.getResult(); } else { player.setItemInHand(hand, itemstack1); @@ -18,10 +18,10 @@ index 585e921585529c03756c51550110c796e6f27ea5..a61c0ca02b085d1ab2587d54c9fcdc76 if (itemstack1.isDamageableItem() && itemstack1.getDamageValue() != j) { itemstack1.setDamageValue(j); diff --git a/src/main/java/net/minecraft/world/item/ArmorItem.java b/src/main/java/net/minecraft/world/item/ArmorItem.java -index 043ea496bd04bbf4571ec9d16e5362257b3658c8..dffa24f16b96912c3e539df71b521dd29bd6a165 100644 +index 014dd3aa8a7313d978d4781a1b7c6f532ff04962..feeb5fc192da4d7b11c26abf628dc9da2c593a85 100644 --- a/src/main/java/net/minecraft/world/item/ArmorItem.java +++ b/src/main/java/net/minecraft/world/item/ArmorItem.java -@@ -146,7 +146,14 @@ public class ArmorItem extends Item implements Wearable { +@@ -145,7 +145,14 @@ public class ArmorItem extends Item implements Wearable { } itemstack.setCount(0); @@ -58,7 +58,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2 return InteractionResultHolder.fail(itemStack); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 07cd83c76b34c6d02dd375292ac5fc3edd5f4491..94162749f3f9b68455ef7ef327dc4d474a19d8a1 100644 +index 992ffdcf37a7edc3a0e69dbdbc22839fe51efbc4..e4fd920578ea05aacee8c73461904176ea0dceef 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -345,6 +345,8 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0214-Add-uptime-command.patch b/patches/server/0211-Add-uptime-command.patch similarity index 95% rename from patches/unapplied/server/0214-Add-uptime-command.patch rename to patches/server/0211-Add-uptime-command.patch index 2370b1aaa..d4ae6fdee 100644 --- a/patches/unapplied/server/0214-Add-uptime-command.patch +++ b/patches/server/0211-Add-uptime-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add uptime command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index d734addd622f6d429a79df08310bce562db3425e..d298e70100741808d466d7113eb268fb4ccf76e2 100644 +index 12f5e8b11fad04a1fec717b68fbbf80efa3705bc..2be6bbe31c61a9b66c685cca79407c26dd99cf1b 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -201,6 +201,7 @@ public class Commands { +@@ -208,6 +208,7 @@ public class Commands { net.pl3x.purpur.command.CreditsCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.DemoCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur @@ -17,17 +17,17 @@ index d734addd622f6d429a79df08310bce562db3425e..d298e70100741808d466d7113eb268fb } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 63476c39ca2f78e0e53729325220196be5932dde..106f40481c9b8786bc54a89a0719985c44d0e71a 100644 +index e35b469133dc8bdac02e97f8d0792690e568e31c..cfb6a133d8edda91d97eeba0ce911c58d1ac5753 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -295,6 +295,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; - public boolean serverAutoSave = false; // Paper + public Commands vanillaCommandDispatcher; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java index 942c45e53e3458271bd2e8e2a86e5b31e2de90d3..fc6c0717aa13d4bdc28ba1fa2ae5e4a9be87aa18 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java diff --git a/patches/unapplied/server/0215-Structure-seed-options.patch b/patches/server/0212-Structure-seed-options.patch similarity index 94% rename from patches/unapplied/server/0215-Structure-seed-options.patch rename to patches/server/0212-Structure-seed-options.patch index 1850f2377..5a6ddd43c 100644 --- a/patches/unapplied/server/0215-Structure-seed-options.patch +++ b/patches/server/0212-Structure-seed-options.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Structure seed options diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index 6a1cb38de5733e384546984a0eadd4bab53c0122..42cc3ef9bd70b96f2c2f166590792650ffbd1507 100644 +index c34023c69c9a97824417a40f5fac8f2e71f4b6f3..98686a2c86d4f2fabf027ad05824b218ac4ff6a8 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -@@ -424,6 +424,23 @@ public abstract class ChunkGenerator { +@@ -587,6 +587,23 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource { case "village": seed = conf.villageSeed; break; diff --git a/patches/unapplied/server/0216-Tool-actionable-options.patch b/patches/server/0213-Tool-actionable-options.patch similarity index 99% rename from patches/unapplied/server/0216-Tool-actionable-options.patch rename to patches/server/0213-Tool-actionable-options.patch index 8daf8a7e6..e3f4daf3d 100644 --- a/patches/unapplied/server/0216-Tool-actionable-options.patch +++ b/patches/server/0213-Tool-actionable-options.patch @@ -66,7 +66,7 @@ index 734276a74ad11f117a816b214c62415818c27dcc..b2fdfc62f1f273fd6f78ae6153444e9c return InteractionResult.PASS; } diff --git a/src/main/java/net/minecraft/world/item/HoeItem.java b/src/main/java/net/minecraft/world/item/HoeItem.java -index 009dd6b59e27a9413b3ef115468a6d1dd0746d56..fdbc1378bc148f5a16b414a3e5867cdce91c73b4 100644 +index a5c2d6f0c0850a99224a1a8d622fe6b341cee88b..d8777ab86465e25236e7abbafd7ff6688ca0d897 100644 --- a/src/main/java/net/minecraft/world/item/HoeItem.java +++ b/src/main/java/net/minecraft/world/item/HoeItem.java @@ -33,15 +33,22 @@ public class HoeItem extends DiggerItem { @@ -109,7 +109,7 @@ index 009dd6b59e27a9413b3ef115468a6d1dd0746d56..fdbc1378bc148f5a16b414a3e5867cdc return InteractionResult.PASS; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 94162749f3f9b68455ef7ef327dc4d474a19d8a1..d9ceea264e37f5cf27380afa2ff7b82ea94fbabb 100644 +index e4fd920578ea05aacee8c73461904176ea0dceef..ec0df01730301fa9445073e099e106d01c30568b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -472,6 +472,153 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0217-Store-placer-on-Block-when-placed.patch b/patches/server/0214-Store-placer-on-Block-when-placed.patch similarity index 87% rename from patches/unapplied/server/0217-Store-placer-on-Block-when-placed.patch rename to patches/server/0214-Store-placer-on-Block-when-placed.patch index 8accd5080..3e501b887 100644 --- a/patches/unapplied/server/0217-Store-placer-on-Block-when-placed.patch +++ b/patches/server/0214-Store-placer-on-Block-when-placed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Store placer on Block when placed diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 342e229fc0039510fdf2fc56998ee0891dda7380..98b4d5321c7d3023021045bf22b640d2a0744323 100644 +index 03271cdffd99ab443904a5d1da05d79c0566cbb4..dbc7bebaa4b14ee0eca51cb82e1aa80774f57fa5 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -382,6 +382,7 @@ public final class ItemStack { +@@ -384,6 +384,7 @@ public final class ItemStack { world.preventPoiUpdated = true; // CraftBukkit - SPIGOT-5710 for (BlockState blockstate : blocks) { blockstate.update(true, false); @@ -16,7 +16,7 @@ index 342e229fc0039510fdf2fc56998ee0891dda7380..98b4d5321c7d3023021045bf22b640d2 } world.preventPoiUpdated = false; -@@ -411,6 +412,7 @@ public final class ItemStack { +@@ -413,6 +414,7 @@ public final class ItemStack { if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically block.getBlock().onPlace(block, world, newblockposition, oldBlock, true, itemactioncontext); // Paper - pass itemactioncontext } @@ -25,10 +25,10 @@ index 342e229fc0039510fdf2fc56998ee0891dda7380..98b4d5321c7d3023021045bf22b640d2 world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point } diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 577f38fcff55ef23fcacce1b05b6d0de117efd5e..938e427aaf762e107685579cbf3f4d2076112067 100644 +index ab5b9f00123e2ede2931ffc520684e482aac49b4..9a4858eb3a3289d3da9c1984d94ba7244db254bf 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -482,7 +482,17 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -436,7 +436,17 @@ public class Block extends BlockBehaviour implements ItemLike { Block.dropResources(state, world, pos, blockEntity, player, stack); } diff --git a/patches/unapplied/server/0218-Summoner-API.patch b/patches/server/0215-Summoner-API.patch similarity index 88% rename from patches/unapplied/server/0218-Summoner-API.patch rename to patches/server/0215-Summoner-API.patch index 16a4b9a4a..783d18fcf 100644 --- a/patches/unapplied/server/0218-Summoner-API.patch +++ b/patches/server/0215-Summoner-API.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Summoner API diff --git a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java -index e19e0c934c2e494a439ba8ec22b238e82aa72c28..6b3030ae02e986355409a6e648cedf93a374b6cc 100644 +index efe3839f893eefe241dac14b7796baa2aaa22aad..24a4e75a79ba5f8b13fbbf3192a618d2b445c36c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/IronGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/IronGolem.java @@ -64,6 +64,7 @@ public class IronGolem extends AbstractGolem implements NeutralMob { - private static final UniformInt PERSISTENT_ANGER_TIME = TimeUtil.rangeOfSeconds(20, 39); private int remainingPersistentAngerTime; + @Nullable private UUID persistentAngerTarget; + @Nullable private UUID summoner; // Purpur @@ -49,10 +49,10 @@ index e19e0c934c2e494a439ba8ec22b238e82aa72c28..6b3030ae02e986355409a6e648cedf93 } diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -index cbb09b62b0bf10b191e8e7fbe98885736807ea40..2682c176f4bff27fb5e332efc9a8a3e598482149 100644 +index d457978c0345aa51c03880cf87a08494b2e117c5..51aaacb529c052e3e9b96a1f6db454d87c088c35 100644 --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -@@ -48,6 +48,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM +@@ -49,6 +49,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM private static final EntityDataAccessor DATA_PUMPKIN_ID = SynchedEntityData.defineId(SnowGolem.class, EntityDataSerializers.BYTE); private static final byte PUMPKIN_FLAG = 16; private static final float EYE_HEIGHT = 1.7F; @@ -60,7 +60,7 @@ index cbb09b62b0bf10b191e8e7fbe98885736807ea40..2682c176f4bff27fb5e332efc9a8a3e5 public SnowGolem(EntityType type, Level world) { super(type, world); -@@ -68,6 +69,15 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM +@@ -69,6 +70,15 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM public void initAttributes() { this.getAttribute(Attributes.MAX_HEALTH).setBaseValue(this.level.purpurConfig.snowGolemMaxHealth); } @@ -76,7 +76,7 @@ index cbb09b62b0bf10b191e8e7fbe98885736807ea40..2682c176f4bff27fb5e332efc9a8a3e5 // Purpur end @Override -@@ -97,6 +107,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM +@@ -98,6 +108,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); nbt.putBoolean("Pumpkin", this.hasPumpkin()); @@ -84,7 +84,7 @@ index cbb09b62b0bf10b191e8e7fbe98885736807ea40..2682c176f4bff27fb5e332efc9a8a3e5 } @Override -@@ -105,6 +116,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM +@@ -106,6 +117,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM if (nbt.contains("Pumpkin")) { this.setPumpkin(nbt.getBoolean("Pumpkin")); } @@ -93,10 +93,10 @@ index cbb09b62b0bf10b191e8e7fbe98885736807ea40..2682c176f4bff27fb5e332efc9a8a3e5 } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 2f9e10be559bbf685bbe8b4ac4b8a55a6a663821..8a100e5bf4f40f2fd75fbe5a90cfce499b6f534a 100644 +index edd9c27c21bd3c377ecb9f14541140b73642c694..e711e68d245c2dabb76e8a200c3f353c6ece0886 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -84,6 +84,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -86,6 +86,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob }; private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR); private int shootCooldown = 0; // Purpur @@ -104,7 +104,7 @@ index 2f9e10be559bbf685bbe8b4ac4b8a55a6a663821..8a100e5bf4f40f2fd75fbe5a90cfce49 // Paper start private boolean canPortal = false; -@@ -211,6 +212,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -223,6 +224,15 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob public boolean isSensitiveToWater() { return this.level.purpurConfig.witherTakeDamageFromWater; } @@ -120,7 +120,7 @@ index 2f9e10be559bbf685bbe8b4ac4b8a55a6a663821..8a100e5bf4f40f2fd75fbe5a90cfce49 // Purpur end @Override -@@ -240,6 +250,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -251,6 +261,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); nbt.putInt("Invul", this.getInvulnerableTicks()); @@ -128,7 +128,7 @@ index 2f9e10be559bbf685bbe8b4ac4b8a55a6a663821..8a100e5bf4f40f2fd75fbe5a90cfce49 } @Override -@@ -249,6 +260,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -260,6 +271,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob if (this.hasCustomName()) { this.bossEvent.setName(this.getDisplayName()); } @@ -137,7 +137,7 @@ index 2f9e10be559bbf685bbe8b4ac4b8a55a6a663821..8a100e5bf4f40f2fd75fbe5a90cfce49 } diff --git a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java -index f4186225cdc8123dab1fc4f0cca86cef64147bc9..f7dffa2703cd8a1048e1af079efd63a0a6b59714 100644 +index 7a700892a997aa595ac9c9f28d6b39a35c225053..872507fe50e50429bbaa3af16f8f9d94806c4010 100644 --- a/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CarvedPumpkinBlock.java @@ -82,6 +82,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock implements We @@ -146,7 +146,7 @@ index f4186225cdc8123dab1fc4f0cca86cef64147bc9..f7dffa2703cd8a1048e1af079efd63a0 entitysnowman.moveTo((double) blockposition1.getX() + 0.5D, (double) blockposition1.getY() + 0.05D, (double) blockposition1.getZ() + 0.5D, 0.0F, 0.0F); + entitysnowman.setSummoner(this.placer == null ? null : this.placer.getUUID()); // Purpur // CraftBukkit start - if (!world.addEntity(entitysnowman, SpawnReason.BUILD_SNOWMAN)) { + if (!world.addFreshEntity(entitysnowman, SpawnReason.BUILD_SNOWMAN)) { return; @@ -120,6 +121,7 @@ public class CarvedPumpkinBlock extends HorizontalDirectionalBlock implements We @@ -154,10 +154,10 @@ index f4186225cdc8123dab1fc4f0cca86cef64147bc9..f7dffa2703cd8a1048e1af079efd63a0 entityirongolem.moveTo((double) blockposition2.getX() + 0.5D, (double) blockposition2.getY() + 0.05D, (double) blockposition2.getZ() + 0.5D, 0.0F, 0.0F); + entityirongolem.setSummoner(this.placer == null ? null : this.placer.getUUID()); // Purpur // CraftBukkit start - if (!world.addEntity(entityirongolem, SpawnReason.BUILD_IRONGOLEM)) { + if (!world.addFreshEntity(entityirongolem, SpawnReason.BUILD_IRONGOLEM)) { return; diff --git a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java -index 91fdab51cfb0f45977abb0f378cee2b27f6a2cd3..1360eab31ab0be5fa2aae59a4f1c8afe6d8c13ff 100644 +index 5be46c6f3db4848b9b88a5227d58705f40b9c16f..2b2ad683e5ac1210ab81c2f72ea05df29c8bb05c 100644 --- a/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WitherSkullBlock.java @@ -82,6 +82,7 @@ public class WitherSkullBlock extends SkullBlock { @@ -166,7 +166,7 @@ index 91fdab51cfb0f45977abb0f378cee2b27f6a2cd3..1360eab31ab0be5fa2aae59a4f1c8afe entitywither.makeInvulnerable(); + entitywither.setSummoner(iblockdata.getBlock().placer == null ? null : iblockdata.getBlock().placer.getUUID()); // Purpur // CraftBukkit start - if (!world.addEntity(entitywither, SpawnReason.BUILD_WITHER)) { + if (!world.addFreshEntity(entitywither, SpawnReason.BUILD_WITHER)) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftIronGolem.java index 2966d4d466f44751b2f02afda2273a708c12b251..55f19324f92f98e497da49d3022e0edfc2351461 100644 diff --git a/patches/unapplied/server/0219-Customizable-sleeping-actionbar-messages.patch b/patches/server/0216-Customizable-sleeping-actionbar-messages.patch similarity index 95% rename from patches/unapplied/server/0219-Customizable-sleeping-actionbar-messages.patch rename to patches/server/0216-Customizable-sleeping-actionbar-messages.patch index 7d7076f33..75a99e6f3 100644 --- a/patches/unapplied/server/0219-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0216-Customizable-sleeping-actionbar-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f969c706e47a9613fdc892f92c05ddb054164310..a4684af09f3a01b71b33cfff519ec5b99cfafd61 100644 +index a77f715b395c782095df711f22e47f9d07f844af..dfbab7b451656db88e1a7d3a6bf407637da41ff9 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1046,11 +1046,29 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel { if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); diff --git a/patches/unapplied/server/0220-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0217-option-to-disable-shulker-box-items-from-dropping-co.patch similarity index 84% rename from patches/unapplied/server/0220-option-to-disable-shulker-box-items-from-dropping-co.patch rename to patches/server/0217-option-to-disable-shulker-box-items-from-dropping-co.patch index 94035b613..acfd07932 100644 --- a/patches/unapplied/server/0220-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0217-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -6,20 +6,20 @@ Subject: [PATCH] option to disable shulker box items from dropping contents diff --git a/src/main/java/net/minecraft/world/item/BlockItem.java b/src/main/java/net/minecraft/world/item/BlockItem.java -index 8cb5e91bdf5e0a9cdcef1c3b7a683ab125751f9f..c825363812278a4a88186b49c1d4fb8c9504e70b 100644 +index 8175bb6331727440da2232998bdad068a1c47ae8..be47543240bd573cd2cc08f84b7eab1c693438ec 100644 --- a/src/main/java/net/minecraft/world/item/BlockItem.java +++ b/src/main/java/net/minecraft/world/item/BlockItem.java -@@ -300,7 +300,7 @@ public class BlockItem extends Item { +@@ -280,7 +280,7 @@ public class BlockItem extends Item { @Override public void onDestroyed(ItemEntity entity) { - if (this.block instanceof ShulkerBoxBlock) { + if (this.block instanceof ShulkerBoxBlock && entity.level.purpurConfig.shulkerBoxItemDropContentsWhenDestroyed) { - CompoundTag nbttagcompound = entity.getItem().getTag(); + ItemStack itemstack = entity.getItem(); + CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack); - if (nbttagcompound != null) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d9ceea264e37f5cf27380afa2ff7b82ea94fbabb..290a118997a930d307e321234cc2671d1cc94f8c 100644 +index ec0df01730301fa9445073e099e106d01c30568b..96dbd8026db8e148511c996015ce2d967b77812c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -175,6 +175,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0221-Silk-touchable-budding-amethyst.patch b/patches/server/0218-Silk-touchable-budding-amethyst.patch similarity index 93% rename from patches/unapplied/server/0221-Silk-touchable-budding-amethyst.patch rename to patches/server/0218-Silk-touchable-budding-amethyst.patch index 1fd4b7306..6c622109b 100644 --- a/patches/unapplied/server/0221-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0218-Silk-touchable-budding-amethyst.patch @@ -24,10 +24,10 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 290a118997a930d307e321234cc2671d1cc94f8c..56f6ddc63ed3db366a17a4ebc57d27017f25aa79 100644 +index 96dbd8026db8e148511c996015ce2d967b77812c..9d576ef70ba84d5edde73421826b6e26b50654ab 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -720,6 +720,11 @@ public class PurpurWorldConfig { +@@ -696,6 +696,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/unapplied/server/0222-Big-dripleaf-tilt-delay.patch b/patches/server/0219-Big-dripleaf-tilt-delay.patch similarity index 86% rename from patches/unapplied/server/0222-Big-dripleaf-tilt-delay.patch rename to patches/server/0219-Big-dripleaf-tilt-delay.patch index b890955eb..59239f57a 100644 --- a/patches/unapplied/server/0222-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0219-Big-dripleaf-tilt-delay.patch @@ -11,10 +11,10 @@ PARTIAL: big_dripleaf with PARTIAL tilt will change to FULL tilt after 10 ticks UNSTABLE: big_dripleaf with FULL tilt will change back to no tilt after 100 ticks diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java -index 343f57c202001460a70c034da63cc3d7ed54eb68..290cc41ceb77dda59ffc181613a54c45101e696c 100644 +index 3f434ac77611a81889b15c118a0fca57cc10a6bb..36d65d85d3cc030551fc0957c1ebbff66d80f244 100644 --- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java -@@ -234,7 +234,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone +@@ -237,7 +237,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone BigDripleafBlock.playTiltSound(world, blockposition, soundeffect); } @@ -22,12 +22,12 @@ index 343f57c202001460a70c034da63cc3d7ed54eb68..290cc41ceb77dda59ffc181613a54c45 + int i = world.purpurConfig.bigDripleafTiltDelay.getOrDefault(tilt, -1); // Purpur if (i != -1) { - world.getBlockTicks().scheduleTick(blockposition, this, i); + world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 56f6ddc63ed3db366a17a4ebc57d27017f25aa79..f2411dc94d0c4fbc71b3dd13f0df89a09fbdfef8 100644 +index 9d576ef70ba84d5edde73421826b6e26b50654ab..c920b787560de2788bca2b9ce881d82ddb02f17d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -720,6 +720,22 @@ public class PurpurWorldConfig { +@@ -696,6 +696,22 @@ public class PurpurWorldConfig { } } diff --git a/patches/unapplied/server/0223-Player-ridable-in-water-option.patch b/patches/server/0220-Player-ridable-in-water-option.patch similarity index 89% rename from patches/unapplied/server/0223-Player-ridable-in-water-option.patch rename to patches/server/0220-Player-ridable-in-water-option.patch index 75a83332b..390223027 100644 --- a/patches/unapplied/server/0223-Player-ridable-in-water-option.patch +++ b/patches/server/0220-Player-ridable-in-water-option.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player ridable in water option diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index e6c429b2afc2f45ffbe4c8dcf1a4b4955626ee86..ab3fa78c369ebbf92857ef257e0019a0af2f323a 100644 +index f9247644e528415388911f22ac1833c678947d37..0aec0e4760f0ea0188a0b5c90a9c5526e253b2cc 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -2059,6 +2059,11 @@ public abstract class Player extends LivingEntity { +@@ -2061,6 +2061,11 @@ public abstract class Player extends LivingEntity { return this.inventory.armor; } @@ -21,7 +21,7 @@ index e6c429b2afc2f45ffbe4c8dcf1a4b4955626ee86..ab3fa78c369ebbf92857ef257e0019a0 if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index f2411dc94d0c4fbc71b3dd13f0df89a09fbdfef8..9897fa9049f6bd7d2d09374292637976a1882036 100644 +index c920b787560de2788bca2b9ce881d82ddb02f17d..cf8b637402b4101fc9284c02343a989edf43f598 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -349,6 +349,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0224-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0221-Config-to-disable-Enderman-teleport-on-projectile-hi.patch similarity index 81% rename from patches/unapplied/server/0224-Config-to-disable-Enderman-teleport-on-projectile-hi.patch rename to patches/server/0221-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index b3c82ee55..dda50509e 100644 --- a/patches/unapplied/server/0224-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0221-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -5,23 +5,23 @@ Subject: [PATCH] Config to disable Enderman teleport on projectile hit diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 51f9da43e3fc1f744d0cb7fc09f0477fd5a9c59a..3b27735db58fe69512d6a38738f585edf6598e90 100644 +index 13cdfb0175152d2ba203c01f14f2f98d87f812b3..152a4c88fb714e40010b7eaedff03216e8b9f097 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -394,7 +394,7 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -400,7 +400,7 @@ public class EnderMan extends Monster implements NeutralMob { return false; } else if (getRider() != null) { return super.hurt(source, amount); // Purpur - no teleporting on damage } else if (net.pl3x.purpur.PurpurConfig.endermanShortHeight && source == DamageSource.IN_WALL) { return false; // Purpur - no suffocation damage if short height - } else if (source instanceof IndirectEntityDamageSource) { + } else if (source instanceof IndirectEntityDamageSource && !(this.level.purpurConfig.endermanIgnoreProjectiles && source.getDirectEntity() instanceof net.minecraft.world.entity.projectile.Projectile)) { // Purpur - if (this.tryEscape(com.destroystokyo.paper.event.entity.EndermanEscapeEvent.Reason.INDIRECT)) { // Paper start - for (int i = 0; i < 64; ++i) { - if (this.teleport()) { + Entity entity = source.getDirectEntity(); + boolean flag; + diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9897fa9049f6bd7d2d09374292637976a1882036..c9bbe0d85b16eb877c18db060c37652040571762 100644 +index cf8b637402b4101fc9284c02343a989edf43f598..61451d554ddd6815e74274424de7bed06a39b71d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1312,6 +1312,7 @@ public class PurpurWorldConfig { +@@ -1288,6 +1288,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index 9897fa9049f6bd7d2d09374292637976a1882036..c9bbe0d85b16eb877c18db060c376520 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1333,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1309,6 +1310,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/unapplied/server/0226-Add-compass-command.patch b/patches/server/0222-Add-compass-command.patch similarity index 95% rename from patches/unapplied/server/0226-Add-compass-command.patch rename to patches/server/0222-Add-compass-command.patch index 53e0fc97e..e7c317368 100644 --- a/patches/unapplied/server/0226-Add-compass-command.patch +++ b/patches/server/0222-Add-compass-command.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add compass command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index d298e70100741808d466d7113eb268fb4ccf76e2..0dde919a6e48664f687181967b8f180f8646b662 100644 +index 2be6bbe31c61a9b66c685cca79407c26dd99cf1b..3ee6451e9aa21738c2e89a6609cc5cbf405c35d5 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -203,6 +203,7 @@ public class Commands { +@@ -210,6 +210,7 @@ public class Commands { net.pl3x.purpur.command.PingCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.UptimeCommand.register(this.dispatcher); // Purpur net.pl3x.purpur.command.TPSBarCommand.register(this.dispatcher); // Purpur @@ -17,10 +17,10 @@ index d298e70100741808d466d7113eb268fb4ccf76e2..0dde919a6e48664f687181967b8f180f if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 176168d37000fe439593bd0cfc0a07d29577b474..7dff9956c8dc07701a9796098bed0f28f22cce56 100644 +index a8f3ff75cc6f382efe24313a24bf34af8c563fec..d46cca59049a6bda2725cbabe47e9217599d256a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -261,6 +261,7 @@ public class ServerPlayer extends Player { +@@ -257,6 +257,7 @@ public class ServerPlayer extends Player { public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur private boolean tpsBar = false; // Purpur @@ -28,7 +28,7 @@ index 176168d37000fe439593bd0cfc0a07d29577b474..7dff9956c8dc07701a9796098bed0f28 public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper -@@ -483,6 +484,7 @@ public class ServerPlayer extends Player { +@@ -479,6 +480,7 @@ public class ServerPlayer extends Player { } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index 176168d37000fe439593bd0cfc0a07d29577b474..7dff9956c8dc07701a9796098bed0f28 } @Override -@@ -544,6 +546,7 @@ public class ServerPlayer extends Player { +@@ -540,6 +542,7 @@ public class ServerPlayer extends Player { this.getBukkitEntity().setExtraData(nbt); // CraftBukkit nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index 176168d37000fe439593bd0cfc0a07d29577b474..7dff9956c8dc07701a9796098bed0f28 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2561,5 +2564,13 @@ public class ServerPlayer extends Player { +@@ -2580,5 +2583,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } @@ -111,7 +111,7 @@ index 151f3022a190a30da60b2ea60ee925ecca8a4b4a..82c7694de79094f4d944cdaba8d06572 hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c9bbe0d85b16eb877c18db060c37652040571762..6888c9ff183a869f241a72f36df6f3691897edfc 100644 +index 61451d554ddd6815e74274424de7bed06a39b71d..f35c3149a04af2fbcbe3db172b1c66fac807af3b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -176,6 +176,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0227-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0223-Config-to-prevent-horses-from-standing-with-riders.patch similarity index 85% rename from patches/unapplied/server/0227-Config-to-prevent-horses-from-standing-with-riders.patch rename to patches/server/0223-Config-to-prevent-horses-from-standing-with-riders.patch index 7a342a19a..a6da4c654 100644 --- a/patches/unapplied/server/0227-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0223-Config-to-prevent-horses-from-standing-with-riders.patch @@ -7,10 +7,10 @@ Horses have a chance to stand (rear) when their ambient noise is played. This can happen while the horse is moving with a rider, which will cause the horse to suddenly stop for a moment. diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -index dbd34f589a146b9b408318c3810321ab6bce57f6..6e3f56843c47bc58eaf3d8e3b75299b36acd47d1 100644 +index 56694c9918ab2e8d0ff5cfda6d60360b0cd16674..c9daf65ce500e29ce8f73d1ec6379fc2e172ae64 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -@@ -394,7 +394,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, +@@ -396,7 +396,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @Nullable @Override protected SoundEvent getAmbientSound() { @@ -20,10 +20,10 @@ index dbd34f589a146b9b408318c3810321ab6bce57f6..6e3f56843c47bc58eaf3d8e3b75299b3 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 6888c9ff183a869f241a72f36df6f3691897edfc..c86ecc0d293f0f780e287c29e7383506275eabd5 100644 +index f35c3149a04af2fbcbe3db172b1c66fac807af3b..eaab888deb18bf30532ece0c9e282ecbadafeff6 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1510,6 +1510,7 @@ public class PurpurWorldConfig { +@@ -1486,6 +1486,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -31,7 +31,7 @@ index 6888c9ff183a869f241a72f36df6f3691897edfc..c86ecc0d293f0f780e287c29e7383506 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1527,6 +1528,7 @@ public class PurpurWorldConfig { +@@ -1503,6 +1504,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); diff --git a/patches/unapplied/server/0228-Toggle-for-kinetic-damage.patch b/patches/server/0224-Toggle-for-kinetic-damage.patch similarity index 92% rename from patches/unapplied/server/0228-Toggle-for-kinetic-damage.patch rename to patches/server/0224-Toggle-for-kinetic-damage.patch index 5dbcb906d..478517274 100644 --- a/patches/unapplied/server/0228-Toggle-for-kinetic-damage.patch +++ b/patches/server/0224-Toggle-for-kinetic-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for kinetic damage diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4deef279a88f938354437e573df9e595cf5cc22c..75af080311863667feaeb27441461c27ad6704ab 100644 +index 8f15148dc81c5370f19edb77b6412c3f97741a0a..0f395aa8e471f724617b391501cdd2f3357ab894 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2791,7 +2791,11 @@ public abstract class LivingEntity extends Entity { @@ -22,7 +22,7 @@ index 4deef279a88f938354437e573df9e595cf5cc22c..75af080311863667feaeb27441461c27 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c86ecc0d293f0f780e287c29e7383506275eabd5..0f87222f076cb16c4851bb72ef3d8b0b569e9494 100644 +index eaab888deb18bf30532ece0c9e282ecbadafeff6..ea419e22bde2ef64b5f7cddcf722d534d6103048 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -138,12 +138,14 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0229-Add-Option-for-disable-observer-clocks.patch b/patches/server/0225-Add-Option-for-disable-observer-clocks.patch similarity index 91% rename from patches/unapplied/server/0229-Add-Option-for-disable-observer-clocks.patch rename to patches/server/0225-Add-Option-for-disable-observer-clocks.patch index 368e6a889..eba4b5e93 100644 --- a/patches/unapplied/server/0229-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0225-Add-Option-for-disable-observer-clocks.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add Option for disable observer clocks Allow to disable observer clocks: https://www.spigotmc.org/attachments/observerclock-gif.365936/ diff --git a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java -index 101317912b8299f5be406b75c19cfddb30c1f3f3..21f5632bbc58a1c34b85d9fef240893887e5ae6c 100644 +index 4a34a08a1d46e4d3020644a51d9e30a36a18791a..be28b5aba28383058548cfb68f98266415367968 100644 --- a/src/main/java/net/minecraft/world/level/block/ObserverBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ObserverBlock.java @@ -64,6 +64,7 @@ public class ObserverBlock extends DirectionalBlock { @@ -18,7 +18,7 @@ index 101317912b8299f5be406b75c19cfddb30c1f3f3..21f5632bbc58a1c34b85d9fef2408938 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0f87222f076cb16c4851bb72ef3d8b0b569e9494..607f4cde4b55503908a4ac11a0b9f0db8db6c947 100644 +index ea419e22bde2ef64b5f7cddcf722d534d6103048..03bd520c541f5b17ccf17bfa4ad86ff8e1deaf33 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -321,6 +321,11 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0230-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0226-Customizeable-Zombie-Villager-curing-times.patch similarity index 87% rename from patches/unapplied/server/0230-Customizeable-Zombie-Villager-curing-times.patch rename to patches/server/0226-Customizeable-Zombie-Villager-curing-times.patch index e53be20d7..40be786a0 100644 --- a/patches/unapplied/server/0230-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0226-Customizeable-Zombie-Villager-curing-times.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Customizeable Zombie Villager curing times diff --git a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -index cea87c026130334503ad0d4753f4a8e46669e86c..a320483ef8b72edc40453c9e88bd90bd882dfe60 100644 +index 96e5d1210e27b0bca7a354366e5c805709ae4fec..c6ba41c2b4cc96bc97ed2e2220c0f3fa4f31dbe3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/ZombieVillager.java -@@ -208,7 +208,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { +@@ -209,7 +209,7 @@ public class ZombieVillager extends Zombie implements VillagerDataHolder { } if (!this.level.isClientSide) { @@ -18,10 +18,10 @@ index cea87c026130334503ad0d4753f4a8e46669e86c..a320483ef8b72edc40453c9e88bd90bd this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 607f4cde4b55503908a4ac11a0b9f0db8db6c947..5983666699e458aeb1d787370fac1800b959dee5 100644 +index 03bd520c541f5b17ccf17bfa4ad86ff8e1deaf33..940798a9ba586eec6f054e1f5973c76967b3ba55 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2580,6 +2580,8 @@ public class PurpurWorldConfig { +@@ -2556,6 +2556,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index 607f4cde4b55503908a4ac11a0b9f0db8db6c947..5983666699e458aeb1d787370fac1800 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2594,6 +2596,8 @@ public class PurpurWorldConfig { +@@ -2570,6 +2572,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/unapplied/server/0231-Option-for-sponges-to-work-on-lava.patch b/patches/server/0227-Option-for-sponges-to-work-on-lava.patch similarity index 88% rename from patches/unapplied/server/0231-Option-for-sponges-to-work-on-lava.patch rename to patches/server/0227-Option-for-sponges-to-work-on-lava.patch index 9dbcf4062..99aacb2fe 100644 --- a/patches/unapplied/server/0231-Option-for-sponges-to-work-on-lava.patch +++ b/patches/server/0227-Option-for-sponges-to-work-on-lava.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for sponges to work on lava diff --git a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java -index 5b10e1110f938745c8f9ed0b55960566bc720c30..c97fddfc680a9d1934c751e0e87e287dd9b9c640 100644 +index 97b4e3c0d2b1bbde77b135b8595c3bfa190a14cb..02b98cfe47d5d2f3c362a84c6b05e734c9dfd6df 100644 --- a/src/main/java/net/minecraft/world/level/block/SpongeBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SpongeBlock.java @@ -74,7 +74,7 @@ public class SpongeBlock extends Block { @@ -18,10 +18,10 @@ index 5b10e1110f938745c8f9ed0b55960566bc720c30..c97fddfc680a9d1934c751e0e87e287d ++i; if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5983666699e458aeb1d787370fac1800b959dee5..b856613b8085fde1d53ed83a5a5bb46f1a19c1b7 100644 +index 940798a9ba586eec6f054e1f5973c76967b3ba55..a8fc53b8f6e337d8300aa35d20496965648b3450 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -950,9 +950,11 @@ public class PurpurWorldConfig { +@@ -926,9 +926,11 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 64; public int spongeAbsorptionRadius = 6; diff --git a/patches/unapplied/server/0232-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0228-Toggle-for-Wither-s-spawn-sound.patch similarity index 73% rename from patches/unapplied/server/0232-Toggle-for-Wither-s-spawn-sound.patch rename to patches/server/0228-Toggle-for-Wither-s-spawn-sound.patch index a5950a246..a887763a2 100644 --- a/patches/unapplied/server/0232-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0228-Toggle-for-Wither-s-spawn-sound.patch @@ -5,23 +5,23 @@ Subject: [PATCH] Toggle for Wither's spawn sound diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 8a100e5bf4f40f2fd75fbe5a90cfce499b6f534a..6b75aaca3f22cdf3b6b51db04d6d2ed642fc0e73 100644 +index e711e68d245c2dabb76e8a200c3f353c6ece0886..fa803a71110f40abce9be682ce1c4863d4690829 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -403,7 +403,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -414,7 +414,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob } // CraftBukkit end - if (!this.isSilent()) { + if (!this.isSilent() && level.purpurConfig.witherPlaySpawnSound) { // CraftBukkit start - Use relative location for far away sounds - // this.world.b(1023, new BlockPosition(this), 0); - //int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API + // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); + //int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b856613b8085fde1d53ed83a5a5bb46f1a19c1b7..213ce168873e865947962787cc1d82f0dfe19b6e 100644 +index a8fc53b8f6e337d8300aa35d20496965648b3450..97394877746ec1925b43d283b2a115537db64002 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2435,6 +2435,7 @@ public class PurpurWorldConfig { +@@ -2411,6 +2411,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index b856613b8085fde1d53ed83a5a5bb46f1a19c1b7..213ce168873e865947962787cc1d82f0 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2455,6 +2456,7 @@ public class PurpurWorldConfig { +@@ -2431,6 +2432,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/unapplied/server/0233-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0229-Cactus-breaks-from-solid-neighbors-config.patch similarity index 87% rename from patches/unapplied/server/0233-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/server/0229-Cactus-breaks-from-solid-neighbors-config.patch index 8c2d517ac..078c51051 100644 --- a/patches/unapplied/server/0233-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0229-Cactus-breaks-from-solid-neighbors-config.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cactus breaks from solid neighbors config diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -index 2a02fdf58640d26b82e0ca22d0d8ff3326921b61..c65ec767363b76aa8e8234037d937423abedfdcf 100644 +index fa36ad3bb63764778aa7201d90e331e64292c7b4..dfa06b3c7323aeb12b1e234ca27c924a4c2e8856 100644 --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java @@ -110,7 +110,7 @@ public class CactusBlock extends Block { @@ -18,10 +18,10 @@ index 2a02fdf58640d26b82e0ca22d0d8ff3326921b61..c65ec767363b76aa8e8234037d937423 return false; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 213ce168873e865947962787cc1d82f0dfe19b6e..a27718df469c94544d8900e9d1cd26ff17b821fc 100644 +index 97394877746ec1925b43d283b2a115537db64002..7d4f2e9b9885a9e0f7982da68dc9cf63aefdc132 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -752,6 +752,11 @@ public class PurpurWorldConfig { +@@ -728,6 +728,11 @@ public class PurpurWorldConfig { buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch); } diff --git a/patches/unapplied/server/0234-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0230-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 93% rename from patches/unapplied/server/0234-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0230-Config-to-remove-curse-of-binding-with-weakness.patch index 08fd1ff36..2b08706a7 100644 --- a/patches/unapplied/server/0234-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0230-Config-to-remove-curse-of-binding-with-weakness.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to remove curse of binding with weakness diff --git a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java -index 777c21d8f3d5a7e9c156d25263f4b50ad67bd7c7..98cc31b2f318c468d1d2a26b24441bfe03055562 100644 +index 111da6398bb561e58571e47743088ce80416234d..0a2c776b9b1da7d0d4481dd527e0068b170cac23 100644 --- a/src/main/java/net/minecraft/world/inventory/InventoryMenu.java +++ b/src/main/java/net/minecraft/world/inventory/InventoryMenu.java @@ -4,6 +4,7 @@ import com.mojang.datafixers.util.Pair; @@ -26,7 +26,7 @@ index 777c21d8f3d5a7e9c156d25263f4b50ad67bd7c7..98cc31b2f318c468d1d2a26b24441bfe @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a27718df469c94544d8900e9d1cd26ff17b821fc..7931b33300e1131b38e332c80c088bfaf688e0ce 100644 +index 7d4f2e9b9885a9e0f7982da68dc9cf63aefdc132..35ecbbb9f4f32d14d2836b2335d22bf0db5fed33 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -359,6 +359,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0235-Conduit-behavior-configuration.patch b/patches/server/0231-Conduit-behavior-configuration.patch similarity index 90% rename from patches/unapplied/server/0235-Conduit-behavior-configuration.patch rename to patches/server/0231-Conduit-behavior-configuration.patch index 927b83be8..2a3a4fad6 100644 --- a/patches/unapplied/server/0235-Conduit-behavior-configuration.patch +++ b/patches/server/0231-Conduit-behavior-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Conduit behavior configuration diff --git a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java -index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb7858c2b30b 100644 +index 96b6e914441ee1faa059aa5ddcf77ffb74e76ae9..31af7d8111e73169d3e02aa52799a01838ecd9c6 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/ConduitBlockEntity.java -@@ -175,7 +175,7 @@ public class ConduitBlockEntity extends BlockEntity { +@@ -173,7 +173,7 @@ public class ConduitBlockEntity extends BlockEntity { if ((l > 1 || i1 > 1 || j1 > 1) && (i == 0 && (i1 == 2 || j1 == 2) || j == 0 && (l == 2 || j1 == 2) || k == 0 && (l == 2 || i1 == 2))) { BlockPos blockposition2 = pos.offset(i, j, k); BlockState iblockdata = world.getBlockState(blockposition2); @@ -17,7 +17,7 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 int k1 = ablock.length; for (int l1 = 0; l1 < k1; ++l1) { -@@ -195,7 +195,7 @@ public class ConduitBlockEntity extends BlockEntity { +@@ -193,7 +193,7 @@ public class ConduitBlockEntity extends BlockEntity { private static void applyEffects(Level world, BlockPos pos, List activatingBlocks) { int i = activatingBlocks.size(); @@ -26,7 +26,7 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 int k = pos.getX(); int l = pos.getY(); int i1 = pos.getZ(); -@@ -233,14 +233,14 @@ public class ConduitBlockEntity extends BlockEntity { +@@ -231,14 +231,14 @@ public class ConduitBlockEntity extends BlockEntity { if (!list1.isEmpty()) { blockEntity.destroyTarget = (LivingEntity) list1.get(world.random.nextInt(list1.size())); } @@ -44,10 +44,10 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7931b33300e1131b38e332c80c088bfaf688e0ce..2717f0c6344ed0df8ce6132a66e237319df92e4c 100644 +index 35ecbbb9f4f32d14d2836b2335d22bf0db5fed33..ada25f4bb76022a271e308ab7cd04d648a4d2798 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2641,4 +2641,27 @@ public class PurpurWorldConfig { +@@ -2617,4 +2617,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/unapplied/server/0236-Cauldron-fill-chances.patch b/patches/server/0232-Cauldron-fill-chances.patch similarity index 92% rename from patches/unapplied/server/0236-Cauldron-fill-chances.patch rename to patches/server/0232-Cauldron-fill-chances.patch index 518552ed7..5ad1093ec 100644 --- a/patches/unapplied/server/0236-Cauldron-fill-chances.patch +++ b/patches/server/0232-Cauldron-fill-chances.patch @@ -18,10 +18,10 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2717f0c6344ed0df8ce6132a66e237319df92e4c..d55a4d9b55bee1a0399bf8d6e6c1e6acd90321fd 100644 +index ada25f4bb76022a271e308ab7cd04d648a4d2798..1b2af63e0b7e71677b1710e45254c4872f14830c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2664,4 +2664,11 @@ public class PurpurWorldConfig { +@@ -2640,4 +2640,11 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } diff --git a/patches/unapplied/server/0237-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0233-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 88% rename from patches/unapplied/server/0237-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0233-Config-to-allow-mobs-to-pathfind-over-rails.patch index ce25c48c7..b24751cee 100644 --- a/patches/unapplied/server/0237-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0233-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to allow mobs to pathfind over rails diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index 60605a8a021cc56f9c3ba22bc43c43c302fb1a70..e7dc64c3ef715e3e58d79bb55546a1222c101edf 100644 +index ce891b7d8e5cbc956c28b8bb8c5c9976b7377039..8ecc9099515e38bfe38a5f9ca034cd81250c4396 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java @@ -240,7 +240,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { @@ -18,10 +18,10 @@ index 60605a8a021cc56f9c3ba22bc43c43c302fb1a70..e7dc64c3ef715e3e58d79bb55546a122 if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) { double g = (double)(x - direction.getStepX()) + 0.5D; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d55a4d9b55bee1a0399bf8d6e6c1e6acd90321fd..84f2135fc50e2c3a4f6035e1231ba70bd0e2eac4 100644 +index 1b2af63e0b7e71677b1710e45254c4872f14830c..6ddceb339c8abe1ac4fe6f1cf24524b4629b3984 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -655,6 +655,7 @@ public class PurpurWorldConfig { +@@ -654,6 +654,7 @@ public class PurpurWorldConfig { public double voidDamageDealt = 4.0D; public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; @@ -29,11 +29,11 @@ index d55a4d9b55bee1a0399bf8d6e6c1e6acd90321fd..84f2135fc50e2c3a4f6035e1231ba70b private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -677,6 +678,7 @@ public class PurpurWorldConfig { +@@ -675,6 +676,7 @@ public class PurpurWorldConfig { voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); + mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); } - public Set noRandomTickBlocks = new HashSet<>(); + public boolean anvilAllowColors = false; diff --git a/patches/unapplied/server/0238-Add-force-and-prompt-parameters-to-resource-pack-api.patch b/patches/server/0234-Add-force-and-prompt-parameters-to-resource-pack-api.patch similarity index 90% rename from patches/unapplied/server/0238-Add-force-and-prompt-parameters-to-resource-pack-api.patch rename to patches/server/0234-Add-force-and-prompt-parameters-to-resource-pack-api.patch index ebea76975..171bafe88 100644 --- a/patches/unapplied/server/0238-Add-force-and-prompt-parameters-to-resource-pack-api.patch +++ b/patches/server/0234-Add-force-and-prompt-parameters-to-resource-pack-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f93887579837a9cfc6699c0b481ac60f16a31770..9bf8f53491a93c13313d6b35eca365aa183a574b 100644 +index c260c5446235177ebf68f75eb09ed8dd68545208..704b03d217c4324b191f2f216b7e045af3b93f63 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -25,6 +25,8 @@ import java.util.WeakHashMap; +@@ -27,6 +27,8 @@ import java.util.WeakHashMap; import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nullable; @@ -17,7 +17,7 @@ index f93887579837a9cfc6699c0b481ac60f16a31770..9bf8f53491a93c13313d6b35eca365aa import net.minecraft.Util; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.core.BlockPos; -@@ -1758,11 +1760,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1707,11 +1709,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash) { diff --git a/patches/unapplied/server/0239-Shulker-change-color-with-dye.patch b/patches/server/0235-Shulker-change-color-with-dye.patch similarity index 92% rename from patches/unapplied/server/0239-Shulker-change-color-with-dye.patch rename to patches/server/0235-Shulker-change-color-with-dye.patch index 673fd6dc3..a73a5c408 100644 --- a/patches/unapplied/server/0239-Shulker-change-color-with-dye.patch +++ b/patches/server/0235-Shulker-change-color-with-dye.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Shulker change color with dye diff --git a/src/main/java/net/minecraft/world/entity/monster/Shulker.java b/src/main/java/net/minecraft/world/entity/monster/Shulker.java -index 06c6be23da8d1090aed33f48fc0bbbe442a974b4..ae6e73a34fe0392be05120428716479fdcaad002 100644 +index 73750ec94993fba1d4e7cf7927bb60166757805a..4739f1e29a748cf69d37e616e067810812bb9964 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Shulker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Shulker.java @@ -22,6 +22,8 @@ import net.minecraft.sounds.SoundSource; @@ -47,10 +47,10 @@ index 06c6be23da8d1090aed33f48fc0bbbe442a974b4..ae6e73a34fe0392be05120428716479f @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 84f2135fc50e2c3a4f6035e1231ba70bd0e2eac4..2d39f14fdf2eff4556a4d9e4920f2fd25a2f9d5a 100644 +index 6ddceb339c8abe1ac4fe6f1cf24524b4629b3984..5d41ab4febf7035b15f52a6c0f05efb1305ddc84 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2043,6 +2043,7 @@ public class PurpurWorldConfig { +@@ -2019,6 +2019,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 84f2135fc50e2c3a4f6035e1231ba70bd0e2eac4..2d39f14fdf2eff4556a4d9e4920f2fd2 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2058,6 +2059,7 @@ public class PurpurWorldConfig { +@@ -2034,6 +2035,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/unapplied/server/0240-Extended-OfflinePlayer-API.patch b/patches/server/0236-Extended-OfflinePlayer-API.patch similarity index 97% rename from patches/unapplied/server/0240-Extended-OfflinePlayer-API.patch rename to patches/server/0236-Extended-OfflinePlayer-API.patch index a802d3f35..a5617d8e5 100644 --- a/patches/unapplied/server/0240-Extended-OfflinePlayer-API.patch +++ b/patches/server/0236-Extended-OfflinePlayer-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Extended OfflinePlayer API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index b20bfe5ab165bf86985e5ff2f93f415d9710e0e4..830d3163990002c7c1ba0a5a63531fa1bfff507d 100644 +index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb36548246 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -525,4 +525,213 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -223,10 +223,10 @@ index b20bfe5ab165bf86985e5ff2f93f415d9710e0e4..830d3163990002c7c1ba0a5a63531fa1 + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9bf8f53491a93c13313d6b35eca365aa183a574b..8eab4b0b3a4412445a66088e374591873c847b2a 100644 +index 704b03d217c4324b191f2f216b7e045af3b93f63..1d05ea7c29b95313b28965848182fc00745f265d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1933,6 +1933,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1882,6 +1882,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/unapplied/server/0241-Added-the-ability-to-add-combustible-items.patch b/patches/server/0237-Added-the-ability-to-add-combustible-items.patch similarity index 91% rename from patches/unapplied/server/0241-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0237-Added-the-ability-to-add-combustible-items.patch index fca7e4f7e..bad1cb74e 100644 --- a/patches/unapplied/server/0241-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0237-Added-the-ability-to-add-combustible-items.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/net/minecraft/world/inventory/AbstractFurnaceMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractFurnaceMenu.java -index 37878812892ea5cdfdd2d76d87bd14e035eab908..a2e1aaed795823d4054414d704404ceb73bf4424 100644 +index 4adfc26062b322443828e94e6b0943884a18846b..0d9ecca25bff63f3428ccf93e2789fca0bcef7cc 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractFurnaceMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractFurnaceMenu.java @@ -145,7 +145,13 @@ public abstract class AbstractFurnaceMenu extends RecipeBookMenu { @@ -24,7 +24,7 @@ index 37878812892ea5cdfdd2d76d87bd14e035eab908..a2e1aaed795823d4054414d704404ceb } else if (this.isFuel(itemstack1)) { if (!this.moveItemStackTo(itemstack1, 1, 2, false)) { diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 400b4643df9c0e44614d5420809f64ddc1fd5a7f..f17cf16a0818f031b4697b2a08afe0905ba00da6 100644 +index 600a71b8da335ddfc70f782cbbb08647ae98a89c..e7387a287ac84dcf8f39c547538432e5bf967965 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java @@ -205,6 +205,22 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit @@ -51,10 +51,10 @@ index 400b4643df9c0e44614d5420809f64ddc1fd5a7f..f17cf16a0818f031b4697b2a08afe090 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5e24bff3cbbbd59df175db6fa8293b7dc4d59916..908f817e86db90cfda71a73512138167cc002f08 100644 +index 78c8b7684ff18c00e27d27c31226b8daaf5cd17b..4b3ba26f585cf7bc18c6be8d8a3a4aebf717adbf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1413,6 +1413,19 @@ public final class CraftServer implements Server { +@@ -1421,6 +1421,19 @@ public final class CraftServer implements Server { return true; } diff --git a/patches/unapplied/server/0242-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0238-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 83% rename from patches/unapplied/server/0242-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0238-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 7b3207093..03b67f913 100644 --- a/patches/unapplied/server/0242-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0238-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a4684af09f3a01b71b33cfff519ec5b99cfafd61..31acce7d38bdbc17eb29f3ab03a247cccddfca95 100644 +index dfbab7b451656db88e1a7d3a6bf407637da41ff9..1a25629380b29bd919dce1fde0f69fea0b31ee25 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1098,6 +1098,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1103,6 +1103,7 @@ public class ServerLevel extends Level implements WorldGenLevel { - private void stopWeather() { + private void resetWeatherCycle() { // CraftBukkit start + if (this.purpurConfig.rainStopsAfterSleep) // Purpur this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1105,6 +1106,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1110,6 +1111,7 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setRainTime(0); } // CraftBukkit end @@ -25,10 +25,10 @@ index a4684af09f3a01b71b33cfff519ec5b99cfafd61..31acce7d38bdbc17eb29f3ab03a247cc // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2d39f14fdf2eff4556a4d9e4920f2fd25a2f9d5a..0b8337e23fe6352a21340d79d64b5c89c5664441 100644 +index 5d41ab4febf7035b15f52a6c0f05efb1305ddc84..b709cdbc906aff0fd83d22148804b833a2686311 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -656,6 +656,8 @@ public class PurpurWorldConfig { +@@ -655,6 +655,8 @@ public class PurpurWorldConfig { public int raidCooldownSeconds = 0; public int animalBreedingCooldownSeconds = 0; public boolean mobsIgnoreRails = false; @@ -37,7 +37,7 @@ index 2d39f14fdf2eff4556a4d9e4920f2fd25a2f9d5a..0b8337e23fe6352a21340d79d64b5c89 private void miscGameplayMechanicsSettings() { useBetterMending = getBoolean("gameplay-mechanics.use-better-mending", useBetterMending); alwaysTameInCreative = getBoolean("gameplay-mechanics.always-tame-in-creative", alwaysTameInCreative); -@@ -679,6 +681,8 @@ public class PurpurWorldConfig { +@@ -677,6 +679,8 @@ public class PurpurWorldConfig { raidCooldownSeconds = getInt("gameplay-mechanics.raid-cooldown-seconds", raidCooldownSeconds); animalBreedingCooldownSeconds = getInt("gameplay-mechanics.animal-breeding-cooldown-seconds", animalBreedingCooldownSeconds); mobsIgnoreRails = getBoolean("gameplay-mechanics.mobs-ignore-rails", mobsIgnoreRails); @@ -45,4 +45,4 @@ index 2d39f14fdf2eff4556a4d9e4920f2fd25a2f9d5a..0b8337e23fe6352a21340d79d64b5c89 + thunderStopsAfterSleep = getBoolean("gameplay-mechanics.thunder-stops-after-sleep", thunderStopsAfterSleep); } - public Set noRandomTickBlocks = new HashSet<>(); + public boolean anvilAllowColors = false; diff --git a/patches/unapplied/server/0243-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0239-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 93% rename from patches/unapplied/server/0243-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0239-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index 8b8c6465e..5ed86c107 100644 --- a/patches/unapplied/server/0243-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0239-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -30,10 +30,10 @@ index 47b32d89766862b998824fd3dd97265899651c15..8c0646dda3032bce8a95c66c9e504b68 world.captureTreeGeneration = true; // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/level/block/Blocks.java b/src/main/java/net/minecraft/world/level/block/Blocks.java -index af4287e2fff8bc920f615ba56f78bd5acdec8721..31f84a7231667b593da8ed6cdada976f7769feef 100644 +index 71e494b949541284b0642dae4b20a6b3ec459828..625ad12e43cc651c986a3b45ce9a7c5be6b715ab 100644 --- a/src/main/java/net/minecraft/world/level/block/Blocks.java +++ b/src/main/java/net/minecraft/world/level/block/Blocks.java -@@ -992,8 +992,8 @@ public class Blocks { +@@ -996,8 +996,8 @@ public class Blocks { public static final Block CAVE_VINES = register("cave_vines", new CaveVinesBlock(BlockBehaviour.Properties.of(Material.PLANT).randomTicks().noCollission().lightLevel(CaveVines.emission(14)).instabreak().sound(SoundType.CAVE_VINES))); public static final Block CAVE_VINES_PLANT = register("cave_vines_plant", new CaveVinesPlantBlock(BlockBehaviour.Properties.of(Material.PLANT).noCollission().lightLevel(CaveVines.emission(14)).instabreak().sound(SoundType.CAVE_VINES))); public static final Block SPORE_BLOSSOM = register("spore_blossom", new SporeBlossomBlock(BlockBehaviour.Properties.of(Material.PLANT).instabreak().noCollission().sound(SoundType.SPORE_BLOSSOM))); @@ -45,10 +45,10 @@ index af4287e2fff8bc920f615ba56f78bd5acdec8721..31f84a7231667b593da8ed6cdada976f public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS))); public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF))); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 0b8337e23fe6352a21340d79d64b5c89c5664441..dee41edc75353252b2c1dae3dee265ac7396a140 100644 +index b709cdbc906aff0fd83d22148804b833a2686311..2506da681c1c95dc601bd5b04de1c3dcc27dc4fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -712,6 +712,11 @@ public class PurpurWorldConfig { +@@ -688,6 +688,11 @@ public class PurpurWorldConfig { anvilAllowColors = getBoolean("blocks.anvil.allow-colors", anvilAllowColors); } @@ -60,7 +60,7 @@ index 0b8337e23fe6352a21340d79d64b5c89c5664441..dee41edc75353252b2c1dae3dee265ac public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -848,6 +853,11 @@ public class PurpurWorldConfig { +@@ -824,6 +829,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/unapplied/server/0244-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0240-Shift-right-click-to-use-exp-for-mending.patch similarity index 90% rename from patches/unapplied/server/0244-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0240-Shift-right-click-to-use-exp-for-mending.patch index edadcb6ce..cf2bfab54 100644 --- a/patches/unapplied/server/0244-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0240-Shift-right-click-to-use-exp-for-mending.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shift right click to use exp for mending diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index a61c0ca02b085d1ab2587d54c9fcdc76a726cc4e..a11a7deefb7fdf7ca9b23f85f5ae5f7c8ca935ac 100644 +index add6aa626273fef9cbd4662f83bea6f79312d1da..ccf7491c67b76186b2140f319fca69c9e0cecf92 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -526,6 +526,7 @@ public class ServerPlayerGameMode { +@@ -522,6 +522,7 @@ public class ServerPlayerGameMode { public InteractionHand interactHand; public ItemStack interactItemStack; public InteractionResult useItemOn(ServerPlayer player, Level world, ItemStack stack, InteractionHand hand, BlockHitResult hitResult) { @@ -16,7 +16,7 @@ index a61c0ca02b085d1ab2587d54c9fcdc76a726cc4e..a11a7deefb7fdf7ca9b23f85f5ae5f7c BlockPos blockposition = hitResult.getBlockPos(); BlockState iblockdata = world.getBlockState(blockposition); InteractionResult enuminteractionresult = InteractionResult.PASS; -@@ -619,4 +620,18 @@ public class ServerPlayerGameMode { +@@ -615,4 +616,18 @@ public class ServerPlayerGameMode { public void setLevel(ServerLevel world) { this.level = world; } @@ -36,10 +36,10 @@ index a61c0ca02b085d1ab2587d54c9fcdc76a726cc4e..a11a7deefb7fdf7ca9b23f85f5ae5f7c + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 212d5ea064ad7281d6ed4a468464c7e8615b67a0..e50eb7c89c3b7b523950d3fe02a433a8e8b57a6f 100644 +index 0435dc363cf3bd5834e874af628c0d9f5604f179..11bed0721cfec22aae33767d5d1cecebad15d467 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1936,6 +1936,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1875,6 +1875,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index 212d5ea064ad7281d6ed4a468464c7e8615b67a0..e50eb7c89c3b7b523950d3fe02a433a8 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index dee41edc75353252b2c1dae3dee265ac7396a140..cf94fe5e55cb42f81d96870ce0fcffb3ee0caddb 100644 +index 2506da681c1c95dc601bd5b04de1c3dcc27dc4fc..7493e12c02265587c4eb4dfcd568cec30d36259b 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -360,6 +360,7 @@ public class PurpurWorldConfig { diff --git a/patches/unapplied/server/0245-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0241-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 88% rename from patches/unapplied/server/0245-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0241-Dolphins-naturally-aggressive-to-players-chance.patch index f7fc1760f..9bf8d37fb 100644 --- a/patches/unapplied/server/0245-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0241-Dolphins-naturally-aggressive-to-players-chance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dolphins naturally aggressive to players chance diff --git a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -index cff66ff55b5741d58cecf331444fac87798de4c9..b7cb3db55ddfa5a56c9cd3fa050adfb7832082c5 100644 +index 591573926eb1358ef82e9e5418be0f1d4ba663cb..68f5f5322521d844c26582606a8d1235d4ddf58a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Dolphin.java +++ b/src/main/java/net/minecraft/world/entity/animal/Dolphin.java -@@ -85,6 +85,7 @@ public class Dolphin extends WaterAnimal { +@@ -75,6 +75,7 @@ public class Dolphin extends WaterAnimal { return !entityitem.hasPickUpDelay() && entityitem.isAlive() && entityitem.isInWater(); }; private int spitCooldown; // Purpur @@ -16,7 +16,7 @@ index cff66ff55b5741d58cecf331444fac87798de4c9..b7cb3db55ddfa5a56c9cd3fa050adfb7 public Dolphin(EntityType type, Level world) { super(type, world); -@@ -175,6 +176,7 @@ public class Dolphin extends WaterAnimal { +@@ -165,6 +166,7 @@ public class Dolphin extends WaterAnimal { public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { this.setAirSupply(this.getMaxAirSupply()); this.setXRot(0.0F); @@ -24,7 +24,7 @@ index cff66ff55b5741d58cecf331444fac87798de4c9..b7cb3db55ddfa5a56c9cd3fa050adfb7 return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); } -@@ -245,18 +247,20 @@ public class Dolphin extends WaterAnimal { +@@ -235,18 +237,20 @@ public class Dolphin extends WaterAnimal { this.goalSelector.addGoal(0, new BreathAirGoal(this)); this.goalSelector.addGoal(0, new TryFindWaterGoal(this)); this.goalSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur @@ -41,16 +41,16 @@ index cff66ff55b5741d58cecf331444fac87798de4c9..b7cb3db55ddfa5a56c9cd3fa050adfb7 this.goalSelector.addGoal(8, new FollowBoatGoal(this)); this.goalSelector.addGoal(9, new AvoidEntityGoal<>(this, Guardian.class, 8.0F, 1.0D, 1.0D)); this.targetSelector.addGoal(0, new net.pl3x.purpur.entity.ai.HasRider(this)); // Purpur - this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers(new Class[0])); // CraftBukkit - decompile error + this.targetSelector.addGoal(1, (new HurtByTargetGoal(this, new Class[]{Guardian.class})).setAlertOthers()); + this.targetSelector.addGoal(2, new net.minecraft.world.entity.ai.goal.target.NearestAttackableTargetGoal<>(this, Player.class, 10, true, false, target -> isNaturallyAggressiveToPlayers)); // Purpur } public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index cf94fe5e55cb42f81d96870ce0fcffb3ee0caddb..9bb24aacd36d571e9b12e87c8cf2b78b0891b48d 100644 +index 7493e12c02265587c4eb4dfcd568cec30d36259b..dd6441c4d469f13886a1b28d9256cd7cf28dd109 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1226,6 +1226,7 @@ public class PurpurWorldConfig { +@@ -1202,6 +1202,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index cf94fe5e55cb42f81d96870ce0fcffb3ee0caddb..9bb24aacd36d571e9b12e87c8cf2b78b private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -1239,6 +1240,7 @@ public class PurpurWorldConfig { +@@ -1215,6 +1216,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/unapplied/server/0246-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0242-Cows-naturally-aggressive-to-players-chance.patch similarity index 94% rename from patches/unapplied/server/0246-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0242-Cows-naturally-aggressive-to-players-chance.patch index ccb4be024..976fe65c3 100644 --- a/patches/unapplied/server/0246-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0242-Cows-naturally-aggressive-to-players-chance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Cows naturally aggressive to players chance diff --git a/src/main/java/net/minecraft/world/entity/animal/Cow.java b/src/main/java/net/minecraft/world/entity/animal/Cow.java -index 36c06895e270be41ac37a012c9c2444f5968d4c5..7900aa1db625a7f98773a574aac5c87d6057d90a 100644 +index fa3bbdd27de6382904588213022191a52d9758a0..9009e448c14dedb271abe671d88aff0dd671408c 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cow.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cow.java @@ -37,6 +37,7 @@ import org.bukkit.craftbukkit.inventory.CraftItemStack; @@ -59,10 +59,10 @@ index 36c06895e270be41ac37a012c9c2444f5968d4c5..7900aa1db625a7f98773a574aac5c87d @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9bb24aacd36d571e9b12e87c8cf2b78b0891b48d..c182ddd23d3de94deee3f31afee880df3b3726ba 100644 +index dd6441c4d469f13886a1b28d9256cd7cf28dd109..bbb10babd9c439b69dc3b4d8555575f050288fc5 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1179,7 +1179,14 @@ public class PurpurWorldConfig { +@@ -1155,7 +1155,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -77,7 +77,7 @@ index 9bb24aacd36d571e9b12e87c8cf2b78b0891b48d..c182ddd23d3de94deee3f31afee880df cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); if (PurpurConfig.version < 10) { -@@ -1191,6 +1198,8 @@ public class PurpurWorldConfig { +@@ -1167,6 +1174,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/unapplied/server/0247-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0243-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 87% rename from patches/unapplied/server/0247-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0243-Option-for-beds-to-explode-on-villager-sleep.patch index f884ade47..f7f0e6c03 100644 --- a/patches/unapplied/server/0247-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0243-Option-for-beds-to-explode-on-villager-sleep.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option for beds to explode on villager sleep diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index c8cef183734d05d0d9c1fa00b0b52539649cfd87..d15169aa6fbad01ded1ae075bb2fc68b4ca8299e 100644 +index e926e9ab135c7d68d13e384f688b32610b2accdb..174afdd3e902ea5b6dc307d1668b2de3f187d81b 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -1172,6 +1172,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -1175,6 +1175,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @Override public void startSleeping(BlockPos pos) { @@ -22,10 +22,10 @@ index c8cef183734d05d0d9c1fa00b0b52539649cfd87..d15169aa6fbad01ded1ae075bb2fc68b this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c182ddd23d3de94deee3f31afee880df3b3726ba..c6cb7c1de2eccfea27281d76be336a3e680c5dad 100644 +index bbb10babd9c439b69dc3b4d8555575f050288fc5..57093b3c8b9cb6836dc4a9b8a91205d343a9d8f9 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -731,11 +731,13 @@ public class PurpurWorldConfig { +@@ -707,11 +707,13 @@ public class PurpurWorldConfig { } public boolean bedExplode = true; diff --git a/patches/unapplied/server/0248-horses-tempted-by-gold-config.patch b/patches/server/0244-horses-tempted-by-gold-config.patch similarity index 70% rename from patches/unapplied/server/0248-horses-tempted-by-gold-config.patch rename to patches/server/0244-horses-tempted-by-gold-config.patch index 0806a0312..67a155a90 100644 --- a/patches/unapplied/server/0248-horses-tempted-by-gold-config.patch +++ b/patches/server/0244-horses-tempted-by-gold-config.patch @@ -5,30 +5,30 @@ Subject: [PATCH] horses tempted by gold config diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -index 6e3f56843c47bc58eaf3d8e3b75299b36acd47d1..311c18145a3c01d0105f81f32d5f7fe49c016500 100644 +index c9daf65ce500e29ce8f73d1ec6379fc2e172ae64..ea6b49cb000fb94e51df087fcc051d1cc50c05d1 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/AbstractHorse.java -@@ -168,6 +168,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, +@@ -169,6 +169,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, protected void addBehaviourGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); -+ if (this.level.purpurConfig.horseTemptedByGold) this.goalSelector.addGoal(3, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.25D, Ingredient.of(Items.GOLDEN_CARROT, Items.GOLDEN_APPLE, Items.ENCHANTED_GOLDEN_APPLE), false)); // Purpur ++ if (this.level.purpurConfig.horseTemptedByGold) // Purpur + this.goalSelector.addGoal(3, new TemptGoal(this, 1.25D, Ingredient.of(Items.GOLDEN_CARROT, Items.GOLDEN_APPLE, Items.ENCHANTED_GOLDEN_APPLE), false)); } - @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c6cb7c1de2eccfea27281d76be336a3e680c5dad..b8146303d1f079f0a75fde23c6c1be8abbd1ac8c 100644 +index 57093b3c8b9cb6836dc4a9b8a91205d343a9d8f9..bf4f17f3d419f80a20ada67d063d528b672d03d3 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1558,6 +1558,7 @@ public class PurpurWorldConfig { +@@ -1534,6 +1534,7 @@ public class PurpurWorldConfig { public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; public boolean horseStandWithRider = true; -+ public boolean horseTemptedByGold = false; ++ public boolean horseTemptedByGold = true; private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1576,6 +1577,7 @@ public class PurpurWorldConfig { +@@ -1552,6 +1553,7 @@ public class PurpurWorldConfig { horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); horseStandWithRider = getBoolean("mobs.horse.stand-with-rider", horseStandWithRider); diff --git a/patches/unapplied/server/0249-llama-tempted-by-hay-config.patch b/patches/server/0245-llama-tempted-by-hay-config.patch similarity index 69% rename from patches/unapplied/server/0249-llama-tempted-by-hay-config.patch rename to patches/server/0245-llama-tempted-by-hay-config.patch index 8f95567af..d7fafe1c0 100644 --- a/patches/unapplied/server/0249-llama-tempted-by-hay-config.patch +++ b/patches/server/0245-llama-tempted-by-hay-config.patch @@ -5,30 +5,31 @@ Subject: [PATCH] llama tempted by hay config diff --git a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java -index ddef9b81c20b28cf8d8eebcbe7f4a7036ba21dfb..9e72325a05982ae593a6a49f4e4b007cc4d90436 100644 +index 13fd55f198f36ed6b5d3b242e07535c5dfe797b1..80aa869afd28348f02f3189d0b06df9268137637 100644 --- a/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java +++ b/src/main/java/net/minecraft/world/entity/animal/horse/Llama.java -@@ -190,6 +190,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { +@@ -191,7 +191,7 @@ public class Llama extends AbstractChestedHorse implements RangedAttackMob { this.goalSelector.addGoal(3, new RangedAttackGoal(this, 1.25D, 40, 20.0F)); this.goalSelector.addGoal(3, new PanicGoal(this, 1.2D)); this.goalSelector.addGoal(4, new BreedGoal(this, 1.0D)); -+ if (this.level.purpurConfig.llamaTemptedByHay) this.goalSelector.addGoal(5, new net.minecraft.world.entity.ai.goal.TemptGoal(this, 1.25D, Ingredient.of(Items.HAY_BLOCK), false)); // Purpur - this.goalSelector.addGoal(5, new FollowParentGoal(this, 1.0D)); - this.goalSelector.addGoal(6, new WaterAvoidingRandomStrollGoal(this, 0.7D)); - this.goalSelector.addGoal(7, new LookAtPlayerGoal(this, Player.class, 6.0F)); +- this.goalSelector.addGoal(5, new TemptGoal(this, 1.25D, Ingredient.of(Items.HAY_BLOCK), false)); ++ if (this.level.purpurConfig.llamaTemptedByHay) this.goalSelector.addGoal(5, new TemptGoal(this, 1.25D, Ingredient.of(Items.HAY_BLOCK), false)); + this.goalSelector.addGoal(6, new FollowParentGoal(this, 1.0D)); + this.goalSelector.addGoal(7, new WaterAvoidingRandomStrollGoal(this, 0.7D)); + this.goalSelector.addGoal(8, new LookAtPlayerGoal(this, Player.class, 6.0F)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b8146303d1f079f0a75fde23c6c1be8abbd1ac8c..048b6cee3396a0fe09378ee4527f1413b9f0cedd 100644 +index bf4f17f3d419f80a20ada67d063d528b672d03d3..f3a531d5ba2971fe453c9038b7e38dd4ca621b88 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1659,6 +1659,7 @@ public class PurpurWorldConfig { +@@ -1635,6 +1635,7 @@ public class PurpurWorldConfig { public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; public boolean llamaJoinCaravans = true; -+ public boolean llamaTemptedByHay = false; ++ public boolean llamaTemptedByHay = true; private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1678,6 +1679,7 @@ public class PurpurWorldConfig { +@@ -1654,6 +1655,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); diff --git a/patches/unapplied/server/0250-Halloween-options-and-optimizations.patch b/patches/server/0246-Halloween-options-and-optimizations.patch similarity index 88% rename from patches/unapplied/server/0250-Halloween-options-and-optimizations.patch rename to patches/server/0246-Halloween-options-and-optimizations.patch index 7c79d9f66..988e03324 100644 --- a/patches/unapplied/server/0250-Halloween-options-and-optimizations.patch +++ b/patches/server/0246-Halloween-options-and-optimizations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Halloween options and optimizations diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 48ef026a0bc49be0284749777cf4a6b447447665..90d2c7c1e63c8980ee1d4a7628b7d3e68ff54781 100644 +index 518080c1ebb5847081036dbf32d994cea0d95bb3..34fee30442d31fc15415635dd63d7dfaac49d408 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -309,7 +309,7 @@ public class Bat extends AmbientCreature { @@ -26,10 +26,10 @@ index 48ef026a0bc49be0284749777cf4a6b447447665..90d2c7c1e63c8980ee1d4a7628b7d3e6 LocalDate localdate = LocalDate.now(); int i = localdate.get(ChronoField.DAY_OF_MONTH); diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 5b19d8db09867791782c899d41d314c511f6c8a2..3d8b1b8d49af74babf628231345ac1c1864a8efb 100644 +index aa8a972479cea5d806959cf23df3101f0ea1ab2f..09f784e909ebc08ebf03f114126e9463ea65cd82 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -138,11 +138,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -137,11 +137,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo this.reassessWeaponGoal(); this.setCanPickUpLoot(this.level.paperConfig.skeletonsAlwaysCanPickUpLoot || this.random.nextFloat() < 0.55F * difficulty.getSpecialMultiplier()); // Paper if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) { @@ -43,10 +43,10 @@ index 5b19d8db09867791782c899d41d314c511f6c8a2..3d8b1b8d49af74babf628231345ac1c1 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } 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 6c253894866b870e79e110efd7eaf306aa5d7af5..d5ecaf051ec86b5dd9d1fde6af5bf6cd445dccc0 100644 +index 2bd8dc3f5c0b28fb4ea380b4b4a8672d5ede2a38..52eda2e110839c0845de6cd60445f9a084ad0c04 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -@@ -568,11 +568,7 @@ public class Zombie extends Monster { +@@ -565,11 +565,7 @@ public class Zombie extends Monster { } if (this.getItemBySlot(EquipmentSlot.HEAD).isEmpty()) { @@ -60,10 +60,10 @@ index 6c253894866b870e79e110efd7eaf306aa5d7af5..d5ecaf051ec86b5dd9d1fde6af5bf6cd this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 048b6cee3396a0fe09378ee4527f1413b9f0cedd..22fa1209876b2d3856f5de5086ab4f6fc3f676fc 100644 +index f3a531d5ba2971fe453c9038b7e38dd4ca621b88..fc4b91f6fd4e1f10589b9a182f9bee9ea5987de7 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1530,6 +1530,13 @@ public class PurpurWorldConfig { +@@ -1506,6 +1506,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/unapplied/server/0251-Config-for-Grindstones-ignoring-curses.patch b/patches/server/0247-Config-for-Grindstones-ignoring-curses.patch similarity index 91% rename from patches/unapplied/server/0251-Config-for-Grindstones-ignoring-curses.patch rename to patches/server/0247-Config-for-Grindstones-ignoring-curses.patch index a5a669ad7..73420e554 100644 --- a/patches/unapplied/server/0251-Config-for-Grindstones-ignoring-curses.patch +++ b/patches/server/0247-Config-for-Grindstones-ignoring-curses.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config for Grindstones ignoring curses diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java -index 51f3650bc19bddc71731c0cb36e600cc8d16a495..12f6a8cb3df14a457d6618ed02237391529b3c22 100644 +index 0bdf874ddb951daf8d469575a44144504472d12d..b54e172fa18adeb563a3c9bda56e5579b64e5bcf 100644 --- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java +++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java -@@ -131,7 +131,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { +@@ -130,7 +130,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { Enchantment enchantment = (Enchantment) entry.getKey(); Integer integer = (Integer) entry.getValue(); @@ -17,7 +17,7 @@ index 51f3650bc19bddc71731c0cb36e600cc8d16a495..12f6a8cb3df14a457d6618ed02237391 j += enchantment.getMinCost(integer); } } -@@ -231,7 +231,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { +@@ -230,7 +230,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { Entry entry = (Entry) iterator.next(); Enchantment enchantment = (Enchantment) entry.getKey(); @@ -26,7 +26,7 @@ index 51f3650bc19bddc71731c0cb36e600cc8d16a495..12f6a8cb3df14a457d6618ed02237391 itemstack2.enchant(enchantment, (Integer) entry.getValue()); } } -@@ -252,7 +252,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { +@@ -251,7 +251,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { itemstack1.setCount(amount); Map map = (Map) EnchantmentHelper.getEnchantments(item).entrySet().stream().filter((entry) -> { diff --git a/patches/unapplied/server/0252-UPnP-Port-Forwarding.patch b/patches/server/0248-UPnP-Port-Forwarding.patch similarity index 88% rename from patches/unapplied/server/0252-UPnP-Port-Forwarding.patch rename to patches/server/0248-UPnP-Port-Forwarding.patch index 991a93004..c75cbca1d 100644 --- a/patches/unapplied/server/0252-UPnP-Port-Forwarding.patch +++ b/patches/server/0248-UPnP-Port-Forwarding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 106f40481c9b8786bc54a89a0719985c44d0e71a..0bb080702af2d83aec19a83b146aced4c11bc942 100644 +index cfb6a133d8edda91d97eeba0ce911c58d1ac5753..9136843cf13479d3e92922edaa6fc695381a7f2a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -311,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Tue, 20 Jul 2021 02:18:23 +0200 -Subject: [PATCH] Fix Important Issue Crash with Plugin or Datapack Generation - - -diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java -index ae11f1ecf23b38b84ab09f66796d1509a21bfbd8..0a4a0a3d81753a7dea6a6483f601254928c697fb 100644 ---- a/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java -+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/DecoratedFeature.java -@@ -24,12 +24,16 @@ public class DecoratedFeature extends Feature { - Random random = context.random(); - BlockPos blockPos = context.origin(); - ConfiguredFeature configuredFeature = decoratedFeatureConfiguration.feature.get(); -- decoratedFeatureConfiguration.decorator.getPositions(new DecorationContext(worldGenLevel, chunkGenerator), random, blockPos).forEach((blockPosx) -> { -- if (configuredFeature.place(worldGenLevel, chunkGenerator, random, blockPosx)) { -- mutableBoolean.setTrue(); -- } -- -- }); -+ // Purpur Start - Change forEach to Iterator for check with try catch error with caves 1.18 -+ java.util.Iterator blockPosIterator = decoratedFeatureConfiguration.decorator.getPositions(new DecorationContext(worldGenLevel, chunkGenerator), random, blockPos).iterator(); -+ while (blockPosIterator.hasNext()) { -+ try { -+ if (configuredFeature.place(worldGenLevel, chunkGenerator, random, blockPosIterator.next())) { -+ mutableBoolean.setTrue(); -+ } -+ } catch (Exception ignored) {} // No need set false (Exception Possible : NullPointerException and RuntimeException -+ } -+ // Purpur End - return mutableBoolean.isTrue(); - } - -diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java -index 0be9ce0734e3ba72893a7349bb9f83a94f4af30c..f1a04ef36ee5e898529e99d98905b74607a16177 100644 ---- a/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java -+++ b/src/main/java/net/minecraft/world/level/levelgen/feature/TreeFeature.java -@@ -147,7 +147,7 @@ public class TreeFeature extends Feature { - worldGenLevel.setBlock(pos, state, 19); - }; - boolean bl = this.doPlace(worldGenLevel, random, blockPos, biConsumer, biConsumer2, treeConfiguration); -- if (bl && (!set.isEmpty() || !set2.isEmpty())) { -+ if (bl && !set.isEmpty() && !set2.isEmpty()) { // Purpur - Fix Paper#6068 - if (!treeConfiguration.decorators.isEmpty()) { - List list = Lists.newArrayList(set); - List list2 = Lists.newArrayList(set2);