From 969064029cebbf0266b68859fbe12218b781d3ad Mon Sep 17 00:00:00 2001 From: granny Date: Tue, 22 Aug 2023 18:17:58 -0700 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@d129162 Properly handle BlockBreakEvent#isDropItems (#8936) PaperMC/Paper@67a1a8c Fix Inventory#getLocation not working for the composter (#9596) PaperMC/Paper@5b34a09 Add option to disable chorus plant and mushroom block updates (#9442) PaperMC/Paper@ed8401c Fix rotation for spawning display entities (#9552) PaperMC/Paper@bd67b83 Determine lava and water fluid explosion resistance by their block explosion resistance (#9482) PaperMC/Paper@d928dda Don't tab-complete namespaced commands if `send-namespaced` is false (#9366) PaperMC/Paper@f43a19c Fix CME in CraftPersistentDataTypeRegistry (#6701) PaperMC/Paper@45ba652 [ci skip] Rebuild patches PaperMC/Paper@990765b Fire entity death event for ender dragon (#9495) PaperMC/Paper@1259b93 Fixed CraftItemStack/CraftItemMeta enchantment level inconsistency (#8792) PaperMC/Paper@88891c3 Add Entity Coordinate and Rotation API (#9461) PaperMC/Paper@5bf82aa Add cancellability to PlayerTrackEntityEvent (#8605) PaperMC/Paper@1b96c64 Improve cancelling PreCreatureSpawnEvent with per player mob spawns (#9400) PaperMC/Paper@7232506 Add entity tracker min Y distance config option (#9406) PaperMC/Paper@00a68b1 Player listing API (#8782) PaperMC/Paper@af6142e [ci skip] Update Gradle wrapper PaperMC/Paper@281855c Remove unused lag-compensate-block-breaking option (#9635) PaperMC/Paper@35ef053 [ci skip] update editorconfig and gitattributes (#9608) PaperMC/Paper@97b9c4a Fix NPE on Boat#getStatus (#9115) PaperMC/Paper@2be57c6 Expand Pose API (#8781) PaperMC/Paper@b29ecd4 Expose clicked BlockFace during BlockDamageEvent (#9632) PaperMC/Paper@e3f29f4 MerchantRecipe: add copy constructor (#8703) PaperMC/Paper@fed9042 More DragonBattle API (#5655) PaperMC/Paper@27d39ca Properly clone custom nbt tags inside ItemMeta (#7849) PaperMC/Paper@0c7385b Add PlayerPickItemEvent (#5590) PaperMC/Paper@9395aa6 Improve performance of mass crafts (#9603) PaperMC/Paper@7386a13 Fix endgateway teleportation offset (#9517) PaperMC/Paper@a712766 Allow custom damage for trident (#8132) PaperMC/Paper@3716832 Prevent overfilled bundles from duplicating items (#9633) PaperMC/Paper@9cbad8e Expose Hand during BlockCanBuildEvent (#9636) --- .editorconfig | 34 ++++ .gitattributes | 7 + gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- gradlew.bat | 184 +++++++++--------- patches/api/0005-Purpur-client-support.patch | 4 +- patches/api/0007-Ridables.patch | 4 +- patches/api/0010-AFK-API.patch | 4 +- .../api/0016-Player-invulnerabilities.patch | 4 +- ...031-API-for-any-mob-to-burn-daylight.patch | 4 +- patches/api/0045-Debug-Marker-API.patch | 4 +- patches/api/0046-Add-death-screen-API.patch | 4 +- patches/api/0050-Fire-Immunity-API.patch | 4 +- .../0001-Pufferfish-Server-Changes.patch | 92 +++++---- .../server/0005-Purpur-client-support.patch | 14 +- .../0007-Component-related-conveniences.patch | 12 +- patches/server/0008-Ridables.patch | 26 +-- ...-Configurable-entity-base-attributes.patch | 8 +- .../0010-Barrels-and-enderchests-6-rows.patch | 6 +- patches/server/0012-AFK-API.patch | 16 +- .../0018-Player-invulnerabilities.patch | 28 +-- .../0020-Alternative-Keepalive-Handling.patch | 4 +- ...39-Ender-dragon-always-drop-full-exp.patch | 4 +- ...-Minecart-settings-and-WASD-controls.patch | 4 +- ...hould-check-if-entity-can-use-portal.patch | 4 +- .../0046-Add-permission-for-F3-N-debug.patch | 4 +- ...low-loyalty-on-tridents-to-work-in-t.patch | 4 +- ...urable-void-damage-height-and-damage.patch | 4 +- .../0056-Add-canSaveToDisk-to-Entity.patch | 4 +- .../0072-Allow-color-codes-in-books.patch | 10 +- patches/server/0073-Entity-lifespan.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 4 +- ...ion-to-disable-certain-block-updates.patch | 118 ----------- ...0081-Dispensers-place-anvils-option.patch} | 0 ...rs.patch => 0082-Allow-anvil-colors.patch} | 0 ...-disable-dolphin-treasure-searching.patch} | 0 ...patch => 0084-Short-enderman-height.patch} | 4 +- ...top-squids-floating-on-top-of-water.patch} | 4 +- ...ng-obsidian-valid-for-portal-frames.patch} | 2 +- ...ities-can-use-portals-configuration.patch} | 6 +- ...088-LivingEntity-broadcastItemBreak.patch} | 0 ...tomizable-wither-health-and-healing.patch} | 0 ...gling-special-MobSpawners-per-world.patch} | 0 ...patch => 0091-Raid-cooldown-setting.patch} | 0 ...-config-options-per-projectile-type.patch} | 0 ...able-zombie-aggressiveness-towards-.patch} | 0 ...-to-recipe-s-ExactChoice-ingredient.patch} | 0 ...y.patch => 0095-Flying-squids-Oh-my.patch} | 0 ...patch => 0096-Infinity-bow-settings.patch} | 0 ...=> 0097-Configurable-daylight-cycle.patch} | 2 +- ...e-and-mending-enchantments-together.patch} | 2 +- ...9-Furnace-uses-lava-from-underneath.patch} | 0 ...ws-should-not-reset-despawn-counter.patch} | 2 +- ...e-add-farmland-mechanics-from-Alpha.patch} | 0 ...ustable-breeding-cooldown-to-config.patch} | 0 ...-entity-breeding-times-configurable.patch} | 0 ...es-from-item-forms-of-entities-to-e.patch} | 2 +- ...when-using-a-Name-Tag-on-an-Armor-S.patch} | 0 ...lowing-Endermen-to-despawn-even-whi.patch} | 0 ...07-Add-configurable-snowball-damage.patch} | 0 ...8-Changeable-Mob-Left-Handed-Chance.patch} | 0 ...=> 0109-Add-boat-fall-damage-config.patch} | 4 +- ...0110-Snow-Golem-rate-of-fire-config.patch} | 0 ...-Configurable-disable-give-dropping.patch} | 2 +- ...illager-Clerics-to-farm-Nether-Wart.patch} | 0 ...ied-Piglin-death-always-counting-as.patch} | 0 ...le-chance-for-wolves-to-spawn-rabid.patch} | 0 ...5-Configurable-default-collar-color.patch} | 0 ...tch => 0116-Phantom-flames-on-swoop.patch} | 0 ...-to-open-even-with-a-solid-block-on.patch} | 0 ...SBar.patch => 0118-Implement-TPSBar.patch} | 20 +- ...h => 0119-Striders-give-saddle-back.patch} | 0 ...tch => 0120-PlayerBookTooLargeEvent.patch} | 6 +- ...herite-armor-grants-fire-resistance.patch} | 0 ...122-Fix-rotating-UP-DOWN-CW-and-CCW.patch} | 0 ...efing-bypass-to-everything-affected.patch} | 4 +- ...llow-Note-Block-sounds-when-blocked.patch} | 0 ...125-Add-EntityTeleportHinderedEvent.patch} | 10 +- ... => 0126-Farmland-trampling-changes.patch} | 0 ...7-Movement-options-for-armor-stands.patch} | 4 +- ....patch => 0128-Fix-stuck-in-portals.patch} | 8 +- ...ggle-for-water-sensitive-mob-damage.patch} | 2 +- ...0-Config-to-always-tame-in-Creative.patch} | 0 ... 0131-End-crystal-explosion-options.patch} | 0 ...ther-Ender-Dragon-can-ride-vehicles.patch} | 4 +- ...atch => 0133-Dont-run-with-scissors.patch} | 8 +- ...nch-Man.patch => 0134-One-Punch-Man.patch} | 0 ...r-Pearl-cooldown-damage-and-Endermi.patch} | 0 ...to-ignore-nearby-mobs-when-sleeping.patch} | 4 +- ...d-back-player-spawned-endermite-API.patch} | 0 ...n-aggressiveness-towards-Endermites.patch} | 0 ...Dragon-Head-wearers-and-stare-aggro.patch} | 0 ...ig.patch => 0140-Tick-fluids-config.patch} | 0 ...41-Config-to-disable-Llama-caravans.patch} | 0 ...g-to-make-Creepers-explode-on-death.patch} | 0 ...rable-ravager-griefable-blocks-list.patch} | 0 ...144-Sneak-to-bulk-process-composter.patch} | 2 +- ...h => 0145-Config-for-skipping-night.patch} | 0 ...146-Add-config-for-villager-trading.patch} | 0 ...=> 0147-Allow-infinity-on-crossbows.patch} | 2 +- ...ngs.patch => 0148-Drowning-Settings.patch} | 4 +- ...reak-individual-slabs-when-sneaking.patch} | 2 +- ...to-disable-hostile-mob-spawn-on-ice.patch} | 0 ...g-to-show-Armor-Stand-arms-on-spawn.patch} | 0 ...tion-to-make-doors-require-redstone.patch} | 0 ...Config-to-allow-for-unsafe-enchants.patch} | 2 +- ...0154-Configurable-sponge-absorption.patch} | 0 ...ch => 0155-Projectile-offset-config.patch} | 0 ...or-powered-rail-activation-distance.patch} | 0 ...> 0157-Piglin-portal-spawn-modifier.patch} | 0 ...Config-to-change-max-number-of-bees.patch} | 2 +- ...-Config-for-wither-explosion-radius.patch} | 0 ... => 0160-Gamemode-extra-permissions.patch} | 2 +- ...0161-Configurable-piston-push-limit.patch} | 0 ...162-Configurable-broadcast-settings.patch} | 6 +- ... => 0163-Configurable-mob-blindness.patch} | 0 ...hidden-players-from-entity-selector.patch} | 2 +- ...-to-impact-Creeper-explosion-radius.patch} | 0 ... 0166-Iron-golem-calm-anger-options.patch} | 0 ...ots.patch => 0167-Breedable-parrots.patch} | 0 ...gurable-powered-rail-boost-modifier.patch} | 0 ...ge-multiplier-critical-damage-value.patch} | 0 ...n-to-disable-dragon-egg-teleporting.patch} | 0 ...fig-for-unverified-username-message.patch} | 2 +- ...-anvil-cumulative-cost-configurable.patch} | 2 +- ...3-ShulkerBox-allow-oversized-stacks.patch} | 2 +- ...e-can-work-when-raining-or-at-night.patch} | 0 ...75-API-for-any-mob-to-burn-daylight.patch} | 6 +- ...h => 0176-Config-MobEffect-by-world.patch} | 0 ...eacon-Activation-Range-Configurable.patch} | 0 ...0178-Add-toggle-for-sand-duping-fix.patch} | 0 ...gle-for-end-portal-safe-teleporting.patch} | 4 +- ...ke-lightning-rod-range-configurable.patch} | 2 +- ...fter-eating-food-fills-hunger-bar-c.patch} | 0 ...ayer-join-full-server-by-permission.patch} | 4 +- ...al-waiting-option-permission-bypass.patch} | 0 ...4-Shulker-spawn-from-bullet-options.patch} | 0 ...ating-glow-berries-adds-glow-effect.patch} | 0 ...-Option-to-make-drowned-break-doors.patch} | 0 ...nfigurable-hunger-starvation-damage.patch} | 0 ...patch => 0188-Enhance-SysoutCatcher.patch} | 0 ...nd.patch => 0189-Add-uptime-command.patch} | 4 +- ...tch => 0190-Tool-actionable-options.patch} | 0 ...1-Store-placer-on-Block-when-placed.patch} | 6 +- ...oner-API.patch => 0192-Summoner-API.patch} | 0 ...mizable-sleeping-actionbar-messages.patch} | 2 +- ...-shulker-box-items-from-dropping-co.patch} | 2 +- ...tch => 0195-Big-dripleaf-tilt-delay.patch} | 0 ...0196-Player-ridable-in-water-option.patch} | 0 ...-Enderman-teleport-on-projectile-hi.patch} | 0 ...d.patch => 0198-Add-compass-command.patch} | 12 +- ...h => 0199-Toggle-for-kinetic-damage.patch} | 0 ...-Option-for-disable-observer-clocks.patch} | 0 ...zeable-Zombie-Villager-curing-times.patch} | 0 ...for-sponges-to-work-on-lava-and-mud.patch} | 0 ...203-Toggle-for-Wither-s-spawn-sound.patch} | 0 ...-breaks-from-solid-neighbors-config.patch} | 0 ...move-curse-of-binding-with-weakness.patch} | 0 ...0206-Conduit-behavior-configuration.patch} | 0 ...patch => 0207-Cauldron-fill-chances.patch} | 0 ...o-allow-mobs-to-pathfind-over-rails.patch} | 0 ... 0209-Shulker-change-color-with-dye.patch} | 0 ... => 0210-Extended-OfflinePlayer-API.patch} | 4 +- ...he-ability-to-add-combustible-items.patch} | 2 +- ...in-and-thunder-should-stop-on-sleep.patch} | 0 ...-blocks-to-grow-into-trees-naturall.patch} | 0 ...-right-click-to-use-exp-for-mending.patch} | 6 +- ...urally-aggressive-to-players-chance.patch} | 0 ...urally-aggressive-to-players-chance.patch} | 0 ...r-beds-to-explode-on-villager-sleep.patch} | 0 ...Halloween-options-and-optimizations.patch} | 0 ...atch => 0219-Config-for-grindstones.patch} | 2 +- ....patch => 0220-UPnP-Port-Forwarding.patch} | 6 +- ...Campfire-option-for-lit-when-placed.patch} | 0 ...tinguish-fire-blocks-with-snowballs.patch} | 0 ...on-to-disable-zombie-villagers-cure.patch} | 0 ...nt-BlockEntity-Lore-and-DisplayName.patch} | 4 +- ...tch => 0225-Signs-allow-color-codes.patch} | 4 +- ...-and-twisting-vines-configurable-ma.patch} | 2 +- ...=> 0227-Mobs-always-drop-experience.patch} | 0 ....patch => 0228-Potion-NamespacedKey.patch} | 2 +- ...ne-API.patch => 0229-Grindstone-API.patch} | 0 ...e-to-replant-crops-and-nether-warts.patch} | 0 ...ring-jeb-produces-random-color-wool.patch} | 0 ...urtle-eggs-random-tick-crack-chance.patch} | 2 +- ...=> 0233-Mob-head-visibility-percent.patch} | 0 ...able-valid-characters-for-usernames.patch} | 4 +- ...Shears-can-have-looting-enchantment.patch} | 2 +- ...Stop-bees-from-dying-after-stinging.patch} | 0 ...ounts-in-beehives-to-Purpur-clients.patch} | 2 +- ...onfigurable-farmland-trample-height.patch} | 0 ...onfigurable-player-pickup-exp-delay.patch} | 0 ...ng.patch => 0240-Allow-void-trading.patch} | 0 ...h => 0241-Configurable-phantom-size.patch} | 0 ...> 0242-Configurable-food-attributes.patch} | 4 +- ....patch => 0243-Max-joins-per-second.patch} | 4 +- ...figurable-minimum-demand-for-trades.patch} | 0 ... => 0245-Lobotomize-stuck-villagers.patch} | 0 ...ion-for-villager-display-trade-item.patch} | 0 ...wner-not-spawning-water-animals-cor.patch} | 0 ...ig-for-mob-last-hurt-by-player-time.patch} | 2 +- ...=> 0249-Anvil-repair-damage-options.patch} | 0 ...-turtle-egg-trampling-with-feather-.patch} | 2 +- ...d-toggle-for-enchant-level-clamping.patch} | 2 +- ...kip-junit-tests-for-purpur-commands.patch} | 0 ...rable-search-radius-for-villagers-t.patch} | 0 ...ge.patch => 0254-Stonecutter-damage.patch} | 2 +- ...le-damage-settings-for-magma-blocks.patch} | 0 ...256-Add-config-for-snow-on-blue-ice.patch} | 0 ... => 0257-Skeletons-eat-wither-roses.patch} | 0 ...58-Enchantment-Table-Persists-Lapis.patch} | 0 ...ofiler.patch => 0259-Spark-Profiler.patch} | 0 ...-disable-kick-for-out-of-order-chat.patch} | 8 +- ...for-sculk-shrieker-can_summon-state.patch} | 0 ...=> 0262-Config-to-not-let-coral-die.patch} | 0 ...ch => 0263-Add-local-difficulty-api.patch} | 0 ...264-Add-toggle-for-RNG-manipulation.patch} | 4 +- ... 0265-Send-client-custom-name-of-BE.patch} | 0 ...Fix-exact-choice-recipe-book-clicks.patch} | 0 ...=> 0267-Allow-custom-ChatDecorators.patch} | 2 +- ...imings.patch => 0268-Remove-Timings.patch} | 36 ++-- ...atch => 0269-Remove-Mojang-Profiler.patch} | 74 +++---- ...r-output-for-invalid-movement-kicks.patch} | 4 +- ...d-Bee-API.patch => 0271-Add-Bee-API.patch} | 0 ...-API.patch => 0272-Debug-Marker-API.patch} | 6 +- ...g-option-to-ignore-creative-players.patch} | 2 +- ...74-Add-skeleton-bow-accuracy-option.patch} | 0 ...atch => 0275-Allay-respect-item-NBT.patch} | 0 ....patch => 0276-Add-death-screen-API.patch} | 4 +- ...-Make-pufferfish-config-relocatable.patch} | 0 ...8-Implement-ram-and-rambar-commands.patch} | 12 +- ...279-Add-item-packet-serialize-event.patch} | 8 +- ...n-to-fix-MC-3304-projectile-looting.patch} | 6 +- ...Configurable-block-blast-resistance.patch} | 30 +-- ...gurable-block-fall-damage-modifiers.patch} | 8 +- ...uage-API.patch => 0283-Language-API.patch} | 2 +- ... 0284-Milk-Keeps-Beneficial-Effects.patch} | 0 ...s-not-looking-up-and-down-when-stra.patch} | 0 ...d-log-suppression-for-LibraryLoader.patch} | 4 +- ...ow-creeper-to-encircle-target-when-.patch} | 0 ...API.patch => 0288-Fire-Immunity-API.patch} | 14 +- ...eport-to-spawn-on-nether-ceiling-da.patch} | 4 +- ...t.patch => 0290-Added-got-ram-event.patch} | 0 ... 0291-Log-skipped-entity-s-position.patch} | 0 ....patch => 0292-End-Crystal-Cramming.patch} | 0 ...eacon-effects-when-covered-by-tinte.patch} | 0 ...ute-clamping-and-armor-limit-config.patch} | 4 +- ...ig-to-remove-explosion-radius-clamp.patch} | 2 +- ...ble-sugarcane-cactus-and-netherwart.patch} | 0 ....patch => 0297-Add-PreExplodeEvents.patch} | 0 ...8-Improve-output-of-plugins-command.patch} | 0 ...atch => 0299-Add-mending-multiplier.patch} | 0 ....patch => 0300-Make-GUI-Great-Again.patch} | 0 ...ee-API.patch => 0301-Stored-Bee-API.patch} | 0 ...patch => 0302-Shears-can-defuse-TNT.patch} | 0 ...-API.patch => 0303-Explorer-Map-API.patch} | 0 ...Option-Ocelot-Spawn-Under-Sea-Level.patch} | 0 ...-piglins-to-ignore-gold-trimmed-arm.patch} | 0 258 files changed, 496 insertions(+), 599 deletions(-) create mode 100644 .editorconfig create mode 100644 .gitattributes delete mode 100644 patches/server/0081-Add-option-to-disable-certain-block-updates.patch rename patches/server/{0082-Dispensers-place-anvils-option.patch => 0081-Dispensers-place-anvils-option.patch} (100%) rename patches/server/{0083-Allow-anvil-colors.patch => 0082-Allow-anvil-colors.patch} (100%) rename patches/server/{0084-Add-option-to-disable-dolphin-treasure-searching.patch => 0083-Add-option-to-disable-dolphin-treasure-searching.patch} (100%) rename patches/server/{0085-Short-enderman-height.patch => 0084-Short-enderman-height.patch} (94%) rename patches/server/{0086-Stop-squids-floating-on-top-of-water.patch => 0085-Stop-squids-floating-on-top-of-water.patch} (96%) rename patches/server/{0087-Crying-obsidian-valid-for-portal-frames.patch => 0086-Crying-obsidian-valid-for-portal-frames.patch} (96%) rename patches/server/{0088-Entities-can-use-portals-configuration.patch => 0087-Entities-can-use-portals-configuration.patch} (93%) rename patches/server/{0089-LivingEntity-broadcastItemBreak.patch => 0088-LivingEntity-broadcastItemBreak.patch} (100%) rename patches/server/{0090-Customizable-wither-health-and-healing.patch => 0089-Customizable-wither-health-and-healing.patch} (100%) rename patches/server/{0091-Allow-toggling-special-MobSpawners-per-world.patch => 0090-Allow-toggling-special-MobSpawners-per-world.patch} (100%) rename patches/server/{0092-Raid-cooldown-setting.patch => 0091-Raid-cooldown-setting.patch} (100%) rename patches/server/{0093-Despawn-rate-config-options-per-projectile-type.patch => 0092-Despawn-rate-config-options-per-projectile-type.patch} (100%) rename patches/server/{0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch => 0093-Add-option-to-disable-zombie-aggressiveness-towards-.patch} (100%) rename patches/server/{0095-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch => 0094-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch} (100%) rename patches/server/{0096-Flying-squids-Oh-my.patch => 0095-Flying-squids-Oh-my.patch} (100%) rename patches/server/{0097-Infinity-bow-settings.patch => 0096-Infinity-bow-settings.patch} (100%) rename patches/server/{0098-Configurable-daylight-cycle.patch => 0097-Configurable-daylight-cycle.patch} (98%) rename patches/server/{0099-Allow-infinite-and-mending-enchantments-together.patch => 0098-Allow-infinite-and-mending-enchantments-together.patch} (95%) rename patches/server/{0100-Furnace-uses-lava-from-underneath.patch => 0099-Furnace-uses-lava-from-underneath.patch} (100%) rename patches/server/{0101-Arrows-should-not-reset-despawn-counter.patch => 0100-Arrows-should-not-reset-despawn-counter.patch} (95%) rename patches/server/{0102-Ability-to-re-add-farmland-mechanics-from-Alpha.patch => 0101-Ability-to-re-add-farmland-mechanics-from-Alpha.patch} (100%) rename patches/server/{0103-Add-adjustable-breeding-cooldown-to-config.patch => 0102-Add-adjustable-breeding-cooldown-to-config.patch} (100%) rename patches/server/{0104-Make-entity-breeding-times-configurable.patch => 0103-Make-entity-breeding-times-configurable.patch} (100%) rename patches/server/{0105-Apply-display-names-from-item-forms-of-entities-to-e.patch => 0104-Apply-display-names-from-item-forms-of-entities-to-e.patch} (99%) rename patches/server/{0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch => 0105-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch} (100%) rename patches/server/{0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch => 0106-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch} (100%) rename patches/server/{0108-Add-configurable-snowball-damage.patch => 0107-Add-configurable-snowball-damage.patch} (100%) rename patches/server/{0109-Changeable-Mob-Left-Handed-Chance.patch => 0108-Changeable-Mob-Left-Handed-Chance.patch} (100%) rename patches/server/{0110-Add-boat-fall-damage-config.patch => 0109-Add-boat-fall-damage-config.patch} (95%) rename patches/server/{0111-Snow-Golem-rate-of-fire-config.patch => 0110-Snow-Golem-rate-of-fire-config.patch} (100%) rename patches/server/{0112-EMC-Configurable-disable-give-dropping.patch => 0111-EMC-Configurable-disable-give-dropping.patch} (95%) rename patches/server/{0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch => 0112-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch} (100%) rename patches/server/{0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch => 0113-Toggle-for-Zombified-Piglin-death-always-counting-as.patch} (100%) rename patches/server/{0115-Configurable-chance-for-wolves-to-spawn-rabid.patch => 0114-Configurable-chance-for-wolves-to-spawn-rabid.patch} (100%) rename patches/server/{0116-Configurable-default-collar-color.patch => 0115-Configurable-default-collar-color.patch} (100%) rename patches/server/{0117-Phantom-flames-on-swoop.patch => 0116-Phantom-flames-on-swoop.patch} (100%) rename patches/server/{0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch => 0117-Option-for-chests-to-open-even-with-a-solid-block-on.patch} (100%) rename patches/server/{0119-Implement-TPSBar.patch => 0118-Implement-TPSBar.patch} (96%) rename patches/server/{0120-Striders-give-saddle-back.patch => 0119-Striders-give-saddle-back.patch} (100%) rename patches/server/{0121-PlayerBookTooLargeEvent.patch => 0120-PlayerBookTooLargeEvent.patch} (92%) rename patches/server/{0122-Full-netherite-armor-grants-fire-resistance.patch => 0121-Full-netherite-armor-grants-fire-resistance.patch} (100%) rename patches/server/{0123-Fix-rotating-UP-DOWN-CW-and-CCW.patch => 0122-Fix-rotating-UP-DOWN-CW-and-CCW.patch} (100%) rename patches/server/{0124-Add-mobGriefing-bypass-to-everything-affected.patch => 0123-Add-mobGriefing-bypass-to-everything-affected.patch} (99%) rename patches/server/{0125-Config-to-allow-Note-Block-sounds-when-blocked.patch => 0124-Config-to-allow-Note-Block-sounds-when-blocked.patch} (100%) rename patches/server/{0126-Add-EntityTeleportHinderedEvent.patch => 0125-Add-EntityTeleportHinderedEvent.patch} (95%) rename patches/server/{0127-Farmland-trampling-changes.patch => 0126-Farmland-trampling-changes.patch} (100%) rename patches/server/{0128-Movement-options-for-armor-stands.patch => 0127-Movement-options-for-armor-stands.patch} (96%) rename patches/server/{0129-Fix-stuck-in-portals.patch => 0128-Fix-stuck-in-portals.patch} (91%) rename patches/server/{0130-Toggle-for-water-sensitive-mob-damage.patch => 0129-Toggle-for-water-sensitive-mob-damage.patch} (99%) rename patches/server/{0131-Config-to-always-tame-in-Creative.patch => 0130-Config-to-always-tame-in-Creative.patch} (100%) rename patches/server/{0132-End-crystal-explosion-options.patch => 0131-End-crystal-explosion-options.patch} (100%) rename patches/server/{0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch => 0132-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch} (96%) rename patches/server/{0134-Dont-run-with-scissors.patch => 0133-Dont-run-with-scissors.patch} (96%) rename patches/server/{0135-One-Punch-Man.patch => 0134-One-Punch-Man.patch} (100%) rename patches/server/{0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch => 0135-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch} (100%) rename patches/server/{0137-Config-to-ignore-nearby-mobs-when-sleeping.patch => 0136-Config-to-ignore-nearby-mobs-when-sleeping.patch} (93%) rename patches/server/{0138-Add-back-player-spawned-endermite-API.patch => 0137-Add-back-player-spawned-endermite-API.patch} (100%) rename patches/server/{0139-Config-Enderman-aggressiveness-towards-Endermites.patch => 0138-Config-Enderman-aggressiveness-towards-Endermites.patch} (100%) rename patches/server/{0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch => 0139-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch} (100%) rename patches/server/{0141-Tick-fluids-config.patch => 0140-Tick-fluids-config.patch} (100%) rename patches/server/{0142-Config-to-disable-Llama-caravans.patch => 0141-Config-to-disable-Llama-caravans.patch} (100%) rename patches/server/{0143-Config-to-make-Creepers-explode-on-death.patch => 0142-Config-to-make-Creepers-explode-on-death.patch} (100%) rename patches/server/{0144-Configurable-ravager-griefable-blocks-list.patch => 0143-Configurable-ravager-griefable-blocks-list.patch} (100%) rename patches/server/{0145-Sneak-to-bulk-process-composter.patch => 0144-Sneak-to-bulk-process-composter.patch} (98%) rename patches/server/{0146-Config-for-skipping-night.patch => 0145-Config-for-skipping-night.patch} (100%) rename patches/server/{0147-Add-config-for-villager-trading.patch => 0146-Add-config-for-villager-trading.patch} (100%) rename patches/server/{0148-Allow-infinity-on-crossbows.patch => 0147-Allow-infinity-on-crossbows.patch} (98%) rename patches/server/{0149-Drowning-Settings.patch => 0148-Drowning-Settings.patch} (95%) rename patches/server/{0150-Break-individual-slabs-when-sneaking.patch => 0149-Break-individual-slabs-when-sneaking.patch} (97%) rename patches/server/{0151-Config-to-disable-hostile-mob-spawn-on-ice.patch => 0150-Config-to-disable-hostile-mob-spawn-on-ice.patch} (100%) rename patches/server/{0152-Config-to-show-Armor-Stand-arms-on-spawn.patch => 0151-Config-to-show-Armor-Stand-arms-on-spawn.patch} (100%) rename patches/server/{0153-Option-to-make-doors-require-redstone.patch => 0152-Option-to-make-doors-require-redstone.patch} (100%) rename patches/server/{0154-Config-to-allow-for-unsafe-enchants.patch => 0153-Config-to-allow-for-unsafe-enchants.patch} (98%) rename patches/server/{0155-Configurable-sponge-absorption.patch => 0154-Configurable-sponge-absorption.patch} (100%) rename patches/server/{0156-Projectile-offset-config.patch => 0155-Projectile-offset-config.patch} (100%) rename patches/server/{0157-Config-for-powered-rail-activation-distance.patch => 0156-Config-for-powered-rail-activation-distance.patch} (100%) rename patches/server/{0158-Piglin-portal-spawn-modifier.patch => 0157-Piglin-portal-spawn-modifier.patch} (100%) rename patches/server/{0159-Config-to-change-max-number-of-bees.patch => 0158-Config-to-change-max-number-of-bees.patch} (96%) rename patches/server/{0160-Config-for-wither-explosion-radius.patch => 0159-Config-for-wither-explosion-radius.patch} (100%) rename patches/server/{0161-Gamemode-extra-permissions.patch => 0160-Gamemode-extra-permissions.patch} (98%) rename patches/server/{0162-Configurable-piston-push-limit.patch => 0161-Configurable-piston-push-limit.patch} (100%) rename patches/server/{0163-Configurable-broadcast-settings.patch => 0162-Configurable-broadcast-settings.patch} (93%) rename patches/server/{0164-Configurable-mob-blindness.patch => 0163-Configurable-mob-blindness.patch} (100%) rename patches/server/{0165-Hide-hidden-players-from-entity-selector.patch => 0164-Hide-hidden-players-from-entity-selector.patch} (98%) rename patches/server/{0166-Config-for-health-to-impact-Creeper-explosion-radius.patch => 0165-Config-for-health-to-impact-Creeper-explosion-radius.patch} (100%) rename patches/server/{0167-Iron-golem-calm-anger-options.patch => 0166-Iron-golem-calm-anger-options.patch} (100%) rename patches/server/{0168-Breedable-parrots.patch => 0167-Breedable-parrots.patch} (100%) rename patches/server/{0169-Configurable-powered-rail-boost-modifier.patch => 0168-Configurable-powered-rail-boost-modifier.patch} (100%) rename patches/server/{0170-Add-config-change-multiplier-critical-damage-value.patch => 0169-Add-config-change-multiplier-critical-damage-value.patch} (100%) rename patches/server/{0171-Option-to-disable-dragon-egg-teleporting.patch => 0170-Option-to-disable-dragon-egg-teleporting.patch} (100%) rename patches/server/{0172-Config-for-unverified-username-message.patch => 0171-Config-for-unverified-username-message.patch} (97%) rename patches/server/{0173-Make-anvil-cumulative-cost-configurable.patch => 0172-Make-anvil-cumulative-cost-configurable.patch} (95%) rename patches/server/{0174-ShulkerBox-allow-oversized-stacks.patch => 0173-ShulkerBox-allow-oversized-stacks.patch} (97%) rename patches/server/{0175-Bee-can-work-when-raining-or-at-night.patch => 0174-Bee-can-work-when-raining-or-at-night.patch} (100%) rename patches/server/{0176-API-for-any-mob-to-burn-daylight.patch => 0175-API-for-any-mob-to-burn-daylight.patch} (98%) rename patches/server/{0177-Config-MobEffect-by-world.patch => 0176-Config-MobEffect-by-world.patch} (100%) rename patches/server/{0178-Beacon-Activation-Range-Configurable.patch => 0177-Beacon-Activation-Range-Configurable.patch} (100%) rename patches/server/{0179-Add-toggle-for-sand-duping-fix.patch => 0178-Add-toggle-for-sand-duping-fix.patch} (100%) rename patches/server/{0180-Add-toggle-for-end-portal-safe-teleporting.patch => 0179-Add-toggle-for-end-portal-safe-teleporting.patch} (95%) rename patches/server/{0181-Make-lightning-rod-range-configurable.patch => 0180-Make-lightning-rod-range-configurable.patch} (96%) rename patches/server/{0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch => 0181-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch} (100%) rename patches/server/{0183-Allow-player-join-full-server-by-permission.patch => 0182-Allow-player-join-full-server-by-permission.patch} (89%) rename patches/server/{0184-Add-portal-waiting-option-permission-bypass.patch => 0183-Add-portal-waiting-option-permission-bypass.patch} (100%) rename patches/server/{0185-Shulker-spawn-from-bullet-options.patch => 0184-Shulker-spawn-from-bullet-options.patch} (100%) rename patches/server/{0186-Eating-glow-berries-adds-glow-effect.patch => 0185-Eating-glow-berries-adds-glow-effect.patch} (100%) rename patches/server/{0187-Option-to-make-drowned-break-doors.patch => 0186-Option-to-make-drowned-break-doors.patch} (100%) rename patches/server/{0188-Configurable-hunger-starvation-damage.patch => 0187-Configurable-hunger-starvation-damage.patch} (100%) rename patches/server/{0189-Enhance-SysoutCatcher.patch => 0188-Enhance-SysoutCatcher.patch} (100%) rename patches/server/{0190-Add-uptime-command.patch => 0189-Add-uptime-command.patch} (97%) rename patches/server/{0191-Tool-actionable-options.patch => 0190-Tool-actionable-options.patch} (100%) rename patches/server/{0192-Store-placer-on-Block-when-placed.patch => 0191-Store-placer-on-Block-when-placed.patch} (91%) rename patches/server/{0193-Summoner-API.patch => 0192-Summoner-API.patch} (100%) rename patches/server/{0194-Customizable-sleeping-actionbar-messages.patch => 0193-Customizable-sleeping-actionbar-messages.patch} (97%) rename patches/server/{0195-option-to-disable-shulker-box-items-from-dropping-co.patch => 0194-option-to-disable-shulker-box-items-from-dropping-co.patch} (96%) rename patches/server/{0196-Big-dripleaf-tilt-delay.patch => 0195-Big-dripleaf-tilt-delay.patch} (100%) rename patches/server/{0197-Player-ridable-in-water-option.patch => 0196-Player-ridable-in-water-option.patch} (100%) rename patches/server/{0198-Config-to-disable-Enderman-teleport-on-projectile-hi.patch => 0197-Config-to-disable-Enderman-teleport-on-projectile-hi.patch} (100%) rename patches/server/{0199-Add-compass-command.patch => 0198-Add-compass-command.patch} (96%) rename patches/server/{0200-Toggle-for-kinetic-damage.patch => 0199-Toggle-for-kinetic-damage.patch} (100%) rename patches/server/{0201-Add-Option-for-disable-observer-clocks.patch => 0200-Add-Option-for-disable-observer-clocks.patch} (100%) rename patches/server/{0202-Customizeable-Zombie-Villager-curing-times.patch => 0201-Customizeable-Zombie-Villager-curing-times.patch} (100%) rename patches/server/{0203-Option-for-sponges-to-work-on-lava-and-mud.patch => 0202-Option-for-sponges-to-work-on-lava-and-mud.patch} (100%) rename patches/server/{0204-Toggle-for-Wither-s-spawn-sound.patch => 0203-Toggle-for-Wither-s-spawn-sound.patch} (100%) rename patches/server/{0205-Cactus-breaks-from-solid-neighbors-config.patch => 0204-Cactus-breaks-from-solid-neighbors-config.patch} (100%) rename patches/server/{0206-Config-to-remove-curse-of-binding-with-weakness.patch => 0205-Config-to-remove-curse-of-binding-with-weakness.patch} (100%) rename patches/server/{0207-Conduit-behavior-configuration.patch => 0206-Conduit-behavior-configuration.patch} (100%) rename patches/server/{0208-Cauldron-fill-chances.patch => 0207-Cauldron-fill-chances.patch} (100%) rename patches/server/{0209-Config-to-allow-mobs-to-pathfind-over-rails.patch => 0208-Config-to-allow-mobs-to-pathfind-over-rails.patch} (100%) rename patches/server/{0210-Shulker-change-color-with-dye.patch => 0209-Shulker-change-color-with-dye.patch} (100%) rename patches/server/{0211-Extended-OfflinePlayer-API.patch => 0210-Extended-OfflinePlayer-API.patch} (98%) rename patches/server/{0212-Added-the-ability-to-add-combustible-items.patch => 0211-Added-the-ability-to-add-combustible-items.patch} (97%) rename patches/server/{0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch => 0212-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch} (100%) rename patches/server/{0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch => 0213-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch} (100%) rename patches/server/{0215-Shift-right-click-to-use-exp-for-mending.patch => 0214-Shift-right-click-to-use-exp-for-mending.patch} (94%) rename patches/server/{0216-Dolphins-naturally-aggressive-to-players-chance.patch => 0215-Dolphins-naturally-aggressive-to-players-chance.patch} (100%) rename patches/server/{0217-Cows-naturally-aggressive-to-players-chance.patch => 0216-Cows-naturally-aggressive-to-players-chance.patch} (100%) rename patches/server/{0218-Option-for-beds-to-explode-on-villager-sleep.patch => 0217-Option-for-beds-to-explode-on-villager-sleep.patch} (100%) rename patches/server/{0219-Halloween-options-and-optimizations.patch => 0218-Halloween-options-and-optimizations.patch} (100%) rename patches/server/{0220-Config-for-grindstones.patch => 0219-Config-for-grindstones.patch} (98%) rename patches/server/{0221-UPnP-Port-Forwarding.patch => 0220-UPnP-Port-Forwarding.patch} (94%) rename patches/server/{0222-Campfire-option-for-lit-when-placed.patch => 0221-Campfire-option-for-lit-when-placed.patch} (100%) rename patches/server/{0223-options-to-extinguish-fire-blocks-with-snowballs.patch => 0222-options-to-extinguish-fire-blocks-with-snowballs.patch} (100%) rename patches/server/{0224-Add-option-to-disable-zombie-villagers-cure.patch => 0223-Add-option-to-disable-zombie-villagers-cure.patch} (100%) rename patches/server/{0225-Persistent-BlockEntity-Lore-and-DisplayName.patch => 0224-Persistent-BlockEntity-Lore-and-DisplayName.patch} (98%) rename patches/server/{0226-Signs-allow-color-codes.patch => 0225-Signs-allow-color-codes.patch} (97%) rename patches/server/{0227-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch => 0226-Kelp-cave-weeping-and-twisting-vines-configurable-ma.patch} (99%) rename patches/server/{0228-Mobs-always-drop-experience.patch => 0227-Mobs-always-drop-experience.patch} (100%) rename patches/server/{0229-Potion-NamespacedKey.patch => 0228-Potion-NamespacedKey.patch} (99%) rename patches/server/{0230-Grindstone-API.patch => 0229-Grindstone-API.patch} (100%) rename patches/server/{0231-Ability-for-hoe-to-replant-crops-and-nether-warts.patch => 0230-Ability-for-hoe-to-replant-crops-and-nether-warts.patch} (100%) rename patches/server/{0232-Shearing-jeb-produces-random-color-wool.patch => 0231-Shearing-jeb-produces-random-color-wool.patch} (100%) rename patches/server/{0233-Turtle-eggs-random-tick-crack-chance.patch => 0232-Turtle-eggs-random-tick-crack-chance.patch} (95%) rename patches/server/{0234-Mob-head-visibility-percent.patch => 0233-Mob-head-visibility-percent.patch} (100%) rename patches/server/{0235-Configurable-valid-characters-for-usernames.patch => 0234-Configurable-valid-characters-for-usernames.patch} (92%) rename patches/server/{0236-Shears-can-have-looting-enchantment.patch => 0235-Shears-can-have-looting-enchantment.patch} (99%) rename patches/server/{0237-Stop-bees-from-dying-after-stinging.patch => 0236-Stop-bees-from-dying-after-stinging.patch} (100%) rename patches/server/{0238-Give-bee-counts-in-beehives-to-Purpur-clients.patch => 0237-Give-bee-counts-in-beehives-to-Purpur-clients.patch} (98%) rename patches/server/{0239-Configurable-farmland-trample-height.patch => 0238-Configurable-farmland-trample-height.patch} (100%) rename patches/server/{0240-Configurable-player-pickup-exp-delay.patch => 0239-Configurable-player-pickup-exp-delay.patch} (100%) rename patches/server/{0241-Allow-void-trading.patch => 0240-Allow-void-trading.patch} (100%) rename patches/server/{0242-Configurable-phantom-size.patch => 0241-Configurable-phantom-size.patch} (100%) rename patches/server/{0243-Configurable-food-attributes.patch => 0242-Configurable-food-attributes.patch} (98%) rename patches/server/{0244-Max-joins-per-second.patch => 0243-Max-joins-per-second.patch} (94%) rename patches/server/{0245-Configurable-minimum-demand-for-trades.patch => 0244-Configurable-minimum-demand-for-trades.patch} (100%) rename patches/server/{0246-Lobotomize-stuck-villagers.patch => 0245-Lobotomize-stuck-villagers.patch} (100%) rename patches/server/{0247-Option-for-villager-display-trade-item.patch => 0246-Option-for-villager-display-trade-item.patch} (100%) rename patches/server/{0248-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch => 0247-MC-238526-Fix-spawner-not-spawning-water-animals-cor.patch} (100%) rename patches/server/{0249-Config-for-mob-last-hurt-by-player-time.patch => 0248-Config-for-mob-last-hurt-by-player-time.patch} (97%) rename patches/server/{0250-Anvil-repair-damage-options.patch => 0249-Anvil-repair-damage-options.patch} (100%) rename patches/server/{0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch => 0250-Option-to-disable-turtle-egg-trampling-with-feather-.patch} (96%) rename patches/server/{0252-Add-toggle-for-enchant-level-clamping.patch => 0251-Add-toggle-for-enchant-level-clamping.patch} (97%) rename patches/server/{0253-Skip-junit-tests-for-purpur-commands.patch => 0252-Skip-junit-tests-for-purpur-commands.patch} (100%) rename patches/server/{0254-Implement-configurable-search-radius-for-villagers-t.patch => 0253-Implement-configurable-search-radius-for-villagers-t.patch} (100%) rename patches/server/{0255-Stonecutter-damage.patch => 0254-Stonecutter-damage.patch} (98%) rename patches/server/{0256-Configurable-damage-settings-for-magma-blocks.patch => 0255-Configurable-damage-settings-for-magma-blocks.patch} (100%) rename patches/server/{0257-Add-config-for-snow-on-blue-ice.patch => 0256-Add-config-for-snow-on-blue-ice.patch} (100%) rename patches/server/{0258-Skeletons-eat-wither-roses.patch => 0257-Skeletons-eat-wither-roses.patch} (100%) rename patches/server/{0259-Enchantment-Table-Persists-Lapis.patch => 0258-Enchantment-Table-Persists-Lapis.patch} (100%) rename patches/server/{0260-Spark-Profiler.patch => 0259-Spark-Profiler.patch} (100%) rename patches/server/{0261-Option-to-disable-kick-for-out-of-order-chat.patch => 0260-Option-to-disable-kick-for-out-of-order-chat.patch} (85%) rename patches/server/{0262-Config-for-sculk-shrieker-can_summon-state.patch => 0261-Config-for-sculk-shrieker-can_summon-state.patch} (100%) rename patches/server/{0263-Config-to-not-let-coral-die.patch => 0262-Config-to-not-let-coral-die.patch} (100%) rename patches/server/{0264-Add-local-difficulty-api.patch => 0263-Add-local-difficulty-api.patch} (100%) rename patches/server/{0265-Add-toggle-for-RNG-manipulation.patch => 0264-Add-toggle-for-RNG-manipulation.patch} (94%) rename patches/server/{0266-Send-client-custom-name-of-BE.patch => 0265-Send-client-custom-name-of-BE.patch} (100%) rename patches/server/{0267-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch => 0266-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch} (100%) rename patches/server/{0268-Allow-custom-ChatDecorators.patch => 0267-Allow-custom-ChatDecorators.patch} (94%) rename patches/server/{0269-Remove-Timings.patch => 0268-Remove-Timings.patch} (97%) rename patches/server/{0270-Remove-Mojang-Profiler.patch => 0269-Remove-Mojang-Profiler.patch} (97%) rename patches/server/{0271-Add-more-logger-output-for-invalid-movement-kicks.patch => 0270-Add-more-logger-output-for-invalid-movement-kicks.patch} (94%) rename patches/server/{0272-Add-Bee-API.patch => 0271-Add-Bee-API.patch} (100%) rename patches/server/{0273-Debug-Marker-API.patch => 0272-Debug-Marker-API.patch} (96%) rename patches/server/{0274-mob-spawning-option-to-ignore-creative-players.patch => 0273-mob-spawning-option-to-ignore-creative-players.patch} (97%) rename patches/server/{0275-Add-skeleton-bow-accuracy-option.patch => 0274-Add-skeleton-bow-accuracy-option.patch} (100%) rename patches/server/{0276-Allay-respect-item-NBT.patch => 0275-Allay-respect-item-NBT.patch} (100%) rename patches/server/{0277-Add-death-screen-API.patch => 0276-Add-death-screen-API.patch} (87%) rename patches/server/{0278-Make-pufferfish-config-relocatable.patch => 0277-Make-pufferfish-config-relocatable.patch} (100%) rename patches/server/{0279-Implement-ram-and-rambar-commands.patch => 0278-Implement-ram-and-rambar-commands.patch} (97%) rename patches/server/{0280-Add-item-packet-serialize-event.patch => 0279-Add-item-packet-serialize-event.patch} (93%) rename patches/server/{0281-Add-an-option-to-fix-MC-3304-projectile-looting.patch => 0280-Add-an-option-to-fix-MC-3304-projectile-looting.patch} (96%) rename patches/server/{0282-Configurable-block-blast-resistance.patch => 0281-Configurable-block-blast-resistance.patch} (62%) rename patches/server/{0283-Configurable-block-fall-damage-modifiers.patch => 0282-Configurable-block-fall-damage-modifiers.patch} (95%) rename patches/server/{0284-Language-API.patch => 0283-Language-API.patch} (93%) rename patches/server/{0285-Milk-Keeps-Beneficial-Effects.patch => 0284-Milk-Keeps-Beneficial-Effects.patch} (100%) rename patches/server/{0286-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch => 0285-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch} (100%) rename patches/server/{0287-Add-log-suppression-for-LibraryLoader.patch => 0286-Add-log-suppression-for-LibraryLoader.patch} (91%) rename patches/server/{0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch => 0287-Add-option-to-allow-creeper-to-encircle-target-when-.patch} (100%) rename patches/server/{0289-Fire-Immunity-API.patch => 0288-Fire-Immunity-API.patch} (88%) rename patches/server/{0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch => 0289-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch} (94%) rename patches/server/{0291-Added-got-ram-event.patch => 0290-Added-got-ram-event.patch} (100%) rename patches/server/{0292-Log-skipped-entity-s-position.patch => 0291-Log-skipped-entity-s-position.patch} (100%) rename patches/server/{0293-End-Crystal-Cramming.patch => 0292-End-Crystal-Cramming.patch} (100%) rename patches/server/{0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch => 0293-Option-to-allow-beacon-effects-when-covered-by-tinte.patch} (100%) rename patches/server/{0295-Add-attribute-clamping-and-armor-limit-config.patch => 0294-Add-attribute-clamping-and-armor-limit-config.patch} (95%) rename patches/server/{0296-Config-to-remove-explosion-radius-clamp.patch => 0295-Config-to-remove-explosion-radius-clamp.patch} (96%) rename patches/server/{0297-bonemealable-sugarcane-cactus-and-netherwart.patch => 0296-bonemealable-sugarcane-cactus-and-netherwart.patch} (100%) rename patches/server/{0298-Add-PreExplodeEvents.patch => 0297-Add-PreExplodeEvents.patch} (100%) rename patches/server/{0299-Improve-output-of-plugins-command.patch => 0298-Improve-output-of-plugins-command.patch} (100%) rename patches/server/{0300-Add-mending-multiplier.patch => 0299-Add-mending-multiplier.patch} (100%) rename patches/server/{0301-Make-GUI-Great-Again.patch => 0300-Make-GUI-Great-Again.patch} (100%) rename patches/server/{0302-Stored-Bee-API.patch => 0301-Stored-Bee-API.patch} (100%) rename patches/server/{0303-Shears-can-defuse-TNT.patch => 0302-Shears-can-defuse-TNT.patch} (100%) rename patches/server/{0304-Explorer-Map-API.patch => 0303-Explorer-Map-API.patch} (100%) rename patches/server/{0305-Option-Ocelot-Spawn-Under-Sea-Level.patch => 0304-Option-Ocelot-Spawn-Under-Sea-Level.patch} (100%) rename patches/server/{0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch => 0305-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch} (100%) diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..7358e5747 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,34 @@ +[*] +charset=utf-8 +end_of_line=lf +insert_final_newline=true +indent_style=space +indent_size=4 +ij_any_block_comment_add_space = false +ij_any_block_comment_at_first_column = false +ij_any_line_comment_at_first_column = false +ij_any_line_comment_add_space = true + +[*.tiny] +indent_style=tab + +[*.bat] +end_of_line=crlf + +[*.yml] +indent_size=2 + +[*.patch] +trim_trailing_whitespace=false + +[*.java] +ij_continuation_indent_size = 4 +ij_java_class_count_to_use_import_on_demand = 999999 +ij_java_insert_inner_class_imports = false +ij_java_names_count_to_use_import_on_demand = 999999 +ij_java_imports_layout = *,|,$* +ij_java_generate_final_locals = true +ij_java_generate_final_parameters = true + +[test-plugin/**/*.java] +ij_java_use_fq_class_names = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..2ebd41bdf --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +* text=auto eol=lf + +*.sh text eol=lf +gradlew text eol=lf +*.bat text eol=crlf + +*.jar binary diff --git a/gradle.properties b/gradle.properties index b7395eb19..2a5d7d7d8 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = org.purpurmc.purpur version = 1.20.1-R0.1-SNAPSHOT mcVersion = 1.20.1 -paperCommit = 666a2147a7f4de7f718fffb72fcfe0827304fa14 +paperCommit = 9cbad8ebbf32dd66f711855f9f94b0673ae72785 org.gradle.caching = true org.gradle.parallel = true diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index bdc9a83b1..c30b486a8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip networkTimeout=10000 zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew.bat b/gradlew.bat index 6689b85be..93e3f59f1 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -1,92 +1,92 @@ -@rem -@rem Copyright 2015 the original author or authors. -@rem -@rem Licensed under the Apache License, Version 2.0 (the "License"); -@rem you may not use this file except in compliance with the License. -@rem You may obtain a copy of the License at -@rem -@rem https://www.apache.org/licenses/LICENSE-2.0 -@rem -@rem Unless required by applicable law or agreed to in writing, software -@rem distributed under the License is distributed on an "AS IS" BASIS, -@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -@rem See the License for the specific language governing permissions and -@rem limitations under the License. -@rem - -@if "%DEBUG%"=="" @echo off -@rem ########################################################################## -@rem -@rem Gradle startup script for Windows -@rem -@rem ########################################################################## - -@rem Set local scope for the variables with windows NT shell -if "%OS%"=="Windows_NT" setlocal - -set DIRNAME=%~dp0 -if "%DIRNAME%"=="" set DIRNAME=. -@rem This is normally unused -set APP_BASE_NAME=%~n0 -set APP_HOME=%DIRNAME% - -@rem Resolve any "." and ".." in APP_HOME to make it shorter. -for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi - -@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. -set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" - -@rem Find java.exe -if defined JAVA_HOME goto findJavaFromJavaHome - -set JAVA_EXE=java.exe -%JAVA_EXE% -version >NUL 2>&1 -if %ERRORLEVEL% equ 0 goto execute - -echo. -echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:findJavaFromJavaHome -set JAVA_HOME=%JAVA_HOME:"=% -set JAVA_EXE=%JAVA_HOME%/bin/java.exe - -if exist "%JAVA_EXE%" goto execute - -echo. -echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% -echo. -echo Please set the JAVA_HOME variable in your environment to match the -echo location of your Java installation. - -goto fail - -:execute -@rem Setup the command line - -set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar - - -@rem Execute Gradle -"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* - -:end -@rem End local scope for the variables with windows NT shell -if %ERRORLEVEL% equ 0 goto mainEnd - -:fail -rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of -rem the _cmd.exe /c_ return code! -set EXIT_CODE=%ERRORLEVEL% -if %EXIT_CODE% equ 0 set EXIT_CODE=1 -if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% -exit /b %EXIT_CODE% - -:mainEnd -if "%OS%"=="Windows_NT" endlocal - -:omega +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/patches/api/0005-Purpur-client-support.patch b/patches/api/0005-Purpur-client-support.patch index f95d2d8a1..4ddbb6f31 100644 --- a/patches/api/0005-Purpur-client-support.patch +++ b/patches/api/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index e3a6c9fc63b36663d33c6a1513e7dc1522790d85..62075eed2bdcd1611414fa969832d9706a1b186e 100644 +index f9dd00210c1762a40259f823aeb8d8a5ddc78e3e..9ee0d60775a00a99c8ac779e8602c619565e6a42 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3245,4 +3245,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3271,4 +3271,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0007-Ridables.patch b/patches/api/0007-Ridables.patch index a5ca10cdd..c52fb6969 100644 --- a/patches/api/0007-Ridables.patch +++ b/patches/api/0007-Ridables.patch @@ -22,10 +22,10 @@ index b7a2cecb334ce39fa09d8ab949a29eedbdc44c36..6f55ccfff74b361854bf424fd93f0428 * @deprecated removed in 1.16 */ diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 75664470303a6e0cbd393c0db32b78b3af818cb6..f4a614f1a1df3a6a6a9edefec9ac81b14476727e 100644 +index 762cb07861ca8ff058ce8d57ea6c15df1e588bf3..de60e8773e58ef62c15d8f7e293313a62dff674b 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -976,4 +976,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1049,4 +1049,35 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent */ @NotNull String getScoreboardEntryName(); // Paper end - entity scoreboard name diff --git a/patches/api/0010-AFK-API.patch b/patches/api/0010-AFK-API.patch index ca3b9e6bf..ea7bab12e 100644 --- a/patches/api/0010-AFK-API.patch +++ b/patches/api/0010-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 62075eed2bdcd1611414fa969832d9706a1b186e..42624ec551509e565f6c0c0b4cc5b4c7ba1f1575 100644 +index 9ee0d60775a00a99c8ac779e8602c619565e6a42..2ddacd7f74cba66f67ab6957e03522453de01117 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3253,5 +3253,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3279,5 +3279,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0016-Player-invulnerabilities.patch b/patches/api/0016-Player-invulnerabilities.patch index 931b15de9..32920bcf2 100644 --- a/patches/api/0016-Player-invulnerabilities.patch +++ b/patches/api/0016-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 42624ec551509e565f6c0c0b4cc5b4c7ba1f1575..43448b96b5261e11bfb284e1efe726eb3e9cbeee 100644 +index 2ddacd7f74cba66f67ab6957e03522453de01117..1994acf66919c92f59e2a9f2f873f50b73d76d1a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3272,5 +3272,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3298,5 +3298,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0031-API-for-any-mob-to-burn-daylight.patch b/patches/api/0031-API-for-any-mob-to-burn-daylight.patch index 315980df0..38781b67f 100644 --- a/patches/api/0031-API-for-any-mob-to-burn-daylight.patch +++ b/patches/api/0031-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index f4a614f1a1df3a6a6a9edefec9ac81b14476727e..af32ed4d9378b2394a66b21e3de67f1b7a4c2427 100644 +index de60e8773e58ef62c15d8f7e293313a62dff674b..52867495d0f746ff40e802c4f1018511e58fd03e 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1006,5 +1006,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1079,5 +1079,12 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if ridable in water */ boolean isRidableInWater(); diff --git a/patches/api/0045-Debug-Marker-API.patch b/patches/api/0045-Debug-Marker-API.patch index c432e1009..f5194ac9e 100644 --- a/patches/api/0045-Debug-Marker-API.patch +++ b/patches/api/0045-Debug-Marker-API.patch @@ -260,10 +260,10 @@ index 1fba792419ea6b5e8c640a2599e4b2dd16ee87d0..bf39c6602cfca70a6352519fa26059cd /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 43448b96b5261e11bfb284e1efe726eb3e9cbeee..d48ec786ed86bdffdf7fe0320967e11b7af78bd5 100644 +index 1994acf66919c92f59e2a9f2f873f50b73d76d1a..b1a5baf12343f5db11ef58666bf6393b008c7dcf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3293,5 +3293,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3319,5 +3319,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0046-Add-death-screen-API.patch b/patches/api/0046-Add-death-screen-API.patch index 414e951a2..1256eaa99 100644 --- a/patches/api/0046-Add-death-screen-API.patch +++ b/patches/api/0046-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index d48ec786ed86bdffdf7fe0320967e11b7af78bd5..2e41fad4c033de003f89ab4ab549d2bf47ad7d4f 100644 +index b1a5baf12343f5db11ef58666bf6393b008c7dcf..9193288438671409cc3cf92033ef7cb60d798b69 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3363,5 +3363,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3389,5 +3389,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Clears all debug block highlights */ void clearBlockHighlights(); diff --git a/patches/api/0050-Fire-Immunity-API.patch b/patches/api/0050-Fire-Immunity-API.patch index 038e28225..e5622d4ca 100644 --- a/patches/api/0050-Fire-Immunity-API.patch +++ b/patches/api/0050-Fire-Immunity-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index af32ed4d9378b2394a66b21e3de67f1b7a4c2427..a9c629701fdb253c223f2d94ae7010eb35770fe8 100644 +index 52867495d0f746ff40e802c4f1018511e58fd03e..98de85d1382fe84cdc2e2c9db04bf1b4f157291c 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java -@@ -1013,5 +1013,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent +@@ -1086,5 +1086,18 @@ public interface Entity extends Metadatable, CommandSender, Nameable, Persistent * @return True if in daylight */ boolean isInDaylight(); diff --git a/patches/server/0001-Pufferfish-Server-Changes.patch b/patches/server/0001-Pufferfish-Server-Changes.patch index 6a1573738..e6f5854a4 100644 --- a/patches/server/0001-Pufferfish-Server-Changes.patch +++ b/patches/server/0001-Pufferfish-Server-Changes.patch @@ -1520,7 +1520,7 @@ index 9f422cbeaa52b3e6a0a27af4f8ad4ddb7808483f..28af96ce4f9f1a83316b6fd9e1625c71 } } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 469083208110d5735e1bbda7a15c55a032d0e8cc..68ac88b150ae5fa5e18958a5e2a83b00a26258ae 100644 +index 65d947df910d60f478e7a449eb161e5105e2c0c9..3770ced0b227f7eea1f04d6afd5c14331f6a1480 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -342,7 +342,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider @@ -1532,7 +1532,7 @@ index 469083208110d5735e1bbda7a15c55a032d0e8cc..68ac88b150ae5fa5e18958a5e2a83b00 // Paper start - use distance map to optimise entity tracker this.playerEntityTrackerTrackMaps = new com.destroystokyo.paper.util.misc.PlayerAreaMap[TRACKING_RANGE_TYPES.length]; this.entityTrackerTrackRanges = new int[TRACKING_RANGE_TYPES.length]; -@@ -1556,8 +1556,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1593,8 +1593,28 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance); } @@ -1561,7 +1561,7 @@ index 469083208110d5735e1bbda7a15c55a032d0e8cc..68ac88b150ae5fa5e18958a5e2a83b00 Iterator iterator = this.entity.getIndirectPassengers().iterator(); while (iterator.hasNext()) { -@@ -1569,6 +1589,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1606,6 +1626,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider i = j; } } @@ -1572,19 +1572,19 @@ index 469083208110d5735e1bbda7a15c55a032d0e8cc..68ac88b150ae5fa5e18958a5e2a83b00 return this.scaledRange(i); } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4fe78d16b7 100644 +index acbcdc8cb1523044b1657e03a141fae6389a3686..ef6c98c7949d2feb3ec2a0b2be161978989b6771 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -76,6 +76,9 @@ public class ServerChunkCache extends ChunkSource { - final it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap loadedChunkMap = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(8192, 0.5f); +@@ -77,6 +77,9 @@ public class ServerChunkCache extends ChunkSource { private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4]; -+ + + public boolean firstRunSpawnCounts = true; // Pufferfish + public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs - ++ private static int getChunkCacheKey(int x, int z) { return x & 3 | ((z & 3) << 2); + } @@ -553,6 +556,7 @@ public class ServerChunkCache extends ChunkSource { ProfilerFiller gameprofilerfiller = this.level.getProfiler(); @@ -1593,20 +1593,38 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f int k = this.level.getGameRules().getInt(GameRules.RULE_RANDOMTICKING); boolean flag1 = level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) != 0L && worlddata.getGameTime() % level.ticksPerSpawnCategory.getLong(org.bukkit.entity.SpawnCategory.ANIMAL) == 0L; // CraftBukkit -@@ -562,18 +566,25 @@ public class ServerChunkCache extends ChunkSource { +@@ -562,28 +566,35 @@ public class ServerChunkCache extends ChunkSource { // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down if ((this.spawnFriendlies || this.spawnEnemies) && this.chunkMap.playerMobDistanceMap != null) { // don't count mobs when animals and monsters are disabled - // re-set mob counts - for (ServerPlayer player : this.level.players) { -- Arrays.fill(player.mobCounts, 0); +- // Paper start - per player mob spawning backoff +- for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { +- player.mobCounts[ii] = 0; +- +- int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? +- if (newBackoff < 0) { +- newBackoff = 0; + // Pufferfish start - moved down when async processing + if (!gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) { + // re-set mob counts + for (ServerPlayer player : this.level.players) { -+ Arrays.fill(player.mobCounts, 0); -+ } -+ lastSpawnState = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true); ++ // Paper start - per player mob spawning backoff ++ for (int ii = 0; ii < ServerPlayer.MOBCATEGORY_TOTAL_ENUMS; ii++) { ++ player.mobCounts[ii] = 0; ++ ++ int newBackoff = player.mobBackoffCounts[ii] - 1; // TODO make configurable bleed // TODO use nonlinear algorithm? ++ if (newBackoff < 0) { ++ newBackoff = 0; ++ } ++ player.mobBackoffCounts[ii] = newBackoff; + } +- player.mobBackoffCounts[ii] = newBackoff; ++ // Paper end - per player mob spawning backoff ++ lastSpawnState = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true); + } +- // Paper end - per player mob spawning backoff } - spawnercreature_d = NaturalSpawner.createState(l, this.level.getAllEntities(), this::getFullChunk, null, true); + // Pufferfish end @@ -1625,7 +1643,7 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f gameprofilerfiller.popPush("filteringLoadedChunks"); // Paper - moved down this.level.timings.chunkTicks.startTiming(); // Paper -@@ -612,8 +623,8 @@ public class ServerChunkCache extends ChunkSource { +@@ -622,8 +633,8 @@ public class ServerChunkCache extends ChunkSource { if ((true || this.level.isNaturalSpawningAllowed(chunkcoordintpair)) && this.chunkMap.anyPlayerCloseEnoughForSpawning(holder, chunkcoordintpair, false)) { // Paper - optimise anyPlayerCloseEnoughForSpawning // Paper - the chunk is known ticking chunk1.incrementInhabitedTime(j); @@ -1636,11 +1654,11 @@ index 488a253e218409b5f0b4a872cee0928578fa7582..6e3b2863f04419ee6914ac3fd4f12a4f } if (true || this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { // Paper - the chunk is known ticking -@@ -675,6 +686,30 @@ public class ServerChunkCache extends ChunkSource { +@@ -685,6 +696,30 @@ public class ServerChunkCache extends ChunkSource { } // Paper end - controlled flush for entity tracker packets } -+ ++ + // Pufferfish start - optimize mob spawning + if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) { + for (ServerPlayer player : this.level.players) { @@ -1755,10 +1773,10 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..eac31c3fcc9161711328588ac852fcae this.getRandomBlockPosition(j, 0, k, 15, blockposition); int normalY = chunk.getHeight(Heightmap.Types.MOTION_BLOCKING, blockposition.getX() & 15, blockposition.getZ() & 15) + 1; diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4117f687b 100644 +index 161c40692e8d469fad4169908b9353be0f85d0d8..271de9d39dd765e4b4153670daa5cf6a4df22456 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1245,6 +1245,7 @@ public class ServerPlayer extends Player { +@@ -1246,6 +1246,7 @@ public class ServerPlayer extends Player { this.setServerLevel(worldserver); this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); @@ -1766,7 +1784,7 @@ index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4 worldserver.addDuringPortalTeleport(this); worldserver1.getProfiler().pop(); this.triggerDimensionChangeTriggers(worldserver1); -@@ -1907,6 +1908,7 @@ public class ServerPlayer extends Player { +@@ -1908,6 +1909,7 @@ public class ServerPlayer extends Player { public void moveTo(double x, double y, double z) { super.moveTo(x, y, z); this.connection.resetPosition(); @@ -1774,7 +1792,7 @@ index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4 } @Override -@@ -2143,6 +2145,7 @@ public class ServerPlayer extends Player { +@@ -2144,6 +2146,7 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundSetCameraPacket(this.camera)); this.connection.resetPosition(); @@ -1782,7 +1800,7 @@ index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4 } } -@@ -2595,6 +2598,7 @@ public class ServerPlayer extends Player { +@@ -2596,6 +2599,7 @@ public class ServerPlayer extends Player { public void forceSetPositionRotation(double x, double y, double z, float yaw, float pitch) { this.moveTo(x, y, z, yaw, pitch); this.connection.resetPosition(); @@ -1791,10 +1809,10 @@ index dc5fda83a66afbfeb7897fc20b4742899d8aca08..1f49a53033a6f7f0e70b655531f2fbb4 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 721243ebf0fb126cf5c0de76c6bd990807f097f4..e27dc373b8fda4a3a9a3dc6034b8aa5124ff4a6c 100644 +index 3c0651fa5a5db880202c9a3805a6455269c5f16d..776c7df81d2b71a5610fe90475f4e8044850beab 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1221,6 +1221,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1233,6 +1233,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { @@ -1802,7 +1820,7 @@ index 721243ebf0fb126cf5c0de76c6bd990807f097f4..e27dc373b8fda4a3a9a3dc6034b8aa51 // Paper start if (!this.cserver.isPrimaryThread()) { List pageList = packet.getPages(); -@@ -2408,6 +2409,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2420,6 +2421,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private boolean updateChatOrder(Instant timestamp) { @@ -1935,7 +1953,7 @@ index 04b1531572e8fff1e46fe1c94e7fc863841e0f66..47ddc42f2b63d9d3fae5ae6ea93d4183 int LARGE_MAX_STACK_SIZE = 64; int DEFAULT_DISTANCE_LIMIT = 8; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55fdfbae75 100644 +index e8485fb900b25e911a858678a833852731cb2ace..36795968f4c296f680f79cc5a795391ae13c64e4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -1947,7 +1965,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 private ChunkPos chunkPosition; private Vec3 deltaMovement; private float yRot; -@@ -433,6 +433,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -434,6 +434,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.originWorld; } // Paper end @@ -1960,7 +1978,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 public float getBukkitYaw() { return this.yRot; } -@@ -507,17 +513,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -508,17 +514,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.isLegacyTrackingEntity = isLegacyTrackingEntity; } @@ -1998,7 +2016,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 for (Entity passenger : passengers) { org.spigotmc.TrackingRange.TrackingRangeType passengerType = passenger.trackingRangeType; int passengerRange = chunkMap.getEntityTrackerRange(passengerType.ordinal()); -@@ -526,6 +551,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -527,6 +552,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { range = passengerRange; } } @@ -2008,7 +2026,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } -@@ -796,6 +824,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -798,6 +826,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void tick() { @@ -2021,7 +2039,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 this.baseTick(); } -@@ -4293,16 +4327,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4283,16 +4317,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -2047,7 +2065,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4310,14 +4346,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4300,14 +4336,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -2115,7 +2133,7 @@ index 2edab21bb271405f200de5a19e9c748bb14aba7d..886c01e4df3c6d301d4603e6c097fe55 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4339,9 +4422,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4329,9 +4412,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end } } @@ -2608,10 +2626,10 @@ index e30d5ae3e2900f43d7cafde71b8196f26e872841..c4ddf2661bca728d504918171295e10e if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/net/minecraft/world/entity/player/Inventory.java b/src/main/java/net/minecraft/world/entity/player/Inventory.java -index 395cecc385e4126a7534ac9aeb15cf323efab03e..089166d9e6121df3069b2b71d6b556ae37520a26 100644 +index 96d664c28738d6090f7067761c2978dd1aa0fd0e..b1c24a02b87aca7b180a6efbce177f2300db49c1 100644 --- a/src/main/java/net/minecraft/world/entity/player/Inventory.java +++ b/src/main/java/net/minecraft/world/entity/player/Inventory.java -@@ -681,6 +681,8 @@ public class Inventory implements Container, Nameable { +@@ -687,6 +687,8 @@ public class Inventory implements Container, Nameable { } public boolean contains(ItemStack stack) { @@ -2620,7 +2638,7 @@ index 395cecc385e4126a7534ac9aeb15cf323efab03e..089166d9e6121df3069b2b71d6b556ae Iterator iterator = this.compartments.iterator(); while (iterator.hasNext()) { -@@ -695,6 +697,18 @@ public class Inventory implements Container, Nameable { +@@ -701,6 +703,18 @@ public class Inventory implements Container, Nameable { } } } @@ -2961,10 +2979,10 @@ index f39ab10c5b0b8d86b579a5b683491204c51db70b..d8d4a1ca2eb062af8b2de4ab44503983 } diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 089dd93d4cd4c1f72e63c4944b3b82c1e2ba732d..5d19ef5231752c6cccc73b9adfb67e53e87baf7a 100644 +index e85ddf92b4f6f044e2b5834a172f37d78e702ef3..49de1fca183b2c6a0a5399025abfc0e47f314315 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -@@ -417,12 +417,12 @@ public final class NaturalSpawner { +@@ -431,12 +431,12 @@ public final class NaturalSpawner { } } diff --git a/patches/server/0005-Purpur-client-support.patch b/patches/server/0005-Purpur-client-support.patch index 9390dfdc2..81625b5f4 100644 --- a/patches/server/0005-Purpur-client-support.patch +++ b/patches/server/0005-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1f49a53033a6f7f0e70b655531f2fbb4117f687b..a3b148c9d55ba35856ffc505f1950ec986d85ece 100644 +index 271de9d39dd765e4b4153670daa5cf6a4df22456..5787e59a7ce1aedbe655928fa2e283823a450343 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -277,6 +277,7 @@ public class ServerPlayer extends Player { +@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event @@ -17,10 +17,10 @@ index 1f49a53033a6f7f0e70b655531f2fbb4117f687b..a3b148c9d55ba35856ffc505f1950ec9 private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e27dc373b8fda4a3a9a3dc6034b8aa5124ff4a6c..670af4519ceec962e10bc893e628be81203af7df 100644 +index 776c7df81d2b71a5610fe90475f4e8044850beab..63eac8b250b8bae40de432a0ffd4792122cbae74 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3583,6 +3583,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3595,6 +3595,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index e27dc373b8fda4a3a9a3dc6034b8aa5124ff4a6c..670af4519ceec962e10bc893e628be81 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3607,6 +3608,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3619,6 +3620,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index e27dc373b8fda4a3a9a3dc6034b8aa5124ff4a6c..670af4519ceec962e10bc893e628be81 try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c9e4a2635c421df192f62c0903659347bce677f9..824a21f880178132dbf149b2993271f5ee7bb926 100644 +index 472705e92cef5802f377637d8ea5c8001d7a185c..b7b1f6822480edf37f954e0d1e8e8f97c165d9c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3222,4 +3222,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3260,4 +3260,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0007-Component-related-conveniences.patch b/patches/server/0007-Component-related-conveniences.patch index bbae17985..dc1ccbe05 100644 --- a/patches/server/0007-Component-related-conveniences.patch +++ b/patches/server/0007-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a3b148c9d55ba35856ffc505f1950ec986d85ece..1e8edb73baf8e5ca1bbde068c8141de505de48ee 100644 +index 5787e59a7ce1aedbe655928fa2e283823a450343..bf88c86deaf677a10f2f8b67fe48a199e625fea9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1775,6 +1775,26 @@ public class ServerPlayer extends Player { +@@ -1776,6 +1776,26 @@ public class ServerPlayer extends Player { this.lastSentExp = -1; // CraftBukkit - Added to reset } @@ -36,10 +36,10 @@ index a3b148c9d55ba35856ffc505f1950ec986d85ece..1e8edb73baf8e5ca1bbde068c8141de5 public void displayClientMessage(Component message, boolean overlay) { this.sendSystemMessage(message, overlay); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 640e9bd618dc8286933318744c2064ede1fd9b5f..84846522b57f07001a0d1cb88db625910bea9571 100644 +index f097ec5b4e3ad6b1a7c464a8cff4f8b2568fcf4f..78636bf26ac8efaffd8a8f4b5bbc703d6b670b7c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1037,6 +1037,20 @@ public abstract class PlayerList { +@@ -1045,6 +1045,20 @@ public abstract class PlayerList { } // CraftBukkit end @@ -81,10 +81,10 @@ index 25a5a3b949a0eb632611355e74ccd4865be108ca..14fcfd7c1d3a62833978e163f4e0d6f9 return this.type().msgId(); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 886c01e4df3c6d301d4603e6c097fe55fdfbae75..d6d253d854ef00ffd229e513c364712e0c4bf354 100644 +index 36795968f4c296f680f79cc5a795391ae13c64e4..6951b47abb5d36cdd9fe200152a93155c31aedaf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4045,6 +4045,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4047,6 +4047,20 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return SlotAccess.NULL; } diff --git a/patches/server/0008-Ridables.patch b/patches/server/0008-Ridables.patch index fe8777eb1..9b58442a4 100644 --- a/patches/server/0008-Ridables.patch +++ b/patches/server/0008-Ridables.patch @@ -46,10 +46,10 @@ index dbb59969cf55eda997588f4c3ef7dc899ea619bb..4c3b5a26a6b04afff3a707929ced3c62 final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 1e8edb73baf8e5ca1bbde068c8141de505de48ee..2ec32c4845774f9697c4d8451e20f76806f9888d 100644 +index bf88c86deaf677a10f2f8b67fe48a199e625fea9..3aff5f410220c2f3dee7acfa4339b9b5d0a5e7dd 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -751,6 +751,15 @@ public class ServerPlayer extends Player { +@@ -752,6 +752,15 @@ public class ServerPlayer extends Player { this.trackStartFallingPosition(); this.trackEnteredOrExitedLavaOnVehicle(); this.advancements.flushDirty(this); @@ -66,10 +66,10 @@ index 1e8edb73baf8e5ca1bbde068c8141de505de48ee..2ec32c4845774f9697c4d8451e20f768 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 670af4519ceec962e10bc893e628be81203af7df..4838e1f214b4ff9b868738df53a877c5257dc7b0 100644 +index 63eac8b250b8bae40de432a0ffd4792122cbae74..e936fa6e638a7ff4b087ecb4247c467be6fe9c57 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2858,6 +2858,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2870,6 +2870,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index 670af4519ceec962e10bc893e628be81203af7df..4838e1f214b4ff9b868738df53a877c5 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d6d253d854ef00ffd229e513c364712e0c4bf354..5d781a20c3a954458f12751c74c54874ff99bc22 100644 +index 6951b47abb5d36cdd9fe200152a93155c31aedaf..14624fc143c9553930f181f7db93caecf24c0495 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -376,7 +376,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -91,7 +91,7 @@ index d6d253d854ef00ffd229e513c364712e0c4bf354..5d781a20c3a954458f12751c74c54874 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2940,6 +2940,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2942,6 +2942,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.passengers = ImmutableList.copyOf(list); } @@ -105,7 +105,7 @@ index d6d253d854ef00ffd229e513c364712e0c4bf354..5d781a20c3a954458f12751c74c54874 this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); } } -@@ -2980,6 +2987,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2982,6 +2989,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } // Spigot end @@ -120,7 +120,7 @@ index d6d253d854ef00ffd229e513c364712e0c4bf354..5d781a20c3a954458f12751c74c54874 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4893,4 +4908,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4883,4 +4898,45 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return ((net.minecraft.server.level.ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -2485,7 +2485,7 @@ index 7f21d1d400c8a5615ed1a787dcb0680338f8c28d..ec956339b02fc9da53563d67c0eeaa91 this.level().getProfiler().pop(); this.level().getProfiler().push("goatActivityUpdate"); 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 9b35a50eb99551f28d45fd5114e0401b4c54646e..55bc8ccc459b093ad48790932381228e24a24f14 100644 +index 49d7109b6ca63c8073db777549a65b2fcb70967e..4b656f4e1660978e3dd284093241003cabff4f23 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 @@ -147,12 +147,22 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -2790,7 +2790,7 @@ index a6f3fba3b02b0b4d2a4e9e5205301c6f52d0188a..4eebfc27ded55e4d764d04f35d3e9c9e protected void defineSynchedData() { } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 92666c48620078623a451fbf68f673cb9f81c4b5..5a2eb6775ecb3b01fd136c796258395b4270f7a8 100644 +index a24ae93efcdb2da5782d342c7697a1bb253400c7..c5100d3d8c36bf0c07f2028c5d3ec4bbe6e92256 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -105,6 +105,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -5189,10 +5189,10 @@ index 06d1bdb9bd124b201c36d284c50d22bf50d3735a..937f57d8af629c4e913d7ccabf6adab1 public boolean isPickable() { return false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 975e2402cd1a2910043084957210c352329d42ae..d520ac17bde4a278ed9ccc96dc1ffd980809d115 100644 +index 2dbe8b870fd39b4d22e9725912f443757ae70761..912d9e4b3168cf89bd263ba63e049a791beefc90 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1468,4 +1468,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1507,4 +1507,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getScoreboardName(); } // Paper end - entity scoreboard name @@ -5221,7 +5221,7 @@ index 975e2402cd1a2910043084957210c352329d42ae..d520ac17bde4a278ed9ccc96dc1ffd98 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 26e1a9002d675245d4cf91e6682605314b078fb2..6db204dead67aac300410a6d2627cde8446630b5 100644 +index 676c44f688c41df66e304db30a05d6cc967bcf99..222fc8368b6bd0ca32811aebfa611dd5037076b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -590,6 +590,15 @@ public class CraftEventFactory { diff --git a/patches/server/0009-Configurable-entity-base-attributes.patch b/patches/server/0009-Configurable-entity-base-attributes.patch index 5bb281a82..160b07283 100644 --- a/patches/server/0009-Configurable-entity-base-attributes.patch +++ b/patches/server/0009-Configurable-entity-base-attributes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable entity base attributes diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5d781a20c3a954458f12751c74c54874ff99bc22..1ecca8fdab2fb12390446fd8e134032f1d003f4a 100644 +index 14624fc143c9553930f181f7db93caecf24c0495..9e1124be5c6f297b4f6bc8a1bb2dc1476cac4d71 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -156,7 +156,7 @@ import org.bukkit.plugin.PluginManager; @@ -503,7 +503,7 @@ index 76a38d235de3499ca19c3ccacd9289c7355012db..5ec8815cc69f5abe03a29224650edfb1 protected SoundEvent getAmbientSound() { return SoundEvents.CAMEL_AMBIENT; 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 55bc8ccc459b093ad48790932381228e24a24f14..296cc895fbd090b4d43807f4ca393f6dd853e0ce 100644 +index 4b656f4e1660978e3dd284093241003cabff4f23..7a7466092a2cd194abec3abdb77a7c649b4b433c 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 @@ -160,6 +160,44 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, @@ -551,7 +551,7 @@ index 55bc8ccc459b093ad48790932381228e24a24f14..296cc895fbd090b4d43807f4ca393f6d @Override protected void registerGoals() { this.goalSelector.addGoal(0, new org.purpurmc.purpur.entity.ai.HorseHasRider(this)); // Purpur -@@ -1266,7 +1304,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, +@@ -1258,7 +1296,7 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, entityData = new AgeableMob.AgeableMobGroupData(0.2F); } @@ -759,7 +759,7 @@ index 76e4b87ffc470b7b205fba0a254668f15a394034..e46751dacee17e81933345266049675d @Override protected void defineSynchedData() { diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 5a2eb6775ecb3b01fd136c796258395b4270f7a8..f160933af318becaf99befc0ecc0204bc48ed4a9 100644 +index c5100d3d8c36bf0c07f2028c5d3ec4bbe6e92256..9e85b252bedb5d0d532170e7aa57e02f2660965a 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -183,6 +183,11 @@ public class EnderDragon extends Mob implements Enemy { diff --git a/patches/server/0010-Barrels-and-enderchests-6-rows.patch b/patches/server/0010-Barrels-and-enderchests-6-rows.patch index 30161e537..14ac1755b 100644 --- a/patches/server/0010-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0010-Barrels-and-enderchests-6-rows.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 84846522b57f07001a0d1cb88db625910bea9571..1abb122a33eaf55de752d3d91bca8c1ee888dfd4 100644 +index 78636bf26ac8efaffd8a8f4b5bbc703d6b670b7c..42801a26b9d5f8af2d0ce1fef864bb031cfa8965 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1162,6 +1162,27 @@ public abstract class PlayerList { +@@ -1170,6 +1170,27 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper @@ -243,7 +243,7 @@ index 471ae4458e7ea7c29d7551b32cec98180fbccd4e..23db63c78e9fcf86cd498b3ed36ca502 for (int i = 0; i < this.getSize(); i++) { if (i >= items.length) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 0cab29584c4d5205950571660b6c271d34e403eb..e6a720f25266d793bec5f644dadacbf45aef23f5 100644 +index 8ad548fc059568d37675e017548b171d4dd1d555..7937023274acf3a1efdd21bbdd2f933f4399baeb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -177,4 +177,39 @@ public class PurpurConfig { diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 31e59aa4b..ce6db9033 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] AFK API Adds the option for display names to be used in the afk broadcast diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 2ec32c4845774f9697c4d8451e20f76806f9888d..8276eff5d8085fe4c4f212d0afc5a36d02b84035 100644 +index 3aff5f410220c2f3dee7acfa4339b9b5d0a5e7dd..262cec70db50c8692d518f0f87eac39d7cb45b6d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2118,8 +2118,68 @@ public class ServerPlayer extends Player { +@@ -2119,8 +2119,68 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -79,7 +79,7 @@ index 2ec32c4845774f9697c4d8451e20f76806f9888d..8276eff5d8085fe4c4f212d0afc5a36d return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c7748f6d1a460d8d832616b6a16219be59c6e120..ad03d1753bcddd753ed1080f240fc874dcbc06a2 100644 +index e936fa6e638a7ff4b087ecb4247c467be6fe9c57..f23e8f89e09551d245fcef5507ecd061ed1b3ca9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -342,6 +342,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -125,7 +125,7 @@ index c7748f6d1a460d8d832616b6a16219be59c6e120..ad03d1753bcddd753ed1080f240fc874 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1570,7 +1592,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1582,7 +1604,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!event.isAllowed()) { flag2 = true; // Paper - diff on change, this should be moved wrongly if (event.getLogWarning()) @@ -134,7 +134,7 @@ index c7748f6d1a460d8d832616b6a16219be59c6e120..ad03d1753bcddd753ed1080f240fc874 } // Paper end } -@@ -1632,6 +1654,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1644,6 +1666,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -224,10 +224,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63 if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 824a21f880178132dbf149b2993271f5ee7bb926..33028fa1e892408ddf1ccfdd942ade634deb1d89 100644 +index b7b1f6822480edf37f954e0d1e8e8f97c165d9c6..ec2d2a63c9534ae9c3275822906da3564290c262 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -509,10 +509,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -510,10 +510,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -244,7 +244,7 @@ index 824a21f880178132dbf149b2993271f5ee7bb926..33028fa1e892408ddf1ccfdd942ade63 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3228,5 +3233,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3266,5 +3271,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index 22f51da32..37e224caa 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af13ec00866 100644 +index 262cec70db50c8692d518f0f87eac39d7cb45b6d..0b7ee1cbe2917dc81d6a740ec09e7aee9ff598cf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -278,6 +278,7 @@ public class ServerPlayer extends Player { +@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur @@ -16,7 +16,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 private final java.util.concurrent.atomic.AtomicReference viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -418,6 +419,7 @@ public class ServerPlayer extends Player { +@@ -419,6 +420,7 @@ public class ServerPlayer extends Player { this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper @@ -24,7 +24,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 } // Yes, this doesn't match Vanilla, but it's the best we can do for now. -@@ -1099,6 +1101,12 @@ public class ServerPlayer extends Player { +@@ -1100,6 +1102,12 @@ public class ServerPlayer extends Player { } @@ -37,7 +37,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -1106,7 +1114,7 @@ public class ServerPlayer extends Player { +@@ -1107,7 +1115,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && source.is(DamageTypeTags.IS_FALL); @@ -46,7 +46,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 return false; } else { Entity entity = source.getEntity(); -@@ -1286,6 +1294,7 @@ public class ServerPlayer extends Player { +@@ -1287,6 +1295,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -54,7 +54,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 return this; } } -@@ -2104,6 +2113,7 @@ public class ServerPlayer extends Player { +@@ -2105,6 +2114,7 @@ public class ServerPlayer extends Player { } public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { @@ -62,7 +62,7 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); } -@@ -2693,9 +2703,17 @@ public class ServerPlayer extends Player { +@@ -2694,9 +2704,17 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -82,10 +82,10 @@ index 8276eff5d8085fe4c4f212d0afc5a36d02b84035..3274977a1d7442626329cfd31c720af1 public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ad03d1753bcddd753ed1080f240fc874dcbc06a2..024107c6f07672aa8c51b1691186f29994318748 100644 +index f23e8f89e09551d245fcef5507ecd061ed1b3ca9..81cbb6a55fd3e6a3b9ec96cc54b43e123c243482 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2137,12 +2137,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2149,12 +2149,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); @@ -108,10 +108,10 @@ index ad03d1753bcddd753ed1080f240fc874dcbc06a2..024107c6f07672aa8c51b1691186f299 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1abb122a33eaf55de752d3d91bca8c1ee888dfd4..1897c0e8922aa654f03267cb8ad1a06a55efa98a 100644 +index 42801a26b9d5f8af2d0ce1fef864bb031cfa8965..2cac536ebbc21a23a2219c630fe477bf9c00ce65 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -977,6 +977,8 @@ public abstract class PlayerList { +@@ -985,6 +985,8 @@ public abstract class PlayerList { } // Paper end @@ -121,10 +121,10 @@ index 1abb122a33eaf55de752d3d91bca8c1ee888dfd4..1897c0e8922aa654f03267cb8ad1a06a return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 33028fa1e892408ddf1ccfdd942ade634deb1d89..e0094bc6aad713685840255cb036e8a9c905732e 100644 +index ec2d2a63c9534ae9c3275822906da3564290c262..9fb883b77c65ecc967d7f04c3adbd2e6b4465e55 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3248,5 +3248,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3286,5 +3286,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index 9f2b6f86b..2cb2cd2c3 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8d406088dfad4b35efaca4805739c648cd4e4f98..c70cdb5433a06e9809bcc11255f3641cb6ae524f 100644 +index 81cbb6a55fd3e6a3b9ec96cc54b43e123c243482..317342df5d3afe65e09853fd9ffe4aca127152d2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -265,6 +265,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -38,7 +38,7 @@ index 8d406088dfad4b35efaca4805739c648cd4e4f98..c70cdb5433a06e9809bcc11255f3641c if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3568,6 +3584,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3580,6 +3596,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0039-Ender-dragon-always-drop-full-exp.patch b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch index 7172a38ad..ae6e1f3e9 100644 --- a/patches/server/0039-Ender-dragon-always-drop-full-exp.patch +++ b/patches/server/0039-Ender-dragon-always-drop-full-exp.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ender dragon always drop full exp diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index f160933af318becaf99befc0ecc0204bc48ed4a9..81cf89bc57af0f43d05ba93256255155bf0c4d53 100644 +index 9e85b252bedb5d0d532170e7aa57e02f2660965a..3898653acb6127c88a94b5e7111a9cfecb2d136e 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -@@ -747,7 +747,7 @@ public class EnderDragon extends Mob implements Enemy { +@@ -756,7 +756,7 @@ public class EnderDragon extends Mob implements Enemy { boolean flag = this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT); short short0 = 500; diff --git a/patches/server/0041-Minecart-settings-and-WASD-controls.patch b/patches/server/0041-Minecart-settings-and-WASD-controls.patch index 817fe2994..243b0ac5c 100644 --- a/patches/server/0041-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0041-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3274977a1d7442626329cfd31c720af13ec00866..569219437396a37cdbdae5a4a6d4b1fc551986d7 100644 +index 0b7ee1cbe2917dc81d6a740ec09e7aee9ff598cf..e5291d794f2abb719a574afef2b27d4df05d881f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1112,6 +1112,7 @@ public class ServerPlayer extends Player { +@@ -1113,6 +1113,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0044-End-gateway-should-check-if-entity-can-use-portal.patch b/patches/server/0044-End-gateway-should-check-if-entity-can-use-portal.patch index 235b9f7bb..bfc7326f3 100644 --- a/patches/server/0044-End-gateway-should-check-if-entity-can-use-portal.patch +++ b/patches/server/0044-End-gateway-should-check-if-entity-can-use-portal.patch @@ -5,10 +5,10 @@ Subject: [PATCH] End gateway should check if entity can use portal diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index d9baa85962236c42219cf09d4f3129be93ff069c..678c4527ddc7032a07e7d74cc160ddcb8810abbf 100644 +index 1ec80f9c901dff1c9f29befa5a8e3c3f6f37aaf7..9717b37aef9f487502e696c209ae209ab3b8f000 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -@@ -178,6 +178,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { +@@ -177,6 +177,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) { if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) { diff --git a/patches/server/0046-Add-permission-for-F3-N-debug.patch b/patches/server/0046-Add-permission-for-F3-N-debug.patch index 97689df58..e994c7408 100644 --- a/patches/server/0046-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0046-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8420afe3c04bf23c23038d638b4e9195134846f7..da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a 100644 +index 2cac536ebbc21a23a2219c630fe477bf9c00ce65..9cecf7d3e2f860f9de5dd13a352d8d7ed6f95266 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1156,6 +1156,7 @@ public abstract class PlayerList { +@@ -1164,6 +1164,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + permissionLevel); } diff --git a/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch b/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch index 20a0b11c9..6109090f4 100644 --- a/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch +++ b/patches/server/0048-Add-option-to-allow-loyalty-on-tridents-to-work-in-t.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to allow loyalty on tridents to work in the void diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java -index 454dd67920826b8b62c2654abfd43fc08c2648e4..0ea182962d6647629fc98c9e7406f7b7ce012c5e 100644 +index a6bc277b6589dd7104566542733327822d6299a4..dde841cc09ba4a3575a462b03537887551d47ba5 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java -@@ -60,7 +60,7 @@ public class ThrownTrident extends AbstractArrow { +@@ -62,7 +62,7 @@ public class ThrownTrident extends AbstractArrow { Entity entity = this.getOwner(); byte b0 = (Byte) this.entityData.get(ThrownTrident.ID_LOYALTY); diff --git a/patches/server/0055-Configurable-void-damage-height-and-damage.patch b/patches/server/0055-Configurable-void-damage-height-and-damage.patch index be8c2d6a5..f5fffea3b 100644 --- a/patches/server/0055-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0055-Configurable-void-damage-height-and-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 391d0782245f490152776e3c377a8040ad254322..8c90215438c74011c824d0d368c2517576e59451 100644 +index acce1d46d6bce9b052126c76bc1f36264df39e71..5b9ddcab26a4c962dae104c44d65d623c036c8fd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -913,7 +913,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -915,7 +915,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void checkBelowWorld() { // Paper start - Configurable nether ceiling damage diff --git a/patches/server/0056-Add-canSaveToDisk-to-Entity.patch b/patches/server/0056-Add-canSaveToDisk-to-Entity.patch index 3e7f4d7e9..7e26b9be2 100644 --- a/patches/server/0056-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0056-Add-canSaveToDisk-to-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 11d1d0402f65c2ae8ea77a0bfa188fe46c9a3a7e..7f3fafff2b13f4bc544147d3157d66786c4d895c 100644 +index 5b9ddcab26a4c962dae104c44d65d623c036c8fd..01a1534ec503e9aaea7befdba86f452128f8863d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -492,6 +492,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -493,6 +493,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return false; } diff --git a/patches/server/0072-Allow-color-codes-in-books.patch b/patches/server/0072-Allow-color-codes-in-books.patch index 07a9376cc..107244ac1 100644 --- a/patches/server/0072-Allow-color-codes-in-books.patch +++ b/patches/server/0072-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c209244c37d3a96b7430f1335f5ddf6332ced8bc..132f65deb985c8070a4ea4a2a80372712d44f795 100644 +index 317342df5d3afe65e09853fd9ffe4aca127152d2..970c711a6631cf3e16ca09704452b32b68672ce9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1347,13 +1347,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1359,13 +1359,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index c209244c37d3a96b7430f1335f5ddf6332ced8bc..132f65deb985c8070a4ea4a2a8037271 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(Component.literal(s)); -@@ -1365,10 +1368,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1377,10 +1380,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index c209244c37d3a96b7430f1335f5ddf6332ced8bc..132f65deb985c8070a4ea4a2a8037271 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1378,11 +1384,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1390,11 +1396,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic for (int j = list.size(); i < j; ++i) { FilteredText filteredtext = (FilteredText) list.get(i); @@ -58,7 +58,7 @@ index c209244c37d3a96b7430f1335f5ddf6332ced8bc..132f65deb985c8070a4ea4a2a8037271 } } -@@ -1395,6 +1401,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1407,6 +1413,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0073-Entity-lifespan.patch b/patches/server/0073-Entity-lifespan.patch index 07e7ed015..4c29af41a 100644 --- a/patches/server/0073-Entity-lifespan.patch +++ b/patches/server/0073-Entity-lifespan.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e372232189e663bddc79c82f268fb9acccdeb9c1..5750ac34d52fa385017dd55b2cc4408510fead90 100644 +index 970c711a6631cf3e16ca09704452b32b68672ce9..8126b1a67e62077c8a78f13deee767236665d7fa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2910,6 +2910,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2922,6 +2922,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = entity.getBoundingBox(); if (axisalignedbb.distanceToSqr(this.player.getEyePosition()) < ServerGamePacketListenerImpl.MAX_INTERACTION_DISTANCE) { diff --git a/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 802cdd12e..ecbe6f6d9 100644 --- a/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0074-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 569219437396a37cdbdae5a4a6d4b1fc551986d7..beaabee17209cc3a94dcd3b4272a2f772a83752f 100644 +index e5291d794f2abb719a574afef2b27d4df05d881f..8ed1a18cd1b33e1776dbf3b2294ab633f243daae 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2762,4 +2762,26 @@ public class ServerPlayer extends Player { +@@ -2763,4 +2763,26 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end diff --git a/patches/server/0081-Add-option-to-disable-certain-block-updates.patch b/patches/server/0081-Add-option-to-disable-certain-block-updates.patch deleted file mode 100644 index 9d3b5e2aa..000000000 --- a/patches/server/0081-Add-option-to-disable-certain-block-updates.patch +++ /dev/null @@ -1,118 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Tue, 4 Aug 2020 17:11:58 -0500 -Subject: [PATCH] Add option to disable certain block updates - - -diff --git a/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java b/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java -index a6c25647fb37f59307de0d390f8e8cf55504d7d3..52aae8bd4023b2bb48f12983f54b20fa3c95d403 100644 ---- a/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/ChorusPlantBlock.java -@@ -21,6 +21,7 @@ public class ChorusPlantBlock extends PipeBlock { - - @Override - public BlockState getStateForPlacement(BlockPlaceContext ctx) { -+ if (org.purpurmc.purpur.PurpurConfig.disableChorusPlantUpdates) return this.defaultBlockState(); // Purpur - return this.getStateForPlacement(ctx.getLevel(), ctx.getClickedPos()); - } - -@@ -36,6 +37,7 @@ public class ChorusPlantBlock extends PipeBlock { - - @Override - public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) { -+ if (org.purpurmc.purpur.PurpurConfig.disableChorusPlantUpdates) return state; // Purpur - if (!state.canSurvive(world, pos)) { - world.scheduleTick(pos, this, 1); - return super.updateShape(state, direction, neighborState, world, pos, neighborPos); -diff --git a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java -index 3c6d97b51c6fec130b80e5965afa2c49d48843c9..b456cb8efd8f0be8a6860c82462ce9bdde3a8383 100644 ---- a/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/HugeMushroomBlock.java -@@ -22,29 +22,65 @@ public class HugeMushroomBlock extends Block { - - public HugeMushroomBlock(BlockBehaviour.Properties settings) { - super(settings); -- this.registerDefaultState(this.stateDefinition.any().setValue(NORTH, Boolean.valueOf(true)).setValue(EAST, Boolean.valueOf(true)).setValue(SOUTH, Boolean.valueOf(true)).setValue(WEST, Boolean.valueOf(true)).setValue(UP, Boolean.valueOf(true)).setValue(DOWN, Boolean.valueOf(true))); -+ // Purpur start -+ this.registerDefaultState(this.stateDefinition.any() -+ .setValue(NORTH, true) -+ .setValue(EAST, true) -+ .setValue(SOUTH, true) -+ .setValue(WEST, true) -+ .setValue(UP, true) -+ .setValue(DOWN, true)); -+ // Purpur end - } - - @Override - public BlockState getStateForPlacement(BlockPlaceContext ctx) { -+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return this.defaultBlockState(); // Purpur - BlockGetter blockGetter = ctx.getLevel(); - BlockPos blockPos = ctx.getClickedPos(); -- return this.defaultBlockState().setValue(DOWN, Boolean.valueOf(!blockGetter.getBlockState(blockPos.below()).is(this))).setValue(UP, Boolean.valueOf(!blockGetter.getBlockState(blockPos.above()).is(this))).setValue(NORTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.north()).is(this))).setValue(EAST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.east()).is(this))).setValue(SOUTH, Boolean.valueOf(!blockGetter.getBlockState(blockPos.south()).is(this))).setValue(WEST, Boolean.valueOf(!blockGetter.getBlockState(blockPos.west()).is(this))); -+ // Purpur start -+ return this.defaultBlockState() -+ .setValue(DOWN, this != blockGetter.getBlockStateIfLoaded(blockPos.below()).getBlock()) -+ .setValue(UP, this != blockGetter.getBlockStateIfLoaded(blockPos.above()).getBlock()) -+ .setValue(NORTH, this != blockGetter.getBlockStateIfLoaded(blockPos.north()).getBlock()) -+ .setValue(EAST, this != blockGetter.getBlockStateIfLoaded(blockPos.east()).getBlock()) -+ .setValue(SOUTH, this != blockGetter.getBlockStateIfLoaded(blockPos.south()).getBlock()) -+ .setValue(WEST, this != blockGetter.getBlockStateIfLoaded(blockPos.west()).getBlock()); -+ // Purpur end - } - - @Override - public BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) { -+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state; // Purpur - return neighborState.is(this) ? state.setValue(PROPERTY_BY_DIRECTION.get(direction), Boolean.valueOf(false)) : super.updateShape(state, direction, neighborState, world, pos, neighborPos); - } - - @Override - public BlockState rotate(BlockState state, Rotation rotation) { -- return state.setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.NORTH)), state.getValue(NORTH)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.SOUTH)), state.getValue(SOUTH)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.EAST)), state.getValue(EAST)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.WEST)), state.getValue(WEST)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.UP)), state.getValue(UP)).setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.DOWN)), state.getValue(DOWN)); -+ // Purpur start -+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state; -+ return state -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.NORTH)), state.getValue(NORTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.SOUTH)), state.getValue(SOUTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.EAST)), state.getValue(EAST)) -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.WEST)), state.getValue(NORTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.UP)), state.getValue(UP)) -+ .setValue(PROPERTY_BY_DIRECTION.get(rotation.rotate(Direction.DOWN)), state.getValue(DOWN)); -+ // Purpur end - } - - @Override - public BlockState mirror(BlockState state, Mirror mirror) { -- return state.setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.NORTH)), state.getValue(NORTH)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.SOUTH)), state.getValue(SOUTH)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.EAST)), state.getValue(EAST)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.WEST)), state.getValue(WEST)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.UP)), state.getValue(UP)).setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.DOWN)), state.getValue(DOWN)); -+ // Purpur start -+ if (org.purpurmc.purpur.PurpurConfig.disableMushroomBlockUpdates) return state; -+ return state -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.NORTH)), state.getValue(NORTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.SOUTH)), state.getValue(SOUTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.EAST)), state.getValue(EAST)) -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.WEST)), state.getValue(NORTH)) -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.UP)), state.getValue(UP)) -+ .setValue(PROPERTY_BY_DIRECTION.get(mirror.mirror(Direction.DOWN)), state.getValue(DOWN)); -+ // Purpur end - } - - @Override -diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 8575753af39d19e485f915e3e12e377c325b4751..17270d303cc41822ca4073ea0bb23c05b0409121 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -249,6 +249,13 @@ public class PurpurConfig { - allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd); - } - -+ public static boolean disableMushroomBlockUpdates = false; -+ public static boolean disableChorusPlantUpdates = false; -+ private static void blockUpdatesSettings() { -+ disableMushroomBlockUpdates = getBoolean("settings.blocks.disable-mushroom-updates", disableMushroomBlockUpdates); -+ disableChorusPlantUpdates = getBoolean("settings.blocks.disable-chorus-plant-updates", disableChorusPlantUpdates); -+ } -+ - public static boolean loggerSuppressInitLegacyMaterialError = false; - public static boolean loggerSuppressIgnoredAdvancementWarnings = false; - public static boolean loggerSuppressUnrecognizedRecipeErrors = false; diff --git a/patches/server/0082-Dispensers-place-anvils-option.patch b/patches/server/0081-Dispensers-place-anvils-option.patch similarity index 100% rename from patches/server/0082-Dispensers-place-anvils-option.patch rename to patches/server/0081-Dispensers-place-anvils-option.patch diff --git a/patches/server/0083-Allow-anvil-colors.patch b/patches/server/0082-Allow-anvil-colors.patch similarity index 100% rename from patches/server/0083-Allow-anvil-colors.patch rename to patches/server/0082-Allow-anvil-colors.patch diff --git a/patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch b/patches/server/0083-Add-option-to-disable-dolphin-treasure-searching.patch similarity index 100% rename from patches/server/0084-Add-option-to-disable-dolphin-treasure-searching.patch rename to patches/server/0083-Add-option-to-disable-dolphin-treasure-searching.patch diff --git a/patches/server/0085-Short-enderman-height.patch b/patches/server/0084-Short-enderman-height.patch similarity index 94% rename from patches/server/0085-Short-enderman-height.patch rename to patches/server/0084-Short-enderman-height.patch index 56df0e185..69cb9329e 100644 --- a/patches/server/0085-Short-enderman-height.patch +++ b/patches/server/0084-Short-enderman-height.patch @@ -19,7 +19,7 @@ index 08beb4c4dfcb0986cdebb4d0cacc25e4e9c17674..e413aa4650297ce2109beb6319f52fb4 private static EntityType register(String id, EntityType.Builder type) { // CraftBukkit - decompile error 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 41eafe7e8e2b73d97152376ce482c39d747c97f3..fef88df5d11943b5e8b1234678ede7a9e36205ff 100644 +index 74d1a0e8de36aaf11e844cc4f40e4c469d6269b4..3861f367ac01028139cc6db35fb9a1e20cb39457 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -433,6 +433,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -31,7 +31,7 @@ index 41eafe7e8e2b73d97152376ce482c39d747c97f3..fef88df5d11943b5e8b1234678ede7a9 boolean flag = source.getDirectEntity() instanceof ThrownPotion; boolean flag1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 17270d303cc41822ca4073ea0bb23c05b0409121..59a338d430602a651db8b576538b9c8417979d4d 100644 +index 387da71594b75a43100790e8e8d69d9246598537..e813c87f4cc90fd31a4a48fcfffbe2b4407e5f5d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -244,6 +244,12 @@ public class PurpurConfig { diff --git a/patches/server/0086-Stop-squids-floating-on-top-of-water.patch b/patches/server/0085-Stop-squids-floating-on-top-of-water.patch similarity index 96% rename from patches/server/0086-Stop-squids-floating-on-top-of-water.patch rename to patches/server/0085-Stop-squids-floating-on-top-of-water.patch index 284e2bfbe..ab06d6f53 100644 --- a/patches/server/0086-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0085-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 8cd1644d7f95ad5000d680f2790f5d109111167f..5420075f774e2327d17ecbf6fd1afba0b96ff1f4 100644 +index 01a1534ec503e9aaea7befdba86f452128f8863d..6935e327b4c1580dae9fbf2279bde4af165f76ce 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4359,6 +4359,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4349,6 +4349,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.yRotO = this.getYRot(); } diff --git a/patches/server/0087-Crying-obsidian-valid-for-portal-frames.patch b/patches/server/0086-Crying-obsidian-valid-for-portal-frames.patch similarity index 96% rename from patches/server/0087-Crying-obsidian-valid-for-portal-frames.patch rename to patches/server/0086-Crying-obsidian-valid-for-portal-frames.patch index 68002cd70..1ecc6916a 100644 --- a/patches/server/0087-Crying-obsidian-valid-for-portal-frames.patch +++ b/patches/server/0086-Crying-obsidian-valid-for-portal-frames.patch @@ -18,7 +18,7 @@ index c461e0d04047db9c0c5ecc04063cebd38bf96ec2..e7554ec800f321e4e34c926c53f2375a private static final float SAFE_TRAVEL_MAX_ENTITY_XY = 4.0F; private static final double SAFE_TRAVEL_MAX_VERTICAL_DELTA = 1.0D; diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index db4c85cae58805cfa2a460e33a13e85abc8e593d..ba4dc732327e7661d39929dfa330a5b29cce9269 100644 +index e813c87f4cc90fd31a4a48fcfffbe2b4407e5f5d..6470f383b6f044877f0a4d8c91119d0eae451b8f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -212,6 +212,7 @@ public class PurpurConfig { diff --git a/patches/server/0088-Entities-can-use-portals-configuration.patch b/patches/server/0087-Entities-can-use-portals-configuration.patch similarity index 93% rename from patches/server/0088-Entities-can-use-portals-configuration.patch rename to patches/server/0087-Entities-can-use-portals-configuration.patch index e086b34a8..a1bdcabad 100644 --- a/patches/server/0088-Entities-can-use-portals-configuration.patch +++ b/patches/server/0087-Entities-can-use-portals-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5420075f774e2327d17ecbf6fd1afba0b96ff1f4..9be349874c40722f05ad5b81e62dcd0098acc7c4 100644 +index 6935e327b4c1580dae9fbf2279bde4af165f76ce..105b093cd0353a45197615e9fcdf06e72a0aad00 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3061,7 +3061,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3063,7 +3063,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index 5420075f774e2327d17ecbf6fd1afba0b96ff1f4..9be349874c40722f05ad5b81e62dcd00 if (!this.level().isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3762,7 +3762,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3764,7 +3764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean canChangeDimensions() { diff --git a/patches/server/0089-LivingEntity-broadcastItemBreak.patch b/patches/server/0088-LivingEntity-broadcastItemBreak.patch similarity index 100% rename from patches/server/0089-LivingEntity-broadcastItemBreak.patch rename to patches/server/0088-LivingEntity-broadcastItemBreak.patch diff --git a/patches/server/0090-Customizable-wither-health-and-healing.patch b/patches/server/0089-Customizable-wither-health-and-healing.patch similarity index 100% rename from patches/server/0090-Customizable-wither-health-and-healing.patch rename to patches/server/0089-Customizable-wither-health-and-healing.patch diff --git a/patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0090-Allow-toggling-special-MobSpawners-per-world.patch similarity index 100% rename from patches/server/0091-Allow-toggling-special-MobSpawners-per-world.patch rename to patches/server/0090-Allow-toggling-special-MobSpawners-per-world.patch diff --git a/patches/server/0092-Raid-cooldown-setting.patch b/patches/server/0091-Raid-cooldown-setting.patch similarity index 100% rename from patches/server/0092-Raid-cooldown-setting.patch rename to patches/server/0091-Raid-cooldown-setting.patch diff --git a/patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch b/patches/server/0092-Despawn-rate-config-options-per-projectile-type.patch similarity index 100% rename from patches/server/0093-Despawn-rate-config-options-per-projectile-type.patch rename to patches/server/0092-Despawn-rate-config-options-per-projectile-type.patch diff --git a/patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch b/patches/server/0093-Add-option-to-disable-zombie-aggressiveness-towards-.patch similarity index 100% rename from patches/server/0094-Add-option-to-disable-zombie-aggressiveness-towards-.patch rename to patches/server/0093-Add-option-to-disable-zombie-aggressiveness-towards-.patch diff --git a/patches/server/0095-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch b/patches/server/0094-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch similarity index 100% rename from patches/server/0095-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch rename to patches/server/0094-Add-predicate-to-recipe-s-ExactChoice-ingredient.patch diff --git a/patches/server/0096-Flying-squids-Oh-my.patch b/patches/server/0095-Flying-squids-Oh-my.patch similarity index 100% rename from patches/server/0096-Flying-squids-Oh-my.patch rename to patches/server/0095-Flying-squids-Oh-my.patch diff --git a/patches/server/0097-Infinity-bow-settings.patch b/patches/server/0096-Infinity-bow-settings.patch similarity index 100% rename from patches/server/0097-Infinity-bow-settings.patch rename to patches/server/0096-Infinity-bow-settings.patch diff --git a/patches/server/0098-Configurable-daylight-cycle.patch b/patches/server/0097-Configurable-daylight-cycle.patch similarity index 98% rename from patches/server/0098-Configurable-daylight-cycle.patch rename to patches/server/0097-Configurable-daylight-cycle.patch index 14a696ee9..e2baec408 100644 --- a/patches/server/0098-Configurable-daylight-cycle.patch +++ b/patches/server/0097-Configurable-daylight-cycle.patch @@ -18,7 +18,7 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { this.gameTime = time; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 977dd212701e981a92b6c72f31fdc590ff38633f..883619fc309917d0094905f91c400e4e8a8722b2 100644 +index 477248c492c326c5214d2ceb669366d7992ee52f..44e01ac1874d07d5348b53bb1af613b01606fef1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1533,7 +1533,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch b/patches/server/0105-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch similarity index 100% rename from patches/server/0106-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch rename to patches/server/0105-Set-name-visible-when-using-a-Name-Tag-on-an-Armor-S.patch diff --git a/patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0106-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 100% rename from patches/server/0107-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0106-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch diff --git a/patches/server/0108-Add-configurable-snowball-damage.patch b/patches/server/0107-Add-configurable-snowball-damage.patch similarity index 100% rename from patches/server/0108-Add-configurable-snowball-damage.patch rename to patches/server/0107-Add-configurable-snowball-damage.patch diff --git a/patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0108-Changeable-Mob-Left-Handed-Chance.patch similarity index 100% rename from patches/server/0109-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0108-Changeable-Mob-Left-Handed-Chance.patch diff --git a/patches/server/0110-Add-boat-fall-damage-config.patch b/patches/server/0109-Add-boat-fall-damage-config.patch similarity index 95% rename from patches/server/0110-Add-boat-fall-damage-config.patch rename to patches/server/0109-Add-boat-fall-damage-config.patch index e2da75b65..a0f47bf0d 100644 --- a/patches/server/0110-Add-boat-fall-damage-config.patch +++ b/patches/server/0109-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index beaabee17209cc3a94dcd3b4272a2f772a83752f..e0d3407c4e2bc94dc656f3a238d2667bb77e2019 100644 +index 8ed1a18cd1b33e1776dbf3b2294ab633f243daae..8419775b8c2c6c8d246d0011d81f540cd09cb403 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1112,7 +1112,16 @@ public class ServerPlayer extends Player { +@@ -1113,7 +1113,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0111-Snow-Golem-rate-of-fire-config.patch b/patches/server/0110-Snow-Golem-rate-of-fire-config.patch similarity index 100% rename from patches/server/0111-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0110-Snow-Golem-rate-of-fire-config.patch diff --git a/patches/server/0112-EMC-Configurable-disable-give-dropping.patch b/patches/server/0111-EMC-Configurable-disable-give-dropping.patch similarity index 95% rename from patches/server/0112-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0111-EMC-Configurable-disable-give-dropping.patch index 07d280b6c..f9d7076a4 100644 --- a/patches/server/0112-EMC-Configurable-disable-give-dropping.patch +++ b/patches/server/0111-EMC-Configurable-disable-give-dropping.patch @@ -20,7 +20,7 @@ index d601d287e94a59ff93b8a83a44dac02544d211df..0ff3b06a98b2f4514b2d861b92dd70fe itemstack1.setCount(1); entityitem = entityplayer.drop(itemstack1, false, false, false); // SPIGOT-2942: Add boolean to call event diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 4e303fc793bef67426308204d704b02960fc75b8..b1757cd2f828304ca7376eed6eea01f816b26550 100644 +index de1a9b08946005d1235264c7658b51bbdc2c47c2..aaf96399f937fbca30f1ce5d64be4af265a4ed29 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -209,6 +209,11 @@ public class PurpurConfig { diff --git a/patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0112-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 100% rename from patches/server/0113-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0112-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch diff --git a/patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0113-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 100% rename from patches/server/0114-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0113-Toggle-for-Zombified-Piglin-death-always-counting-as.patch diff --git a/patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0114-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 100% rename from patches/server/0115-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0114-Configurable-chance-for-wolves-to-spawn-rabid.patch diff --git a/patches/server/0116-Configurable-default-collar-color.patch b/patches/server/0115-Configurable-default-collar-color.patch similarity index 100% rename from patches/server/0116-Configurable-default-collar-color.patch rename to patches/server/0115-Configurable-default-collar-color.patch diff --git a/patches/server/0117-Phantom-flames-on-swoop.patch b/patches/server/0116-Phantom-flames-on-swoop.patch similarity index 100% rename from patches/server/0117-Phantom-flames-on-swoop.patch rename to patches/server/0116-Phantom-flames-on-swoop.patch diff --git a/patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0117-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 100% rename from patches/server/0118-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/server/0117-Option-for-chests-to-open-even-with-a-solid-block-on.patch diff --git a/patches/server/0119-Implement-TPSBar.patch b/patches/server/0118-Implement-TPSBar.patch similarity index 96% rename from patches/server/0119-Implement-TPSBar.patch rename to patches/server/0118-Implement-TPSBar.patch index 6b249f590..cd6da7ad4 100644 --- a/patches/server/0119-Implement-TPSBar.patch +++ b/patches/server/0118-Implement-TPSBar.patch @@ -17,7 +17,7 @@ index e5b1b6ad32c48a4ba13b4930954fad18669677ad..4e721dfca7559620d8ce65a6703f2089 if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 33db30876d45adabec7e3535ddb688659eee8d6e..a507c1fe296039bcf07e8fd564c9a4ec9ffb0c25 100644 +index 44e01ac1874d07d5348b53bb1af613b01606fef1..70c2ccc971600f856b90b2fb1b51cb2f51e21cdd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1023,6 +1023,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -559,6 +560,7 @@ public class ServerPlayer extends Player { +@@ -560,6 +561,7 @@ public class ServerPlayer extends Player { } } @@ -60,7 +60,7 @@ index 7e0bb25390f62b34375576da3e8c9dc3860e296f..6408bc1749c08fe5255c054bf4342e08 } @Override -@@ -625,6 +627,7 @@ public class ServerPlayer extends Player { +@@ -626,6 +628,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -68,7 +68,7 @@ index 7e0bb25390f62b34375576da3e8c9dc3860e296f..6408bc1749c08fe5255c054bf4342e08 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2792,5 +2795,13 @@ public class ServerPlayer extends Player { +@@ -2793,5 +2796,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().respawn(this, toLevel, true, to, !toLevel.paperConfig().environment.disableTeleportationSuffocationCheck, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH); } } @@ -83,10 +83,10 @@ index 7e0bb25390f62b34375576da3e8c9dc3860e296f..6408bc1749c08fe5255c054bf4342e08 // Purpur end } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a..d057f0f6755595fc5e1fce7ed09b1fc60906d9cb 100644 +index 9cecf7d3e2f860f9de5dd13a352d8d7ed6f95266..9a60fa370f37179a7460b316d26e601197b478c7 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -476,6 +476,7 @@ public abstract class PlayerList { +@@ -484,6 +484,7 @@ public abstract class PlayerList { scoreboard.addPlayerToTeam(player.getScoreboardName(), collideRuleTeam); } // Paper end @@ -94,7 +94,7 @@ index da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a..d057f0f6755595fc5e1fce7ed09b1fc6 // CraftBukkit - Moved from above, added world PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -585,6 +586,7 @@ public abstract class PlayerList { +@@ -593,6 +594,7 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { // Paper end @@ -103,7 +103,7 @@ index da3a4b30ea1fde75d616a0aaf7e85e4783a9f13a..d057f0f6755595fc5e1fce7ed09b1fc6 entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index b1757cd2f828304ca7376eed6eea01f816b26550..70db296b80b98b378917f68037420ae150e14adb 100644 +index aaf96399f937fbca30f1ce5d64be4af265a4ed29..61e3bce901bdbf111ffc06521b0e6d5369fce051 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -182,6 +182,7 @@ public class PurpurConfig { diff --git a/patches/server/0120-Striders-give-saddle-back.patch b/patches/server/0119-Striders-give-saddle-back.patch similarity index 100% rename from patches/server/0120-Striders-give-saddle-back.patch rename to patches/server/0119-Striders-give-saddle-back.patch diff --git a/patches/server/0121-PlayerBookTooLargeEvent.patch b/patches/server/0120-PlayerBookTooLargeEvent.patch similarity index 92% rename from patches/server/0121-PlayerBookTooLargeEvent.patch rename to patches/server/0120-PlayerBookTooLargeEvent.patch index 3487c2e8b..0a443fe91 100644 --- a/patches/server/0121-PlayerBookTooLargeEvent.patch +++ b/patches/server/0120-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 353d50dd927678618a8d7122d7f3ca0be2f39a64..2d747b24d25683d0b5e96a9eea06abd031f158e6 100644 +index 8126b1a67e62077c8a78f13deee767236665d7fa..6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1267,10 +1267,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1279,10 +1279,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int maxBookPageSize = io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.pageMax; double multiplier = Math.max(0.3D, Math.min(1D, io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index 353d50dd927678618a8d7122d7f3ca0be2f39a64..2d747b24d25683d0b5e96a9eea06abd0 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1294,6 +1296,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1306,6 +1308,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0121-Full-netherite-armor-grants-fire-resistance.patch similarity index 100% rename from patches/server/0122-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0121-Full-netherite-armor-grants-fire-resistance.patch diff --git a/patches/server/0123-Fix-rotating-UP-DOWN-CW-and-CCW.patch b/patches/server/0122-Fix-rotating-UP-DOWN-CW-and-CCW.patch similarity index 100% rename from patches/server/0123-Fix-rotating-UP-DOWN-CW-and-CCW.patch rename to patches/server/0122-Fix-rotating-UP-DOWN-CW-and-CCW.patch diff --git a/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0123-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 99% rename from patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0123-Add-mobGriefing-bypass-to-everything-affected.patch index 2c0ce8de2..f8e86874a 100644 --- a/patches/server/0124-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0123-Add-mobGriefing-bypass-to-everything-affected.patch @@ -131,7 +131,7 @@ index d3da7487f911ff791dca5f7b546dccda751fe44c..84e0a41620fd52af0cd22dc92fd13ee4 } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 81cf89bc57af0f43d05ba93256255155bf0c4d53..2b0aac1e4291549efa6391cb3b41492184c9aeda 100644 +index 3898653acb6127c88a94b5e7111a9cfecb2d136e..8f71c3b94ed17fd72e6bacce7d0a8e3943c37c36 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -612,7 +612,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -361,7 +361,7 @@ index 7e04ecba2a14be0f0d47c917368abd2a2bd64a05..5c944e39e611201c6ae4dad14511a54c } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java -index 1942649e868fc985a488034c411a6721595ecc67..7495e0e8beedad59fff24ebf189b58b307f7d796 100644 +index e53294e9c4bb3e832acbdc82bebc0df94523c7e4..86360fad47e4cda64b02ce4c8c0227649ed69a5d 100644 --- a/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TurtleEggBlock.java @@ -211,7 +211,7 @@ public class TurtleEggBlock extends Block { diff --git a/patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0124-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 100% rename from patches/server/0125-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0124-Config-to-allow-Note-Block-sounds-when-blocked.patch diff --git a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch b/patches/server/0125-Add-EntityTeleportHinderedEvent.patch similarity index 95% rename from patches/server/0126-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0125-Add-EntityTeleportHinderedEvent.patch index 959985b22..1c5b200a1 100644 --- a/patches/server/0126-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0125-Add-EntityTeleportHinderedEvent.patch @@ -55,10 +55,10 @@ index a6ab0d0defc05e56a91084c49897059670a1324b..2c085c4a154cb0f8a1d38453f43474a7 EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ())); world.getCraftServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index 678c4527ddc7032a07e7d74cc160ddcb8810abbf..c370461d434005dc5394053713e039d9f6395bb0 100644 +index 9717b37aef9f487502e696c209ae209ab3b8f000..7291e4056b8e46ab59b71818388ac55fbb12993f 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -@@ -179,6 +179,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { +@@ -178,6 +178,14 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { public static void teleportEntity(Level world, BlockPos pos, BlockState state, Entity entity, TheEndGatewayBlockEntity blockEntity) { if (world instanceof ServerLevel && !blockEntity.isCoolingDown()) { if (!entity.canChangeDimensions()) return; // Purpur @@ -74,7 +74,7 @@ index 678c4527ddc7032a07e7d74cc160ddcb8810abbf..c370461d434005dc5394053713e039d9 blockEntity.teleportCooldown = 100; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 489c6cf86508d3e143490bee02e6843a0cb42b86..604686e6a613e7674e0cf9bd3e54c46c6ed67d6b 100644 +index 912d9e4b3168cf89bd263ba63e049a791beefc90..283836981f5ed94dfc8999c3c5450213a1f2cfc1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -601,6 +601,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -89,10 +89,10 @@ index 489c6cf86508d3e143490bee02e6843a0cb42b86..604686e6a613e7674e0cf9bd3e54c46c } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e0094bc6aad713685840255cb036e8a9c905732e..c983872ee21ddf916e59ef50cff7d67b465374ee 100644 +index 9fb883b77c65ecc967d7f04c3adbd2e6b4465e55..a5b91ade9889ae8d90825c0ec1d3da085dfef966 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1347,6 +1347,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1348,6 +1348,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle() && !ignorePassengers) { // Paper - Teleport API diff --git a/patches/server/0127-Farmland-trampling-changes.patch b/patches/server/0126-Farmland-trampling-changes.patch similarity index 100% rename from patches/server/0127-Farmland-trampling-changes.patch rename to patches/server/0126-Farmland-trampling-changes.patch diff --git a/patches/server/0128-Movement-options-for-armor-stands.patch b/patches/server/0127-Movement-options-for-armor-stands.patch similarity index 96% rename from patches/server/0128-Movement-options-for-armor-stands.patch rename to patches/server/0127-Movement-options-for-armor-stands.patch index 70eb30db1..72a3ff6d2 100644 --- a/patches/server/0128-Movement-options-for-armor-stands.patch +++ b/patches/server/0127-Movement-options-for-armor-stands.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9be349874c40722f05ad5b81e62dcd0098acc7c4..d9a206106cc25be50d7d34cbe7031139a0d5ab83 100644 +index 105b093cd0353a45197615e9fcdf06e72a0aad00..e45f4570ef8334f319dcee39e2f343b91da62fce 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1874,7 +1874,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1876,7 +1876,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return this.isInWater() || flag; } diff --git a/patches/server/0129-Fix-stuck-in-portals.patch b/patches/server/0128-Fix-stuck-in-portals.patch similarity index 91% rename from patches/server/0129-Fix-stuck-in-portals.patch rename to patches/server/0128-Fix-stuck-in-portals.patch index f01ecb109..b8817852b 100644 --- a/patches/server/0129-Fix-stuck-in-portals.patch +++ b/patches/server/0128-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index acee9e7e636d2e65a3bf32bbf5aae5170687f4a4..c8c51b8365e5b0129c7cd925f759e4cefc11d021 100644 +index de7c199c0df87a1c1a0157328fa52351f74a0d3d..540c7b650deefa4a1a0e4f86650d9f3c56091566 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1271,6 +1271,7 @@ public class ServerPlayer extends Player { +@@ -1272,6 +1272,7 @@ public class ServerPlayer extends Player { playerlist.sendPlayerPermissionLevel(this); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); @@ -17,10 +17,10 @@ index acee9e7e636d2e65a3bf32bbf5aae5170687f4a4..c8c51b8365e5b0129c7cd925f759e4ce // CraftBukkit end this.setServerLevel(worldserver); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d9a206106cc25be50d7d34cbe7031139a0d5ab83..1dbbfd63d25597830146e40570051dfabe956901 100644 +index e45f4570ef8334f319dcee39e2f343b91da62fce..36e9b635f81f2799cd210075bced9e976a90a351 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3058,12 +3058,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3060,12 +3060,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0129-Toggle-for-water-sensitive-mob-damage.patch similarity index 99% rename from patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0129-Toggle-for-water-sensitive-mob-damage.patch index 885c74fcc..771daf822 100644 --- a/patches/server/0130-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0129-Toggle-for-water-sensitive-mob-damage.patch @@ -555,7 +555,7 @@ index cc821385394121dcd7a9f314fa34a3f540f113a6..063cdf8202af060b64a52b6af6fdf8fd return createBaseHorseAttributes().add(Attributes.MAX_HEALTH, 15.0D).add(Attributes.MOVEMENT_SPEED, (double)0.2F); } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 2b0aac1e4291549efa6391cb3b41492184c9aeda..f90b0ae4678da2ffa7d0a693003e05191d07f4bf 100644 +index 8f71c3b94ed17fd72e6bacce7d0a8e3943c37c36..9986dbe52ad38fcc0f642401a932428afc39c9f6 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -188,6 +188,11 @@ public class EnderDragon extends Mob implements Enemy { diff --git a/patches/server/0131-Config-to-always-tame-in-Creative.patch b/patches/server/0130-Config-to-always-tame-in-Creative.patch similarity index 100% rename from patches/server/0131-Config-to-always-tame-in-Creative.patch rename to patches/server/0130-Config-to-always-tame-in-Creative.patch diff --git a/patches/server/0132-End-crystal-explosion-options.patch b/patches/server/0131-End-crystal-explosion-options.patch similarity index 100% rename from patches/server/0132-End-crystal-explosion-options.patch rename to patches/server/0131-End-crystal-explosion-options.patch diff --git a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0132-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 96% rename from patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/server/0132-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 8d5b616e0..d6293afa2 100644 --- a/patches/server/0133-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0132-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configs for if Wither/Ender Dragon can ride vehicles diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index f90b0ae4678da2ffa7d0a693003e05191d07f4bf..8a8895abe609b3be02aa896c40e4a2a240fd86f3 100644 +index 9986dbe52ad38fcc0f642401a932428afc39c9f6..a907930813b0a3176354b4b307576d9ff3b0c5ca 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -@@ -1187,6 +1187,7 @@ public class EnderDragon extends Mob implements Enemy { +@@ -1196,6 +1196,7 @@ public class EnderDragon extends Mob implements Enemy { @Override protected boolean canRide(Entity entity) { diff --git a/patches/server/0134-Dont-run-with-scissors.patch b/patches/server/0133-Dont-run-with-scissors.patch similarity index 96% rename from patches/server/0134-Dont-run-with-scissors.patch rename to patches/server/0133-Dont-run-with-scissors.patch index 48be07091..935c2c126 100644 --- a/patches/server/0134-Dont-run-with-scissors.patch +++ b/patches/server/0133-Dont-run-with-scissors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2f21faf5484eb893560e15f68b58dc4138e1554c..3df9f6e0f8004ba329d32de2547174dc9bfe084b 100644 +index 6c5b0d1d8fe7fae29dc1ed449e0412c9f449acf9..7ac39b9f7a0afabe4a6fde954a85f0d4f53a01df 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1729,6 +1729,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1741,6 +1741,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetFallDistance(); } @@ -22,7 +22,7 @@ index 2f21faf5484eb893560e15f68b58dc4138e1554c..3df9f6e0f8004ba329d32de2547174dc this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1773,6 +1780,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1785,6 +1792,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper end - optimise out extra getCubes @@ -82,7 +82,7 @@ index 4604f8b38460e9113e966889a679d4547f24aff6..813916852774d6482791989252ecb67b + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 04c8fb96bf347469ab9a0934cc50b7e06767a0ae..d5fb09b5f0f6a72addaa6a3053fa29b47535ca27 100644 +index 61e3bce901bdbf111ffc06521b0e6d5369fce051..ea9d99990b718beaef4bee3ff75340656f3c76c5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -183,6 +183,7 @@ public class PurpurConfig { diff --git a/patches/server/0135-One-Punch-Man.patch b/patches/server/0134-One-Punch-Man.patch similarity index 100% rename from patches/server/0135-One-Punch-Man.patch rename to patches/server/0134-One-Punch-Man.patch diff --git a/patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0135-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 100% rename from patches/server/0136-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/server/0135-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch diff --git a/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0136-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 93% rename from patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/server/0136-Config-to-ignore-nearby-mobs-when-sleeping.patch index 95b61a9f3..cfbad9547 100644 --- a/patches/server/0137-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0136-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c8c51b8365e5b0129c7cd925f759e4cefc11d021..6604c6d7da7867da29054d5dd003eb2b19efa051 100644 +index 540c7b650deefa4a1a0e4f86650d9f3c56091566..ea7a533546c53539355ea1501b027399e6ba1bd8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1430,7 +1430,7 @@ public class ServerPlayer extends Player { +@@ -1431,7 +1431,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest(this); }); diff --git a/patches/server/0138-Add-back-player-spawned-endermite-API.patch b/patches/server/0137-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/server/0138-Add-back-player-spawned-endermite-API.patch rename to patches/server/0137-Add-back-player-spawned-endermite-API.patch diff --git a/patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0138-Config-Enderman-aggressiveness-towards-Endermites.patch similarity index 100% rename from patches/server/0139-Config-Enderman-aggressiveness-towards-Endermites.patch rename to patches/server/0138-Config-Enderman-aggressiveness-towards-Endermites.patch diff --git a/patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0139-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 100% rename from patches/server/0140-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/server/0139-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch diff --git a/patches/server/0141-Tick-fluids-config.patch b/patches/server/0140-Tick-fluids-config.patch similarity index 100% rename from patches/server/0141-Tick-fluids-config.patch rename to patches/server/0140-Tick-fluids-config.patch diff --git a/patches/server/0142-Config-to-disable-Llama-caravans.patch b/patches/server/0141-Config-to-disable-Llama-caravans.patch similarity index 100% rename from patches/server/0142-Config-to-disable-Llama-caravans.patch rename to patches/server/0141-Config-to-disable-Llama-caravans.patch diff --git a/patches/server/0143-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0142-Config-to-make-Creepers-explode-on-death.patch similarity index 100% rename from patches/server/0143-Config-to-make-Creepers-explode-on-death.patch rename to patches/server/0142-Config-to-make-Creepers-explode-on-death.patch diff --git a/patches/server/0144-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0143-Configurable-ravager-griefable-blocks-list.patch similarity index 100% rename from patches/server/0144-Configurable-ravager-griefable-blocks-list.patch rename to patches/server/0143-Configurable-ravager-griefable-blocks-list.patch diff --git a/patches/server/0145-Sneak-to-bulk-process-composter.patch b/patches/server/0144-Sneak-to-bulk-process-composter.patch similarity index 98% rename from patches/server/0145-Sneak-to-bulk-process-composter.patch rename to patches/server/0144-Sneak-to-bulk-process-composter.patch index ec6f65461..f5a12925f 100644 --- a/patches/server/0145-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0144-Sneak-to-bulk-process-composter.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Sneak to bulk process composter diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index baf3e79489e310f443788bc917c553ae7ea86c89..278c12a450bbeef6f42af7bcf25da42a748ee607 100644 +index 618ab9a2903f6d4139acd4aaa2e6db0a26e88ba9..26f78343b5ecaafc3252654848c21a5405379c0e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -578,7 +578,7 @@ public class ServerPlayerGameMode { diff --git a/patches/server/0146-Config-for-skipping-night.patch b/patches/server/0145-Config-for-skipping-night.patch similarity index 100% rename from patches/server/0146-Config-for-skipping-night.patch rename to patches/server/0145-Config-for-skipping-night.patch diff --git a/patches/server/0147-Add-config-for-villager-trading.patch b/patches/server/0146-Add-config-for-villager-trading.patch similarity index 100% rename from patches/server/0147-Add-config-for-villager-trading.patch rename to patches/server/0146-Add-config-for-villager-trading.patch diff --git a/patches/server/0148-Allow-infinity-on-crossbows.patch b/patches/server/0147-Allow-infinity-on-crossbows.patch similarity index 98% rename from patches/server/0148-Allow-infinity-on-crossbows.patch rename to patches/server/0147-Allow-infinity-on-crossbows.patch index ee9c64fda..d41d1c95a 100644 --- a/patches/server/0148-Allow-infinity-on-crossbows.patch +++ b/patches/server/0147-Allow-infinity-on-crossbows.patch @@ -77,7 +77,7 @@ index 3d0ce0803e1da8a2681a3cb41096ac942ece54a1..bcd075a771c7f43c6d1549aeec2ccb20 return null; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 9753aa00f70365ea4e3402cee89fe96b9f2aa6f5..872018367a51547faf1328c5d98174e10e0655ae 100644 +index ea9d99990b718beaef4bee3ff75340656f3c76c5..55963ed03a2e552636035b498cf7441bd4c3ee59 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -284,6 +284,7 @@ public class PurpurConfig { diff --git a/patches/server/0149-Drowning-Settings.patch b/patches/server/0148-Drowning-Settings.patch similarity index 95% rename from patches/server/0149-Drowning-Settings.patch rename to patches/server/0148-Drowning-Settings.patch index 0e2ddb624..39028e93c 100644 --- a/patches/server/0149-Drowning-Settings.patch +++ b/patches/server/0148-Drowning-Settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Drowning Settings diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1dbbfd63d25597830146e40570051dfabe956901..c25cc8cf60906df57e2f87d531c0d5771b8a8d37 100644 +index 36e9b635f81f2799cd210075bced9e976a90a351..dbd61da31192896ced9839cf8a3b123a6625ae60 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3303,7 +3303,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3305,7 +3305,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public int getMaxAirSupply() { diff --git a/patches/server/0150-Break-individual-slabs-when-sneaking.patch b/patches/server/0149-Break-individual-slabs-when-sneaking.patch similarity index 97% rename from patches/server/0150-Break-individual-slabs-when-sneaking.patch rename to patches/server/0149-Break-individual-slabs-when-sneaking.patch index 4ec509ede..d302f347c 100644 --- a/patches/server/0150-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0149-Break-individual-slabs-when-sneaking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Break individual slabs when sneaking diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 278c12a450bbeef6f42af7bcf25da42a748ee607..72fa3a9058bac4769c0b7b27fa988cc9b06f3e75 100644 +index 26f78343b5ecaafc3252654848c21a5405379c0e..b9e9f20842274024dd1e2a0253666002c914a2b2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -398,6 +398,7 @@ public class ServerPlayerGameMode { diff --git a/patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0150-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 100% rename from patches/server/0151-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/server/0150-Config-to-disable-hostile-mob-spawn-on-ice.patch diff --git a/patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0151-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 100% rename from patches/server/0152-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/server/0151-Config-to-show-Armor-Stand-arms-on-spawn.patch diff --git a/patches/server/0153-Option-to-make-doors-require-redstone.patch b/patches/server/0152-Option-to-make-doors-require-redstone.patch similarity index 100% rename from patches/server/0153-Option-to-make-doors-require-redstone.patch rename to patches/server/0152-Option-to-make-doors-require-redstone.patch diff --git a/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0153-Config-to-allow-for-unsafe-enchants.patch similarity index 98% rename from patches/server/0154-Config-to-allow-for-unsafe-enchants.patch rename to patches/server/0153-Config-to-allow-for-unsafe-enchants.patch index 0668359a0..c6170a1de 100644 --- a/patches/server/0154-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0153-Config-to-allow-for-unsafe-enchants.patch @@ -87,7 +87,7 @@ index 33548cd10758f3cc891c40d760b9e0a86dc8a2cb..a7909c60a17ab004ab8f6cd39abb2118 this.getOrCreateTag().put(key, element); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 872018367a51547faf1328c5d98174e10e0655ae..e4dcc7f73f828e57eb00538f43aae99ded1be8ef 100644 +index 55963ed03a2e552636035b498cf7441bd4c3ee59..0ebd43cf4163e2f3b06d1f6475421c03e08a1bd5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -285,14 +285,32 @@ public class PurpurConfig { diff --git a/patches/server/0155-Configurable-sponge-absorption.patch b/patches/server/0154-Configurable-sponge-absorption.patch similarity index 100% rename from patches/server/0155-Configurable-sponge-absorption.patch rename to patches/server/0154-Configurable-sponge-absorption.patch diff --git a/patches/server/0156-Projectile-offset-config.patch b/patches/server/0155-Projectile-offset-config.patch similarity index 100% rename from patches/server/0156-Projectile-offset-config.patch rename to patches/server/0155-Projectile-offset-config.patch diff --git a/patches/server/0157-Config-for-powered-rail-activation-distance.patch b/patches/server/0156-Config-for-powered-rail-activation-distance.patch similarity index 100% rename from patches/server/0157-Config-for-powered-rail-activation-distance.patch rename to patches/server/0156-Config-for-powered-rail-activation-distance.patch diff --git a/patches/server/0158-Piglin-portal-spawn-modifier.patch b/patches/server/0157-Piglin-portal-spawn-modifier.patch similarity index 100% rename from patches/server/0158-Piglin-portal-spawn-modifier.patch rename to patches/server/0157-Piglin-portal-spawn-modifier.patch diff --git a/patches/server/0159-Config-to-change-max-number-of-bees.patch b/patches/server/0158-Config-to-change-max-number-of-bees.patch similarity index 96% rename from patches/server/0159-Config-to-change-max-number-of-bees.patch rename to patches/server/0158-Config-to-change-max-number-of-bees.patch index e9f135702..80aeb3a34 100644 --- a/patches/server/0159-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0158-Config-to-change-max-number-of-bees.patch @@ -18,7 +18,7 @@ index 41c9f074203915c31c1ae7a160ce509c13383f84..a16a1df28258d605cf5908dbe19bda5d public BeehiveBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.BEEHIVE, pos, state); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 80f47a113b48670695a5ffe67dd6e0f800970e1e..606b5842888a0089103a36367664533fbfedd8f9 100644 +index 0ebd43cf4163e2f3b06d1f6475421c03e08a1bd5..a212357e968393f4d303364e63092defad3d7835 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -250,6 +250,7 @@ public class PurpurConfig { diff --git a/patches/server/0160-Config-for-wither-explosion-radius.patch b/patches/server/0159-Config-for-wither-explosion-radius.patch similarity index 100% rename from patches/server/0160-Config-for-wither-explosion-radius.patch rename to patches/server/0159-Config-for-wither-explosion-radius.patch diff --git a/patches/server/0161-Gamemode-extra-permissions.patch b/patches/server/0160-Gamemode-extra-permissions.patch similarity index 98% rename from patches/server/0161-Gamemode-extra-permissions.patch rename to patches/server/0160-Gamemode-extra-permissions.patch index 92c83072c..4e0ffa0e6 100644 --- a/patches/server/0161-Gamemode-extra-permissions.patch +++ b/patches/server/0160-Gamemode-extra-permissions.patch @@ -75,7 +75,7 @@ index 2959f713ce75a1df9c6c7cf5e021690cfcb6e1e7..3fa9539cfb2c35beeba6d44fa05cee97 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "seed", "Allows the user to view the seed of the world", PermissionDefault.OP, commands); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 3fd5c979e8f416146b2649a52076cca1f62694e3..afae2931a7371037d192135b0d279e756640056f 100644 +index a212357e968393f4d303364e63092defad3d7835..3d0fc534454cd8b543e4fa55aa9dfe1e55ee1b49 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -233,6 +233,7 @@ public class PurpurConfig { diff --git a/patches/server/0162-Configurable-piston-push-limit.patch b/patches/server/0161-Configurable-piston-push-limit.patch similarity index 100% rename from patches/server/0162-Configurable-piston-push-limit.patch rename to patches/server/0161-Configurable-piston-push-limit.patch diff --git a/patches/server/0163-Configurable-broadcast-settings.patch b/patches/server/0162-Configurable-broadcast-settings.patch similarity index 93% rename from patches/server/0163-Configurable-broadcast-settings.patch rename to patches/server/0162-Configurable-broadcast-settings.patch index f0750fc8d..64196d579 100644 --- a/patches/server/0163-Configurable-broadcast-settings.patch +++ b/patches/server/0162-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index 52891c4a4260d1938f2f4565b5219ad303555638..69d349613f01ab0ac1890734657da529 // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6604c6d7da7867da29054d5dd003eb2b19efa051..11ab2af40c1fc9fe3d69ab344a215cc140dd061a 100644 +index ea7a533546c53539355ea1501b027399e6ba1bd8..784634596696521cfbd58e85392183dd96b843b0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1003,6 +1003,7 @@ public class ServerPlayer extends Player { +@@ -1004,6 +1004,7 @@ public class ServerPlayer extends Player { })); Team scoreboardteambase = this.getTeam(); @@ -29,7 +29,7 @@ index 6604c6d7da7867da29054d5dd003eb2b19efa051..11ab2af40c1fc9fe3d69ab344a215cc1 if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastSystemToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6b3c9825cf4c8af63a5d39a68796def8c1cb9fa2..37c4963bd410b7bab5824bdbcb7fca1970474386 100644 +index 3d0fc534454cd8b543e4fa55aa9dfe1e55ee1b49..6420f7043f7f88eef90051db9af8c6567945c553 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -203,6 +203,18 @@ public class PurpurConfig { diff --git a/patches/server/0164-Configurable-mob-blindness.patch b/patches/server/0163-Configurable-mob-blindness.patch similarity index 100% rename from patches/server/0164-Configurable-mob-blindness.patch rename to patches/server/0163-Configurable-mob-blindness.patch diff --git a/patches/server/0165-Hide-hidden-players-from-entity-selector.patch b/patches/server/0164-Hide-hidden-players-from-entity-selector.patch similarity index 98% rename from patches/server/0165-Hide-hidden-players-from-entity-selector.patch rename to patches/server/0164-Hide-hidden-players-from-entity-selector.patch index 4fad14bb7..cc4803150 100644 --- a/patches/server/0165-Hide-hidden-players-from-entity-selector.patch +++ b/patches/server/0164-Hide-hidden-players-from-entity-selector.patch @@ -59,7 +59,7 @@ index f25b9330e068c7d9e12cb57a7761cfef9ebaf7bc..7e66aaa960ce7b6dda7c064d4c6856cc + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 37c4963bd410b7bab5824bdbcb7fca1970474386..a0392847e277f6569661fbe40dbddb9e44b80724 100644 +index 6420f7043f7f88eef90051db9af8c6567945c553..3efda1177f3141851f8f1580b462e3a839303845 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -246,6 +246,7 @@ public class PurpurConfig { diff --git a/patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 100% rename from patches/server/0166-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/server/0165-Config-for-health-to-impact-Creeper-explosion-radius.patch diff --git a/patches/server/0167-Iron-golem-calm-anger-options.patch b/patches/server/0166-Iron-golem-calm-anger-options.patch similarity index 100% rename from patches/server/0167-Iron-golem-calm-anger-options.patch rename to patches/server/0166-Iron-golem-calm-anger-options.patch diff --git a/patches/server/0168-Breedable-parrots.patch b/patches/server/0167-Breedable-parrots.patch similarity index 100% rename from patches/server/0168-Breedable-parrots.patch rename to patches/server/0167-Breedable-parrots.patch diff --git a/patches/server/0169-Configurable-powered-rail-boost-modifier.patch b/patches/server/0168-Configurable-powered-rail-boost-modifier.patch similarity index 100% rename from patches/server/0169-Configurable-powered-rail-boost-modifier.patch rename to patches/server/0168-Configurable-powered-rail-boost-modifier.patch diff --git a/patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0169-Add-config-change-multiplier-critical-damage-value.patch similarity index 100% rename from patches/server/0170-Add-config-change-multiplier-critical-damage-value.patch rename to patches/server/0169-Add-config-change-multiplier-critical-damage-value.patch diff --git a/patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0170-Option-to-disable-dragon-egg-teleporting.patch similarity index 100% rename from patches/server/0171-Option-to-disable-dragon-egg-teleporting.patch rename to patches/server/0170-Option-to-disable-dragon-egg-teleporting.patch diff --git a/patches/server/0172-Config-for-unverified-username-message.patch b/patches/server/0171-Config-for-unverified-username-message.patch similarity index 97% rename from patches/server/0172-Config-for-unverified-username-message.patch rename to patches/server/0171-Config-for-unverified-username-message.patch index 6a00e729b..aaab688c2 100644 --- a/patches/server/0172-Config-for-unverified-username-message.patch +++ b/patches/server/0171-Config-for-unverified-username-message.patch @@ -18,7 +18,7 @@ index 878001928327d92423d5f7f6d5ce8772d6fa477f..b4b88a3d4dc66c44ca8f3bad1025c17a } } catch (AuthenticationUnavailableException authenticationunavailableexception) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index a0392847e277f6569661fbe40dbddb9e44b80724..d3ea2429fd40fda625fb3e220614f119382f4f54 100644 +index 3efda1177f3141851f8f1580b462e3a839303845..566e71e92f7bc58dc6c5518c91cbd07dd157cb12 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -184,6 +184,7 @@ public class PurpurConfig { diff --git a/patches/server/0173-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0172-Make-anvil-cumulative-cost-configurable.patch similarity index 95% rename from patches/server/0173-Make-anvil-cumulative-cost-configurable.patch rename to patches/server/0172-Make-anvil-cumulative-cost-configurable.patch index 56105ae6d..721f5f3ba 100644 --- a/patches/server/0173-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0172-Make-anvil-cumulative-cost-configurable.patch @@ -18,7 +18,7 @@ index 29ba769c5f803ce2dc5285e65284febf9ee28eb2..cb4a1cd39f12d90d30dd95efa2de58f5 public boolean setItemName(String newItemName) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d3ea2429fd40fda625fb3e220614f119382f4f54..11ff96c11c318c57c45b5f234f491fa6717ee635 100644 +index 566e71e92f7bc58dc6c5518c91cbd07dd157cb12..2aaa4cff8d02c35bfe194b548027be904e1cf982 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -269,6 +269,7 @@ public class PurpurConfig { diff --git a/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0173-ShulkerBox-allow-oversized-stacks.patch similarity index 97% rename from patches/server/0174-ShulkerBox-allow-oversized-stacks.patch rename to patches/server/0173-ShulkerBox-allow-oversized-stacks.patch index c1bb64257..b229d4ffd 100644 --- a/patches/server/0174-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0173-ShulkerBox-allow-oversized-stacks.patch @@ -9,7 +9,7 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for creative players) instead of routing it through the LootableBuilder. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 72fa3a9058bac4769c0b7b27fa988cc9b06f3e75..027bac5687a60ab43ef527a125c5fa27798a4943 100644 +index b9e9f20842274024dd1e2a0253666002c914a2b2..1e0d07949e8b4450a400625a23d386024192eef1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -429,7 +429,7 @@ public class ServerPlayerGameMode { diff --git a/patches/server/0175-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0174-Bee-can-work-when-raining-or-at-night.patch similarity index 100% rename from patches/server/0175-Bee-can-work-when-raining-or-at-night.patch rename to patches/server/0174-Bee-can-work-when-raining-or-at-night.patch diff --git a/patches/server/0176-API-for-any-mob-to-burn-daylight.patch b/patches/server/0175-API-for-any-mob-to-burn-daylight.patch similarity index 98% rename from patches/server/0176-API-for-any-mob-to-burn-daylight.patch rename to patches/server/0175-API-for-any-mob-to-burn-daylight.patch index 5ef4613f2..ea8bfba01 100644 --- a/patches/server/0176-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0175-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c25cc8cf60906df57e2f87d531c0d5771b8a8d37..fec109ee35c036f96be3cf19c65bb79d28bfb9f6 100644 +index dbd61da31192896ced9839cf8a3b123a6625ae60..68be1bb59c7e5176c82ed128be5296a2511212ec 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -496,6 +496,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -497,6 +497,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return true; } @@ -353,7 +353,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113 // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 604686e6a613e7674e0cf9bd3e54c46c6ed67d6b..eedd41c86e54eb3e6e497c9ad47d6b003bd69f1b 100644 +index 283836981f5ed94dfc8999c3c5450213a1f2cfc1..feeca8d318fa0b7b22e728baa3bf3269d42bf0a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -224,6 +224,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0177-Config-MobEffect-by-world.patch b/patches/server/0176-Config-MobEffect-by-world.patch similarity index 100% rename from patches/server/0177-Config-MobEffect-by-world.patch rename to patches/server/0176-Config-MobEffect-by-world.patch diff --git a/patches/server/0178-Beacon-Activation-Range-Configurable.patch b/patches/server/0177-Beacon-Activation-Range-Configurable.patch similarity index 100% rename from patches/server/0178-Beacon-Activation-Range-Configurable.patch rename to patches/server/0177-Beacon-Activation-Range-Configurable.patch diff --git a/patches/server/0179-Add-toggle-for-sand-duping-fix.patch b/patches/server/0178-Add-toggle-for-sand-duping-fix.patch similarity index 100% rename from patches/server/0179-Add-toggle-for-sand-duping-fix.patch rename to patches/server/0178-Add-toggle-for-sand-duping-fix.patch diff --git a/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0179-Add-toggle-for-end-portal-safe-teleporting.patch similarity index 95% rename from patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch rename to patches/server/0179-Add-toggle-for-end-portal-safe-teleporting.patch index 447bf8d56..bdfe517bc 100644 --- a/patches/server/0180-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0179-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 fec109ee35c036f96be3cf19c65bb79d28bfb9f6..9e3eadf780cca5ef01b6c0c50e18a8cda8346a36 100644 +index 68be1bb59c7e5176c82ed128be5296a2511212ec..c99d273b8d686872d5699e4490769786951256e1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3132,7 +3132,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3134,7 +3134,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); diff --git a/patches/server/0181-Make-lightning-rod-range-configurable.patch b/patches/server/0180-Make-lightning-rod-range-configurable.patch similarity index 96% rename from patches/server/0181-Make-lightning-rod-range-configurable.patch rename to patches/server/0180-Make-lightning-rod-range-configurable.patch index 8b7ed732d..ded4440c8 100644 --- a/patches/server/0181-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0180-Make-lightning-rod-range-configurable.patch @@ -18,7 +18,7 @@ index 49c412f46854ee877de1721b08629e8a3cd319f9..fea5481c98e4cbcaecb9f4adef35b734 return optional.map((blockposition1) -> { return blockposition1.above(1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 11ff96c11c318c57c45b5f234f491fa6717ee635..4494d0912579475a6de71ae4290eb2e7c372b94a 100644 +index 2aaa4cff8d02c35bfe194b548027be904e1cf982..6919c6779e54526b7666eb6b21556b7b752bf053 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -270,6 +270,7 @@ public class PurpurConfig { diff --git a/patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch b/patches/server/0181-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch similarity index 100% rename from patches/server/0182-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch rename to patches/server/0181-Burp-delay-burp-after-eating-food-fills-hunger-bar-c.patch diff --git a/patches/server/0183-Allow-player-join-full-server-by-permission.patch b/patches/server/0182-Allow-player-join-full-server-by-permission.patch similarity index 89% rename from patches/server/0183-Allow-player-join-full-server-by-permission.patch rename to patches/server/0182-Allow-player-join-full-server-by-permission.patch index d2f821ed2..a708631be 100644 --- a/patches/server/0183-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0182-Allow-player-join-full-server-by-permission.patch @@ -5,10 +5,10 @@ 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 3701c536e7b020a9943cb4063dcc3ba94a5d1051..1168e6daa5131af577e4b51008696af8cf24caca 100644 +index 9a60fa370f37179a7460b316d26e601197b478c7..43fdebcd107a7ca08b93de1d649b4d5e6acf5e81 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -741,7 +741,7 @@ public abstract class PlayerList { +@@ -749,7 +749,7 @@ public abstract class PlayerList { event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure } else { // return this.players.size() >= this.maxPlayers && !this.canBypassPlayerLimit(gameprofile) ? IChatBaseComponent.translatable("multiplayer.disconnect.server_full") : null; diff --git a/patches/server/0184-Add-portal-waiting-option-permission-bypass.patch b/patches/server/0183-Add-portal-waiting-option-permission-bypass.patch similarity index 100% rename from patches/server/0184-Add-portal-waiting-option-permission-bypass.patch rename to patches/server/0183-Add-portal-waiting-option-permission-bypass.patch diff --git a/patches/server/0185-Shulker-spawn-from-bullet-options.patch b/patches/server/0184-Shulker-spawn-from-bullet-options.patch similarity index 100% rename from patches/server/0185-Shulker-spawn-from-bullet-options.patch rename to patches/server/0184-Shulker-spawn-from-bullet-options.patch diff --git a/patches/server/0186-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0185-Eating-glow-berries-adds-glow-effect.patch similarity index 100% rename from patches/server/0186-Eating-glow-berries-adds-glow-effect.patch rename to patches/server/0185-Eating-glow-berries-adds-glow-effect.patch diff --git a/patches/server/0187-Option-to-make-drowned-break-doors.patch b/patches/server/0186-Option-to-make-drowned-break-doors.patch similarity index 100% rename from patches/server/0187-Option-to-make-drowned-break-doors.patch rename to patches/server/0186-Option-to-make-drowned-break-doors.patch diff --git a/patches/server/0188-Configurable-hunger-starvation-damage.patch b/patches/server/0187-Configurable-hunger-starvation-damage.patch similarity index 100% rename from patches/server/0188-Configurable-hunger-starvation-damage.patch rename to patches/server/0187-Configurable-hunger-starvation-damage.patch diff --git a/patches/server/0189-Enhance-SysoutCatcher.patch b/patches/server/0188-Enhance-SysoutCatcher.patch similarity index 100% rename from patches/server/0189-Enhance-SysoutCatcher.patch rename to patches/server/0188-Enhance-SysoutCatcher.patch diff --git a/patches/server/0190-Add-uptime-command.patch b/patches/server/0189-Add-uptime-command.patch similarity index 97% rename from patches/server/0190-Add-uptime-command.patch rename to patches/server/0189-Add-uptime-command.patch index dd5c754bf..1d2350db3 100644 --- a/patches/server/0190-Add-uptime-command.patch +++ b/patches/server/0189-Add-uptime-command.patch @@ -17,7 +17,7 @@ index 4e721dfca7559620d8ce65a6703f2089a839f4a0..7aae9e3c60ba15b8dcd8174a4d70866e } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7f3bed76a2991e438bdc7b44048a73a199ca4ae6..7d3ef7134a30a646f17978aee2b61a11e14b53b6 100644 +index 70c2ccc971600f856b90b2fb1b51cb2f51e21cdd..f814bb61cb6981202db1a04ef3c114afb0aa55ee 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -294,6 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; -@@ -561,6 +562,7 @@ public class ServerPlayer extends Player { +@@ -562,6 +563,7 @@ public class ServerPlayer extends Player { } if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur @@ -36,7 +36,7 @@ index 11ab2af40c1fc9fe3d69ab344a215cc140dd061a..83541ef2f3c27e13ebf244b056d2f40e } @Override -@@ -628,6 +630,7 @@ public class ServerPlayer extends Player { +@@ -629,6 +631,7 @@ public class ServerPlayer extends Player { this.getBukkitEntity().setExtraData(nbt); // CraftBukkit nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur @@ -44,7 +44,7 @@ index 11ab2af40c1fc9fe3d69ab344a215cc140dd061a..83541ef2f3c27e13ebf244b056d2f40e } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2805,5 +2808,13 @@ public class ServerPlayer extends Player { +@@ -2806,5 +2809,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } @@ -59,7 +59,7 @@ index 11ab2af40c1fc9fe3d69ab344a215cc140dd061a..83541ef2f3c27e13ebf244b056d2f40e // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 0e0024e235ce0ffbb54893ff250f61061d4ebe1f..83ba390660a083b936851d66c9566ab2d100c71a 100644 +index 34eae29ed89a32bed6777b514e6beed2cb3cd177..90a72821a61dc00fbac9efac3d1cc3fb3ed72f22 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -253,6 +253,11 @@ public class PurpurConfig { diff --git a/patches/server/0200-Toggle-for-kinetic-damage.patch b/patches/server/0199-Toggle-for-kinetic-damage.patch similarity index 100% rename from patches/server/0200-Toggle-for-kinetic-damage.patch rename to patches/server/0199-Toggle-for-kinetic-damage.patch diff --git a/patches/server/0201-Add-Option-for-disable-observer-clocks.patch b/patches/server/0200-Add-Option-for-disable-observer-clocks.patch similarity index 100% rename from patches/server/0201-Add-Option-for-disable-observer-clocks.patch rename to patches/server/0200-Add-Option-for-disable-observer-clocks.patch diff --git a/patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0201-Customizeable-Zombie-Villager-curing-times.patch similarity index 100% rename from patches/server/0202-Customizeable-Zombie-Villager-curing-times.patch rename to patches/server/0201-Customizeable-Zombie-Villager-curing-times.patch diff --git a/patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch b/patches/server/0202-Option-for-sponges-to-work-on-lava-and-mud.patch similarity index 100% rename from patches/server/0203-Option-for-sponges-to-work-on-lava-and-mud.patch rename to patches/server/0202-Option-for-sponges-to-work-on-lava-and-mud.patch diff --git a/patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0203-Toggle-for-Wither-s-spawn-sound.patch similarity index 100% rename from patches/server/0204-Toggle-for-Wither-s-spawn-sound.patch rename to patches/server/0203-Toggle-for-Wither-s-spawn-sound.patch diff --git a/patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0204-Cactus-breaks-from-solid-neighbors-config.patch similarity index 100% rename from patches/server/0205-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/server/0204-Cactus-breaks-from-solid-neighbors-config.patch diff --git a/patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0205-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 100% rename from patches/server/0206-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0205-Config-to-remove-curse-of-binding-with-weakness.patch diff --git a/patches/server/0207-Conduit-behavior-configuration.patch b/patches/server/0206-Conduit-behavior-configuration.patch similarity index 100% rename from patches/server/0207-Conduit-behavior-configuration.patch rename to patches/server/0206-Conduit-behavior-configuration.patch diff --git a/patches/server/0208-Cauldron-fill-chances.patch b/patches/server/0207-Cauldron-fill-chances.patch similarity index 100% rename from patches/server/0208-Cauldron-fill-chances.patch rename to patches/server/0207-Cauldron-fill-chances.patch diff --git a/patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0208-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 100% rename from patches/server/0209-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0208-Config-to-allow-mobs-to-pathfind-over-rails.patch diff --git a/patches/server/0210-Shulker-change-color-with-dye.patch b/patches/server/0209-Shulker-change-color-with-dye.patch similarity index 100% rename from patches/server/0210-Shulker-change-color-with-dye.patch rename to patches/server/0209-Shulker-change-color-with-dye.patch diff --git a/patches/server/0211-Extended-OfflinePlayer-API.patch b/patches/server/0210-Extended-OfflinePlayer-API.patch similarity index 98% rename from patches/server/0211-Extended-OfflinePlayer-API.patch rename to patches/server/0210-Extended-OfflinePlayer-API.patch index 5773fb3b4..91e192648 100644 --- a/patches/server/0211-Extended-OfflinePlayer-API.patch +++ b/patches/server/0210-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index c6129dc565b8f874b73e2fefcabd4be1c221fd73..07050f97621c0cb68b48bf39fb9c9067 + // 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 c983872ee21ddf916e59ef50cff7d67b465374ee..6eb9869edfcbe134068cb036899b7f14f088b6c3 100644 +index a5b91ade9889ae8d90825c0ec1d3da085dfef966..88ddea147bb9e0f5e3805dee8f3c112496328de1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2460,6 +2460,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2498,6 +2498,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0212-Added-the-ability-to-add-combustible-items.patch b/patches/server/0211-Added-the-ability-to-add-combustible-items.patch similarity index 97% rename from patches/server/0212-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0211-Added-the-ability-to-add-combustible-items.patch index a580845e5..86752f8d6 100644 --- a/patches/server/0212-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0211-Added-the-ability-to-add-combustible-items.patch @@ -51,7 +51,7 @@ index ca2052804ad829a1528a9c5a0a792275beead113..997d0fab71eacc6466ffe3bc8f6349e5 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 05e9574fcde85786deb4fc07d1d73a88adf2a57e..77d80968f684947290044e8686132d2e4d4fcb8a 100644 +index bf22768f8115e5d8a215a2d0bdbb57254f1fc13c..790bf8b0a87c00a45fac2737b6148b2144f838e7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1555,6 +1555,19 @@ public final class CraftServer implements Server { diff --git a/patches/server/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0212-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 100% rename from patches/server/0213-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0212-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch diff --git a/patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0213-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 100% rename from patches/server/0214-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0213-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch diff --git a/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch similarity index 94% rename from patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch index 06c129618..cd149434e 100644 --- a/patches/server/0215-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch @@ -5,7 +5,7 @@ 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 027bac5687a60ab43ef527a125c5fa27798a4943..e1ffd2ca9045f9f5c4fb64704a132dc1ae086f20 100644 +index 1e0d07949e8b4450a400625a23d386024192eef1..f3bac087856f420aa6c14707e90288f4962967bf 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -518,6 +518,7 @@ public class ServerPlayerGameMode { @@ -36,10 +36,10 @@ index 027bac5687a60ab43ef527a125c5fa27798a4943..e1ffd2ca9045f9f5c4fb64704a132dc1 + // 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 3df9f6e0f8004ba329d32de2547174dc9bfe084b..2261f971b85afcb1153cf9e63f0148f492fa18a4 100644 +index 7ac39b9f7a0afabe4a6fde954a85f0d4f53a01df..cb1851fca9290edb502662c100bb2ac6fa4d70d1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2132,6 +2132,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2144,6 +2144,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { diff --git a/patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0215-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/server/0216-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0215-Dolphins-naturally-aggressive-to-players-chance.patch diff --git a/patches/server/0217-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0216-Cows-naturally-aggressive-to-players-chance.patch similarity index 100% rename from patches/server/0217-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0216-Cows-naturally-aggressive-to-players-chance.patch diff --git a/patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0217-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 100% rename from patches/server/0218-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0217-Option-for-beds-to-explode-on-villager-sleep.patch diff --git a/patches/server/0219-Halloween-options-and-optimizations.patch b/patches/server/0218-Halloween-options-and-optimizations.patch similarity index 100% rename from patches/server/0219-Halloween-options-and-optimizations.patch rename to patches/server/0218-Halloween-options-and-optimizations.patch diff --git a/patches/server/0220-Config-for-grindstones.patch b/patches/server/0219-Config-for-grindstones.patch similarity index 98% rename from patches/server/0220-Config-for-grindstones.patch rename to patches/server/0219-Config-for-grindstones.patch index ddc7981e5..0609a8a9e 100644 --- a/patches/server/0220-Config-for-grindstones.patch +++ b/patches/server/0219-Config-for-grindstones.patch @@ -57,7 +57,7 @@ index b56766ff0e61691294b40ea8c2370940c0e8b640..6860e3467bf785e9d017fc98fce1e3cf } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 83ba390660a083b936851d66c9566ab2d100c71a..87c3c6d6348497ab29daf2dd8f0ffddefb51af77 100644 +index 90a72821a61dc00fbac9efac3d1cc3fb3ed72f22..5b77759fc6cf17462bc3e6d4db34ec7d480176ab 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -307,6 +307,9 @@ public class PurpurConfig { diff --git a/patches/server/0221-UPnP-Port-Forwarding.patch b/patches/server/0220-UPnP-Port-Forwarding.patch similarity index 94% rename from patches/server/0221-UPnP-Port-Forwarding.patch rename to patches/server/0220-UPnP-Port-Forwarding.patch index 8f4d7159a..1e956d9cb 100644 --- a/patches/server/0221-UPnP-Port-Forwarding.patch +++ b/patches/server/0220-UPnP-Port-Forwarding.patch @@ -5,7 +5,7 @@ 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 7d3ef7134a30a646f17978aee2b61a11e14b53b6..7746e968094f3238b8cb76062ae40a8b0363c5b9 100644 +index f814bb61cb6981202db1a04ef3c114afb0aa55ee..cf165386904e4f084ff69463e29fe10fd9af6812 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop list = Lists.newArrayList(); List list1 = this.level.players(); ObjectIterator objectiterator = this.entityMap.values().iterator(); @@ -319,7 +319,7 @@ index 68ac88b150ae5fa5e18958a5e2a83b00a26258ae..29597c321325e0f451431c2d6ea42d06 ChunkMap.TrackedEntity playerchunkmap_entitytracker; -@@ -1307,17 +1307,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1326,17 +1326,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider playerchunkmap_entitytracker.serverEntity.sendChanges(); } } @@ -341,7 +341,7 @@ index 68ac88b150ae5fa5e18958a5e2a83b00a26258ae..29597c321325e0f451431c2d6ea42d06 } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 6e3b2863f04419ee6914ac3fd4f12a4fe78d16b7..9d48523027a0162cc72f16021d8ba01092a068f3 100644 +index ef6c98c7949d2feb3ec2a0b2be161978989b6771..2b13f177d154ff322837e055e15fcb55941a2306 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -299,10 +299,10 @@ public class ServerChunkCache extends ChunkSource { @@ -417,7 +417,7 @@ index 6e3b2863f04419ee6914ac3fd4f12a4fe78d16b7..9d48523027a0162cc72f16021d8ba010 int l = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - per player mob spawning NaturalSpawner.SpawnState spawnercreature_d; // moved down -@@ -582,12 +582,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -592,12 +592,12 @@ public class ServerChunkCache extends ChunkSource { // Pufferfish end } // Paper end @@ -432,7 +432,7 @@ index 6e3b2863f04419ee6914ac3fd4f12a4fe78d16b7..9d48523027a0162cc72f16021d8ba010 // Paper - moved down -@@ -642,17 +642,17 @@ public class ServerChunkCache extends ChunkSource { +@@ -652,17 +652,17 @@ public class ServerChunkCache extends ChunkSource { } } // Paper end - optimise chunk tick iteration @@ -454,7 +454,7 @@ index 6e3b2863f04419ee6914ac3fd4f12a4fe78d16b7..9d48523027a0162cc72f16021d8ba010 if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) { ReferenceOpenHashSet copy = this.chunkMap.needsChangeBroadcasting.clone(); this.chunkMap.needsChangeBroadcasting.clear(); -@@ -664,7 +664,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -674,7 +674,7 @@ public class ServerChunkCache extends ChunkSource { } } } @@ -643,10 +643,10 @@ index 122defeec159165c5fef295ec1dd2da4a6ada622..5b7507db055d7be59b369f66e659e128 } else if (close) { chunkproviderserver.close(false); } // Paper - rewrite chunk system diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5b26de82b57baaae355e4f32dbd532184b9bc717..502f518bb474c0a0a5f9e8ca03345e5bab5fbbfb 100644 +index b1050654cca5ce8a834c9e913b8e804609499aa9..5feaf5bb7e366f593d5700fb78243a824ce97f9c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2629,7 +2629,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2641,7 +2641,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } // Paper End @@ -655,7 +655,7 @@ index 5b26de82b57baaae355e4f32dbd532184b9bc717..502f518bb474c0a0a5f9e8ca03345e5b if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2639,7 +2639,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2651,7 +2651,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -664,7 +664,7 @@ index 5b26de82b57baaae355e4f32dbd532184b9bc717..502f518bb474c0a0a5f9e8ca03345e5b return; } -@@ -2652,7 +2652,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2664,7 +2664,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -674,10 +674,10 @@ index 5b26de82b57baaae355e4f32dbd532184b9bc717..502f518bb474c0a0a5f9e8ca03345e5b } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1168e6daa5131af577e4b51008696af8cf24caca..19b14045b07d0f374129059fc572b7f345973c5d 100644 +index 43fdebcd107a7ca08b93de1d649b4d5e6acf5e81..824f31b68b38f2f8642fb9d59a123cfdaffbb7b2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1249,7 +1249,7 @@ public abstract class PlayerList { +@@ -1257,7 +1257,7 @@ public abstract class PlayerList { public void saveAll(int interval) { io.papermc.paper.util.MCUtil.ensureMain("Save Players" , () -> { // Paper - Ensure main @@ -686,7 +686,7 @@ index 1168e6daa5131af577e4b51008696af8cf24caca..19b14045b07d0f374129059fc572b7f3 int numSaved = 0; long now = MinecraftServer.currentTick; for (int i = 0; i < this.players.size(); ++i) { -@@ -1260,7 +1260,7 @@ public abstract class PlayerList { +@@ -1268,7 +1268,7 @@ public abstract class PlayerList { } // Paper end } @@ -777,7 +777,7 @@ index 84ac5db63a51d1490fcf625d10ed0952d671017e..ed7ed29147a2bb681e5d4c44d34b06d9 co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper gameprofilerfiller.pop(); diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 5d19ef5231752c6cccc73b9adfb67e53e87baf7a..0001860bb3862ee8cb489774cecbd92a64d75a34 100644 +index 49de1fca183b2c6a0a5399025abfc0e47f314315..482dfb2bbf8b85ba98bf164c5cf3edcdf927eb98 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -133,7 +133,7 @@ public final class NaturalSpawner { diff --git a/patches/server/0270-Remove-Mojang-Profiler.patch b/patches/server/0269-Remove-Mojang-Profiler.patch similarity index 97% rename from patches/server/0270-Remove-Mojang-Profiler.patch rename to patches/server/0269-Remove-Mojang-Profiler.patch index 80806d056..9dab17e2a 100644 --- a/patches/server/0270-Remove-Mojang-Profiler.patch +++ b/patches/server/0269-Remove-Mojang-Profiler.patch @@ -39,7 +39,7 @@ index 5f6cc8b16af6dce3b74f0c2c662b0ecf84ae8d36..52b06c34d9d3ffb8844556e7b0eaed5a return b0; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 770deb3363282b93508fd9a6365fb5a79dc811be..5e4486c4b273b26afb82a97f914358b6a6c18229 100644 +index 9711ba8466e939a047c6656231a5a0250a5435b7..798586a3b01814548d702d16faddd406cdd5acec 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -341,13 +341,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop loadedChunkMap = new it.unimi.dsi.fastutil.longs.Long2ObjectOpenHashMap<>(8192, 0.5f); - - private final LevelChunk[] lastLoadedChunks = new LevelChunk[4 * 4]; -- -+ - public boolean firstRunSpawnCounts = true; // Pufferfish - public final java.util.concurrent.atomic.AtomicBoolean _pufferfish_spawnCountsReady = new java.util.concurrent.atomic.AtomicBoolean(false); // Pufferfish - optimize countmobs - @@ -280,16 +280,16 @@ public class ServerChunkCache extends ChunkSource { return ifLoaded; } @@ -511,7 +502,7 @@ index 9d48523027a0162cc72f16021d8ba01092a068f3..b02335301fa76174dcb3b9f212c1a025 //this.level.timings.countNaturalMobs.startTiming(); // Paper - timings // Purpur int l = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - per player mob spawning -@@ -585,13 +585,13 @@ public class ServerChunkCache extends ChunkSource { +@@ -595,13 +595,13 @@ public class ServerChunkCache extends ChunkSource { //this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings // Purpur //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously @@ -527,7 +518,7 @@ index 9d48523027a0162cc72f16021d8ba01092a068f3..b02335301fa76174dcb3b9f212c1a025 boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit // Paper - only shuffle if per-player mob spawning is disabled -@@ -643,15 +643,15 @@ public class ServerChunkCache extends ChunkSource { +@@ -653,15 +653,15 @@ public class ServerChunkCache extends ChunkSource { } // Paper end - optimise chunk tick iteration //this.level.timings.chunkTicks.stopTiming(); // Paper // Purpur @@ -546,7 +537,7 @@ index 9d48523027a0162cc72f16021d8ba01092a068f3..b02335301fa76174dcb3b9f212c1a025 //this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing // Purpur if (!this.chunkMap.needsChangeBroadcasting.isEmpty()) { ReferenceOpenHashSet copy = this.chunkMap.needsChangeBroadcasting.clone(); -@@ -665,7 +665,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -675,7 +675,7 @@ public class ServerChunkCache extends ChunkSource { } } //this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Purpur @@ -555,16 +546,7 @@ index 9d48523027a0162cc72f16021d8ba01092a068f3..b02335301fa76174dcb3b9f212c1a025 // Paper end - use set of chunks requiring updates, rather than iterating every single one loaded // Paper start - controlled flush for entity tracker packets List disabledFlushes = new java.util.ArrayList<>(this.level.players.size()); -@@ -686,7 +686,7 @@ public class ServerChunkCache extends ChunkSource { - } - // Paper end - controlled flush for entity tracker packets - } -- -+ - // Pufferfish start - optimize mob spawning - if (gg.pufferfish.pufferfish.PufferfishConfig.enableAsyncMobSpawning) { - for (ServerPlayer player : this.level.players) { -@@ -880,7 +880,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -890,7 +890,7 @@ public class ServerChunkCache extends ChunkSource { @Override protected void doRunTask(Runnable task) { @@ -786,10 +768,10 @@ index 5b7507db055d7be59b369f66e659e128c9c7e00b..221d1d0e1b4b46de6ebca5faac09bbda while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 7b962da50664abedc676e931a422e6789b0e4dbf..20200dfe5b6af64083562dc748bfaf43c3b8cca5 100644 +index 3a51e711eb66fa1ac48a0c0d4f237e24af5f5e69..3d128b69ab5cc2ec75819ca8c88c5551d07e78f6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1240,7 +1240,7 @@ public class ServerPlayer extends Player { +@@ -1241,7 +1241,7 @@ public class ServerPlayer extends Player { PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); if (shapedetectorshape != null) { @@ -798,7 +780,7 @@ index 7b962da50664abedc676e931a422e6789b0e4dbf..20200dfe5b6af64083562dc748bfaf43 worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit -@@ -1263,8 +1263,8 @@ public class ServerPlayer extends Player { +@@ -1264,8 +1264,8 @@ public class ServerPlayer extends Player { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -809,7 +791,7 @@ index 7b962da50664abedc676e931a422e6789b0e4dbf..20200dfe5b6af64083562dc748bfaf43 if (true) { // CraftBukkit this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -1283,7 +1283,7 @@ public class ServerPlayer extends Player { +@@ -1284,7 +1284,7 @@ public class ServerPlayer extends Player { this.connection.resetPosition(); this.mainSupportingBlockPos = Optional.empty(); // Pufferfish - Fix paper 9372 worldserver.addDuringPortalTeleport(this); @@ -819,7 +801,7 @@ index 7b962da50664abedc676e931a422e6789b0e4dbf..20200dfe5b6af64083562dc748bfaf43 this.connection.send(new ClientboundPlayerAbilitiesPacket(this.getAbilities())); playerlist.sendLevelInfo(this, worldserver); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 502f518bb474c0a0a5f9e8ca03345e5bab5fbbfb..c08e1745cf1ae9914db64fdc9dbe52f3da50ffec 100644 +index 5feaf5bb7e366f593d5700fb78243a824ce97f9c..e22f403c54922f05d6d5704ec648dce02097bbb0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -412,7 +412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1045,10 +1027,10 @@ index 2e6e8eac987c4ef6b2dcd3de592d8a51d2b29792..863343a87fe34d72f04af89d75268b47 }; } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56569ba93b 100644 +index 156c2683d72c5e83b1cefb9ebf356c6e4d31e7f4..e634f9b7998979e00e4de4899214863e32f1a776 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -438,7 +438,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -439,7 +439,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public int activatedPriority = gg.pufferfish.pufferfish.PufferfishConfig.maximumActivationPrio; // golf score public final BlockPos.MutableBlockPos cachedBlockPos = new BlockPos.MutableBlockPos(); // used where needed // Pufferfish end @@ -1057,7 +1039,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 public float getBukkitYaw() { return this.yRot; } -@@ -862,7 +862,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -864,7 +864,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // CraftBukkit end public void baseTick() { @@ -1066,7 +1048,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; if (this.isPassenger() && this.getVehicle().isRemoved()) { -@@ -923,7 +923,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -925,7 +925,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.firstTick = false; @@ -1075,7 +1057,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 } public void setSharedFlagOnFire(boolean onFire) { -@@ -1142,7 +1142,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1144,7 +1144,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -1084,7 +1066,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1151,7 +1151,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1153,7 +1153,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1093,7 +1075,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 return; } // Paper end -@@ -1172,8 +1172,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1174,8 +1174,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1104,7 +1086,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1192,7 +1192,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1194,7 +1194,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition); if (this.isRemoved()) { @@ -1113,7 +1095,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 } else { if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1330,7 +1330,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1332,7 +1332,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1122,7 +1104,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 } } // Paper start - detailed watchdog information -@@ -3099,7 +3099,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3101,7 +3101,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1131,7 +1113,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 this.portalTime = i; // Paper start io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -3117,7 +3117,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3119,7 +3119,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } // Paper // CraftBukkit end @@ -1140,7 +1122,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 } this.isInsidePortal = false; -@@ -3588,14 +3588,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3590,14 +3590,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // Paper end if (this.level() instanceof ServerLevel && !this.isRemoved()) { @@ -1157,7 +1139,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3634,7 +3634,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3636,7 +3636,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.unRide(); // CraftBukkit end @@ -1166,7 +1148,7 @@ index 44d5403615244b3971df8f40fe7269654b216679..15f6e27c5c87532ab41e0808a7bbed56 // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3657,10 +3657,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3659,10 +3659,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.removeAfterChangingDimensions(); @@ -1816,7 +1798,7 @@ index ed7ed29147a2bb681e5d4c44d34b06d936b8fa74..bdb32964524cb2a4398b8d3bedfb03b0 } diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 0001860bb3862ee8cb489774cecbd92a64d75a34..1894348413f3b30bd9c4286fa533c1037f07f870 100644 +index 482dfb2bbf8b85ba98bf164c5cf3edcdf927eb98..ad89aac8d6b1ac1095806930afd4fe196084525b 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -132,7 +132,7 @@ public final class NaturalSpawner { diff --git a/patches/server/0271-Add-more-logger-output-for-invalid-movement-kicks.patch b/patches/server/0270-Add-more-logger-output-for-invalid-movement-kicks.patch similarity index 94% rename from patches/server/0271-Add-more-logger-output-for-invalid-movement-kicks.patch rename to patches/server/0270-Add-more-logger-output-for-invalid-movement-kicks.patch index 3ab8f18f7..242ab5cb7 100644 --- a/patches/server/0271-Add-more-logger-output-for-invalid-movement-kicks.patch +++ b/patches/server/0270-Add-more-logger-output-for-invalid-movement-kicks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more logger output for invalid movement kicks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c08e1745cf1ae9914db64fdc9dbe52f3da50ffec..b2f7ed77758a6c0a38cebf9b38b32508b6496fcf 100644 +index e22f403c54922f05d6d5704ec648dce02097bbb0..9b488a98fdf06515ff267040dd6d654004665207 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -867,6 +867,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -16,7 +16,7 @@ index c08e1745cf1ae9914db64fdc9dbe52f3da50ffec..b2f7ed77758a6c0a38cebf9b38b32508 return; } -@@ -1443,8 +1444,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1455,8 +1456,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0272-Add-Bee-API.patch b/patches/server/0271-Add-Bee-API.patch similarity index 100% rename from patches/server/0272-Add-Bee-API.patch rename to patches/server/0271-Add-Bee-API.patch diff --git a/patches/server/0273-Debug-Marker-API.patch b/patches/server/0272-Debug-Marker-API.patch similarity index 96% rename from patches/server/0273-Debug-Marker-API.patch rename to patches/server/0272-Debug-Marker-API.patch index 66bdf6b0b..a9af6a943 100644 --- a/patches/server/0273-Debug-Marker-API.patch +++ b/patches/server/0272-Debug-Marker-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 77d80968f684947290044e8686132d2e4d4fcb8a..89f4e1146a22ee9dc610b67d0316dd9412e33a24 100644 +index 790bf8b0a87c00a45fac2737b6148b2144f838e7..5ac085f56464dfd9ff6b3786968ad43f4f506371 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1566,6 +1566,42 @@ public final class CraftServer implements Server { @@ -99,10 +99,10 @@ index a2e852adf47261b1b2eb9734cc90f4676ed58126..1392e483c363e25d1f16465d876cb7d7 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6eb9869edfcbe134068cb036899b7f14f088b6c3..7e7b7a4e50af17961b1a0bfd7735c5563345756c 100644 +index 88ddea147bb9e0f5e3805dee8f3c112496328de1..0e6218ae64d5fd1f185bcff4a21ebaadea9eb213 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3289,5 +3289,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3327,5 +3327,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch b/patches/server/0273-mob-spawning-option-to-ignore-creative-players.patch similarity index 97% rename from patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch rename to patches/server/0273-mob-spawning-option-to-ignore-creative-players.patch index 0964b3975..9b75d48ec 100644 --- a/patches/server/0274-mob-spawning-option-to-ignore-creative-players.patch +++ b/patches/server/0273-mob-spawning-option-to-ignore-creative-players.patch @@ -5,7 +5,7 @@ Subject: [PATCH] mob spawning option to ignore creative players diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 1894348413f3b30bd9c4286fa533c1037f07f870..327a3d5cd5ea4db98e6bad90fc0bb1464033c71e 100644 +index ad89aac8d6b1ac1095806930afd4fe196084525b..1f9994f4b0b736f64a8676d9431469527c6484df 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -260,7 +260,7 @@ public final class NaturalSpawner { diff --git a/patches/server/0275-Add-skeleton-bow-accuracy-option.patch b/patches/server/0274-Add-skeleton-bow-accuracy-option.patch similarity index 100% rename from patches/server/0275-Add-skeleton-bow-accuracy-option.patch rename to patches/server/0274-Add-skeleton-bow-accuracy-option.patch diff --git a/patches/server/0276-Allay-respect-item-NBT.patch b/patches/server/0275-Allay-respect-item-NBT.patch similarity index 100% rename from patches/server/0276-Allay-respect-item-NBT.patch rename to patches/server/0275-Allay-respect-item-NBT.patch diff --git a/patches/server/0277-Add-death-screen-API.patch b/patches/server/0276-Add-death-screen-API.patch similarity index 87% rename from patches/server/0277-Add-death-screen-API.patch rename to patches/server/0276-Add-death-screen-API.patch index ac4b1b6bc..150f93d91 100644 --- a/patches/server/0277-Add-death-screen-API.patch +++ b/patches/server/0276-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7e7b7a4e50af17961b1a0bfd7735c5563345756c..8f7d6be9634f115159a216f818f12060244e70e2 100644 +index 0e6218ae64d5fd1f185bcff4a21ebaadea9eb213..018cf3cd424ac85e8d84179bc05ab241f0a00827 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3332,5 +3332,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3370,5 +3370,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundCustomPayloadPacket(ClientboundCustomPayloadPacket.DEBUG_GAME_TEST_CLEAR, new FriendlyByteBuf(io.netty.buffer.Unpooled.buffer()))); } diff --git a/patches/server/0278-Make-pufferfish-config-relocatable.patch b/patches/server/0277-Make-pufferfish-config-relocatable.patch similarity index 100% rename from patches/server/0278-Make-pufferfish-config-relocatable.patch rename to patches/server/0277-Make-pufferfish-config-relocatable.patch diff --git a/patches/server/0279-Implement-ram-and-rambar-commands.patch b/patches/server/0278-Implement-ram-and-rambar-commands.patch similarity index 97% rename from patches/server/0279-Implement-ram-and-rambar-commands.patch rename to patches/server/0278-Implement-ram-and-rambar-commands.patch index 246d5837e..c48c6fe56 100644 --- a/patches/server/0279-Implement-ram-and-rambar-commands.patch +++ b/patches/server/0278-Implement-ram-and-rambar-commands.patch @@ -18,10 +18,10 @@ index 52b06c34d9d3ffb8844556e7b0eaed5a7f03da0c..5c0085589b08f199c75ceeab8d0cf25e 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 20200dfe5b6af64083562dc748bfaf43c3b8cca5..567f60a054dcc3b200ded49ed1b19149a032837d 100644 +index 3d128b69ab5cc2ec75819ca8c88c5551d07e78f6..09db5ff64fb0df753d80dea5d14ad32d9be671ef 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -279,6 +279,7 @@ public class ServerPlayer extends Player { +@@ -280,6 +280,7 @@ public class ServerPlayer extends Player { public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event public boolean purpurClient = false; // Purpur public boolean acceptingResourcePack = false; // Purpur @@ -29,7 +29,7 @@ index 20200dfe5b6af64083562dc748bfaf43c3b8cca5..567f60a054dcc3b200ded49ed1b19149 private boolean tpsBar = false; // Purpur private boolean compassBar = false; // Purpur -@@ -561,6 +562,7 @@ public class ServerPlayer extends Player { +@@ -562,6 +563,7 @@ public class ServerPlayer extends Player { } } @@ -37,7 +37,7 @@ index 20200dfe5b6af64083562dc748bfaf43c3b8cca5..567f60a054dcc3b200ded49ed1b19149 if (nbt.contains("Purpur.TPSBar")) { this.tpsBar = nbt.getBoolean("Purpur.TPSBar"); } // Purpur if (nbt.contains("Purpur.CompassBar")) { this.compassBar = nbt.getBoolean("Purpur.CompassBar"); } // Purpur } -@@ -629,6 +631,7 @@ public class ServerPlayer extends Player { +@@ -630,6 +632,7 @@ public class ServerPlayer extends Player { } this.getBukkitEntity().setExtraData(nbt); // CraftBukkit @@ -45,7 +45,7 @@ index 20200dfe5b6af64083562dc748bfaf43c3b8cca5..567f60a054dcc3b200ded49ed1b19149 nbt.putBoolean("Purpur.TPSBar", this.tpsBar); // Purpur nbt.putBoolean("Purpur.CompassBar", this.compassBar); // Purpur } -@@ -2802,6 +2805,14 @@ public class ServerPlayer extends Player { +@@ -2803,6 +2806,14 @@ public class ServerPlayer extends Player { } } @@ -61,7 +61,7 @@ index 20200dfe5b6af64083562dc748bfaf43c3b8cca5..567f60a054dcc3b200ded49ed1b19149 return this.tpsBar; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index bf8f740b33b56d0afbea12596eea7a6ab0bc2a4b..a509f6362801e70236599d0f70add59c2855bc4f 100644 +index bb3a1562a67c69fd120afa4fa44d6b075beec820..fb3212e696bbb0450dbb92844380cb02f736cfde 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -182,6 +182,8 @@ public class PurpurConfig { diff --git a/patches/server/0280-Add-item-packet-serialize-event.patch b/patches/server/0279-Add-item-packet-serialize-event.patch similarity index 93% rename from patches/server/0280-Add-item-packet-serialize-event.patch rename to patches/server/0279-Add-item-packet-serialize-event.patch index 2886e1d56..8677b2f1f 100644 --- a/patches/server/0280-Add-item-packet-serialize-event.patch +++ b/patches/server/0279-Add-item-packet-serialize-event.patch @@ -48,10 +48,10 @@ index 798586a3b01814548d702d16faddd406cdd5acec..99fd775e7a564aaef327a62bb7742da0 while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4d0c57a1fb31d2a9ba5963c4e2ec2457a13f0c14..a55a3aa90087bc9a348c79d099bd3108b856a874 100644 +index 9b488a98fdf06515ff267040dd6d654004665207..9cc3ab8cd3f7ab7f8fbf4d9d14f25ea0bd757eec 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3533,6 +3533,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3545,6 +3545,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } } @@ -65,10 +65,10 @@ index 4d0c57a1fb31d2a9ba5963c4e2ec2457a13f0c14..a55a3aa90087bc9a348c79d099bd3108 boolean flag1 = packet.getSlotNum() >= 1 && packet.getSlotNum() <= 45; boolean flag2 = itemstack.isEmpty() || itemstack.getDamageValue() >= 0 && itemstack.getCount() <= 64 && !itemstack.isEmpty(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index a509f6362801e70236599d0f70add59c2855bc4f..d2e30ccf010225facfe04d604a1fc98f57a4660e 100644 +index fb3212e696bbb0450dbb92844380cb02f736cfde..b2cb7bf966ac1d52070d2d3c0b2b99e4aa2fd895 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -566,4 +566,9 @@ public class PurpurConfig { +@@ -559,4 +559,9 @@ public class PurpurConfig { } }); } diff --git a/patches/server/0281-Add-an-option-to-fix-MC-3304-projectile-looting.patch b/patches/server/0280-Add-an-option-to-fix-MC-3304-projectile-looting.patch similarity index 96% rename from patches/server/0281-Add-an-option-to-fix-MC-3304-projectile-looting.patch rename to patches/server/0280-Add-an-option-to-fix-MC-3304-projectile-looting.patch index 1e1e75b74..cd669b6a0 100644 --- a/patches/server/0281-Add-an-option-to-fix-MC-3304-projectile-looting.patch +++ b/patches/server/0280-Add-an-option-to-fix-MC-3304-projectile-looting.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add an option to fix MC-3304 (projectile looting) diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 4f98d7f755ad692dd9589134524a604ec747d5d9..51033a8071a3c9bb527a552ff6a87dcef1bf2bd4 100644 +index e8773aa2e796ca4e3b9b7cf85c40906d16eb241d..6b070ad6aa1b62a66fb85d54042af9d64cdcea7f 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java @@ -72,6 +72,7 @@ public abstract class AbstractArrow extends Projectile { @@ -104,10 +104,10 @@ index 31918fa2eb38e42a5ea5366e559f25ea9d7d59ae..15d8e9261a89da30529ac347462c5209 if (context.hasParam(LootContextParams.LOOTING_MOD)) { i = context.getParamOrNull(LootContextParams.LOOTING_MOD); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d2e30ccf010225facfe04d604a1fc98f57a4660e..6202d4279042c62a74d49b7b8733444093cb6a2a 100644 +index b2cb7bf966ac1d52070d2d3c0b2b99e4aa2fd895..1be0f2fe80d5b47e763a636c0bf6290a3c701496 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -571,4 +571,9 @@ public class PurpurConfig { +@@ -564,4 +564,9 @@ public class PurpurConfig { private static void fixNetworkSerializedCreativeItems() { fixNetworkSerializedItemsInCreative = getBoolean("settings.fix-network-serialized-items-in-creative", fixNetworkSerializedItemsInCreative); } diff --git a/patches/server/0282-Configurable-block-blast-resistance.patch b/patches/server/0281-Configurable-block-blast-resistance.patch similarity index 62% rename from patches/server/0282-Configurable-block-blast-resistance.patch rename to patches/server/0281-Configurable-block-blast-resistance.patch index deddae3bf..cb9f475fc 100644 --- a/patches/server/0282-Configurable-block-blast-resistance.patch +++ b/patches/server/0281-Configurable-block-blast-resistance.patch @@ -17,37 +17,11 @@ index 5ac102afde62c08f36886b466010ccfedabfa05e..942ce713afe27ec75d849877a88721ef protected final boolean isRandomlyTicking; protected final SoundType soundType; protected final float friction; -diff --git a/src/main/java/net/minecraft/world/level/material/LavaFluid.java b/src/main/java/net/minecraft/world/level/material/LavaFluid.java -index b77cdbd8a7395e8442081c6a2b14695d62c9ef03..f3d4a4196847e26934b6d2ed592f0ddb0e53182b 100644 ---- a/src/main/java/net/minecraft/world/level/material/LavaFluid.java -+++ b/src/main/java/net/minecraft/world/level/material/LavaFluid.java -@@ -239,7 +239,7 @@ public abstract class LavaFluid extends FlowingFluid { - - @Override - protected float getExplosionResistance() { -- return 100.0F; -+ return Blocks.LAVA.getExplosionResistance(); // Purpur - } - - @Override -diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java -index ec6c63075306f9e5389e83641d2c8a82369ddc6b..0f16deddd8cbb506ef7886f57ae640a42e841703 100644 ---- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java -+++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java -@@ -116,7 +116,7 @@ public abstract class WaterFluid extends FlowingFluid { - - @Override - protected float getExplosionResistance() { -- return 100.0F; -+ return Blocks.WATER.getExplosionResistance(); // Purpur - } - - @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 6202d4279042c62a74d49b7b8733444093cb6a2a..be91c68f20547d883911b9ac6d81fdd1aaa51092 100644 +index 1be0f2fe80d5b47e763a636c0bf6290a3c701496..9a61c6e8ce684a5b656812de665abb6aff6c38dd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -576,4 +576,19 @@ public class PurpurConfig { +@@ -569,4 +569,19 @@ public class PurpurConfig { private static void fixProjectileLootingTransfer() { fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer); } diff --git a/patches/server/0283-Configurable-block-fall-damage-modifiers.patch b/patches/server/0282-Configurable-block-fall-damage-modifiers.patch similarity index 95% rename from patches/server/0283-Configurable-block-fall-damage-modifiers.patch rename to patches/server/0282-Configurable-block-fall-damage-modifiers.patch index 8ffc64bcd..3d8204f5d 100644 --- a/patches/server/0283-Configurable-block-fall-damage-modifiers.patch +++ b/patches/server/0282-Configurable-block-fall-damage-modifiers.patch @@ -18,7 +18,7 @@ index e8405a57fb88e63b63baaf00645c417633bdc0f2..2b66ddafaaca17f64d1e7502dfa4d757 @Override 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 2feca2820d1760defe0ef784f9737ab9e9ec800f..3a935e4a16f1c71579d7021d3ad06d1f9b76e033 100644 +index 69c78ee2d012344505063c9b297c9c550bde80c4..dc718efe054aaf36961514287c9cc48e2d28bc4c 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -94,6 +94,10 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -32,7 +32,7 @@ index 2feca2820d1760defe0ef784f9737ab9e9ec800f..3a935e4a16f1c71579d7021d3ad06d1f // Paper start public final boolean isDestroyable() { return io.papermc.paper.configuration.GlobalConfiguration.get().unsupportedSettings.allowPermanentBlockBreakExploits || -@@ -498,7 +502,7 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -506,7 +510,7 @@ public class Block extends BlockBehaviour implements ItemLike { } public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { @@ -54,10 +54,10 @@ index cfbe1dae76db76cf54a4f5d72aca72d5e893859e..74cb10230d459ac9f300a9d59af504d2 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index be91c68f20547d883911b9ac6d81fdd1aaa51092..52762bde9e079f3610307c718213a93b2a2db788 100644 +index 9a61c6e8ce684a5b656812de665abb6aff6c38dd..1ec6cd330a3a59b38b14f53335387397801a3296 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -591,4 +591,50 @@ public class PurpurConfig { +@@ -584,4 +584,50 @@ public class PurpurConfig { block.explosionResistance = blastResistance.floatValue(); }); } diff --git a/patches/server/0284-Language-API.patch b/patches/server/0283-Language-API.patch similarity index 93% rename from patches/server/0284-Language-API.patch rename to patches/server/0283-Language-API.patch index 9ff175bfa..edaf2a367 100644 --- a/patches/server/0284-Language-API.patch +++ b/patches/server/0283-Language-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Language API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 89f4e1146a22ee9dc610b67d0316dd9412e33a24..0a4dfec98470050a0ec9c3693496751fa78fec81 100644 +index 5ac085f56464dfd9ff6b3786968ad43f4f506371..b08d4a2a74392b1d59b1eeeab3108103d83ad96c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -397,6 +397,20 @@ public final class CraftServer implements Server { diff --git a/patches/server/0285-Milk-Keeps-Beneficial-Effects.patch b/patches/server/0284-Milk-Keeps-Beneficial-Effects.patch similarity index 100% rename from patches/server/0285-Milk-Keeps-Beneficial-Effects.patch rename to patches/server/0284-Milk-Keeps-Beneficial-Effects.patch diff --git a/patches/server/0286-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0285-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0286-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0285-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0287-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0286-Add-log-suppression-for-LibraryLoader.patch similarity index 91% rename from patches/server/0287-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0286-Add-log-suppression-for-LibraryLoader.patch index 0f964ba7e..2a48b547e 100644 --- a/patches/server/0287-Add-log-suppression-for-LibraryLoader.patch +++ b/patches/server/0286-Add-log-suppression-for-LibraryLoader.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add log suppression for LibraryLoader diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 52762bde9e079f3610307c718213a93b2a2db788..08f52dd71813d02b5bf02bafa59279bec3dd5d7e 100644 +index 1ec6cd330a3a59b38b14f53335387397801a3296..38523f516adeee6ccd99f2b97bca60e0b499e01c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -468,11 +468,14 @@ public class PurpurConfig { +@@ -461,11 +461,14 @@ public class PurpurConfig { public static boolean loggerSuppressIgnoredAdvancementWarnings = false; public static boolean loggerSuppressUnrecognizedRecipeErrors = false; public static boolean loggerSuppressSetBlockFarChunk = false; diff --git a/patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0287-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 100% rename from patches/server/0288-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0287-Add-option-to-allow-creeper-to-encircle-target-when-.patch diff --git a/patches/server/0289-Fire-Immunity-API.patch b/patches/server/0288-Fire-Immunity-API.patch similarity index 88% rename from patches/server/0289-Fire-Immunity-API.patch rename to patches/server/0288-Fire-Immunity-API.patch index 0f76f2799..b213495c8 100644 --- a/patches/server/0289-Fire-Immunity-API.patch +++ b/patches/server/0288-Fire-Immunity-API.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 15f6e27c5c87532ab41e0808a7bbed56569ba93b..f03a919020958659b48fd0f13dc4672b3fe9bf8e 100644 +index e634f9b7998979e00e4de4899214863e32f1a776..606b29a752176288234ce0082a9b58b79007e4e1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -417,6 +417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { - private UUID originWorld; +@@ -418,6 +418,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public boolean freezeLocked = false; // Paper - Freeze Tick Lock API public boolean collidingWithWorldBorder; // Paper + public boolean fixedPose = false; // Paper + public @Nullable Boolean immuneToFire = null; // Purpur - Fire immune API public void setOrigin(@javax.annotation.Nonnull Location location) { this.origin = location.toVector(); -@@ -1820,7 +1821,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1822,7 +1823,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean fireImmune() { @@ -25,7 +25,7 @@ index 15f6e27c5c87532ab41e0808a7bbed56569ba93b..f03a919020958659b48fd0f13dc4672b } public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { -@@ -2490,6 +2491,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2492,6 +2493,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { nbt.putBoolean("Paper.FreezeLock", true); } // Paper end @@ -37,7 +37,7 @@ index 15f6e27c5c87532ab41e0808a7bbed56569ba93b..f03a919020958659b48fd0f13dc4672b return nbt; } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Saving entity NBT"); -@@ -2658,6 +2664,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2660,6 +2666,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { freezeLocked = nbt.getBoolean("Paper.FreezeLock"); } // Paper end @@ -50,7 +50,7 @@ index 15f6e27c5c87532ab41e0808a7bbed56569ba93b..f03a919020958659b48fd0f13dc4672b } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index eedd41c86e54eb3e6e497c9ad47d6b003bd69f1b..2381360aa8543fefdc7f205a199799f177840c3d 100644 +index feeca8d318fa0b7b22e728baa3bf3269d42bf0a6..8973c8a3bad120e55269bf1b7b810284ad0fe14c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -224,6 +224,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0289-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 94% rename from patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0289-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index 005a9b4f7..2a8459580 100644 --- a/patches/server/0290-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0289-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f03a919020958659b48fd0f13dc4672b3fe9bf8e..4cff80a117352fb934a4fefbe968484774abb505 100644 +index 606b29a752176288234ce0082a9b58b79007e4e1..cf0d8da4c4b5f4aa4e4ef15897ca252a2b52ec8d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -937,6 +937,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -939,6 +939,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { && this.level.paperConfig().environment.netherCeilingVoidDamageHeight.test(v -> this.getY() >= v) && (!(this instanceof Player player) || !player.getAbilities().invulnerable))) { // Paper end diff --git a/patches/server/0291-Added-got-ram-event.patch b/patches/server/0290-Added-got-ram-event.patch similarity index 100% rename from patches/server/0291-Added-got-ram-event.patch rename to patches/server/0290-Added-got-ram-event.patch diff --git a/patches/server/0292-Log-skipped-entity-s-position.patch b/patches/server/0291-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0292-Log-skipped-entity-s-position.patch rename to patches/server/0291-Log-skipped-entity-s-position.patch diff --git a/patches/server/0293-End-Crystal-Cramming.patch b/patches/server/0292-End-Crystal-Cramming.patch similarity index 100% rename from patches/server/0293-End-Crystal-Cramming.patch rename to patches/server/0292-End-Crystal-Cramming.patch diff --git a/patches/server/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0293-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 100% rename from patches/server/0294-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0293-Option-to-allow-beacon-effects-when-covered-by-tinte.patch diff --git a/patches/server/0295-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0294-Add-attribute-clamping-and-armor-limit-config.patch similarity index 95% rename from patches/server/0295-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0294-Add-attribute-clamping-and-armor-limit-config.patch index 58cf89a57..1071c5e32 100644 --- a/patches/server/0295-Add-attribute-clamping-and-armor-limit-config.patch +++ b/patches/server/0294-Add-attribute-clamping-and-armor-limit-config.patch @@ -36,10 +36,10 @@ index f0703302e7dbbda88de8c648d20d87c55ed9b1e0..a913ebabaa5f443afa987b972355a8f8 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 08f52dd71813d02b5bf02bafa59279bec3dd5d7e..414f467825fece602fbe7446e349657264d135ed 100644 +index 38523f516adeee6ccd99f2b97bca60e0b499e01c..39ad05c21caaaee6860ceb3a310e2aeaeda7ad5b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -@@ -580,6 +580,16 @@ public class PurpurConfig { +@@ -573,6 +573,16 @@ public class PurpurConfig { fixProjectileLootingTransfer = getBoolean("settings.fix-projectile-looting-transfer", fixProjectileLootingTransfer); } diff --git a/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0295-Config-to-remove-explosion-radius-clamp.patch similarity index 96% rename from patches/server/0296-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0295-Config-to-remove-explosion-radius-clamp.patch index c511e1154..45c8be7ba 100644 --- a/patches/server/0296-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0295-Config-to-remove-explosion-radius-clamp.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config to remove explosion radius clamp diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 8a8895abe609b3be02aa896c40e4a2a240fd86f3..cf6330694b811cef743763e0915824df8f75fe27 100644 +index a907930813b0a3176354b4b307576d9ff3b0c5ca..ec595b74a6376adb65840035cdaa7502c9a3fe50 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -109,6 +109,7 @@ public class EnderDragon extends Mob implements Enemy { diff --git a/patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0296-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 100% rename from patches/server/0297-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0296-bonemealable-sugarcane-cactus-and-netherwart.patch diff --git a/patches/server/0298-Add-PreExplodeEvents.patch b/patches/server/0297-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0298-Add-PreExplodeEvents.patch rename to patches/server/0297-Add-PreExplodeEvents.patch diff --git a/patches/server/0299-Improve-output-of-plugins-command.patch b/patches/server/0298-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0299-Improve-output-of-plugins-command.patch rename to patches/server/0298-Improve-output-of-plugins-command.patch diff --git a/patches/server/0300-Add-mending-multiplier.patch b/patches/server/0299-Add-mending-multiplier.patch similarity index 100% rename from patches/server/0300-Add-mending-multiplier.patch rename to patches/server/0299-Add-mending-multiplier.patch diff --git a/patches/server/0301-Make-GUI-Great-Again.patch b/patches/server/0300-Make-GUI-Great-Again.patch similarity index 100% rename from patches/server/0301-Make-GUI-Great-Again.patch rename to patches/server/0300-Make-GUI-Great-Again.patch diff --git a/patches/server/0302-Stored-Bee-API.patch b/patches/server/0301-Stored-Bee-API.patch similarity index 100% rename from patches/server/0302-Stored-Bee-API.patch rename to patches/server/0301-Stored-Bee-API.patch diff --git a/patches/server/0303-Shears-can-defuse-TNT.patch b/patches/server/0302-Shears-can-defuse-TNT.patch similarity index 100% rename from patches/server/0303-Shears-can-defuse-TNT.patch rename to patches/server/0302-Shears-can-defuse-TNT.patch diff --git a/patches/server/0304-Explorer-Map-API.patch b/patches/server/0303-Explorer-Map-API.patch similarity index 100% rename from patches/server/0304-Explorer-Map-API.patch rename to patches/server/0303-Explorer-Map-API.patch diff --git a/patches/server/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch b/patches/server/0304-Option-Ocelot-Spawn-Under-Sea-Level.patch similarity index 100% rename from patches/server/0305-Option-Ocelot-Spawn-Under-Sea-Level.patch rename to patches/server/0304-Option-Ocelot-Spawn-Under-Sea-Level.patch diff --git a/patches/server/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch b/patches/server/0305-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch similarity index 100% rename from patches/server/0306-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch rename to patches/server/0305-add-an-option-for-piglins-to-ignore-gold-trimmed-arm.patch