From 9dccea73fb32f84854c6c9e2b27673f7b95b9afc Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Tue, 14 Mar 2023 21:25:13 +0100 Subject: [PATCH] More more more more more more patches --- ...taPlayer-leak-due-from-quitting-ear.patch} | 11 +-- ...ix-some-rails-connecting-improperly.patch} | 0 ...stake-in-CB-NBT-int-deserialization.patch} | 0 ...rver-load-chunks-from-newer-version.patch} | 2 +- .../0456-Brand-support.patch} | 14 +-- .../0457-Add-setMaxPlayers-API.patch} | 8 +- ...PickupItemAnimation-to-LivingEntity.patch} | 2 +- .../0459-Don-t-require-FACING-data.patch} | 0 ...eEvent-not-firing-for-all-use-cases.patch} | 6 +- .../0461-Add-moon-phase-API.patch} | 4 +- ...headless-pistons-from-being-created.patch} | 2 +- .../0463-Add-BellRingEvent.patch} | 0 ...dd-zombie-targets-turtle-egg-config.patch} | 0 .../0465-Buffer-joins-to-world.patch} | 4 +- ...-Eigencraft-redstone-implementation.patch} | 0 ...s-not-working-in-some-kick-messages.patch} | 6 +- ...reateEvent-needs-to-know-its-entity.patch} | 22 ++--- .../0469-Fix-CraftTeam-null-check.patch} | 0 .../0470-Add-more-Evoker-API.patch} | 0 ...Add-methods-to-get-translation-keys.patch} | 0 ...te-HoverEvent-from-ItemStack-Entity.patch} | 4 +- .../0473-Cache-block-data-strings.patch} | 8 +- ...rtation-and-cancel-velocity-if-tele.patch} | 18 ++-- ...l-open-container-api-to-HumanEntity.patch} | 0 ...aFixerUpper-Rewrite-Rules-on-demand.patch} | 8 +- ...-capture-to-capture-all-items-added.patch} | 4 +- ...-Counter-to-allow-plugins-to-use-va.patch} | 6 +- ...track-plugin-scoreboards-by-default.patch} | 0 .../0480-Entity-isTicking.patch} | 8 +- ...non-whitelisted-player-when-white-l.patch} | 4 +- ...-Concurrency-issue-in-ShufflingList.patch} | 0 ...eset-Ender-Crystals-on-Dragon-Spawn.patch} | 0 ...-large-move-vectors-crashing-server.patch} | 12 +-- .../0485-Optimise-getType-calls.patch} | 2 +- .../0486-Villager-resetOffers.patch} | 0 ...ce-order-when-capturing-blockstates.patch} | 4 +- ...lockpos-allocation-from-pathfinding.patch} | 20 ++-- ...em-locations-dropped-from-campfires.patch} | 2 +- .../0490-Player-elytra-boost-API.patch} | 4 +- ...91-Fixed-TileEntityBell-memory-leak.patch} | 0 ...ing-up-when-item-stack-is-empty-in-.patch} | 2 +- ...Add-getOfflinePlayerIfCached-String.patch} | 4 +- .../0494-Add-ignore-discounts-API.patch} | 8 +- ...Toggle-for-removing-existing-dragon.patch} | 0 ...x-client-lag-on-advancement-loading.patch} | 2 +- .../0497-Item-no-age-no-player-pickup.patch} | 2 +- ...er-Remove-Streams-Optimized-collect.patch} | 0 ...499-Beacon-API-custom-effect-ranges.patch} | 2 +- .../0500-Add-API-for-quit-reason.patch} | 16 ++-- ...ng-Trader-spawn-rate-config-options.patch} | 10 +- .../0502-Expose-world-spawn-angle.patch} | 4 +- .../0503-Add-Destroy-Speed-API.patch} | 0 ...-spawnParticle-x-y-z-precision-loss.patch} | 4 +- ...05-Add-LivingEntity-clearActiveItem.patch} | 2 +- .../0506-Add-PlayerItemCooldownEvent.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 .../0508-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 28 +++--- ...-missing-default-perms-for-commands.patch} | 0 .../0511-Add-PlayerShearBlockEvent.patch} | 2 +- ...ng-zombie-villager-discount-exploit.patch} | 4 +- .../0513-Limit-recipe-packets.patch} | 8 +- ...-CraftSound-backwards-compatibility.patch} | 0 ...515-Player-Chunk-Load-Unload-Events.patch} | 4 +- ...6-Optimize-Dynamic-get-Missing-Keys.patch} | 6 +- ...-Expose-LivingEntity-hurt-direction.patch} | 2 +- ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 4 +- ...-invalid-ingredient-lists-in-Villag.patch} | 0 ...rTradeEvent-and-PlayerPurchaseEvent.patch} | 10 +- .../0521-Implement-TargetHitEvent.patch} | 0 .../0522-MC-4-Fix-item-position-desync.patch} | 4 +- ...523-Additional-Block-Material-API-s.patch} | 0 .../0524-Fix-harming-potion-dupe.patch} | 2 +- ...get-Material-from-Boats-and-Minecar.patch} | 2 +- .../0526-Cache-burn-durations.patch} | 6 +- ...ob-spawner-spawn-egg-transformation.patch} | 0 ...ix-Not-a-string-Map-Conversion-spam.patch} | 2 +- ...ment-PlayerFlowerPotManipulateEvent.patch} | 0 ...event-not-being-called-in-adventure.patch} | 6 +- .../0531-Zombie-API-breaking-doors.patch} | 0 ...532-Fix-nerfed-slime-when-splitting.patch} | 2 +- .../0533-Add-EntityLoadCrossbowEvent.patch} | 6 +- ...0534-Added-WorldGameRuleChangeEvent.patch} | 10 +- ...-Added-ServerResourcesReloadedEvent.patch} | 6 +- ...d-settings-for-mobs-picking-up-loot.patch} | 4 +- ...mplemented-BlockFailedDispenseEvent.patch} | 2 +- ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 2 +- ...nfigurable-door-breaking-difficulty.patch} | 0 ...ty-commands-shall-not-be-dispatched.patch} | 4 +- ...I-to-expose-exact-interaction-point.patch} | 8 +- .../0543-Remove-stale-POIs.patch} | 4 +- .../0544-Fix-villager-boat-exploit.patch} | 4 +- .../0545-Add-sendOpLevel-API.patch} | 10 +- ...0546-TODO-Registry-Modification-API.patch} | 0 .../0547-Add-StructuresLocateEvent.patch} | 2 +- ...-for-requiring-a-player-participant.patch} | 8 +- ...leHitEvent-call-when-fireballs-dead.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 2 +- ...551-Make-schedule-command-per-world.patch} | 0 ...552-Configurable-max-leash-distance.patch} | 0 ...553-Implement-BlockPreDispenseEvent.patch} | 2 +- ...ng-of-PlayerChangeBeaconEffectEvent.patch} | 2 +- ...e-for-always-placing-the-dragon-egg.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 2 +- ...eash-variable-to-EntityUnleashEvent.patch} | 32 +++---- ...shield-blocking-on-dimension-change.patch} | 4 +- .../0559-add-DragonEggFormEvent.patch} | 0 .../0560-EntityMoveEvent.patch} | 16 ++-- ...isable-pathfinding-updates-on-block.patch} | 6 +- .../0562-Inline-shift-direction-fields.patch} | 8 +- ...-adding-items-to-BlockDropItemEvent.patch} | 4 +- ...inThreadExecutor-to-BukkitScheduler.patch} | 0 ...entity-allow-attribute-registration.patch} | 2 +- ...ix-dead-slime-setSize-invincibility.patch} | 0 ...pes-should-return-an-immutable-list.patch} | 0 ...port-for-hex-color-codes-in-console.patch} | 4 +- .../0569-Expose-Tracked-Players.patch} | 4 +- ...0-Remove-streams-from-SensorNearest.patch} | 0 ...er-exception-on-empty-JsonList-file.patch} | 0 .../0572-Improve-ServerGUI.patch} | 0 ...ure-plate-EntityInteractEvent-for-i.patch} | 4 +- ...574-fix-converting-txt-to-json-file.patch} | 4 +- .../0575-Add-worldborder-events.patch} | 2 +- .../0576-added-PlayerNameEntityEvent.patch} | 0 ...grindstones-from-overstacking-items.patch} | 2 +- .../0578-Add-recipe-to-cook-events.patch} | 8 +- .../0579-Add-Block-isValidTool.patch} | 0 ...using-signs-inside-spawn-protection.patch} | 4 +- .../0581-Expand-world-key-API.patch} | 14 +-- ...ternative-constructor-for-Rotations.patch} | 0 .../0583-Item-Rarity-API.patch} | 2 +- ...py-TESign-isEditable-from-snapshots.patch} | 0 ...d-item-when-player-has-disconnected.patch} | 4 +- ...elist-use-configurable-kick-message.patch} | 4 +- ...gnore-result-of-PlayerEditBookEvent.patch} | 4 +- ...88-Entity-load-save-limit-per-chunk.patch} | 8 +- .../0589-Expose-protocol-version.patch} | 2 +- ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 4 +- .../0592-Add-bypass-host-check.patch} | 6 +- ...0593-Set-area-affect-cloud-rotation.patch} | 4 +- ...add-isDeeplySleeping-to-HumanEntity.patch} | 0 ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 4 +- ...-set-drop-chance-to-EntityEquipment.patch} | 0 ...ix-PigZombieAngerEvent-cancellation.patch} | 0 ...ix-PlayerItemHeldEvent-firing-twice.patch} | 4 +- .../0599-Added-PlayerDeepSleepEvent.patch} | 4 +- .../0600-More-World-API.patch} | 2 +- .../0601-Added-PlayerBedFailEnterEvent.patch} | 4 +- ...-to-convert-between-Component-and-B.patch} | 0 ...n-acting-as-a-bed-respawn-from-the-.patch} | 8 +- ...acon-activation-deactivation-events.patch} | 2 +- ...-RespawnFlags-to-PlayerRespawnEvent.patch} | 10 +- ...dd-Channel-initialization-listeners.patch} | 14 +-- ...mands-if-tab-completion-is-disabled.patch} | 4 +- .../0608-Add-more-WanderingTrader-API.patch} | 6 +- ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 4 +- ...address-to-AsyncPlayerPreLoginEvent.patch} | 2 +- .../0612-Inventory-close.patch} | 2 +- ...-in-sunlight-API-for-Phantoms-and-S.patch} | 10 +- .../0614-Fix-CraftPotionBrewer-cache.patch} | 0 .../0615-Add-basic-Datapack-API.patch} | 8 +- ...ment-variable-to-disable-server-gui.patch} | 4 +- ...itions-to-PlayerGameModeChangeEvent.patch} | 16 ++-- .../0618-ItemStack-repair-check-API.patch} | 2 +- .../0619-More-Enchantment-API.patch} | 2 +- ...ve-range-check-for-block-placing-up.patch} | 4 +- ...-and-optimise-world-force-upgrading.patch} | 22 ++--- .../0622-Add-Mob-lookAt-API.patch} | 0 ...0623-Add-Unix-domain-socket-support.patch} | 48 +++++----- .../0624-Add-EntityInsideBlockEvent.patch} | 46 ++++----- ...25-Attributes-API-for-item-defaults.patch} | 2 +- ...ause-to-Weather-ThunderChangeEvents.patch} | 10 +- .../0627-More-Lidded-Block-API.patch} | 0 ...28-Limit-item-frame-cursors-on-maps.patch} | 2 +- .../0629-Add-PlayerKickEvent-causes.patch} | 96 +++++++++---------- ...0630-Add-PufferFishStateChangeEvent.patch} | 2 +- ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ThreadingDe.patch} | 4 +- ...-to-fix-items-merging-through-walls.patch} | 4 +- .../0634-Add-BellRevealRaiderEvent.patch} | 0 .../0635-Fix-invulnerable-end-crystals.patch} | 10 +- ...36-Add-ElderGuardianAppearanceEvent.patch} | 8 +- ...0637-Fix-dangerous-end-portal-logic.patch} | 8 +- ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 4 +- ...-Make-item-validations-configurable.patch} | 0 .../0640-Line-Of-Sight-Changes.patch} | 10 +- .../0641-add-per-world-spawn-limits.patch} | 2 +- .../0642-Fix-potions-splash-events.patch} | 24 ++--- .../0643-Add-more-LimitedRegion-API.patch} | 0 ...layerDropItemEvent-using-wrong-item.patch} | 8 +- .../0645-Missing-Entity-Behavior-API.patch} | 30 +++--- ...ect-for-book-edit-is-called-on-main.patch} | 4 +- ...of-Block-applyBoneMeal-always-being.patch} | 0 ...tChunkIfLoadedImmediately-in-places.patch} | 12 +-- ...rom-signs-not-firing-command-events.patch} | 0 .../0650-Adds-PlayerArmSwingEvent.patch} | 4 +- ...-event-leave-message-not-being-sent.patch} | 20 ++-- ...-for-mobs-immune-to-default-effects.patch} | 10 +- ...correct-message-for-outdated-client.patch} | 4 +- ...-t-apply-cramming-damage-to-players.patch} | 16 +++- ...d-timings-for-sensors-and-behaviors.patch} | 0 ...-bunch-of-missing-forceDrop-toggles.patch} | 14 +-- .../0657-Stinger-API.patch} | 2 +- ...cy-issue-with-empty-map-items-in-CB.patch} | 0 .../0659-Add-System.out-err-catcher.patch} | 4 +- .../0660-Fix-test-not-bootstrapping.patch} | 0 ...-to-contain-the-source-jars-in-stac.patch} | 0 ...-Improve-boat-collision-performance.patch} | 18 ++-- ...AFK-kick-while-watching-end-credits.patch} | 4 +- ...iting-of-comments-to-server.propert.patch} | 0 .../0665-Add-PlayerSetSpawnEvent.patch} | 22 ++--- ...rs-respect-inventory-max-stack-size.patch} | 6 +- ...ize-entity-tracker-passenger-checks.patch} | 4 +- ...-option-for-Piglins-guarding-chests.patch} | 0 .../0669-Added-EntityDamageItemEvent.patch} | 12 +-- ...timize-indirect-passenger-iteration.patch} | 6 +- ...em-frame-map-cursor-update-interval.patch} | 4 +- ...Make-EntityUnleashEvent-cancellable.patch} | 4 +- ...673-Clear-bucket-NBT-after-dispense.patch} | 4 +- ...arget-without-changing-other-things.patch} | 6 +- .../0675-Add-BlockBreakBlockEvent.patch} | 6 +- ...revent-NBT-copy-in-smithing-recipes.patch} | 32 +++---- .../0677-More-CommandBlock-API.patch} | 0 ...-missing-team-sidebar-display-slots.patch} | 0 ...0679-Add-back-EntityPortalExitEvent.patch} | 6 +- ...-find-targets-for-lightning-strikes.patch} | 8 +- .../0681-Get-entity-default-attributes.patch} | 2 +- .../0682-Left-handed-API.patch} | 0 .../0683-Add-more-advancement-API.patch} | 2 +- ...684-Add-ItemFactory-getSpawnEgg-API.patch} | 4 +- .../0685-Add-critical-damage-API.patch} | 41 ++++---- ...0686-Fix-issues-with-mob-conversion.patch} | 0 ...ollidable-methods-to-various-places.patch} | 2 +- .../0688-Goat-ram-API.patch} | 2 +- ...dd-API-for-resetting-a-single-score.patch} | 0 ...0-Add-Raw-Byte-Entity-Serialization.patch} | 10 +- ...91-Vanilla-command-permission-fixes.patch} | 4 +- ...logic-for-inventories-on-chunk-unlo.patch} | 12 +-- ...93-Fix-GameProfileCache-concurrency.patch} | 0 ...g-when-the-async-catcher-is-tripped.patch} | 0 ...per-mobcaps-and-paper-playermobcaps.patch} | 8 +- ...tize-ResourceLocation-error-logging.patch} | 6 +- ...rolled-flushing-for-network-manager.patch} | 18 ++-- ...position-losing-precision-millions-o.patch | 41 -------- 247 files changed, 685 insertions(+), 722 deletions(-) rename patches/{unapplied/server/0454-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch => server/0452-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch} (93%) rename patches/{unapplied/server/0455-Fix-some-rails-connecting-improperly.patch => server/0453-Fix-some-rails-connecting-improperly.patch} (100%) rename patches/{unapplied/server/0456-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch => server/0454-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch} (100%) rename patches/{unapplied/server/0457-Do-not-let-the-server-load-chunks-from-newer-version.patch => server/0455-Do-not-let-the-server-load-chunks-from-newer-version.patch} (95%) rename patches/{unapplied/server/0458-Brand-support.patch => server/0456-Brand-support.patch} (87%) rename patches/{unapplied/server/0459-Add-setMaxPlayers-API.patch => server/0457-Add-setMaxPlayers-API.patch} (83%) rename patches/{unapplied/server/0460-Add-playPickupItemAnimation-to-LivingEntity.patch => server/0458-Add-playPickupItemAnimation-to-LivingEntity.patch} (90%) rename patches/{unapplied/server/0461-Don-t-require-FACING-data.patch => server/0459-Don-t-require-FACING-data.patch} (100%) rename patches/{unapplied/server/0462-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch => server/0460-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch} (90%) rename patches/{unapplied/server/0463-Add-moon-phase-API.patch => server/0461-Add-moon-phase-API.patch} (83%) rename patches/{unapplied/server/0464-Prevent-headless-pistons-from-being-created.patch => server/0462-Prevent-headless-pistons-from-being-created.patch} (95%) rename patches/{unapplied/server/0465-Add-BellRingEvent.patch => server/0463-Add-BellRingEvent.patch} (100%) rename patches/{unapplied/server/0466-Add-zombie-targets-turtle-egg-config.patch => server/0464-Add-zombie-targets-turtle-egg-config.patch} (100%) rename patches/{unapplied/server/0467-Buffer-joins-to-world.patch => server/0465-Buffer-joins-to-world.patch} (92%) rename patches/{unapplied/server/0468-Eigencraft-redstone-implementation.patch => server/0466-Eigencraft-redstone-implementation.patch} (100%) rename patches/{unapplied/server/0469-Fix-hex-colors-not-working-in-some-kick-messages.patch => server/0467-Fix-hex-colors-not-working-in-some-kick-messages.patch} (92%) rename patches/{unapplied/server/0470-PortalCreateEvent-needs-to-know-its-entity.patch => server/0468-PortalCreateEvent-needs-to-know-its-entity.patch} (90%) rename patches/{unapplied/server/0471-Fix-CraftTeam-null-check.patch => server/0469-Fix-CraftTeam-null-check.patch} (100%) rename patches/{unapplied/server/0472-Add-more-Evoker-API.patch => server/0470-Add-more-Evoker-API.patch} (100%) rename patches/{unapplied/server/0473-Add-methods-to-get-translation-keys.patch => server/0471-Add-methods-to-get-translation-keys.patch} (100%) rename patches/{unapplied/server/0474-Create-HoverEvent-from-ItemStack-Entity.patch => server/0472-Create-HoverEvent-from-ItemStack-Entity.patch} (94%) rename patches/{unapplied/server/0475-Cache-block-data-strings.patch => server/0473-Cache-block-data-strings.patch} (90%) rename patches/{unapplied/server/0476-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch => server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch} (87%) rename patches/{unapplied/server/0477-Add-additional-open-container-api-to-HumanEntity.patch => server/0475-Add-additional-open-container-api-to-HumanEntity.patch} (100%) rename patches/{unapplied/server/0478-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch => server/0476-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch} (90%) rename patches/{unapplied/server/0479-Extend-block-drop-capture-to-capture-all-items-added.patch => server/0477-Extend-block-drop-capture-to-capture-all-items-added.patch} (94%) rename patches/{unapplied/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch => server/0478-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch} (84%) rename patches/{unapplied/server/0481-Lazily-track-plugin-scoreboards-by-default.patch => server/0479-Lazily-track-plugin-scoreboards-by-default.patch} (100%) rename patches/{unapplied/server/0482-Entity-isTicking.patch => server/0480-Entity-isTicking.patch} (79%) rename patches/{unapplied/server/0483-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch => server/0481-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch} (90%) rename patches/{unapplied/server/0484-Fix-Concurrency-issue-in-ShufflingList.patch => server/0482-Fix-Concurrency-issue-in-ShufflingList.patch} (100%) rename patches/{unapplied/server/0485-Reset-Ender-Crystals-on-Dragon-Spawn.patch => server/0483-Reset-Ender-Crystals-on-Dragon-Spawn.patch} (100%) rename patches/{unapplied/server/0486-Fix-for-large-move-vectors-crashing-server.patch => server/0484-Fix-for-large-move-vectors-crashing-server.patch} (93%) rename patches/{unapplied/server/0487-Optimise-getType-calls.patch => server/0485-Optimise-getType-calls.patch} (98%) rename patches/{unapplied/server/0488-Villager-resetOffers.patch => server/0486-Villager-resetOffers.patch} (100%) rename patches/{unapplied/server/0489-Retain-block-place-order-when-capturing-blockstates.patch => server/0487-Retain-block-place-order-when-capturing-blockstates.patch} (89%) rename patches/{unapplied/server/0490-Reduce-blockpos-allocation-from-pathfinding.patch => server/0488-Reduce-blockpos-allocation-from-pathfinding.patch} (63%) rename patches/{unapplied/server/0491-Fix-item-locations-dropped-from-campfires.patch => server/0489-Fix-item-locations-dropped-from-campfires.patch} (94%) rename patches/{unapplied/server/0492-Player-elytra-boost-API.patch => server/0490-Player-elytra-boost-API.patch} (90%) rename patches/{unapplied/server/0493-Fixed-TileEntityBell-memory-leak.patch => server/0491-Fixed-TileEntityBell-memory-leak.patch} (100%) rename patches/{unapplied/server/0494-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch => server/0492-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch} (97%) rename patches/{unapplied/server/0495-Add-getOfflinePlayerIfCached-String.patch => server/0493-Add-getOfflinePlayerIfCached-String.patch} (88%) rename patches/{unapplied/server/0496-Add-ignore-discounts-API.patch => server/0494-Add-ignore-discounts-API.patch} (96%) rename patches/{unapplied/server/0497-Toggle-for-removing-existing-dragon.patch => server/0495-Toggle-for-removing-existing-dragon.patch} (100%) rename patches/{unapplied/server/0498-Fix-client-lag-on-advancement-loading.patch => server/0496-Fix-client-lag-on-advancement-loading.patch} (95%) rename patches/{unapplied/server/0499-Item-no-age-no-player-pickup.patch => server/0497-Item-no-age-no-player-pickup.patch} (94%) rename patches/{unapplied/server/0500-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => server/0498-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/{unapplied/server/0501-Beacon-API-custom-effect-ranges.patch => server/0499-Beacon-API-custom-effect-ranges.patch} (98%) rename patches/{unapplied/server/0502-Add-API-for-quit-reason.patch => server/0500-Add-API-for-quit-reason.patch} (88%) rename patches/{unapplied/server/0503-Add-Wandering-Trader-spawn-rate-config-options.patch => server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch} (92%) rename patches/{unapplied/server/0504-Expose-world-spawn-angle.patch => server/0502-Expose-world-spawn-angle.patch} (89%) rename patches/{unapplied/server/0505-Add-Destroy-Speed-API.patch => server/0503-Add-Destroy-Speed-API.patch} (100%) rename patches/{unapplied/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (89%) rename patches/{unapplied/server/0507-Add-LivingEntity-clearActiveItem.patch => server/0505-Add-LivingEntity-clearActiveItem.patch} (90%) rename patches/{unapplied/server/0508-Add-PlayerItemCooldownEvent.patch => server/0506-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/{unapplied/server/0509-Significantly-improve-performance-of-the-end-generat.patch => server/0507-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/{unapplied/server/0510-More-lightning-API.patch => server/0508-More-lightning-API.patch} (100%) rename patches/{unapplied/server/0511-Climbing-should-not-bypass-cramming-gamerule.patch => server/0509-Climbing-should-not-bypass-cramming-gamerule.patch} (85%) rename patches/{unapplied/server/0512-Added-missing-default-perms-for-commands.patch => server/0510-Added-missing-default-perms-for-commands.patch} (100%) rename patches/{unapplied/server/0513-Add-PlayerShearBlockEvent.patch => server/0511-Add-PlayerShearBlockEvent.patch} (98%) rename patches/{unapplied/server/0514-Fix-curing-zombie-villager-discount-exploit.patch => server/0512-Fix-curing-zombie-villager-discount-exploit.patch} (90%) rename patches/{unapplied/server/0515-Limit-recipe-packets.patch => server/0513-Limit-recipe-packets.patch} (90%) rename patches/{unapplied/server/0516-Fix-CraftSound-backwards-compatibility.patch => server/0514-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/{unapplied/server/0517-Player-Chunk-Load-Unload-Events.patch => server/0515-Player-Chunk-Load-Unload-Events.patch} (90%) rename patches/{unapplied/server/0518-Optimize-Dynamic-get-Missing-Keys.patch => server/0516-Optimize-Dynamic-get-Missing-Keys.patch} (80%) rename patches/{unapplied/server/0519-Expose-LivingEntity-hurt-direction.patch => server/0517-Expose-LivingEntity-hurt-direction.patch} (91%) rename patches/{unapplied/server/0520-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (86%) rename patches/{unapplied/server/0521-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (100%) rename patches/{unapplied/server/0522-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch => server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch} (97%) rename patches/{unapplied/server/0523-Implement-TargetHitEvent.patch => server/0521-Implement-TargetHitEvent.patch} (100%) rename patches/{unapplied/server/0524-MC-4-Fix-item-position-desync.patch => server/0522-MC-4-Fix-item-position-desync.patch} (93%) rename patches/{unapplied/server/0525-Additional-Block-Material-API-s.patch => server/0523-Additional-Block-Material-API-s.patch} (100%) rename patches/{unapplied/server/0526-Fix-harming-potion-dupe.patch => server/0524-Fix-harming-potion-dupe.patch} (96%) rename patches/{unapplied/server/0527-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (96%) rename patches/{unapplied/server/0528-Cache-burn-durations.patch => server/0526-Cache-burn-durations.patch} (88%) rename patches/{unapplied/server/0529-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (100%) rename patches/{unapplied/server/0530-Fix-Not-a-string-Map-Conversion-spam.patch => server/0528-Fix-Not-a-string-Map-Conversion-spam.patch} (96%) rename patches/{unapplied/server/0531-Implement-PlayerFlowerPotManipulateEvent.patch => server/0529-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/{unapplied/server/0532-Fix-interact-event-not-being-called-in-adventure.patch => server/0530-Fix-interact-event-not-being-called-in-adventure.patch} (90%) rename patches/{unapplied/server/0533-Zombie-API-breaking-doors.patch => server/0531-Zombie-API-breaking-doors.patch} (100%) rename patches/{unapplied/server/0534-Fix-nerfed-slime-when-splitting.patch => server/0532-Fix-nerfed-slime-when-splitting.patch} (90%) rename patches/{unapplied/server/0535-Add-EntityLoadCrossbowEvent.patch => server/0533-Add-EntityLoadCrossbowEvent.patch} (91%) rename patches/{unapplied/server/0536-Added-WorldGameRuleChangeEvent.patch => server/0534-Added-WorldGameRuleChangeEvent.patch} (94%) rename patches/{unapplied/server/0537-Added-ServerResourcesReloadedEvent.patch => server/0535-Added-ServerResourcesReloadedEvent.patch} (93%) rename patches/{unapplied/server/0538-Added-world-settings-for-mobs-picking-up-loot.patch => server/0536-Added-world-settings-for-mobs-picking-up-loot.patch} (93%) rename patches/{unapplied/server/0539-Implemented-BlockFailedDispenseEvent.patch => server/0537-Implemented-BlockFailedDispenseEvent.patch} (96%) rename patches/{unapplied/server/0540-Added-PlayerLecternPageChangeEvent.patch => server/0538-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/{unapplied/server/0541-Added-PlayerLoomPatternSelectEvent.patch => server/0539-Added-PlayerLoomPatternSelectEvent.patch} (96%) rename patches/{unapplied/server/0542-Configurable-door-breaking-difficulty.patch => server/0540-Configurable-door-breaking-difficulty.patch} (100%) rename patches/{unapplied/server/0543-Empty-commands-shall-not-be-dispatched.patch => server/0541-Empty-commands-shall-not-be-dispatched.patch} (84%) rename patches/{unapplied/server/0544-Implement-API-to-expose-exact-interaction-point.patch => server/0542-Implement-API-to-expose-exact-interaction-point.patch} (93%) rename patches/{unapplied/server/0545-Remove-stale-POIs.patch => server/0543-Remove-stale-POIs.patch} (86%) rename patches/{unapplied/server/0546-Fix-villager-boat-exploit.patch => server/0544-Fix-villager-boat-exploit.patch} (88%) rename patches/{unapplied/server/0547-Add-sendOpLevel-API.patch => server/0545-Add-sendOpLevel-API.patch} (84%) rename patches/{unapplied/server/0548-TODO-Registry-Modification-API.patch => server/0546-TODO-Registry-Modification-API.patch} (100%) rename patches/{unapplied/server/0549-Add-StructuresLocateEvent.patch => server/0547-Add-StructuresLocateEvent.patch} (99%) rename patches/{unapplied/server/0550-Collision-option-for-requiring-a-player-participant.patch => server/0548-Collision-option-for-requiring-a-player-participant.patch} (88%) rename patches/{unapplied/server/0551-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => server/0549-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (100%) rename patches/{unapplied/server/0552-Return-chat-component-with-empty-text-instead-of-thr.patch => server/0550-Return-chat-component-with-empty-text-instead-of-thr.patch} (92%) rename patches/{unapplied/server/0553-Make-schedule-command-per-world.patch => server/0551-Make-schedule-command-per-world.patch} (100%) rename patches/{unapplied/server/0554-Configurable-max-leash-distance.patch => server/0552-Configurable-max-leash-distance.patch} (100%) rename patches/{unapplied/server/0555-Implement-BlockPreDispenseEvent.patch => server/0553-Implement-BlockPreDispenseEvent.patch} (95%) rename patches/{unapplied/server/0556-Added-firing-of-PlayerChangeBeaconEffectEvent.patch => server/0554-Added-firing-of-PlayerChangeBeaconEffectEvent.patch} (95%) rename patches/{unapplied/server/0557-Add-toggle-for-always-placing-the-dragon-egg.patch => server/0555-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/{unapplied/server/0558-Added-PlayerStonecutterRecipeSelectEvent.patch => server/0556-Added-PlayerStonecutterRecipeSelectEvent.patch} (97%) rename patches/{unapplied/server/0559-Add-dropLeash-variable-to-EntityUnleashEvent.patch => server/0557-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (85%) rename patches/{unapplied/server/0560-Reset-shield-blocking-on-dimension-change.patch => server/0558-Reset-shield-blocking-on-dimension-change.patch} (83%) rename patches/{unapplied/server/0561-add-DragonEggFormEvent.patch => server/0559-add-DragonEggFormEvent.patch} (100%) rename patches/{unapplied/server/0562-EntityMoveEvent.patch => server/0560-EntityMoveEvent.patch} (80%) rename patches/{unapplied/server/0563-added-option-to-disable-pathfinding-updates-on-block.patch => server/0561-added-option-to-disable-pathfinding-updates-on-block.patch} (80%) rename patches/{unapplied/server/0564-Inline-shift-direction-fields.patch => server/0562-Inline-shift-direction-fields.patch} (85%) rename patches/{unapplied/server/0565-Allow-adding-items-to-BlockDropItemEvent.patch => server/0563-Allow-adding-items-to-BlockDropItemEvent.patch} (92%) rename patches/{unapplied/server/0566-Add-getMainThreadExecutor-to-BukkitScheduler.patch => server/0564-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/{unapplied/server/0567-living-entity-allow-attribute-registration.patch => server/0565-living-entity-allow-attribute-registration.patch} (96%) rename patches/{unapplied/server/0568-fix-dead-slime-setSize-invincibility.patch => server/0566-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/{unapplied/server/0569-Merchant-getRecipes-should-return-an-immutable-list.patch => server/0567-Merchant-getRecipes-should-return-an-immutable-list.patch} (100%) rename patches/{unapplied/server/0570-Add-support-for-hex-color-codes-in-console.patch => server/0568-Add-support-for-hex-color-codes-in-console.patch} (99%) rename patches/{unapplied/server/0571-Expose-Tracked-Players.patch => server/0569-Expose-Tracked-Players.patch} (87%) rename patches/{unapplied/server/0572-Remove-streams-from-SensorNearest.patch => server/0570-Remove-streams-from-SensorNearest.patch} (100%) rename patches/{unapplied/server/0573-Throw-proper-exception-on-empty-JsonList-file.patch => server/0571-Throw-proper-exception-on-empty-JsonList-file.patch} (100%) rename patches/{unapplied/server/0574-Improve-ServerGUI.patch => server/0572-Improve-ServerGUI.patch} (100%) rename patches/{unapplied/server/0575-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch => server/0573-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch} (85%) rename patches/{unapplied/server/0576-fix-converting-txt-to-json-file.patch => server/0574-fix-converting-txt-to-json-file.patch} (95%) rename patches/{unapplied/server/0577-Add-worldborder-events.patch => server/0575-Add-worldborder-events.patch} (97%) rename patches/{unapplied/server/0578-added-PlayerNameEntityEvent.patch => server/0576-added-PlayerNameEntityEvent.patch} (100%) rename patches/{unapplied/server/0579-Prevent-grindstones-from-overstacking-items.patch => server/0577-Prevent-grindstones-from-overstacking-items.patch} (94%) rename patches/{unapplied/server/0580-Add-recipe-to-cook-events.patch => server/0578-Add-recipe-to-cook-events.patch} (91%) rename patches/{unapplied/server/0581-Add-Block-isValidTool.patch => server/0579-Add-Block-isValidTool.patch} (100%) rename patches/{unapplied/server/0582-Allow-using-signs-inside-spawn-protection.patch => server/0580-Allow-using-signs-inside-spawn-protection.patch} (91%) rename patches/{unapplied/server/0583-Expand-world-key-API.patch => server/0581-Expand-world-key-API.patch} (87%) rename patches/{unapplied/server/0584-Add-fast-alternative-constructor-for-Rotations.patch => server/0582-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/{unapplied/server/0585-Item-Rarity-API.patch => server/0583-Item-Rarity-API.patch} (96%) rename patches/{unapplied/server/0586-copy-TESign-isEditable-from-snapshots.patch => server/0584-copy-TESign-isEditable-from-snapshots.patch} (100%) rename patches/{unapplied/server/0587-Drop-carried-item-when-player-has-disconnected.patch => server/0585-Drop-carried-item-when-player-has-disconnected.patch} (88%) rename patches/{unapplied/server/0588-forced-whitelist-use-configurable-kick-message.patch => server/0586-forced-whitelist-use-configurable-kick-message.patch} (87%) rename patches/{unapplied/server/0589-Don-t-ignore-result-of-PlayerEditBookEvent.patch => server/0587-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (86%) rename patches/{unapplied/server/0590-Entity-load-save-limit-per-chunk.patch => server/0588-Entity-load-save-limit-per-chunk.patch} (92%) rename patches/{unapplied/server/0591-Expose-protocol-version.patch => server/0589-Expose-protocol-version.patch} (91%) rename patches/{unapplied/server/0592-Enhance-console-tab-completions-for-brigadier-comman.patch => server/0590-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/{unapplied/server/0593-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => server/0591-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (85%) rename patches/{unapplied/server/0594-Add-bypass-host-check.patch => server/0592-Add-bypass-host-check.patch} (90%) rename patches/{unapplied/server/0595-Set-area-affect-cloud-rotation.patch => server/0593-Set-area-affect-cloud-rotation.patch} (87%) rename patches/{unapplied/server/0596-add-isDeeplySleeping-to-HumanEntity.patch => server/0594-add-isDeeplySleeping-to-HumanEntity.patch} (100%) rename patches/{unapplied/server/0597-add-consumeFuel-to-FurnaceBurnEvent.patch => server/0595-add-consumeFuel-to-FurnaceBurnEvent.patch} (86%) rename patches/{unapplied/server/0598-add-get-set-drop-chance-to-EntityEquipment.patch => server/0596-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/{unapplied/server/0599-fix-PigZombieAngerEvent-cancellation.patch => server/0597-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/{unapplied/server/0600-fix-PlayerItemHeldEvent-firing-twice.patch => server/0598-fix-PlayerItemHeldEvent-firing-twice.patch} (88%) rename patches/{unapplied/server/0601-Added-PlayerDeepSleepEvent.patch => server/0599-Added-PlayerDeepSleepEvent.patch} (85%) rename patches/{unapplied/server/0602-More-World-API.patch => server/0600-More-World-API.patch} (97%) rename patches/{unapplied/server/0603-Added-PlayerBedFailEnterEvent.patch => server/0601-Added-PlayerBedFailEnterEvent.patch} (93%) rename patches/{unapplied/server/0604-Implement-methods-to-convert-between-Component-and-B.patch => server/0602-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/{unapplied/server/0605-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch => server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch} (86%) rename patches/{unapplied/server/0606-Introduce-beacon-activation-deactivation-events.patch => server/0604-Introduce-beacon-activation-deactivation-events.patch} (95%) rename patches/{unapplied/server/0607-add-RespawnFlags-to-PlayerRespawnEvent.patch => server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch} (89%) rename patches/{unapplied/server/0608-Add-Channel-initialization-listeners.patch => server/0606-Add-Channel-initialization-listeners.patch} (92%) rename patches/{unapplied/server/0609-Send-empty-commands-if-tab-completion-is-disabled.patch => server/0607-Send-empty-commands-if-tab-completion-is-disabled.patch} (88%) rename patches/{unapplied/server/0610-Add-more-WanderingTrader-API.patch => server/0608-Add-more-WanderingTrader-API.patch} (93%) rename patches/{unapplied/server/0611-Add-EntityBlockStorage-clearEntities.patch => server/0609-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/{unapplied/server/0612-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => server/0610-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (94%) rename patches/{unapplied/server/0613-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => server/0611-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (95%) rename patches/{unapplied/server/0614-Inventory-close.patch => server/0612-Inventory-close.patch} (90%) rename patches/{unapplied/server/0615-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => server/0613-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (93%) rename patches/{unapplied/server/0616-Fix-CraftPotionBrewer-cache.patch => server/0614-Fix-CraftPotionBrewer-cache.patch} (100%) rename patches/{unapplied/server/0617-Add-basic-Datapack-API.patch => server/0615-Add-basic-Datapack-API.patch} (94%) rename patches/{unapplied/server/0618-Add-environment-variable-to-disable-server-gui.patch => server/0616-Add-environment-variable-to-disable-server-gui.patch} (85%) rename patches/{unapplied/server/0619-additions-to-PlayerGameModeChangeEvent.patch => server/0617-additions-to-PlayerGameModeChangeEvent.patch} (93%) rename patches/{unapplied/server/0620-ItemStack-repair-check-API.patch => server/0618-ItemStack-repair-check-API.patch} (97%) rename patches/{unapplied/server/0621-More-Enchantment-API.patch => server/0619-More-Enchantment-API.patch} (98%) rename patches/{unapplied/server/0622-Move-range-check-for-block-placing-up.patch => server/0620-Move-range-check-for-block-placing-up.patch} (87%) rename patches/{unapplied/server/0623-Fix-and-optimise-world-force-upgrading.patch => server/0621-Fix-and-optimise-world-force-upgrading.patch} (96%) rename patches/{unapplied/server/0624-Add-Mob-lookAt-API.patch => server/0622-Add-Mob-lookAt-API.patch} (100%) rename patches/{unapplied/server/0625-Add-Unix-domain-socket-support.patch => server/0623-Add-Unix-domain-socket-support.patch} (87%) rename patches/{unapplied/server/0626-Add-EntityInsideBlockEvent.patch => server/0624-Add-EntityInsideBlockEvent.patch} (90%) rename patches/{unapplied/server/0627-Attributes-API-for-item-defaults.patch => server/0625-Attributes-API-for-item-defaults.patch} (94%) rename patches/{unapplied/server/0628-Add-cause-to-Weather-ThunderChangeEvents.patch => server/0626-Add-cause-to-Weather-ThunderChangeEvents.patch} (93%) rename patches/{unapplied/server/0629-More-Lidded-Block-API.patch => server/0627-More-Lidded-Block-API.patch} (100%) rename patches/{unapplied/server/0630-Limit-item-frame-cursors-on-maps.patch => server/0628-Limit-item-frame-cursors-on-maps.patch} (93%) rename patches/{unapplied/server/0631-Add-PlayerKickEvent-causes.patch => server/0629-Add-PlayerKickEvent-causes.patch} (91%) rename patches/{unapplied/server/0632-Add-PufferFishStateChangeEvent.patch => server/0630-Add-PufferFishStateChangeEvent.patch} (97%) rename patches/{unapplied/server/0633-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => server/0631-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/{unapplied/server/0634-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch => server/0632-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch} (96%) rename patches/{unapplied/server/0635-Add-option-to-fix-items-merging-through-walls.patch => server/0633-Add-option-to-fix-items-merging-through-walls.patch} (88%) rename patches/{unapplied/server/0636-Add-BellRevealRaiderEvent.patch => server/0634-Add-BellRevealRaiderEvent.patch} (100%) rename patches/{unapplied/server/0637-Fix-invulnerable-end-crystals.patch => server/0635-Fix-invulnerable-end-crystals.patch} (91%) rename patches/{unapplied/server/0638-Add-ElderGuardianAppearanceEvent.patch => server/0636-Add-ElderGuardianAppearanceEvent.patch} (94%) rename patches/{unapplied/server/0639-Fix-dangerous-end-portal-logic.patch => server/0637-Fix-dangerous-end-portal-logic.patch} (92%) rename patches/{unapplied/server/0640-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => server/0638-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (94%) rename patches/{unapplied/server/0641-Make-item-validations-configurable.patch => server/0639-Make-item-validations-configurable.patch} (100%) rename patches/{unapplied/server/0642-Line-Of-Sight-Changes.patch => server/0640-Line-Of-Sight-Changes.patch} (91%) rename patches/{unapplied/server/0643-add-per-world-spawn-limits.patch => server/0641-add-per-world-spawn-limits.patch} (91%) rename patches/{unapplied/server/0644-Fix-potions-splash-events.patch => server/0642-Fix-potions-splash-events.patch} (91%) rename patches/{unapplied/server/0645-Add-more-LimitedRegion-API.patch => server/0643-Add-more-LimitedRegion-API.patch} (100%) rename patches/{unapplied/server/0646-Fix-PlayerDropItemEvent-using-wrong-item.patch => server/0644-Fix-PlayerDropItemEvent-using-wrong-item.patch} (82%) rename patches/{unapplied/server/0647-Missing-Entity-Behavior-API.patch => server/0645-Missing-Entity-Behavior-API.patch} (97%) rename patches/{unapplied/server/0648-Ensure-disconnect-for-book-edit-is-called-on-main.patch => server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch} (88%) rename patches/{unapplied/server/0649-Fix-return-value-of-Block-applyBoneMeal-always-being.patch => server/0647-Fix-return-value-of-Block-applyBoneMeal-always-being.patch} (100%) rename patches/{unapplied/server/0650-Use-getChunkIfLoadedImmediately-in-places.patch => server/0648-Use-getChunkIfLoadedImmediately-in-places.patch} (71%) rename patches/{unapplied/server/0651-Fix-commands-from-signs-not-firing-command-events.patch => server/0649-Fix-commands-from-signs-not-firing-command-events.patch} (100%) rename patches/{unapplied/server/0652-Adds-PlayerArmSwingEvent.patch => server/0650-Adds-PlayerArmSwingEvent.patch} (88%) rename patches/{unapplied/server/0653-Fixes-kick-event-leave-message-not-being-sent.patch => server/0651-Fixes-kick-event-leave-message-not-being-sent.patch} (88%) rename patches/{unapplied/server/0654-Add-config-for-mobs-immune-to-default-effects.patch => server/0652-Add-config-for-mobs-immune-to-default-effects.patch} (87%) rename patches/{unapplied/server/0655-Fix-incorrect-message-for-outdated-client.patch => server/0653-Fix-incorrect-message-for-outdated-client.patch} (91%) rename patches/{unapplied/server/0656-Don-t-apply-cramming-damage-to-players.patch => server/0654-Don-t-apply-cramming-damage-to-players.patch} (58%) rename patches/{unapplied/server/0657-Rate-options-and-timings-for-sensors-and-behaviors.patch => server/0655-Rate-options-and-timings-for-sensors-and-behaviors.patch} (100%) rename patches/{unapplied/server/0658-Add-a-bunch-of-missing-forceDrop-toggles.patch => server/0656-Add-a-bunch-of-missing-forceDrop-toggles.patch} (90%) rename patches/{unapplied/server/0659-Stinger-API.patch => server/0657-Stinger-API.patch} (93%) rename patches/{unapplied/server/0660-Fix-incosistency-issue-with-empty-map-items-in-CB.patch => server/0658-Fix-incosistency-issue-with-empty-map-items-in-CB.patch} (100%) rename patches/{unapplied/server/0661-Add-System.out-err-catcher.patch => server/0659-Add-System.out-err-catcher.patch} (97%) rename patches/{unapplied/server/0662-Fix-test-not-bootstrapping.patch => server/0660-Fix-test-not-bootstrapping.patch} (100%) rename patches/{unapplied/server/0663-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch => server/0661-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch} (100%) rename patches/{unapplied/server/0664-Improve-boat-collision-performance.patch => server/0662-Improve-boat-collision-performance.patch} (82%) rename patches/{unapplied/server/0665-Prevent-AFK-kick-while-watching-end-credits.patch => server/0663-Prevent-AFK-kick-while-watching-end-credits.patch} (89%) rename patches/{unapplied/server/0666-Allow-skipping-writing-of-comments-to-server.propert.patch => server/0664-Allow-skipping-writing-of-comments-to-server.propert.patch} (100%) rename patches/{unapplied/server/0667-Add-PlayerSetSpawnEvent.patch => server/0665-Add-PlayerSetSpawnEvent.patch} (91%) rename patches/{unapplied/server/0668-Make-hoppers-respect-inventory-max-stack-size.patch => server/0666-Make-hoppers-respect-inventory-max-stack-size.patch} (85%) rename patches/{unapplied/server/0669-Optimize-entity-tracker-passenger-checks.patch => server/0667-Optimize-entity-tracker-passenger-checks.patch} (85%) rename patches/{unapplied/server/0670-Config-option-for-Piglins-guarding-chests.patch => server/0668-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/{unapplied/server/0671-Added-EntityDamageItemEvent.patch => server/0669-Added-EntityDamageItemEvent.patch} (90%) rename patches/{unapplied/server/0672-Optimize-indirect-passenger-iteration.patch => server/0670-Optimize-indirect-passenger-iteration.patch} (90%) rename patches/{unapplied/server/0674-Configurable-item-frame-map-cursor-update-interval.patch => server/0671-Configurable-item-frame-map-cursor-update-interval.patch} (90%) rename patches/{unapplied/server/0675-Make-EntityUnleashEvent-cancellable.patch => server/0672-Make-EntityUnleashEvent-cancellable.patch} (93%) rename patches/{unapplied/server/0676-Clear-bucket-NBT-after-dispense.patch => server/0673-Clear-bucket-NBT-after-dispense.patch} (87%) rename patches/{unapplied/server/0677-Change-EnderEye-target-without-changing-other-things.patch => server/0674-Change-EnderEye-target-without-changing-other-things.patch} (86%) rename patches/{unapplied/server/0678-Add-BlockBreakBlockEvent.patch => server/0675-Add-BlockBreakBlockEvent.patch} (96%) rename patches/{unapplied/server/0679-Option-to-prevent-NBT-copy-in-smithing-recipes.patch => server/0676-Option-to-prevent-NBT-copy-in-smithing-recipes.patch} (65%) rename patches/{unapplied/server/0680-More-CommandBlock-API.patch => server/0677-More-CommandBlock-API.patch} (100%) rename patches/{unapplied/server/0681-Add-missing-team-sidebar-display-slots.patch => server/0678-Add-missing-team-sidebar-display-slots.patch} (100%) rename patches/{unapplied/server/0682-Add-back-EntityPortalExitEvent.patch => server/0679-Add-back-EntityPortalExitEvent.patch} (93%) rename patches/{unapplied/server/0683-Add-methods-to-find-targets-for-lightning-strikes.patch => server/0680-Add-methods-to-find-targets-for-lightning-strikes.patch} (89%) rename patches/{unapplied/server/0684-Get-entity-default-attributes.patch => server/0681-Get-entity-default-attributes.patch} (98%) rename patches/{unapplied/server/0685-Left-handed-API.patch => server/0682-Left-handed-API.patch} (100%) rename patches/{unapplied/server/0686-Add-more-advancement-API.patch => server/0683-Add-more-advancement-API.patch} (99%) rename patches/{unapplied/server/0687-Add-ItemFactory-getSpawnEgg-API.patch => server/0684-Add-ItemFactory-getSpawnEgg-API.patch} (89%) rename patches/{unapplied/server/0688-Add-critical-damage-API.patch => server/0685-Add-critical-damage-API.patch} (84%) rename patches/{unapplied/server/0689-Fix-issues-with-mob-conversion.patch => server/0686-Fix-issues-with-mob-conversion.patch} (100%) rename patches/{unapplied/server/0690-Add-isCollidable-methods-to-various-places.patch => server/0687-Add-isCollidable-methods-to-various-places.patch} (96%) rename patches/{unapplied/server/0691-Goat-ram-API.patch => server/0688-Goat-ram-API.patch} (95%) rename patches/{unapplied/server/0692-Add-API-for-resetting-a-single-score.patch => server/0689-Add-API-for-resetting-a-single-score.patch} (100%) rename patches/{unapplied/server/0693-Add-Raw-Byte-Entity-Serialization.patch => server/0690-Add-Raw-Byte-Entity-Serialization.patch} (91%) rename patches/{unapplied/server/0694-Vanilla-command-permission-fixes.patch => server/0691-Vanilla-command-permission-fixes.patch} (96%) rename patches/{unapplied/server/0695-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch => server/0692-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch} (88%) rename patches/{unapplied/server/0696-Fix-GameProfileCache-concurrency.patch => server/0693-Fix-GameProfileCache-concurrency.patch} (100%) rename patches/{unapplied/server/0697-Log-when-the-async-catcher-is-tripped.patch => server/0694-Log-when-the-async-catcher-is-tripped.patch} (100%) rename patches/{unapplied/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch => server/0695-Add-paper-mobcaps-and-paper-playermobcaps.patch} (97%) rename patches/{unapplied/server/0699-Sanitize-ResourceLocation-error-logging.patch => server/0696-Sanitize-ResourceLocation-error-logging.patch} (87%) rename patches/{unapplied/server/0700-Allow-controlled-flushing-for-network-manager.patch => server/0697-Allow-controlled-flushing-for-network-manager.patch} (92%) delete mode 100644 patches/unapplied/server/0673-Fix-block-drops-position-losing-precision-millions-o.patch diff --git a/patches/unapplied/server/0454-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/server/0452-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 93% rename from patches/unapplied/server/0454-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to patches/server/0452-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch index da7194a954..02b47f08de 100644 --- a/patches/unapplied/server/0454-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch +++ b/patches/server/0452-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch @@ -60,15 +60,14 @@ index 06fc39b19385d36fd0c5bb9a7042a238eb6e8a57..bb1f0e9dbcb792d015d1cb65664a96fd LootContext lootContext = EntityPredicate.createContext(player, player); List> list = null; diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index 0c2f12e7930646a3da53a50f38be62e0cb1ed2b7..e7ec5e1144c1596b035f97fb1fb86d18e61be3c9 100644 +index 6802e1def5e93c208d01a68f5cfc4c8809bb910f..3df2a3fdfe2aa70457581210adf1bfabc73291d0 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java -@@ -68,6 +68,8 @@ public class PlayerAdvancements { +@@ -62,6 +62,7 @@ public class PlayerAdvancements { + @Nullable private Advancement lastSelectedTab; private boolean isFirstPacket = true; - + public final Map> criterionData = Maps.newIdentityHashMap(); // Paper - fix advancement data player leakage -+ - public PlayerAdvancements(DataFixer dataFixer, PlayerList playerManager, ServerAdvancementManager advancementLoader, File advancementFile, ServerPlayer owner) { + + public PlayerAdvancements(DataFixer dataFixer, PlayerList playerManager, ServerAdvancementManager advancementLoader, Path filePath, ServerPlayer owner) { this.dataFixer = dataFixer; - this.playerList = playerManager; diff --git a/patches/unapplied/server/0455-Fix-some-rails-connecting-improperly.patch b/patches/server/0453-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from patches/unapplied/server/0455-Fix-some-rails-connecting-improperly.patch rename to patches/server/0453-Fix-some-rails-connecting-improperly.patch diff --git a/patches/unapplied/server/0456-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/server/0454-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/unapplied/server/0456-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/server/0454-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/unapplied/server/0457-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/server/0455-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 95% rename from patches/unapplied/server/0457-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/server/0455-Do-not-let-the-server-load-chunks-from-newer-version.patch index f95088b518..6736cba641 100644 --- a/patches/unapplied/server/0457-Do-not-let-the-server-load-chunks-from-newer-version.patch +++ b/patches/server/0455-Do-not-let-the-server-load-chunks-from-newer-version.patch @@ -9,7 +9,7 @@ the game, immediately stop the server to prevent data corruption. You can override this functionality at your own peril. diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java -index f6d1eac46c619831e146c62a9c08d3305c63c7bc..f8edcc9697289c2cf43c9021d5518955d0d701e7 100644 +index 4138ba8bdf6f359327dfc86d3402b787ae58c818..9981bbfd846a5380b99f0d894b121db554d03028 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java @@ -128,9 +128,22 @@ public class ChunkSerializer { diff --git a/patches/unapplied/server/0458-Brand-support.patch b/patches/server/0456-Brand-support.patch similarity index 87% rename from patches/unapplied/server/0458-Brand-support.patch rename to patches/server/0456-Brand-support.patch index 84447bf737..dd9b312859 100644 --- a/patches/unapplied/server/0458-Brand-support.patch +++ b/patches/server/0456-Brand-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef269ede66 100644 +index 1517c09ccd95448cb0fce0f9ffbb7bd2e704113b..221a695acf3cbeaeaf9eda818b6cf80987d7a994 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -298,6 +298,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -300,6 +300,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper @@ -17,7 +17,7 @@ index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); this.lastSeenMessages = new LastSeenMessagesValidator(20); -@@ -3328,6 +3330,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3337,6 +3339,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register"); private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); @@ -26,7 +26,7 @@ index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); -@@ -3355,6 +3359,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3364,6 +3368,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic try { byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); @@ -42,7 +42,7 @@ index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); -@@ -3364,6 +3377,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3373,6 +3386,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } @@ -56,10 +56,10 @@ index 75519699066f93c10b2d1affee651bd0bf7e482b..3553e36b45fe8c0cce2588bb88137bef return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7dfa2ce4028b7ab3b1ebe063f497b8adda397079..f0146fc5f294a54bbcc2df5eed1082c0809a88b3 100644 +index 3ea01452f4b18ac1c6a13a79f8e5c486e4c6f85b..d127eba33abe5c0ae711221504b67cc2af3b0822 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2866,6 +2866,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2933,6 +2933,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/unapplied/server/0459-Add-setMaxPlayers-API.patch b/patches/server/0457-Add-setMaxPlayers-API.patch similarity index 83% rename from patches/unapplied/server/0459-Add-setMaxPlayers-API.patch rename to patches/server/0457-Add-setMaxPlayers-API.patch index 1852e4969d..f5a6250957 100644 --- a/patches/unapplied/server/0459-Add-setMaxPlayers-API.patch +++ b/patches/server/0457-Add-setMaxPlayers-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add #setMaxPlayers API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 02ac22774a5d3092309e88b89ba784f741482150..3a9171a6ce370b6cd029095b58b25af0d190fd6b 100644 +index 391375642822d95f6d874a26d41b27ec4f4b8c08..b6cfea5de71d85c76a9ed6d10b9dd16d3d66f4d8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -151,7 +151,7 @@ public abstract class PlayerList { +@@ -152,7 +152,7 @@ public abstract class PlayerList { private boolean doWhiteList; private final LayeredRegistryAccess registries; private final RegistryAccess.Frozen synchronizedRegistries; @@ -18,10 +18,10 @@ index 02ac22774a5d3092309e88b89ba784f741482150..3a9171a6ce370b6cd029095b58b25af0 private int simulationDistance; private boolean allowCheatsForAllPlayers; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3d6725e281a612a873b40b9d6a67c990f94246d5..8720fdec86fa8b400721c66d23d8748afd2ac120 100644 +index 2f978b0c5721b0cf145d324e6c7551d8f0c1eccf..7971be6c5e9daa6d7f206aafac7479bd5cc0aad5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -669,6 +669,13 @@ public final class CraftServer implements Server { +@@ -664,6 +664,13 @@ public final class CraftServer implements Server { return this.playerList.getMaxPlayers(); } diff --git a/patches/unapplied/server/0460-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0458-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 90% rename from patches/unapplied/server/0460-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/server/0458-Add-playPickupItemAnimation-to-LivingEntity.patch index f9af77f96c..7b471758ee 100644 --- a/patches/unapplied/server/0460-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0458-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index b543619e50196f82e55dd7e648e5f8c580658dbe..ec57e0323f7b38828dd989244905025f973028f3 100644 +index 658d4dbb45d17e7064f69b10af8fbfa473a8dffe..fb783efc63e8c782e34380ff98d92b644ea2665c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -901,5 +901,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0461-Don-t-require-FACING-data.patch b/patches/server/0459-Don-t-require-FACING-data.patch similarity index 100% rename from patches/unapplied/server/0461-Don-t-require-FACING-data.patch rename to patches/server/0459-Don-t-require-FACING-data.patch diff --git a/patches/unapplied/server/0462-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0460-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 90% rename from patches/unapplied/server/0462-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/server/0460-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 244f918f58..e7bf385739 100644 --- a/patches/unapplied/server/0462-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0460-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix SpawnChangeEvent not firing for all use-cases diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 95c53189e32aec6aca254fa3b157df7bc68d4d1a..b046d08f2c9cc78935e5b75b5367aa45d540465c 100644 +index 06d20e9fde26540d1575975345f3d69405f767d0..959a8a170363227bb8ca833d8399f0c4c3d00004 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1863,9 +1863,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1862,9 +1862,11 @@ public class ServerLevel extends Level implements WorldGenLevel { public void setDefaultSpawnPos(BlockPos pos, float angle) { // Paper - configurable spawn radius BlockPos prevSpawn = this.getSharedSpawnPos(); @@ -21,7 +21,7 @@ index 95c53189e32aec6aca254fa3b157df7bc68d4d1a..b046d08f2c9cc78935e5b75b5367aa45 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a25dbc2bd3005cb3d1aee61fb48522b13e7c4922..cee8c89c5a4d3244f341205e255581086112b708 100644 +index 977004b4b5a294c4eab2995777df6fb1faff4625..217725e90d3c820467fe9a3b6a7116aeac255105 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -261,12 +261,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0463-Add-moon-phase-API.patch b/patches/server/0461-Add-moon-phase-API.patch similarity index 83% rename from patches/unapplied/server/0463-Add-moon-phase-API.patch rename to patches/server/0461-Add-moon-phase-API.patch index b627090581..c93e44f82b 100644 --- a/patches/unapplied/server/0463-Add-moon-phase-API.patch +++ b/patches/server/0461-Add-moon-phase-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 100d59c37cf699bd33bdf0c3fc085dfe0065b93a..3e4ac4020c9f51e634eadd43243d34267bea4b22 100644 +index 2c0773fec42c7c6223e2c300086058939ec32a52..9db48bd6dcf0d24132123b86670341c1d8113840 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -938,4 +938,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -963,4 +963,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName()); } diff --git a/patches/unapplied/server/0464-Prevent-headless-pistons-from-being-created.patch b/patches/server/0462-Prevent-headless-pistons-from-being-created.patch similarity index 95% rename from patches/unapplied/server/0464-Prevent-headless-pistons-from-being-created.patch rename to patches/server/0462-Prevent-headless-pistons-from-being-created.patch index 327de3dc8b..943e340970 100644 --- a/patches/unapplied/server/0464-Prevent-headless-pistons-from-being-created.patch +++ b/patches/server/0462-Prevent-headless-pistons-from-being-created.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Prevent headless pistons from being created Prevent headless pistons from being created by explosions or tree/mushroom growth. diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 4eb2b90596d2a538c1ea380f11fcd23f2465d611..092ba9e1f5bf331d65b549d54689b337e67a6d58 100644 +index a85ca27817981552680c58ad49866997a875018d..ff2ea0ae47fb6e083cf7dbb992d59416067b5c7d 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java @@ -183,6 +183,15 @@ public class Explosion { diff --git a/patches/unapplied/server/0465-Add-BellRingEvent.patch b/patches/server/0463-Add-BellRingEvent.patch similarity index 100% rename from patches/unapplied/server/0465-Add-BellRingEvent.patch rename to patches/server/0463-Add-BellRingEvent.patch diff --git a/patches/unapplied/server/0466-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0464-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/unapplied/server/0466-Add-zombie-targets-turtle-egg-config.patch rename to patches/server/0464-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/unapplied/server/0467-Buffer-joins-to-world.patch b/patches/server/0465-Buffer-joins-to-world.patch similarity index 92% rename from patches/unapplied/server/0467-Buffer-joins-to-world.patch rename to patches/server/0465-Buffer-joins-to-world.patch index 1a61d68572..f20edf45f4 100644 --- a/patches/unapplied/server/0467-Buffer-joins-to-world.patch +++ b/patches/server/0465-Buffer-joins-to-world.patch @@ -8,10 +8,10 @@ the world per tick, this attempts to reduce the impact that join floods has on the server diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index d032f8d011b94f396c9d5606f42a8c331db62740..501d17ba798c5928279a93c45de3eb6e8a3f99d6 100644 +index d3b5039adaa91fa254a582f030b33276c68fca0d..e4c471ad111efb40a820670328b67ac28c79bff0 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -433,14 +433,29 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -440,14 +440,29 @@ public class Connection extends SimpleChannelInboundHandler> { } // Paper end diff --git a/patches/unapplied/server/0468-Eigencraft-redstone-implementation.patch b/patches/server/0466-Eigencraft-redstone-implementation.patch similarity index 100% rename from patches/unapplied/server/0468-Eigencraft-redstone-implementation.patch rename to patches/server/0466-Eigencraft-redstone-implementation.patch diff --git a/patches/unapplied/server/0469-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0467-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 92% rename from patches/unapplied/server/0469-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/server/0467-Fix-hex-colors-not-working-in-some-kick-messages.patch index 0ab77dfebe..0bbb324050 100644 --- a/patches/unapplied/server/0469-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ b/patches/server/0467-Fix-hex-colors-not-working-in-some-kick-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix hex colors not working in some kick messages diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -index 34e4d00ede62be50808a2782e54da987cc62c9af..e12c67bdfa326b3f52f6a4973063cef44359b804 100644 +index 50521cbd2af1c723d7caaf298fd052af905802b6..ebb964aa4d6c3e98cb6da54f68370a155658b169 100644 --- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -@@ -76,12 +76,12 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -77,12 +77,12 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL } // CraftBukkit end if (packet.getProtocolVersion() != SharedConstants.getCurrentVersion().getProtocolVersion()) { @@ -25,7 +25,7 @@ index 34e4d00ede62be50808a2782e54da987cc62c9af..e12c67bdfa326b3f52f6a4973063cef4 this.connection.send(new ClientboundLoginDisconnectPacket(ichatmutablecomponent)); diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index b09069196fbcba32bdd6ea67718ea4c3086fb318..966f5bd5b922c9f64616e93c292c87997402c521 100644 +index 9858f907e58fa606510f87efbdf8793c35ec711c..c9f8f61c43428c519c0dac1b7416bad775e3429f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -102,7 +102,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/unapplied/server/0470-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch similarity index 90% rename from patches/unapplied/server/0470-PortalCreateEvent-needs-to-know-its-entity.patch rename to patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch index bbd4eb9d53..6527691384 100644 --- a/patches/unapplied/server/0470-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/patches/server/0468-PortalCreateEvent-needs-to-know-its-entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PortalCreateEvent needs to know its entity diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index ae4c8eb5c06a877c24b22e3ce15b2751449102fd..d16fbd7817e71f50e35bc84eb889444e35eab415 100644 +index e4e2d3676c354218e1d334a89a082c5f57a09673..9a4a05668fec49e488dbf644c083c5b67c4dde93 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -440,7 +440,7 @@ public final class ItemStack { +@@ -441,7 +441,7 @@ public final class ItemStack { net.minecraft.world.level.block.state.BlockState block = world.getBlockState(newblockposition); if (!(block.getBlock() instanceof BaseEntityBlock)) { // Containers get placed automatically @@ -18,10 +18,10 @@ index ae4c8eb5c06a877c24b22e3ce15b2751449102fd..d16fbd7817e71f50e35bc84eb889444e world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -index 378d4316a51d48cb84e2d8a553f7b28bae55630e..922b5b22a4ccfeead9d6d2b9a2a2b3cc8a1e6c55 100644 +index 2bc31c28d0d5469476699b69efa6e07325f2a852..4066dd6a638cf2186c628905915f635326442b3e 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -139,20 +139,23 @@ public abstract class BaseFireBlock extends Block { +@@ -138,20 +138,23 @@ public abstract class BaseFireBlock extends Block { super.entityInside(state, world, pos, entity); } @@ -52,18 +52,18 @@ index 378d4316a51d48cb84e2d8a553f7b28bae55630e..922b5b22a4ccfeead9d6d2b9a2a2b3cc } diff --git a/src/main/java/net/minecraft/world/level/block/FireBlock.java b/src/main/java/net/minecraft/world/level/block/FireBlock.java -index 68be050e5187d372a65290c01c69f3582053f7a1..cfddfcad9b09970b28dccd2dcd80be2c2dbed0e7 100644 +index 9576f581bb61e6c71de427c52dcc3e56dc3ed81e..6ed2c13c8d22a936ae130cf8cf103451033a2cb7 100644 --- a/src/main/java/net/minecraft/world/level/block/FireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FireBlock.java -@@ -12,6 +12,7 @@ import net.minecraft.core.Direction; - import net.minecraft.server.level.ServerLevel; +@@ -13,6 +13,7 @@ import net.minecraft.server.level.ServerLevel; + import net.minecraft.tags.BiomeTags; import net.minecraft.util.RandomSource; import net.minecraft.world.item.context.BlockPlaceContext; +import net.minecraft.world.item.context.UseOnContext; import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.Level; -@@ -356,9 +357,11 @@ public class FireBlock extends BaseFireBlock { +@@ -357,9 +358,11 @@ public class FireBlock extends BaseFireBlock { } @Override @@ -79,10 +79,10 @@ index 68be050e5187d372a65290c01c69f3582053f7a1..cfddfcad9b09970b28dccd2dcd80be2c private static int getFireTickDelay(RandomSource random) { diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 6a549229037c8b8c2093feb563780ef8565d709f..efbcd2b78d75481793e0f29a7431d3eb76489abc 100644 +index b245b3912a4e2f4e83872c29c5a9602743b5eccb..61c814a8042d3d4be5ea86ce339c90100bdbe597 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -39,6 +39,7 @@ import net.minecraft.world.item.DyeColor; +@@ -40,6 +40,7 @@ import net.minecraft.world.item.DyeColor; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.context.BlockPlaceContext; @@ -90,7 +90,7 @@ index 6a549229037c8b8c2093feb563780ef8565d709f..efbcd2b78d75481793e0f29a7431d3eb import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.EmptyBlockGetter; import net.minecraft.world.level.Level; -@@ -142,6 +143,12 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -143,6 +144,12 @@ public abstract class BlockBehaviour implements FeatureElement { DebugPackets.sendNeighborsUpdatePacket(world, pos); } diff --git a/patches/unapplied/server/0471-Fix-CraftTeam-null-check.patch b/patches/server/0469-Fix-CraftTeam-null-check.patch similarity index 100% rename from patches/unapplied/server/0471-Fix-CraftTeam-null-check.patch rename to patches/server/0469-Fix-CraftTeam-null-check.patch diff --git a/patches/unapplied/server/0472-Add-more-Evoker-API.patch b/patches/server/0470-Add-more-Evoker-API.patch similarity index 100% rename from patches/unapplied/server/0472-Add-more-Evoker-API.patch rename to patches/server/0470-Add-more-Evoker-API.patch diff --git a/patches/unapplied/server/0473-Add-methods-to-get-translation-keys.patch b/patches/server/0471-Add-methods-to-get-translation-keys.patch similarity index 100% rename from patches/unapplied/server/0473-Add-methods-to-get-translation-keys.patch rename to patches/server/0471-Add-methods-to-get-translation-keys.patch diff --git a/patches/unapplied/server/0474-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 94% rename from patches/unapplied/server/0474-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch index f5ff596a6d..f6ec320c49 100644 --- a/patches/unapplied/server/0474-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0472-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 42724d209b4fd5f246a2cedbc297ca2aa81fd5fe..e3bedba23bc57a51e8e702a9a6ab89db8700263c 100644 +index 45f37c894a9d862fd9d73908d1dae2e8c62262ff..081a92415d8a19da4f342e8febee62c844458cb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -441,5 +441,40 @@ public final class CraftItemFactory implements ItemFactory { +@@ -448,5 +448,40 @@ public final class CraftItemFactory implements ItemFactory { return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null; } diff --git a/patches/unapplied/server/0475-Cache-block-data-strings.patch b/patches/server/0473-Cache-block-data-strings.patch similarity index 90% rename from patches/unapplied/server/0475-Cache-block-data-strings.patch rename to patches/server/0473-Cache-block-data-strings.patch index 3191156197..1bf0a022a4 100644 --- a/patches/unapplied/server/0475-Cache-block-data-strings.patch +++ b/patches/server/0473-Cache-block-data-strings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache block data strings diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8e101269ca2edf5f3cc9c1ccedd03afaf1392d19..8ce413404930cca3a470bb58d73b9bd0c9a9c2d2 100644 +index dfc8b3441ca35aba19a7e1bf61a0d60c5722ce96..6d611d4de5a9f568a974facd8ef7a03b18502e0e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2022,6 +2022,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop%s", nms, bukkit); } diff --git a/patches/unapplied/server/0476-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 87% rename from patches/unapplied/server/0476-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index 927680565b..eeb5e39aa3 100644 --- a/patches/unapplied/server/0476-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0474-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,10 +9,10 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3553e36b45fe8c0cce2588bb88137bef269ede66..2de25bb28f0cbbfb46054be36f65c930b6005921 100644 +index 221a695acf3cbeaeaf9eda818b6cf80987d7a994..ed16292b121aeaee5ad439176af57841281e293d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -748,7 +748,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -750,7 +750,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } @@ -21,17 +21,17 @@ index 3553e36b45fe8c0cce2588bb88137bef269ede66..2de25bb28f0cbbfb46054be36f65c930 this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1665,7 +1665,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1655,7 +1655,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end this.awaitingTeleportTime = this.tickCount; - this.player.absMoveTo(d0, d1, d2, f, f1); + this.player.moveTo(d0, d1, d2, f, f1); // Paper - use proper moveTo for teleportation - this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport, flag)); + this.player.connection.send(new ClientboundPlayerPositionPacket(d0 - d3, d1 - d4, d2 - d5, f - f2, f1 - f3, set, this.awaitingTeleport)); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1a33ce4ff0e00ac2f6bba288cb43880ca5dae19a..873206bb65b2412d3066a0f7e35fe0684e29661a 100644 +index 4d62f7f88dfaedfbde598515a1e77716d0ee4a1b..6db716a0b510e88551d532b382c8adb896edeae6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -158,6 +158,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -42,7 +42,7 @@ index 1a33ce4ff0e00ac2f6bba288cb43880ca5dae19a..873206bb65b2412d3066a0f7e35fe068 static boolean isLevelAtLeast(CompoundTag tag, int level) { return tag.contains("Bukkit.updateLevel") && tag.getInt("Bukkit.updateLevel") >= level; } -@@ -1731,6 +1732,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1736,6 +1737,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void moveTo(double x, double y, double z, float yaw, float pitch) { @@ -57,7 +57,7 @@ index 1a33ce4ff0e00ac2f6bba288cb43880ca5dae19a..873206bb65b2412d3066a0f7e35fe068 this.setYRot(yaw); this.setXRot(pitch); diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index c5a117308f051c20b81818ad91e0ca40177feb69..0e7c2e7640ff2a2cdc3088dcb56314026bfaf95f 100644 +index 54a20433483d5b67a6668fcdbddc1654a246fee2..9bf1a37ea8436f3314b28914ae8b1516378eb465 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java @@ -167,6 +167,7 @@ public abstract class BaseSpawner { @@ -69,10 +69,10 @@ index c5a117308f051c20b81818ad91e0ca40177feb69..0e7c2e7640ff2a2cdc3088dcb5631402 if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6cc448268f786b06529f5488fa3153f6c8cc8fdf..7dc79a3875388c48dda40b7e28331c6d0a7b3fc5 100644 +index b1697227b34858da01603abbf7a7476494ce59be..d1ff5c5d1286692504c39727d94bee341f7586fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -563,7 +563,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -574,7 +574,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // entity.setLocation() throws no event, and so cannot be cancelled diff --git a/patches/unapplied/server/0477-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0475-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/server/0477-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/server/0475-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/unapplied/server/0478-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0476-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 90% rename from patches/unapplied/server/0478-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/server/0476-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch index 602cc3a878..b5d192ac20 100644 --- a/patches/unapplied/server/0478-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch +++ b/patches/server/0476-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch @@ -30,10 +30,10 @@ This patch will significantly reduce CPU use on startup, reduce memory usage, and improve server startup time. diff --git a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java -index d25f106ab64c90438f521a2c6fa944bdedc1969a..3d5e52d997a8e7d7f3b000e3737d30762aae2ca1 100644 +index cd812f3fe362de5ddc414862dedab2e9727ca776..f6598fcf4ed1bd61e1c87cd7107869d49ffe4566 100644 --- a/src/main/java/com/mojang/datafixers/DataFixerBuilder.java +++ b/src/main/java/com/mojang/datafixers/DataFixerBuilder.java -@@ -28,8 +28,10 @@ public class DataFixerBuilder { +@@ -30,8 +30,10 @@ public class DataFixerBuilder { private final Int2ObjectSortedMap schemas = new Int2ObjectAVLTreeMap<>(); private final List globalList = Lists.newArrayList(); private final IntSortedSet fixerVersions = new IntAVLTreeSet(); @@ -44,11 +44,11 @@ index d25f106ab64c90438f521a2c6fa944bdedc1969a..3d5e52d997a8e7d7f3b000e3737d3076 this.dataVersion = dataVersion; } -@@ -74,6 +76,7 @@ public class DataFixerBuilder { +@@ -78,6 +80,7 @@ public class DataFixerBuilder { final IntBidirectionalIterator iterator = fixerUpper.fixerVersions().iterator(); while (iterator.hasNext()) { final int versionKey = iterator.nextInt(); + if (versionKey < minDataFixPrecacheVersion) continue; // Paper final Schema schema = schemas.get(versionKey); for (final String typeName : schema.types()) { - final CompletableFuture future = CompletableFuture.runAsync(() -> { + if (!requiredTypeNames.contains(typeName)) { diff --git a/patches/unapplied/server/0479-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0477-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 94% rename from patches/unapplied/server/0479-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/server/0477-Extend-block-drop-capture-to-capture-all-items-added.patch index 3e785bd0e6..c17460c19a 100644 --- a/patches/unapplied/server/0479-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0477-Extend-block-drop-capture-to-capture-all-items-added.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Extend block drop capture to capture all items added to the diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b046d08f2c9cc78935e5b75b5367aa45d540465c..32c212861517fef926640dd19f596e6f0cbd8648 100644 +index 959a8a170363227bb8ca833d8399f0c4c3d00004..c73bf7d8c6b009ed5e1f666600d3c470927f564d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1367,6 +1367,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1366,6 +1366,12 @@ public class ServerLevel extends Level implements WorldGenLevel { // WorldServer.LOGGER.warn("Tried to add entity {} but it was marked as removed already", EntityTypes.getKey(entity.getType())); // CraftBukkit return false; } else { diff --git a/patches/unapplied/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0478-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 84% rename from patches/unapplied/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/server/0478-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 67ca418316..b470239fd1 100644 --- a/patches/unapplied/server/0480-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0478-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 873206bb65b2412d3066a0f7e35fe0684e29661a..d170254265a789998be96ce1dcaf71c9900d75ab 100644 +index 6db716a0b510e88551d532b382c8adb896edeae6..2e14c719eed5e4a76aba1dbdcac3f9e80d4c7927 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4221,4 +4221,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4301,4 +4301,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { void accept(Entity entity, double x, double y, double z); } @@ -21,7 +21,7 @@ index 873206bb65b2412d3066a0f7e35fe0684e29661a..d170254265a789998be96ce1dcaf71c9 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 69b126c8bbba26f517e0d314b3629b2445349770..75be35b61608a0266fe2b734290077a27f05122b 100644 +index e50daf4bafa38d92304ffda05326bd335d070422..c4cc2833879d14451be507a59a31c67f13cc8b3d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -506,6 +506,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0481-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0479-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/unapplied/server/0481-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/server/0479-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/unapplied/server/0482-Entity-isTicking.patch b/patches/server/0480-Entity-isTicking.patch similarity index 79% rename from patches/unapplied/server/0482-Entity-isTicking.patch rename to patches/server/0480-Entity-isTicking.patch index 0b4efb30df..f5cf56c0ee 100644 --- a/patches/unapplied/server/0482-Entity-isTicking.patch +++ b/patches/server/0480-Entity-isTicking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d170254265a789998be96ce1dcaf71c9900d75ab..6ba3e91c2a937d288b67ec32c818bebf38b04d5c 100644 +index 2e14c719eed5e4a76aba1dbdcac3f9e80d4c7927..f4cca3313b0a5ac69f5b47da727d9ea3e2b7ffc5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4226,5 +4226,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4306,5 +4306,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public static int nextEntityId() { return ENTITY_COUNTER.incrementAndGet(); } @@ -19,10 +19,10 @@ index d170254265a789998be96ce1dcaf71c9900d75ab..6ba3e91c2a937d288b67ec32c818bebf // 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 7dc79a3875388c48dda40b7e28331c6d0a7b3fc5..e44792ecc68a948fae8394d97cd50e3da8d78c0d 100644 +index d1ff5c5d1286692504c39727d94bee341f7586fd..e67fb2f213fc174dba36f283ca4441fcf4596140 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1308,5 +1308,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1343,5 +1343,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInLava() { return getHandle().isInLava(); } diff --git a/patches/unapplied/server/0483-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0481-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 90% rename from patches/unapplied/server/0483-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/server/0481-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch index 7a3bfe4d6a..21f4586227 100644 --- a/patches/unapplied/server/0483-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch +++ b/patches/server/0481-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8ce413404930cca3a470bb58d73b9bd0c9a9c2d2..f445f6d382c8fe3def980ed3f8517bbf3b75dfed 100644 +index 6d611d4de5a9f568a974facd8ef7a03b18502e0e..1a5b27c24499e1fd7b277cbef52872cd320edfef 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2105,13 +2105,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 1.0D) { -@@ -1396,9 +1418,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1398,9 +1420,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic AABB axisalignedbb = this.player.getBoundingBox(); diff --git a/patches/unapplied/server/0487-Optimise-getType-calls.patch b/patches/server/0485-Optimise-getType-calls.patch similarity index 98% rename from patches/unapplied/server/0487-Optimise-getType-calls.patch rename to patches/server/0485-Optimise-getType-calls.patch index 1bf130189f..0ea573bcf3 100644 --- a/patches/unapplied/server/0487-Optimise-getType-calls.patch +++ b/patches/server/0485-Optimise-getType-calls.patch @@ -67,7 +67,7 @@ index 0a755f38fae9dc84440f43113920c5b4c6d8218b..7b9e943b391c061782fccd2b8d705cee public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 14b8d0754955747d5a755eaf628e861929f5f47f..7acf213194f61d04cffabaaee6c1372bfa2e1933 100644 +index 780cd4f5fb4bb2ed42b0a168d94f0adde8fd0fc3..6361f096eeb5da035a01fc3a2d79f48def33b38d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -53,7 +53,7 @@ public class CraftBlockData implements BlockData { diff --git a/patches/unapplied/server/0488-Villager-resetOffers.patch b/patches/server/0486-Villager-resetOffers.patch similarity index 100% rename from patches/unapplied/server/0488-Villager-resetOffers.patch rename to patches/server/0486-Villager-resetOffers.patch diff --git a/patches/unapplied/server/0489-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0487-Retain-block-place-order-when-capturing-blockstates.patch similarity index 89% rename from patches/unapplied/server/0489-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0487-Retain-block-place-order-when-capturing-blockstates.patch index 7512de56ba..7b5a185559 100644 --- a/patches/unapplied/server/0489-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0487-Retain-block-place-order-when-capturing-blockstates.patch @@ -10,10 +10,10 @@ In general, look at making this logic more robust (i.e properly handling cases where a captured entry is overriden) - but for now this will do. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 6ee6ecf5ae3d450a2da4db453f5b02dd71073ad0..f846132527aba0a034203100e3fdac3bd6ad21d9 100644 +index 0ef98a3a3f8685c801f74431fcfab88541b6a170..1770c97a3190a89a9b1dbde126b94a42662efea0 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -154,7 +154,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -158,7 +158,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; public Map capturedBlockStates = new java.util.LinkedHashMap<>(); // Paper diff --git a/patches/unapplied/server/0490-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0488-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 63% rename from patches/unapplied/server/0490-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0488-Reduce-blockpos-allocation-from-pathfinding.patch index 6bcb9d1f7f..0008f77d44 100644 --- a/patches/unapplied/server/0490-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/patches/server/0488-Reduce-blockpos-allocation-from-pathfinding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reduce blockpos allocation from pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index 04406fdb2961a85d8e6bffbb8e233e8c4dcf4390..894881018c659d874f28f5744f0b8247cfecb1c1 100644 +index 67ac0b3cec3b1a9bd6de7be50244804ac1620ab3..94a0fde36dda9404e5eb62d323c71dac1929a46b 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -@@ -483,7 +483,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -471,7 +471,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { return BlockPathTypes.DANGER_FIRE; } @@ -17,12 +17,12 @@ index 04406fdb2961a85d8e6bffbb8e233e8c4dcf4390..894881018c659d874f28f5744f0b8247 return BlockPathTypes.WATER_BORDER; } } // Paper -@@ -514,7 +514,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { - } else if (blockState.is(Blocks.COCOA)) { - return BlockPathTypes.COCOA; - } else { -- FluidState fluidState = world.getFluidState(pos); +@@ -499,7 +499,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { + } else if (blockState.is(Blocks.COCOA)) { + return BlockPathTypes.COCOA; + } else { +- FluidState fluidState = world.getFluidState(pos); + FluidState fluidState = blockState.getFluidState(); // Paper - remove another get type call - if (fluidState.is(FluidTags.LAVA)) { - return BlockPathTypes.LAVA; - } else if (isBurningBlock(blockState)) { + if (fluidState.is(FluidTags.LAVA)) { + return BlockPathTypes.LAVA; + } else if (isBurningBlock(blockState)) { diff --git a/patches/unapplied/server/0491-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0489-Fix-item-locations-dropped-from-campfires.patch similarity index 94% rename from patches/unapplied/server/0491-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0489-Fix-item-locations-dropped-from-campfires.patch index db503bc46a..b69c339697 100644 --- a/patches/unapplied/server/0491-Fix-item-locations-dropped-from-campfires.patch +++ b/patches/server/0489-Fix-item-locations-dropped-from-campfires.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix item locations dropped from campfires Fixes #4259 by not flooring the blockposition among other weirdness diff --git a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java -index 683958d65e4b926231b68c68744af13ef18fba8a..b07b83f4c16e85304b5da7a245810dd2741398e7 100644 +index ba4ce804d1d239ca842b06b3599605847effc35b..ca995270c9b8d7024504a9ba885b1c0214b33a8b 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/CampfireBlockEntity.java @@ -81,7 +81,11 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { diff --git a/patches/unapplied/server/0492-Player-elytra-boost-API.patch b/patches/server/0490-Player-elytra-boost-API.patch similarity index 90% rename from patches/unapplied/server/0492-Player-elytra-boost-API.patch rename to patches/server/0490-Player-elytra-boost-API.patch index 3ea207af48..64587296d0 100644 --- a/patches/unapplied/server/0492-Player-elytra-boost-API.patch +++ b/patches/server/0490-Player-elytra-boost-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f0146fc5f294a54bbcc2df5eed1082c0809a88b3..b6a7fc3602d7af1de9ecd8eff23a8e7b07d8667f 100644 +index d127eba33abe5c0ae711221504b67cc2af3b0822..42f5a42b916e0d8ce9583d06c1ad3bc5ee6c4c9c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -639,6 +639,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -640,6 +640,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } throw new RuntimeException("Unknown settings type"); } diff --git a/patches/unapplied/server/0493-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0491-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/unapplied/server/0493-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0491-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/unapplied/server/0494-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0492-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 97% rename from patches/unapplied/server/0494-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0492-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch index d2796ab1d2..0d485f863d 100644 --- a/patches/unapplied/server/0494-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch +++ b/patches/server/0492-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch @@ -8,7 +8,7 @@ This can realistically only happen if there's custom loot active on fishing which can return 0 items. This would disconnect the player who's fishing. diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 75449d8575ac1b67aaa94d0f3fc08244728ec8a8..15fb5ee374b19366ebb23181896fb943e95819f0 100644 +index 7d058efff8820727e2e8531bdd57f85059b5ca30..d77410588a1c10d8ac902f21a8bd7e35f74fecd2 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java @@ -495,9 +495,15 @@ public class FishingHook extends Projectile { diff --git a/patches/unapplied/server/0495-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0493-Add-getOfflinePlayerIfCached-String.patch similarity index 88% rename from patches/unapplied/server/0495-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0493-Add-getOfflinePlayerIfCached-String.patch index 5bb2252436..b7150a9d6c 100644 --- a/patches/unapplied/server/0495-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0493-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8720fdec86fa8b400721c66d23d8748afd2ac120..b68b19f32754c9c426e711892235b469a85fefb2 100644 +index 7971be6c5e9daa6d7f206aafac7479bd5cc0aad5..a133e0a0a7a5b646ac3df9c2521d4deed6a1761d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1813,6 +1813,28 @@ public final class CraftServer implements Server { +@@ -1812,6 +1812,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/unapplied/server/0496-Add-ignore-discounts-API.patch b/patches/server/0494-Add-ignore-discounts-API.patch similarity index 96% rename from patches/unapplied/server/0496-Add-ignore-discounts-API.patch rename to patches/server/0494-Add-ignore-discounts-API.patch index e4351b81e5..6ed4565a52 100644 --- a/patches/unapplied/server/0496-Add-ignore-discounts-API.patch +++ b/patches/server/0494-Add-ignore-discounts-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ignore discounts API diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 214c7947705eda61454b70cbc4bf37bc54dd26e8..e3db573f10b7a3f8f605a11dc886859c68168467 100644 +index ece23ee7812ca62ff8e763ffc29cda2711d2f2e1..279b247f579a46183bdb90064ee169d3f9b0b1e3 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -489,6 +489,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -501,6 +501,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler while (iterator.hasNext()) { MerchantOffer merchantrecipe = (MerchantOffer) iterator.next(); @@ -16,7 +16,7 @@ index 214c7947705eda61454b70cbc4bf37bc54dd26e8..e3db573f10b7a3f8f605a11dc886859c merchantrecipe.addToSpecialPriceDiff(-Mth.floor((float) i * merchantrecipe.getPriceMultiplier())); } -@@ -501,6 +502,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -513,6 +514,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler while (iterator1.hasNext()) { MerchantOffer merchantrecipe1 = (MerchantOffer) iterator1.next(); @@ -25,7 +25,7 @@ index 214c7947705eda61454b70cbc4bf37bc54dd26e8..e3db573f10b7a3f8f605a11dc886859c int k = (int) Math.floor(d0 * (double) merchantrecipe1.getBaseCostA().getCount()); diff --git a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java -index 8b46e494ecd0cce5ab0b2bf8e50cf50dc7e2a7e5..8a9a701baabdaf066cd9b28c05430f673fcafb4e 100644 +index 8de9ea7928b272bbaf9c49940a8079f2499c8ee1..fd50d1c2435b82215bc5b3fdbe5044d426bc342e 100644 --- a/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java +++ b/src/main/java/net/minecraft/world/item/trading/MerchantOffer.java @@ -19,6 +19,7 @@ public class MerchantOffer { diff --git a/patches/unapplied/server/0497-Toggle-for-removing-existing-dragon.patch b/patches/server/0495-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/unapplied/server/0497-Toggle-for-removing-existing-dragon.patch rename to patches/server/0495-Toggle-for-removing-existing-dragon.patch diff --git a/patches/unapplied/server/0498-Fix-client-lag-on-advancement-loading.patch b/patches/server/0496-Fix-client-lag-on-advancement-loading.patch similarity index 95% rename from patches/unapplied/server/0498-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0496-Fix-client-lag-on-advancement-loading.patch index 3727a73ec2..81b3245875 100644 --- a/patches/unapplied/server/0498-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0496-Fix-client-lag-on-advancement-loading.patch @@ -15,7 +15,7 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 75be35b61608a0266fe2b734290077a27f05122b..c05024b813264669d559cf18a15b1a60f427186a 100644 +index c4cc2833879d14451be507a59a31c67f13cc8b3d..a933d12dabfee67f2c9bb2419f9ede69c354b3c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -345,7 +345,13 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0499-Item-no-age-no-player-pickup.patch b/patches/server/0497-Item-no-age-no-player-pickup.patch similarity index 94% rename from patches/unapplied/server/0499-Item-no-age-no-player-pickup.patch rename to patches/server/0497-Item-no-age-no-player-pickup.patch index 13b456555a..0a59edc058 100644 --- a/patches/unapplied/server/0499-Item-no-age-no-player-pickup.patch +++ b/patches/server/0497-Item-no-age-no-player-pickup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item no age & no player pickup diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java -index 30c954efba587d69ff55df509339f03e7d5a476e..1d90219c3a0e86786a9497d4c078c2d4077ab6cd 100644 +index 5f36b0fd12ccd0e7ec9a7f61c56f08307844935f..27e961653dc66fbe8d5421eef04260b91ca410f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftItem.java @@ -10,6 +10,12 @@ import org.bukkit.entity.Item; diff --git a/patches/unapplied/server/0500-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0498-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/unapplied/server/0500-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0498-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/unapplied/server/0501-Beacon-API-custom-effect-ranges.patch b/patches/server/0499-Beacon-API-custom-effect-ranges.patch similarity index 98% rename from patches/unapplied/server/0501-Beacon-API-custom-effect-ranges.patch rename to patches/server/0499-Beacon-API-custom-effect-ranges.patch index e1551974b7..08c28d699c 100644 --- a/patches/unapplied/server/0501-Beacon-API-custom-effect-ranges.patch +++ b/patches/server/0499-Beacon-API-custom-effect-ranges.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Beacon API - custom effect ranges diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java -index 04c2872e2a492adef5aec98289a8cf2af6611757..ab4e5c08e51f5ed1cddf8295944cd54b19f401c0 100644 +index 34ec79a4298bff5ef6d751dc06b6439d0fa2e077..b572643536c47f34362b086e46f581417fa1719e 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java @@ -78,6 +78,26 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name diff --git a/patches/unapplied/server/0502-Add-API-for-quit-reason.patch b/patches/server/0500-Add-API-for-quit-reason.patch similarity index 88% rename from patches/unapplied/server/0502-Add-API-for-quit-reason.patch rename to patches/server/0500-Add-API-for-quit-reason.patch index a2d04a2bb1..4d28cb62ae 100644 --- a/patches/unapplied/server/0502-Add-API-for-quit-reason.patch +++ b/patches/server/0500-Add-API-for-quit-reason.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add API for quit reason diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 501d17ba798c5928279a93c45de3eb6e8a3f99d6..5fa1b0d609ffc43b03f66d710a2702c2597786fc 100644 +index e4c471ad111efb40a820670328b67ac28c79bff0..6ef3a08ea5223ee28dd175d66c6405efe5517993 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -170,12 +170,15 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -173,12 +173,15 @@ public class Connection extends SimpleChannelInboundHandler> { this.handlingFault = true; if (this.channel.isOpen()) { @@ -25,10 +25,10 @@ index 501d17ba798c5928279a93c45de3eb6e8a3f99d6..5fa1b0d609ffc43b03f66d710a2702c2 Connection.LOGGER.debug("Failed to sent packet", throwable); ConnectionProtocol enumprotocol = this.getCurrentProtocol(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index f2185620a76b0b376adca38a5db950a327abc897..b91f55082d6828dab010cf409218f70186c6d9cc 100644 +index 4e25b015c7b37b1249d2bca4a3d97d26bcefd61e..35a2638214e427f24c265fa11318311cd8315337 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -268,6 +268,7 @@ public class ServerPlayer extends Player { +@@ -273,6 +273,7 @@ public class ServerPlayer extends Player { public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper @@ -37,10 +37,10 @@ index f2185620a76b0b376adca38a5db950a327abc897..b91f55082d6828dab010cf409218f701 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8de437fb49ddfa80bb0dc829958d9898d56853c9..7d7e7d10325eab5e107d43b0bc3e6a7b92653fad 100644 +index 459403f9c8a784c3911d5ba163a2c90efef00e9f..7ffe3a9978d58831fe2f01c3b19dfd8bef29f556 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -503,6 +503,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -505,6 +505,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic final Component ichatbasecomponent = PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end @@ -49,10 +49,10 @@ index 8de437fb49ddfa80bb0dc829958d9898d56853c9..7d7e7d10325eab5e107d43b0bc3e6a7b this.connection.disconnect(ichatbasecomponent); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3a9171a6ce370b6cd029095b58b25af0d190fd6b..f41cff746561f60654130b5dd7bae021c913a753 100644 +index b6cfea5de71d85c76a9ed6d10b9dd16d3d66f4d8..98e675b7aa4b59fe93bae1049ce09191d426ad9e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -552,7 +552,7 @@ public abstract class PlayerList { +@@ -559,7 +559,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/unapplied/server/0503-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 92% rename from patches/unapplied/server/0503-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch index a3b82ec02b..831b24769a 100644 --- a/patches/unapplied/server/0503-Add-Wandering-Trader-spawn-rate-config-options.patch +++ b/patches/server/0501-Add-Wandering-Trader-spawn-rate-config-options.patch @@ -11,10 +11,10 @@ in IWorldServerData are removed as they were only used in certain places, with h values used in other places. diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java -index 0885565e4de0c2924f9e89abfd20dfa0ccf031f2..0ae8e9134a3671cdf2a480cd4dd6598653e261ab 100644 +index 83d0db5a9f03ee3ead10d9f61e5f425330eae0e9..02562a036d99d0ddadea28ae807c8e9463a8e341 100644 --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTraderSpawner.java -@@ -40,43 +40,53 @@ public class WanderingTraderSpawner implements CustomSpawner { +@@ -40,32 +40,41 @@ public class WanderingTraderSpawner implements CustomSpawner { public WanderingTraderSpawner(ServerLevelData properties) { this.serverLevelData = properties; @@ -70,10 +70,10 @@ index 0885565e4de0c2924f9e89abfd20dfa0ccf031f2..0ae8e9134a3671cdf2a480cd4dd65986 if (!world.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING)) { return 0; } else { - int i = this.spawnChance; +@@ -73,10 +82,13 @@ public class WanderingTraderSpawner implements CustomSpawner { -- this.spawnChance = Mth.clamp(this.spawnChance + 25, (int) 25, (int) 75); -- this.serverLevelData.setWanderingTraderSpawnChance(this.spawnChance); + this.spawnChance = Mth.clamp(this.spawnChance + 25, 25, 75); + this.serverLevelData.setWanderingTraderSpawnChance(this.spawnChance); + this.spawnChance = Mth.clamp(i + world.paperConfig().entities.spawning.wanderingTrader.spawnChanceFailureIncrement, world.paperConfig().entities.spawning.wanderingTrader.spawnChanceMin, world.paperConfig().entities.spawning.wanderingTrader.spawnChanceMax); + //this.serverLevelData.setWanderingTraderSpawnChance(this.spawnChance); // Paper - We don't need to save this value to disk if it gets set back to a hardcoded value anyways if (this.random.nextInt(100) > i) { diff --git a/patches/unapplied/server/0504-Expose-world-spawn-angle.patch b/patches/server/0502-Expose-world-spawn-angle.patch similarity index 89% rename from patches/unapplied/server/0504-Expose-world-spawn-angle.patch rename to patches/server/0502-Expose-world-spawn-angle.patch index 6bc83dabca..05e1684473 100644 --- a/patches/unapplied/server/0504-Expose-world-spawn-angle.patch +++ b/patches/server/0502-Expose-world-spawn-angle.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index f41cff746561f60654130b5dd7bae021c913a753..1e1ed41895b5787c4691e55e58bd61a45399a580 100644 +index 98e675b7aa4b59fe93bae1049ce09191d426ad9e..7548dec1f84837c52a29dbc65cfc5480cf04a0be 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -816,7 +816,7 @@ public abstract class PlayerList { +@@ -823,7 +823,7 @@ public abstract class PlayerList { if (location == null) { worldserver1 = this.server.getLevel(Level.OVERWORLD); blockposition = entityplayer1.getSpawnPoint(worldserver1); diff --git a/patches/unapplied/server/0505-Add-Destroy-Speed-API.patch b/patches/server/0503-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/unapplied/server/0505-Add-Destroy-Speed-API.patch rename to patches/server/0503-Add-Destroy-Speed-API.patch diff --git a/patches/unapplied/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 89% rename from patches/unapplied/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index b7736b2fcc..4dae090a37 100644 --- a/patches/unapplied/server/0506-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0504-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b6a7fc3602d7af1de9ecd8eff23a8e7b07d8667f..96c9cc8c86dbf022c6cbc5c3da130ad6f477d350 100644 +index 42f5a42b916e0d8ce9583d06c1ad3bc5ee6c4c9c..08d006e190cf13c8d737654b8c8f2045610afd43 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2387,7 +2387,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2455,7 +2455,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (data != null && !particle.getDataType().isInstance(data)) { throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); } diff --git a/patches/unapplied/server/0507-Add-LivingEntity-clearActiveItem.patch b/patches/server/0505-Add-LivingEntity-clearActiveItem.patch similarity index 90% rename from patches/unapplied/server/0507-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0505-Add-LivingEntity-clearActiveItem.patch index 0a6b3d563f..98b742f015 100644 --- a/patches/unapplied/server/0507-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0505-Add-LivingEntity-clearActiveItem.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index ec57e0323f7b38828dd989244905025f973028f3..8409087a5977a6ba0cd948c51f3f7ae59a041f5c 100644 +index fb783efc63e8c782e34380ff98d92b644ea2665c..a95825e88ba31c255292451532d18a23c8d502cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -868,6 +868,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0508-Add-PlayerItemCooldownEvent.patch b/patches/server/0506-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/server/0508-Add-PlayerItemCooldownEvent.patch rename to patches/server/0506-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/server/0509-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0507-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/unapplied/server/0509-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0507-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/unapplied/server/0510-More-lightning-API.patch b/patches/server/0508-More-lightning-API.patch similarity index 100% rename from patches/unapplied/server/0510-More-lightning-API.patch rename to patches/server/0508-More-lightning-API.patch diff --git a/patches/unapplied/server/0511-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 85% rename from patches/unapplied/server/0511-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch index c33908aa14..dd527a0059 100644 --- a/patches/unapplied/server/0511-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0509-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 6ba3e91c2a937d288b67ec32c818bebf38b04d5c..d8dfd84a8e97e0e852362e1424e50c2f00fe6458 100644 +index f4cca3313b0a5ac69f5b47da727d9ea3e2b7ffc5..25e8dcca51dbefc027d985ba09b973fac17702f7 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1920,6 +1920,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1929,6 +1929,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public boolean isPushable() { @@ -45,10 +45,10 @@ index 302676ef78ed5b3b7fc1b04851447ca72eed10c0..a00c3d96f2fc7131d1f4afa7af4e41ac } else if (entity.level.isClientSide && (!(entity1 instanceof Player) || !((Player) entity1).isLocalPlayer())) { return false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 408d5ccfe450a4f12d9cc37d15dbc6e817c49cca..128b4ce85bc8f79a1291d087fdb24e5a083f9464 100644 +index 164c22a70f4b916615da36819cae09d94cd88d39..c7209675ad3eeca881da75bfc0c3212204da898e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3392,7 +3392,7 @@ public abstract class LivingEntity extends Entity { +@@ -3356,7 +3356,7 @@ public abstract class LivingEntity extends Entity implements Attackable { return; } // Paper end - don't run getEntities if we're not going to use its result @@ -57,7 +57,7 @@ index 408d5ccfe450a4f12d9cc37d15dbc6e817c49cca..128b4ce85bc8f79a1291d087fdb24e5a if (!list.isEmpty()) { // Paper - moved up -@@ -3556,9 +3556,16 @@ public abstract class LivingEntity extends Entity { +@@ -3516,9 +3516,16 @@ public abstract class LivingEntity extends Entity implements Attackable { return !this.isRemoved() && this.collides; // CraftBukkit } @@ -76,7 +76,7 @@ index 408d5ccfe450a4f12d9cc37d15dbc6e817c49cca..128b4ce85bc8f79a1291d087fdb24e5a // CraftBukkit start - collidable API diff --git a/src/main/java/net/minecraft/world/entity/ambient/Bat.java b/src/main/java/net/minecraft/world/entity/ambient/Bat.java -index 4d3a88277e8a68c2d92df6ca46214898eee2a878..320c558bbe80d4bbc641e895ec43cfa2b45e8d70 100644 +index eb53029868ceebe08281ae1012e5ae95d555fc93..f5efdf59617d43de18a2267351fa784c0be3ae83 100644 --- a/src/main/java/net/minecraft/world/entity/ambient/Bat.java +++ b/src/main/java/net/minecraft/world/entity/ambient/Bat.java @@ -85,7 +85,7 @@ public class Bat extends AmbientCreature { @@ -89,10 +89,10 @@ index 4d3a88277e8a68c2d92df6ca46214898eee2a878..320c558bbe80d4bbc641e895ec43cfa2 } diff --git a/src/main/java/net/minecraft/world/entity/animal/Parrot.java b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -index a985241b9d80e1f99227adbaf4a2b221ff840a38..2d9aa961df034eab21ecfdb6e6d0ce7cf013505d 100644 +index 047f8cc00eb361eecc2cb93980b56d61d09a014c..e6e40770acf71b9079e8f6ac07025319dd8e2e4e 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Parrot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Parrot.java -@@ -386,8 +386,8 @@ public class Parrot extends ShoulderRidingEntity implements VariantHolder { diff --git a/patches/unapplied/server/0512-Added-missing-default-perms-for-commands.patch b/patches/server/0510-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/unapplied/server/0512-Added-missing-default-perms-for-commands.patch rename to patches/server/0510-Added-missing-default-perms-for-commands.patch diff --git a/patches/unapplied/server/0513-Add-PlayerShearBlockEvent.patch b/patches/server/0511-Add-PlayerShearBlockEvent.patch similarity index 98% rename from patches/unapplied/server/0513-Add-PlayerShearBlockEvent.patch rename to patches/server/0511-Add-PlayerShearBlockEvent.patch index a038575f4e..019a28516f 100644 --- a/patches/unapplied/server/0513-Add-PlayerShearBlockEvent.patch +++ b/patches/server/0511-Add-PlayerShearBlockEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerShearBlockEvent diff --git a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java -index 8104085ca0265706911f60c9c15f9f31b3fdfd68..81048c54c45b77894ee1e2045870446dff7c71d4 100644 +index f3cefffc5629b2fbd412ec3d554fbd5c237cb6bc..e3704080dc44ea429ecdc477e2ac57692d7833fc 100644 --- a/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BeehiveBlock.java @@ -113,7 +113,7 @@ public class BeehiveBlock extends BaseEntityBlock { diff --git a/patches/unapplied/server/0514-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0512-Fix-curing-zombie-villager-discount-exploit.patch similarity index 90% rename from patches/unapplied/server/0514-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0512-Fix-curing-zombie-villager-discount-exploit.patch index 4c52e71f00..03d56c4555 100644 --- a/patches/unapplied/server/0514-Fix-curing-zombie-villager-discount-exploit.patch +++ b/patches/server/0512-Fix-curing-zombie-villager-discount-exploit.patch @@ -8,10 +8,10 @@ and curing a villager on repeat by simply resetting the relevant part of the reputation when it is cured. diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index e3db573f10b7a3f8f605a11dc886859c68168467..105f8fcbbc5c7c384b77ca8eb768f1147d6ce4b2 100644 +index 279b247f579a46183bdb90064ee169d3f9b0b1e3..235e41ddd77e126648df81d9d187a1bd178e19fe 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -980,6 +980,15 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -992,6 +992,15 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @Override public void onReputationEventFrom(ReputationEventType interaction, Entity entity) { if (interaction == ReputationEventType.ZOMBIE_VILLAGER_CURED) { diff --git a/patches/unapplied/server/0515-Limit-recipe-packets.patch b/patches/server/0513-Limit-recipe-packets.patch similarity index 90% rename from patches/unapplied/server/0515-Limit-recipe-packets.patch rename to patches/server/0513-Limit-recipe-packets.patch index ad8258f498..3d954e52ee 100644 --- a/patches/unapplied/server/0515-Limit-recipe-packets.patch +++ b/patches/server/0513-Limit-recipe-packets.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7d7e7d10325eab5e107d43b0bc3e6a7b92653fad..36c791d4dff0d5bf4671e15922795ccd6be4bd01 100644 +index 7ffe3a9978d58831fe2f01c3b19dfd8bef29f556..94e03cdbe9e5aa10c1a302bd23fefd6d2b844f35 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -262,6 +262,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -264,6 +264,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); private final java.util.concurrent.atomic.AtomicInteger tabSpamLimiter = new java.util.concurrent.atomic.AtomicInteger(); // Paper - configurable tab spam limits @@ -16,7 +16,7 @@ index 7d7e7d10325eab5e107d43b0bc3e6a7b92653fad..36c791d4dff0d5bf4671e15922795ccd // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -414,6 +415,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -416,6 +417,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; if (tabSpamLimiter.get() > 0) tabSpamLimiter.getAndDecrement(); // Paper - split to seperate variable @@ -24,7 +24,7 @@ index 7d7e7d10325eab5e107d43b0bc3e6a7b92653fad..36c791d4dff0d5bf4671e15922795ccd /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -3117,6 +3119,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3126,6 +3128,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/unapplied/server/0516-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0514-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/unapplied/server/0516-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0514-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/unapplied/server/0517-Player-Chunk-Load-Unload-Events.patch b/patches/server/0515-Player-Chunk-Load-Unload-Events.patch similarity index 90% rename from patches/unapplied/server/0517-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0515-Player-Chunk-Load-Unload-Events.patch index 5093d677eb..4a74658af9 100644 --- a/patches/unapplied/server/0517-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0515-Player-Chunk-Load-Unload-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b91f55082d6828dab010cf409218f70186c6d9cc..5746d80be4174921c0fb3fe1cb8b4e39a74206da 100644 +index 35a2638214e427f24c265fa11318311cd8315337..d88332382c1280b15056c5a93873cadd0b8702b8 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2164,11 +2164,21 @@ public class ServerPlayer extends Player { +@@ -2149,11 +2149,21 @@ public class ServerPlayer extends Player { public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { this.connection.send(chunkDataPacket); diff --git a/patches/unapplied/server/0518-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0516-Optimize-Dynamic-get-Missing-Keys.patch similarity index 80% rename from patches/unapplied/server/0518-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0516-Optimize-Dynamic-get-Missing-Keys.patch index 5a4efe035c..d664f7ff69 100644 --- a/patches/unapplied/server/0518-Optimize-Dynamic-get-Missing-Keys.patch +++ b/patches/server/0516-Optimize-Dynamic-get-Missing-Keys.patch @@ -12,7 +12,7 @@ JSON representation of the NBT object. Now we will just skip the value when 99.9999% of the time the text is never even printed. diff --git a/src/main/java/com/mojang/serialization/Dynamic.java b/src/main/java/com/mojang/serialization/Dynamic.java -index a75d3db046dc985a03b4b870c91f41de1bd66bad..044facc9de9e8e582d7953d681c0c051578979c3 100644 +index a24cc02a62585d7c04d36456739b11bddccf1a15..683f516b86f246792dcb3d6f9a738fc14155d2f6 100644 --- a/src/main/java/com/mojang/serialization/Dynamic.java +++ b/src/main/java/com/mojang/serialization/Dynamic.java @@ -17,6 +17,7 @@ import java.util.stream.Stream; @@ -27,8 +27,8 @@ index a75d3db046dc985a03b4b870c91f41de1bd66bad..044facc9de9e8e582d7953d681c0c051 return new OptionalDynamic<>(ops, ops.getMap(value).flatMap(m -> { final T value = m.get(key); if (value == null) { -- return DataResult.error("key missing: " + key + " in " + this.value); -+ return DataResult.error(DEBUG_MISSING_KEYS ? "key missing: " + key + " in " + this.value : "key missing: " + key); // Paper +- return DataResult.error(() -> "key missing: " + key + " in " + this.value); ++ return DataResult.error(() -> DEBUG_MISSING_KEYS ? "key missing: " + key + " in " + this.value : "key missing: " + key); // Paper } return DataResult.success(new Dynamic<>(ops, value)); })); diff --git a/patches/unapplied/server/0519-Expose-LivingEntity-hurt-direction.patch b/patches/server/0517-Expose-LivingEntity-hurt-direction.patch similarity index 91% rename from patches/unapplied/server/0519-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0517-Expose-LivingEntity-hurt-direction.patch index 3a105e9ccd..90df709901 100644 --- a/patches/unapplied/server/0519-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0517-Expose-LivingEntity-hurt-direction.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose LivingEntity hurt direction diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 8409087a5977a6ba0cd948c51f3f7ae59a041f5c..dfc5317ab5c50c240a4f0806aba6cec7852092cf 100644 +index a95825e88ba31c255292451532d18a23c8d502cb..bec679a287ac26b6413b9d0b90a6758b905ecde6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -913,5 +913,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0520-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 86% rename from patches/unapplied/server/0520-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index 0f536de5a2..1fd2641409 100644 --- a/patches/unapplied/server/0520-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0518-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index be1b4a27ccb4c7519ba9213267ab461304090b87..060f0b54d6fbd53a98bfa3a0e752040cf4b1ef29 100644 +index 2cbe470e30807f7c54d1726a824c3c265fd3265c..8b00741f2e17d9f1b2759ffba5d322b6e3439ab5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -265,6 +265,10 @@ public class CraftEventFactory { +@@ -264,6 +264,10 @@ public class CraftEventFactory { return BedEnterResult.TOO_FAR_AWAY; case NOT_SAFE: return BedEnterResult.NOT_SAFE; diff --git a/patches/unapplied/server/0521-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/unapplied/server/0521-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0519-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/unapplied/server/0522-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 97% rename from patches/unapplied/server/0522-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index bfe4561949..d50b672771 100644 --- a/patches/unapplied/server/0522-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0520-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -37,7 +37,7 @@ index e7dda8959eb92c069af001126aafc759e7e7d2de..ca96b893e22de3ae7c11d5cded51edf7 CriteriaTriggers.TRADE.trigger((ServerPlayer) this.tradingPlayer, this, offer.getResult()); } diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index f15415ff5fb099a048fe0f898e15bc4303a47ef5..428bdd3183e0085368956a5abc8e9f97fbf3e478 100644 +index 5098147fc97c1f7bebc64bdd31ff03f779bb3935..75f809ee3d46971ce2ae9ec5bc89aeec1e85fdfb 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -758,6 +758,14 @@ public abstract class AbstractContainerMenu { @@ -99,7 +99,7 @@ index f15415ff5fb099a048fe0f898e15bc4303a47ef5..428bdd3183e0085368956a5abc8e9f97 + stack.shrink(slot.getMaxStackSize()); + } else { + // Paper end - slot.set(stack.split(slot.getMaxStackSize())); + slot.setByPlayer(stack.split(slot.getMaxStackSize())); + } // Paper } else { + // Paper start - dont set slot if only check @@ -107,7 +107,7 @@ index f15415ff5fb099a048fe0f898e15bc4303a47ef5..428bdd3183e0085368956a5abc8e9f97 + stack.shrink(stack.getCount()); + } else { + // Paper end - slot.set(stack.split(stack.getCount())); + slot.setByPlayer(stack.split(stack.getCount())); + } // Paper } @@ -118,7 +118,7 @@ index f15415ff5fb099a048fe0f898e15bc4303a47ef5..428bdd3183e0085368956a5abc8e9f97 break; } diff --git a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java -index 97e8fd420046871266966de31449da9424148572..3879373eeef324a6c782d3426faf22ac70353931 100644 +index 373a32e750aaa77cec0cb57ce4058810eeaff8f4..9370056dfec5d5df7ff832e1d742b0ed1be85d8e 100644 --- a/src/main/java/net/minecraft/world/inventory/MerchantMenu.java +++ b/src/main/java/net/minecraft/world/inventory/MerchantMenu.java @@ -134,12 +134,12 @@ public class MerchantMenu extends AbstractContainerMenu { @@ -143,7 +143,7 @@ index 97e8fd420046871266966de31449da9424148572..3879373eeef324a6c782d3426faf22ac + if (slot != 2) { // Paper - moved down for slot 2 if (itemstack1.isEmpty()) { - slot1.set(ItemStack.EMPTY); + slot1.setByPlayer(ItemStack.EMPTY); } else { @@ -163,6 +164,21 @@ public class MerchantMenu extends AbstractContainerMenu { } diff --git a/patches/unapplied/server/0523-Implement-TargetHitEvent.patch b/patches/server/0521-Implement-TargetHitEvent.patch similarity index 100% rename from patches/unapplied/server/0523-Implement-TargetHitEvent.patch rename to patches/server/0521-Implement-TargetHitEvent.patch diff --git a/patches/unapplied/server/0524-MC-4-Fix-item-position-desync.patch b/patches/server/0522-MC-4-Fix-item-position-desync.patch similarity index 93% rename from patches/unapplied/server/0524-MC-4-Fix-item-position-desync.patch rename to patches/server/0522-MC-4-Fix-item-position-desync.patch index e5976e5c17..873ae42cd9 100644 --- a/patches/unapplied/server/0524-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0522-MC-4-Fix-item-position-desync.patch @@ -28,10 +28,10 @@ index 5ca3ad7b3d7606accd0a58b3c708fadb349608f7..4b6e0fe2fabcc55007fd8979e81f66df public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d8dfd84a8e97e0e852362e1424e50c2f00fe6458..9833207c4d29a082cd68d52e72490e7a314f420c 100644 +index 25e8dcca51dbefc027d985ba09b973fac17702f7..a8a955a66336e908fa685bb78c1a67ebedd07f5c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4029,6 +4029,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -4093,6 +4093,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return; } // Paper end - rewrite chunk system diff --git a/patches/unapplied/server/0525-Additional-Block-Material-API-s.patch b/patches/server/0523-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/unapplied/server/0525-Additional-Block-Material-API-s.patch rename to patches/server/0523-Additional-Block-Material-API-s.patch diff --git a/patches/unapplied/server/0526-Fix-harming-potion-dupe.patch b/patches/server/0524-Fix-harming-potion-dupe.patch similarity index 96% rename from patches/unapplied/server/0526-Fix-harming-potion-dupe.patch rename to patches/server/0524-Fix-harming-potion-dupe.patch index b7aa7bc555..ac9c0592e5 100644 --- a/patches/unapplied/server/0526-Fix-harming-potion-dupe.patch +++ b/patches/server/0524-Fix-harming-potion-dupe.patch @@ -8,7 +8,7 @@ Before this patch, instant effects would be applied before the potion ItemStack This patch makes it so that instant effects are applied after the potion ItemStack is removed, and the glass bottle is only put into the player's inventory if the player is not dead. Otherwise, the glass bottle is dropped on the ground. diff --git a/src/main/java/net/minecraft/world/item/PotionItem.java b/src/main/java/net/minecraft/world/item/PotionItem.java -index cdd25fd41bd9c211eeff8581c920d3a5da4f2c8c..0b344e20ad4093b135c58905fb82ffff05898bb2 100644 +index 84723e0e04cde81d695b95ea6a29bc875fb58ff1..93bb2cbd397fef4db9d903d2b41a35b6d67bf4a9 100644 --- a/src/main/java/net/minecraft/world/item/PotionItem.java +++ b/src/main/java/net/minecraft/world/item/PotionItem.java @@ -50,6 +50,7 @@ public class PotionItem extends Item { diff --git a/patches/unapplied/server/0527-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 96% rename from patches/unapplied/server/0527-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch index 8a19675f10..f9e803f989 100644 --- a/patches/unapplied/server/0527-Implement-API-to-get-Material-from-Boats-and-Minecar.patch +++ b/patches/server/0525-Implement-API-to-get-Material-from-Boats-and-Minecar.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement API to get Material from Boats and Minecarts diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java -index 7de68f61166885d13141ff32fe199b60f9f70916..e5b16e930e12557a9a9052866cf0f431e3a5310d 100644 +index b2639e15d7b9f7068dcba3a3b80f5a6a897f0de9..dd7076938b04d4b36e3360a883bae81ced455fda 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java @@ -80,6 +80,13 @@ public class CraftBoat extends CraftVehicle implements Boat { diff --git a/patches/unapplied/server/0528-Cache-burn-durations.patch b/patches/server/0526-Cache-burn-durations.patch similarity index 88% rename from patches/unapplied/server/0528-Cache-burn-durations.patch rename to patches/server/0526-Cache-burn-durations.patch index ae2f002bd9..085140489c 100644 --- a/patches/unapplied/server/0528-Cache-burn-durations.patch +++ b/patches/server/0526-Cache-burn-durations.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache burn durations diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 196c99a2802c0bcaf93be287c404fc4f0f23eadd..34e375ab81b539ece769c943768342dbb542d0bb 100644 +index faa5beffb29e416f2a9af96ac66b5f88729e4705..5327d41fc5064e953856c348f40f2b396aa0c66b 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -132,7 +132,13 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -133,7 +133,13 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit this.recipeType = recipeType; // Paper } @@ -22,7 +22,7 @@ index 196c99a2802c0bcaf93be287c404fc4f0f23eadd..34e375ab81b539ece769c943768342db Map map = Maps.newLinkedHashMap(); AbstractFurnaceBlockEntity.add(map, (ItemLike) Items.LAVA_BUCKET, 20000); -@@ -194,7 +200,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -195,7 +201,10 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.AZALEA, 100); AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.FLOWERING_AZALEA, 100); AbstractFurnaceBlockEntity.add(map, (ItemLike) Blocks.MANGROVE_ROOTS, 300); diff --git a/patches/unapplied/server/0529-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/unapplied/server/0529-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0527-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/unapplied/server/0530-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 96% rename from patches/unapplied/server/0530-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch index ee270318ca..7809bd0798 100644 --- a/patches/unapplied/server/0530-Fix-Not-a-string-Map-Conversion-spam.patch +++ b/patches/server/0528-Fix-Not-a-string-Map-Conversion-spam.patch @@ -12,7 +12,7 @@ requesting the world. Track spigot issue to see when fixed: https://hub.spigotmc.org/jira/browse/SPIGOT-6181 diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 984da6264cdaf57a49a15861b9ce834a9efac1a7..df616dbe37b8a2068338f071300d6315a361a075 100644 +index 2c5fb4eb5790f4dff0d03390ceae3afc32134006..fdf56fa2c26babf3496d326d2e7c7968f1844792 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -15,6 +15,8 @@ import net.minecraft.core.BlockPos; diff --git a/patches/unapplied/server/0531-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0529-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/unapplied/server/0531-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0529-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/unapplied/server/0532-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch similarity index 90% rename from patches/unapplied/server/0532-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch index cbccf28cf5..abc742aae8 100644 --- a/patches/unapplied/server/0532-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0530-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 36c791d4dff0d5bf4671e15922795ccd6be4bd01..afd575ff63ed00550de12b02e6b7e8ba140cb3c7 100644 +index 94e03cdbe9e5aa10c1a302bd23fefd6d2b844f35..3fe0dd121d4eb2072bc996a65ea4ea44fa4bf646 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1843,7 +1843,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1833,7 +1833,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -18,7 +18,7 @@ index 36c791d4dff0d5bf4671e15922795ccd6be4bd01..afd575ff63ed00550de12b02e6b7e8ba this.player.swing(enumhand, true); } } -@@ -2469,7 +2469,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2463,7 +2463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time org.bukkit.util.RayTraceResult result = this.player.level.getWorld().rayTrace(origin, origin.getDirection(), d3, org.bukkit.FluidCollisionMode.NEVER, false, 0.1, entity -> entity != this.player.getBukkitEntity() && this.player.getBukkitEntity().canSee(entity)); diff --git a/patches/unapplied/server/0533-Zombie-API-breaking-doors.patch b/patches/server/0531-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/unapplied/server/0533-Zombie-API-breaking-doors.patch rename to patches/server/0531-Zombie-API-breaking-doors.patch diff --git a/patches/unapplied/server/0534-Fix-nerfed-slime-when-splitting.patch b/patches/server/0532-Fix-nerfed-slime-when-splitting.patch similarity index 90% rename from patches/unapplied/server/0534-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0532-Fix-nerfed-slime-when-splitting.patch index 42665024dc..7b62c899e2 100644 --- a/patches/unapplied/server/0534-Fix-nerfed-slime-when-splitting.patch +++ b/patches/server/0532-Fix-nerfed-slime-when-splitting.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix nerfed slime when splitting diff --git a/src/main/java/net/minecraft/world/entity/monster/Slime.java b/src/main/java/net/minecraft/world/entity/monster/Slime.java -index 058ba40491f3e566c4c159978c677ceb87fa8383..7b05640465a47ea8680b4a0b6648a77ea7a1b404 100644 +index 9196c51474741eb1015f7daac640b83e6c7b66e4..eea1124870b0914376ea00a7395b998058061cf8 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Slime.java +++ b/src/main/java/net/minecraft/world/entity/monster/Slime.java @@ -241,6 +241,7 @@ public class Slime extends Mob implements Enemy { diff --git a/patches/unapplied/server/0535-Add-EntityLoadCrossbowEvent.patch b/patches/server/0533-Add-EntityLoadCrossbowEvent.patch similarity index 91% rename from patches/unapplied/server/0535-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0533-Add-EntityLoadCrossbowEvent.patch index f3ba09d03a..fa93adcd63 100644 --- a/patches/unapplied/server/0535-Add-EntityLoadCrossbowEvent.patch +++ b/patches/server/0533-Add-EntityLoadCrossbowEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityLoadCrossbowEvent diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 48626d564c9fb4630b51858edd124b56af2d7ca0..caa5f5f5d58b8ddbca0910412b695cb810570623 100644 +index e6249409d01aee2bdc84821d40ce4551c102d307..bc4f04c2512191da3c9e1c49f0716bb9128fc754 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java -@@ -88,7 +88,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { +@@ -89,7 +89,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { int j = this.getUseDuration(stack) - remainingUseTicks; float f = CrossbowItem.getPowerForTime(j, stack); @@ -24,7 +24,7 @@ index 48626d564c9fb4630b51858edd124b56af2d7ca0..caa5f5f5d58b8ddbca0910412b695cb8 CrossbowItem.setCharged(stack, true); SoundSource soundcategory = user instanceof Player ? SoundSource.PLAYERS : SoundSource.HOSTILE; -@@ -98,9 +105,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { +@@ -99,9 +106,14 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { } private static boolean tryLoadProjectiles(LivingEntity shooter, ItemStack projectile) { diff --git a/patches/unapplied/server/0536-Added-WorldGameRuleChangeEvent.patch b/patches/server/0534-Added-WorldGameRuleChangeEvent.patch similarity index 94% rename from patches/unapplied/server/0536-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0534-Added-WorldGameRuleChangeEvent.patch index f6a72cc6bb..1b03d8b8b5 100644 --- a/patches/unapplied/server/0536-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0534-Added-WorldGameRuleChangeEvent.patch @@ -18,10 +18,10 @@ index 1b66c33a55a9516269c80f5052fb103418b11367..745b8724b7536a5b2c2c94ae8fd703ea return t0.getCommandResult(); } diff --git a/src/main/java/net/minecraft/world/level/GameRules.java b/src/main/java/net/minecraft/world/level/GameRules.java -index 694a2f685cb46a5391da012f4d7e3bd3e6e88f4c..fa8cd4438c19a262272da47985a57f7e84654f1b 100644 +index 4a0321f56ef80aa4991e61f586ddd3f6b45e499b..de713f1ca1d61a6b1fca2b66de9162556d102449 100644 --- a/src/main/java/net/minecraft/world/level/GameRules.java +++ b/src/main/java/net/minecraft/world/level/GameRules.java -@@ -269,10 +269,10 @@ public class GameRules { +@@ -271,10 +271,10 @@ public class GameRules { this.type = type; } @@ -35,7 +35,7 @@ index 694a2f685cb46a5391da012f4d7e3bd3e6e88f4c..fa8cd4438c19a262272da47985a57f7e this.onChanged(((CommandSourceStack) context.getSource()).getServer()); } -@@ -330,8 +330,11 @@ public class GameRules { +@@ -332,8 +332,11 @@ public class GameRules { } @Override @@ -49,7 +49,7 @@ index 694a2f685cb46a5391da012f4d7e3bd3e6e88f4c..fa8cd4438c19a262272da47985a57f7e } public boolean get() { -@@ -395,8 +398,11 @@ public class GameRules { +@@ -397,8 +400,11 @@ public class GameRules { } @Override @@ -64,7 +64,7 @@ index 694a2f685cb46a5391da012f4d7e3bd3e6e88f4c..fa8cd4438c19a262272da47985a57f7e public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cee8c89c5a4d3244f341205e255581086112b708..16c2b99fdc64c228f0e38a7999963093750895b9 100644 +index 217725e90d3c820467fe9a3b6a7116aeac255105..d0a2e20d4d85056abb54e6916753305ef2f3dfab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1808,8 +1808,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0537-Added-ServerResourcesReloadedEvent.patch b/patches/server/0535-Added-ServerResourcesReloadedEvent.patch similarity index 93% rename from patches/unapplied/server/0537-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0535-Added-ServerResourcesReloadedEvent.patch index c1cde4e6a4..348918b003 100644 --- a/patches/unapplied/server/0537-Added-ServerResourcesReloadedEvent.patch +++ b/patches/server/0535-Added-ServerResourcesReloadedEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added ServerResourcesReloadedEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f445f6d382c8fe3def980ed3f8517bbf3b75dfed..04137173ca7034b9dff37a68518e8b6fb0330188 100644 +index 1a5b27c24499e1fd7b277cbef52872cd320edfef..0f0a97c6571ef210e85670ab5ce40676146ad27b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1982,7 +1982,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop completablefuture = CompletableFuture.supplyAsync(() -> { Stream stream = dataPacks.stream(); // CraftBukkit - decompile error -@@ -2010,6 +2016,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { this.getServer().execute(() -> { diff --git a/patches/unapplied/server/0546-Fix-villager-boat-exploit.patch b/patches/server/0544-Fix-villager-boat-exploit.patch similarity index 88% rename from patches/unapplied/server/0546-Fix-villager-boat-exploit.patch rename to patches/server/0544-Fix-villager-boat-exploit.patch index 4630c2e8d5..452356af4b 100644 --- a/patches/unapplied/server/0546-Fix-villager-boat-exploit.patch +++ b/patches/server/0544-Fix-villager-boat-exploit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1e1ed41895b5787c4691e55e58bd61a45399a580..ddec145bdcc070a2c82b1bab261939c1ac37a800 100644 +index 7548dec1f84837c52a29dbc65cfc5480cf04a0be..507cc4e55979767263bf1f73c1f1505c449b312b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -577,6 +577,14 @@ public abstract class PlayerList { +@@ -584,6 +584,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { diff --git a/patches/unapplied/server/0547-Add-sendOpLevel-API.patch b/patches/server/0545-Add-sendOpLevel-API.patch similarity index 84% rename from patches/unapplied/server/0547-Add-sendOpLevel-API.patch rename to patches/server/0545-Add-sendOpLevel-API.patch index 1fa0cd7b58..af2d820113 100644 --- a/patches/unapplied/server/0547-Add-sendOpLevel-API.patch +++ b/patches/server/0545-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ddec145bdcc070a2c82b1bab261939c1ac37a800..8256ca255eb88dd3f0101eaf76225908eaadb480 100644 +index 507cc4e55979767263bf1f73c1f1505c449b312b..a697583cbfb50230771a58feed7d1e9d13320961 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1065,6 +1065,11 @@ public abstract class PlayerList { +@@ -1072,6 +1072,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index ddec145bdcc070a2c82b1bab261939c1ac37a800..8256ca255eb88dd3f0101eaf76225908 if (player.connection != null) { byte b0; -@@ -1079,8 +1084,10 @@ public abstract class PlayerList { +@@ -1086,8 +1091,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,10 +32,10 @@ index ddec145bdcc070a2c82b1bab261939c1ac37a800..8256ca255eb88dd3f0101eaf76225908 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 96c9cc8c86dbf022c6cbc5c3da130ad6f477d350..1c7c52755a6d71b8fb25cde33573b38f616b8d14 100644 +index 08d006e190cf13c8d737654b8c8f2045610afd43..d784cef362b1c13348d49ffb60f3403fc9471f0c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -653,6 +653,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -654,6 +654,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/unapplied/server/0548-TODO-Registry-Modification-API.patch b/patches/server/0546-TODO-Registry-Modification-API.patch similarity index 100% rename from patches/unapplied/server/0548-TODO-Registry-Modification-API.patch rename to patches/server/0546-TODO-Registry-Modification-API.patch diff --git a/patches/unapplied/server/0549-Add-StructuresLocateEvent.patch b/patches/server/0547-Add-StructuresLocateEvent.patch similarity index 99% rename from patches/unapplied/server/0549-Add-StructuresLocateEvent.patch rename to patches/server/0547-Add-StructuresLocateEvent.patch index 8fa34302df..bd336bc18c 100644 --- a/patches/unapplied/server/0549-Add-StructuresLocateEvent.patch +++ b/patches/server/0547-Add-StructuresLocateEvent.patch @@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..09837f6e6c6ab8a1df2aacdb86646993 + } +} diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index b6df6077107759963ee8205dddb90501d5ccb4d6..aecdbbcc688aad308f81f48d50773a9866ded7b2 100644 +index 56033c41c2be567d6787420d319d4603fc0a1d10..354d386940b5ee7c92708390b83db51c281660f4 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java @@ -121,6 +121,24 @@ public abstract class ChunkGenerator { diff --git a/patches/unapplied/server/0550-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0548-Collision-option-for-requiring-a-player-participant.patch similarity index 88% rename from patches/unapplied/server/0550-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0548-Collision-option-for-requiring-a-player-participant.patch index 081d4f6a4d..5479a1b399 100644 --- a/patches/unapplied/server/0550-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0548-Collision-option-for-requiring-a-player-participant.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9833207c4d29a082cd68d52e72490e7a314f420c..ae89716b1dc6f54cb1a6356f52697a00bd8a4218 100644 +index a8a955a66336e908fa685bb78c1a67ebedd07f5c..4e629c474b41e6342b8dffa6a601667ea12b319a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1794,6 +1794,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1799,6 +1799,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public void push(Entity entity) { if (!this.isPassengerOfSameVehicle(entity)) { if (!entity.noPhysics && !this.noPhysics) { @@ -17,7 +17,7 @@ index 9833207c4d29a082cd68d52e72490e7a314f420c..ae89716b1dc6f54cb1a6356f52697a00 double d1 = entity.getZ() - this.getZ(); double d2 = Mth.absMax(d0, d1); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 8485a1a7d43a20d1326ff3a167fbb398f34efd87..fc95865a52e0bffaf55ca9f19e7e6005dcd2ae2e 100644 +index aa474c7bc8bb8f1ecfefc49da987011da298fa67..46c893fd33fdaf76d49af407112ff349e9579a12 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java @@ -832,6 +832,7 @@ public abstract class AbstractMinecart extends Entity { @@ -29,7 +29,7 @@ index 8485a1a7d43a20d1326ff3a167fbb398f34efd87..fc95865a52e0bffaf55ca9f19e7e6005 // CraftBukkit start VehicleEntityCollisionEvent collisionEvent = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), entity.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index e9d968013c1d8bd00a8014384ef7164b57548fbd..e102410bd4c657a8bf0f55a3cbd5e8ec7e6306b0 100644 +index e8c201d45497e212cfeba125a9261d75198cadf7..765ba5b9b34f31d9b9dbdf2e2bf46554aaf612d9 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java @@ -245,6 +245,7 @@ public class Boat extends Entity implements VariantHolder { diff --git a/patches/unapplied/server/0551-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0549-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/unapplied/server/0551-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0549-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/unapplied/server/0552-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0550-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 92% rename from patches/unapplied/server/0552-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0550-Return-chat-component-with-empty-text-instead-of-thr.patch index 8626428239..db35047751 100644 --- a/patches/unapplied/server/0552-Return-chat-component-with-empty-text-instead-of-thr.patch +++ b/patches/server/0550-Return-chat-component-with-empty-text-instead-of-thr.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Return chat component with empty text instead of throwing diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 428bdd3183e0085368956a5abc8e9f97fbf3e478..f7bce1cdad50aec0f8df9d996de7dbec38baec69 100644 +index 75f809ee3d46971ce2ae9ec5bc89aeec1e85fdfb..ec1da07fdfc86c2905766886f6f922320c73fb6a 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -89,7 +89,12 @@ public abstract class AbstractContainerMenu { diff --git a/patches/unapplied/server/0553-Make-schedule-command-per-world.patch b/patches/server/0551-Make-schedule-command-per-world.patch similarity index 100% rename from patches/unapplied/server/0553-Make-schedule-command-per-world.patch rename to patches/server/0551-Make-schedule-command-per-world.patch diff --git a/patches/unapplied/server/0554-Configurable-max-leash-distance.patch b/patches/server/0552-Configurable-max-leash-distance.patch similarity index 100% rename from patches/unapplied/server/0554-Configurable-max-leash-distance.patch rename to patches/server/0552-Configurable-max-leash-distance.patch diff --git a/patches/unapplied/server/0555-Implement-BlockPreDispenseEvent.patch b/patches/server/0553-Implement-BlockPreDispenseEvent.patch similarity index 95% rename from patches/unapplied/server/0555-Implement-BlockPreDispenseEvent.patch rename to patches/server/0553-Implement-BlockPreDispenseEvent.patch index 834107f008..2b1d3877cd 100644 --- a/patches/unapplied/server/0555-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0553-Implement-BlockPreDispenseEvent.patch @@ -17,7 +17,7 @@ index 85c5319837295bd2f85baebfe8d6660b267f1d5f..8f55d0753fa26924235c943595f0d1a0 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 636f8ccfbcdead68948147213c03bfdf5e312416..5f50f96939dbe709bc82f63c91615ba2e3a35e15 100644 +index d0acc47f615b02ce72081aede03fc27c8ab6c0f5..49752c3b660438771569fdeebb72bd918204332d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1894,5 +1894,11 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0556-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0554-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 95% rename from patches/unapplied/server/0556-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0554-Added-firing-of-PlayerChangeBeaconEffectEvent.patch index 09742326a4..60fd6a36d4 100644 --- a/patches/unapplied/server/0556-Added-firing-of-PlayerChangeBeaconEffectEvent.patch +++ b/patches/server/0554-Added-firing-of-PlayerChangeBeaconEffectEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Added firing of PlayerChangeBeaconEffectEvent diff --git a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java -index 5e6582110c97287f0a2ed6e8d1a8f5e1ee2c81e5..4e40203125b2931d45666fccb022e84622ea61c2 100644 +index 31c7fc4eb9fc2bf0be1e4c45758b116e8e007747..1ffbb43bfdb173689fdd9d2398b021846e0246fa 100644 --- a/src/main/java/net/minecraft/world/inventory/BeaconMenu.java +++ b/src/main/java/net/minecraft/world/inventory/BeaconMenu.java @@ -158,13 +158,27 @@ public class BeaconMenu extends AbstractContainerMenu { diff --git a/patches/unapplied/server/0557-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0555-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/unapplied/server/0557-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0555-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/unapplied/server/0558-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0556-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 97% rename from patches/unapplied/server/0558-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0556-Added-PlayerStonecutterRecipeSelectEvent.patch index d1e5fa1165..82a8049655 100644 --- a/patches/unapplied/server/0558-Added-PlayerStonecutterRecipeSelectEvent.patch +++ b/patches/server/0556-Added-PlayerStonecutterRecipeSelectEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Added PlayerStonecutterRecipeSelectEvent Co-Authored-By: MiniDigger diff --git a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java -index 4ee54e3a61588e5574e3f7ba06a73bbd73975957..b9f54fe9473b563e16bb5998f6082061b7dac567 100644 +index 24c31e96be460bcb5062a1fcf7f86c1affc4978c..7b4f8e897e9876cea1562cdf746a57940044987a 100644 --- a/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java +++ b/src/main/java/net/minecraft/world/inventory/StonecutterMenu.java @@ -62,7 +62,7 @@ public class StonecutterMenu extends AbstractContainerMenu { diff --git a/patches/unapplied/server/0559-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0557-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 85% rename from patches/unapplied/server/0559-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0557-Add-dropLeash-variable-to-EntityUnleashEvent.patch index 5545bb77d9..c86361ccbc 100644 --- a/patches/unapplied/server/0559-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0557-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add dropLeash variable to EntityUnleashEvent diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 7caae84b23ba0803458b4497a116e0b8cee26a89..c092164eb9e634d4844cb079d291bb0d7af9f76c 100644 +index 56cfdf15cf2fd0b88d4d68d0b537da4bf323474f..3fbdd1b01bc86696b958ca6b7a3848e72fb51d50 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1266,12 +1266,15 @@ public abstract class Mob extends LivingEntity { +@@ -1295,12 +1295,15 @@ public abstract class Mob extends LivingEntity implements Targeting { return InteractionResult.PASS; } else if (this.getLeashHolder() == player) { // CraftBukkit start - fire PlayerUnleashEntityEvent @@ -23,10 +23,10 @@ index 7caae84b23ba0803458b4497a116e0b8cee26a89..c092164eb9e634d4844cb079d291bb0d // CraftBukkit end - this.dropLeash(true, !player.getAbilities().instabuild); + this.dropLeash(true, event.isDropLeash()); // Paper - drop leash variable + this.gameEvent(GameEvent.ENTITY_INTERACT, player); return InteractionResult.sidedSuccess(this.level.isClientSide); } else { - InteractionResult enuminteractionresult = this.checkAndHandleImportantInteractions(player, hand); -@@ -1438,8 +1441,11 @@ public abstract class Mob extends LivingEntity { +@@ -1469,8 +1472,11 @@ public abstract class Mob extends LivingEntity implements Targeting { if (this.leashHolder != null) { if (!this.isAlive() || !this.leashHolder.isAlive()) { @@ -40,7 +40,7 @@ index 7caae84b23ba0803458b4497a116e0b8cee26a89..c092164eb9e634d4844cb079d291bb0d } } -@@ -1502,8 +1508,11 @@ public abstract class Mob extends LivingEntity { +@@ -1533,8 +1539,11 @@ public abstract class Mob extends LivingEntity implements Targeting { boolean flag1 = super.startRiding(entity, force); if (flag1 && this.isLeashed()) { @@ -54,7 +54,7 @@ index 7caae84b23ba0803458b4497a116e0b8cee26a89..c092164eb9e634d4844cb079d291bb0d } return flag1; -@@ -1691,8 +1700,11 @@ public abstract class Mob extends LivingEntity { +@@ -1717,8 +1726,11 @@ public abstract class Mob extends LivingEntity implements Targeting { @Override protected void removeAfterChangingDimensions() { super.removeAfterChangingDimensions(); @@ -101,28 +101,28 @@ index 56d64f3836391fabfa9d3362d9bd62182ea6e290..e49fb8be7d3975506a6c39c87cace664 } else if (f > 6.0F) { double d0 = (entity.getX() - this.getX()) / (double) f; diff --git a/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java b/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java -index 88c7e494051bc3d2c134167318f3eb84abaa2125..6672ca0e82048c23405845a8f5df49acec1b49e5 100644 +index b5e35033e63da0e5f2c21fddf3b704d6730f0938..7a6cdae1b566f59508b180e720de4eff4ccf13d5 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java +++ b/src/main/java/net/minecraft/world/entity/decoration/LeashFenceKnotEntity.java -@@ -123,11 +123,14 @@ public class LeashFenceKnotEntity extends HangingEntity { - entityinsentient = (Mob) iterator.next(); - if (entityinsentient.isLeashed() && entityinsentient.getLeashHolder() == this) { +@@ -126,11 +126,14 @@ public class LeashFenceKnotEntity extends HangingEntity { + + if (entityinsentient1.isLeashed() && entityinsentient1.getLeashHolder() == this) { // CraftBukkit start -- if (CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient, player, hand).isCancelled()) { +- if (CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient1, player, hand).isCancelled()) { + // Paper start - drop leash variable -+ org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient, player, hand, !player.getAbilities().instabuild); ++ org.bukkit.event.player.PlayerUnleashEntityEvent event = CraftEventFactory.callPlayerUnleashEntityEvent(entityinsentient1, player, hand, !player.getAbilities().instabuild); + if (event.isCancelled()) { + // Paper end die = false; continue; } -- entityinsentient.dropLeash(true, !player.getAbilities().instabuild); // false -> survival mode boolean -+ entityinsentient.dropLeash(true, event.isDropLeash()); // false -> survival mode boolean // Paper - drop leash variable +- entityinsentient1.dropLeash(true, !player.getAbilities().instabuild); // false -> survival mode boolean ++ entityinsentient1.dropLeash(true, event.isDropLeash()); // false -> survival mode boolean // Paper - drop leash variable // CraftBukkit end + flag1 = true; } - } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5f50f96939dbe709bc82f63c91615ba2e3a35e15..3d1817d686c53e893cfabe439b927ce8db770d32 100644 +index 49752c3b660438771569fdeebb72bd918204332d..d347b109f046ad633cb2b361fbe47e67595843f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1526,8 +1526,10 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0560-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0558-Reset-shield-blocking-on-dimension-change.patch similarity index 83% rename from patches/unapplied/server/0560-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0558-Reset-shield-blocking-on-dimension-change.patch index 41ee730fa2..c007086f94 100644 --- a/patches/unapplied/server/0560-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0558-Reset-shield-blocking-on-dimension-change.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5746d80be4174921c0fb3fe1cb8b4e39a74206da..8edabceba88b36479ff74b0d1eb6fdf48743506a 100644 +index d88332382c1280b15056c5a93873cadd0b8702b8..7550137b4d35fee77ab75a615ca1ecbb4c066006 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1186,6 +1186,11 @@ public class ServerPlayer extends Player { +@@ -1197,6 +1197,11 @@ public class ServerPlayer extends Player { this.level.getCraftServer().getPluginManager().callEvent(changeEvent); // CraftBukkit end } diff --git a/patches/unapplied/server/0561-add-DragonEggFormEvent.patch b/patches/server/0559-add-DragonEggFormEvent.patch similarity index 100% rename from patches/unapplied/server/0561-add-DragonEggFormEvent.patch rename to patches/server/0559-add-DragonEggFormEvent.patch diff --git a/patches/unapplied/server/0562-EntityMoveEvent.patch b/patches/server/0560-EntityMoveEvent.patch similarity index 80% rename from patches/unapplied/server/0562-EntityMoveEvent.patch rename to patches/server/0560-EntityMoveEvent.patch index 2131889ff6..ae9c171848 100644 --- a/patches/unapplied/server/0562-EntityMoveEvent.patch +++ b/patches/server/0560-EntityMoveEvent.patch @@ -5,22 +5,22 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 04137173ca7034b9dff37a68518e8b6fb0330188..cd9022186351fa398bb8ab590ee8108b8ff1c9d3 100644 +index 0f0a97c6571ef210e85670ab5ce40676146ad27b..41d97d9e69a5763e83c4e017c285f4bcbe6af676 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1496,6 +1496,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper + worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper this.profiler.push(() -> { + return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e6f931b8443a539441d9f918909e8244c853e43e..9945e53fdcbc057623ed35ec1dd3d6181017bf32 100644 +index 2af673fe240fbb0ce7667e207a833d09afa7074b..652b2c5dc17c6ba65eb59cbd3ac218d280fef044 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -219,6 +219,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -217,6 +217,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper @@ -29,10 +29,10 @@ index e6f931b8443a539441d9f918909e8244c853e43e..9945e53fdcbc057623ed35ec1dd3d618 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/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 128b4ce85bc8f79a1291d087fdb24e5a083f9464..82da840ed901d922665feff643ef2e364f3fa353 100644 +index c7209675ad3eeca881da75bfc0c3212204da898e..7ce102e7a28b70d1ffeb3a433b927f49fc4d5904 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3327,6 +3327,20 @@ public abstract class LivingEntity extends Entity { +@@ -3291,6 +3291,20 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level.getProfiler().pop(); @@ -51,5 +51,5 @@ index 128b4ce85bc8f79a1291d087fdb24e5a083f9464..82da840ed901d922665feff643ef2e36 + } + // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { - this.hurt(DamageSource.DROWN, 1.0F); + this.hurt(this.damageSources().drown(), 1.0F); } diff --git a/patches/unapplied/server/0563-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0561-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 80% rename from patches/unapplied/server/0563-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0561-added-option-to-disable-pathfinding-updates-on-block.patch index 85f6a1add3..9cf015f84b 100644 --- a/patches/unapplied/server/0563-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0561-added-option-to-disable-pathfinding-updates-on-block.patch @@ -5,10 +5,10 @@ Subject: [PATCH] added option to disable pathfinding updates on block changes diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9945e53fdcbc057623ed35ec1dd3d6181017bf32..3d4eff26f6530d11821ba09953095036bce3a2d3 100644 +index 652b2c5dc17c6ba65eb59cbd3ac218d280fef044..421bec0fead072a8f0e8756f9ba3670d8465842f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1512,6 +1512,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1511,6 +1511,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } this.getChunkSource().blockChanged(pos); @@ -16,7 +16,7 @@ index 9945e53fdcbc057623ed35ec1dd3d6181017bf32..3d4eff26f6530d11821ba09953095036 VoxelShape voxelshape = oldState.getCollisionShape(this, pos); VoxelShape voxelshape1 = newState.getCollisionShape(this, pos); -@@ -1553,6 +1554,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1552,6 +1553,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } diff --git a/patches/unapplied/server/0564-Inline-shift-direction-fields.patch b/patches/server/0562-Inline-shift-direction-fields.patch similarity index 85% rename from patches/unapplied/server/0564-Inline-shift-direction-fields.patch rename to patches/server/0562-Inline-shift-direction-fields.patch index 1282c9fa03..338237a2b0 100644 --- a/patches/unapplied/server/0564-Inline-shift-direction-fields.patch +++ b/patches/server/0562-Inline-shift-direction-fields.patch @@ -7,10 +7,10 @@ Removes a layer of indirection for EnumDirection.getAdjacent(X|Y|Z)(), which is critical section for much of the server, including the lighting engine. diff --git a/src/main/java/net/minecraft/core/Direction.java b/src/main/java/net/minecraft/core/Direction.java -index f068fa6843ce5cff7625fb99e84b7102b785bd51..c1172ba542bc07e0c780a50d5b4ce26ac04c1720 100644 +index 3010e5dfbed06ef61ccbc49de790209beff0259b..82bce6109d59cba30178a446f0ff129da6f3692f 100644 --- a/src/main/java/net/minecraft/core/Direction.java +++ b/src/main/java/net/minecraft/core/Direction.java -@@ -61,6 +61,11 @@ public enum Direction implements StringRepresentable { +@@ -62,6 +62,11 @@ public enum Direction implements StringRepresentable { }, (direction1, direction2) -> { throw new IllegalArgumentException("Duplicate keys"); }, Long2ObjectOpenHashMap::new)); @@ -22,7 +22,7 @@ index f068fa6843ce5cff7625fb99e84b7102b785bd51..c1172ba542bc07e0c780a50d5b4ce26a private Direction(int id, int idOpposite, int idHorizontal, String name, Direction.AxisDirection direction, Direction.Axis axis, Vec3i vector) { this.data3d = id; -@@ -70,6 +75,11 @@ public enum Direction implements StringRepresentable { +@@ -71,6 +76,11 @@ public enum Direction implements StringRepresentable { this.axis = axis; this.axisDirection = direction; this.normal = vector; @@ -34,7 +34,7 @@ index f068fa6843ce5cff7625fb99e84b7102b785bd51..c1172ba542bc07e0c780a50d5b4ce26a } public static Direction[] orderedByNearest(Entity entity) { -@@ -357,15 +367,15 @@ public enum Direction implements StringRepresentable { +@@ -358,15 +368,15 @@ public enum Direction implements StringRepresentable { } public int getStepX() { diff --git a/patches/unapplied/server/0565-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0563-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 92% rename from patches/unapplied/server/0565-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0563-Allow-adding-items-to-BlockDropItemEvent.patch index b291acf3d9..2c52dce1b8 100644 --- a/patches/unapplied/server/0565-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0563-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3d1817d686c53e893cfabe439b927ce8db770d32..49693aa4d136701c822ab4b386ab7ed8b061a156 100644 +index d347b109f046ad633cb2b361fbe47e67595843f5..d39a4e21fa2da3fec535ca62028f1c5ac92e8c96 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -400,13 +400,30 @@ public class CraftEventFactory { +@@ -399,13 +399,30 @@ public class CraftEventFactory { } public static void handleBlockDropItemEvent(Block block, BlockState state, ServerPlayer player, List items) { diff --git a/patches/unapplied/server/0566-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0564-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/unapplied/server/0566-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0564-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/unapplied/server/0567-living-entity-allow-attribute-registration.patch b/patches/server/0565-living-entity-allow-attribute-registration.patch similarity index 96% rename from patches/unapplied/server/0567-living-entity-allow-attribute-registration.patch rename to patches/server/0565-living-entity-allow-attribute-registration.patch index e21088f871..9ac5884f2e 100644 --- a/patches/unapplied/server/0567-living-entity-allow-attribute-registration.patch +++ b/patches/server/0565-living-entity-allow-attribute-registration.patch @@ -41,7 +41,7 @@ index 233e372ba5d785352c9ac12dac37395bac63315c..0e61caa5c9f21788fbeaa90ed75d23e1 return BuiltInRegistries.ATTRIBUTE.get(CraftNamespacedKey.toMinecraft(attribute.getKey())); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index dfc5317ab5c50c240a4f0806aba6cec7852092cf..fb74a06e73765a82d936975f4070093e35e2dade 100644 +index bec679a287ac26b6413b9d0b90a6758b905ecde6..44df0768689309cc492c101f97cafcd59081809d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -705,6 +705,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0568-fix-dead-slime-setSize-invincibility.patch b/patches/server/0566-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/unapplied/server/0568-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0566-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/unapplied/server/0569-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0567-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/unapplied/server/0569-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0567-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/unapplied/server/0570-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0568-Add-support-for-hex-color-codes-in-console.patch similarity index 99% rename from patches/unapplied/server/0570-Add-support-for-hex-color-codes-in-console.patch rename to patches/server/0568-Add-support-for-hex-color-codes-in-console.patch index 3ab4723656..d2e020d30d 100644 --- a/patches/unapplied/server/0570-Add-support-for-hex-color-codes-in-console.patch +++ b/patches/server/0568-Add-support-for-hex-color-codes-in-console.patch @@ -283,10 +283,10 @@ index 0000000000000000000000000000000000000000..b9922b07cb105618390187d98acdf89e + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cd9022186351fa398bb8ab590ee8108b8ff1c9d3..7cb5fba71a7a3eb46917ff744cede12e3c42069e 100644 +index 41d97d9e69a5763e83c4e017c285f4bcbe6af676..fa9d8c995ea1a15663af98aa0f932173b79f800e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1680,7 +1680,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop recipe = campfire.quickCheck.getRecipeFor( inventorysubcontainer, world); + ItemStack itemstack1 = (ItemStack) recipe.map((recipecampfire) -> { + // Paper end - return recipecampfire.assemble(inventorysubcontainer); + return recipecampfire.assemble(inventorysubcontainer, world.registryAccess()); }).orElse(itemstack); @@ -71,7 +73,7 @@ public class CampfireBlockEntity extends BlockEntity implements Clearable { diff --git a/patches/unapplied/server/0581-Add-Block-isValidTool.patch b/patches/server/0579-Add-Block-isValidTool.patch similarity index 100% rename from patches/unapplied/server/0581-Add-Block-isValidTool.patch rename to patches/server/0579-Add-Block-isValidTool.patch diff --git a/patches/unapplied/server/0582-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch similarity index 91% rename from patches/unapplied/server/0582-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0580-Allow-using-signs-inside-spawn-protection.patch index 5382a3250e..a0fd0cef1f 100644 --- a/patches/unapplied/server/0582-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0580-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index afd575ff63ed00550de12b02e6b7e8ba140cb3c7..dd8bbf54f2b58d4e0ab7769640c1f76cdda55804 100644 +index 3fe0dd121d4eb2072bc996a65ea4ea44fa4bf646..b4acf8f26b7ac24ec6f7917af1d9e4dd6079310f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1835,7 +1835,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1825,7 +1825,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int i = this.player.level.getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/unapplied/server/0583-Expand-world-key-API.patch b/patches/server/0581-Expand-world-key-API.patch similarity index 87% rename from patches/unapplied/server/0583-Expand-world-key-API.patch rename to patches/server/0581-Expand-world-key-API.patch index 764e30feeb..56724f1519 100644 --- a/patches/unapplied/server/0583-Expand-world-key-API.patch +++ b/patches/server/0581-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3e4ac4020c9f51e634eadd43243d34267bea4b22..ce52ae980309ecddf597e14b759b77ea76af7748 100644 +index 9db48bd6dcf0d24132123b86670341c1d8113840..d7ac103b82e9aac1e2f3b807d7b69fdfcf0dcb15 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -944,5 +944,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -969,5 +969,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public io.papermc.paper.world.MoonPhase getMoonPhase() { return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L); } @@ -20,10 +20,10 @@ index 3e4ac4020c9f51e634eadd43243d34267bea4b22..ce52ae980309ecddf597e14b759b77ea // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b68b19f32754c9c426e711892235b469a85fefb2..3135b7254776a96c581a5f8008c9712e996a27af 100644 +index a133e0a0a7a5b646ac3df9c2521d4deed6a1761d..574f50314c17eb12b519ba14fb1dddbc6c8e40c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1139,9 +1139,15 @@ public final class CraftServer implements Server { +@@ -1134,9 +1134,15 @@ public final class CraftServer implements Server { File folder = new File(this.getWorldContainer(), name); World world = this.getWorld(name); @@ -41,7 +41,7 @@ index b68b19f32754c9c426e711892235b469a85fefb2..3135b7254776a96c581a5f8008c9712e if ((folder.exists()) && (!folder.isDirectory())) { throw new IllegalArgumentException("File exists with the name '" + name + "' and isn't a folder"); -@@ -1230,7 +1236,7 @@ public final class CraftServer implements Server { +@@ -1225,7 +1231,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -50,7 +50,7 @@ index b68b19f32754c9c426e711892235b469a85fefb2..3135b7254776a96c581a5f8008c9712e } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1322,6 +1328,15 @@ public final class CraftServer implements Server { +@@ -1317,6 +1323,15 @@ public final class CraftServer implements Server { return null; } @@ -67,7 +67,7 @@ index b68b19f32754c9c426e711892235b469a85fefb2..3135b7254776a96c581a5f8008c9712e // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index c05024b813264669d559cf18a15b1a60f427186a..443bf7db58d091348be741cb3b61a6140e6c7b9a 100644 +index a933d12dabfee67f2c9bb2419f9ede69c354b3c2..12358f5147172d3a3a4159f2c1c8b650f45e87dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -517,6 +517,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0584-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0582-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/unapplied/server/0584-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0582-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/unapplied/server/0585-Item-Rarity-API.patch b/patches/server/0583-Item-Rarity-API.patch similarity index 96% rename from patches/unapplied/server/0585-Item-Rarity-API.patch rename to patches/server/0583-Item-Rarity-API.patch index 6e804eef11..7f5ad8d606 100644 --- a/patches/unapplied/server/0585-Item-Rarity-API.patch +++ b/patches/server/0583-Item-Rarity-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 443bf7db58d091348be741cb3b61a6140e6c7b9a..adb841b8f4506fee2fd8c76339c1b5bf73093e39 100644 +index 12358f5147172d3a3a4159f2c1c8b650f45e87dd..2b262a9dc58f1c7b79f10c44aae016088a34c06f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -522,6 +522,20 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0586-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0584-copy-TESign-isEditable-from-snapshots.patch similarity index 100% rename from patches/unapplied/server/0586-copy-TESign-isEditable-from-snapshots.patch rename to patches/server/0584-copy-TESign-isEditable-from-snapshots.patch diff --git a/patches/unapplied/server/0587-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch similarity index 88% rename from patches/unapplied/server/0587-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch index 623a8dc520..b141c1eb97 100644 --- a/patches/unapplied/server/0587-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0585-Drop-carried-item-when-player-has-disconnected.patch @@ -7,10 +7,10 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 480af67431b567b29c76f949a429f619164b8391..d97ef7df5b4b98af95b8fff9ed541bbe8a43dfa8 100644 +index 88deb7961f64976e16d1b42c6a798665a4fa59e6..3a7fd83061b8c372c7ac8d1c843ae5d041d78e1a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -570,6 +570,14 @@ public abstract class PlayerList { +@@ -577,6 +577,14 @@ public abstract class PlayerList { } // Paper end diff --git a/patches/unapplied/server/0588-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0586-forced-whitelist-use-configurable-kick-message.patch similarity index 87% rename from patches/unapplied/server/0588-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0586-forced-whitelist-use-configurable-kick-message.patch index fcab90966a..b42a3f0c3b 100644 --- a/patches/unapplied/server/0588-forced-whitelist-use-configurable-kick-message.patch +++ b/patches/server/0586-forced-whitelist-use-configurable-kick-message.patch @@ -5,10 +5,10 @@ Subject: [PATCH] forced whitelist: use configurable kick message diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7cb5fba71a7a3eb46917ff744cede12e3c42069e..40f78babdcf6fcb3ec5dd00ed36186bf61a98c6c 100644 +index fa9d8c995ea1a15663af98aa0f932173b79f800e..ff97f603d9962dba69f1ae06d2a25986d2354927 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2121,7 +2121,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements FeatureElement, EntityTypeT +@@ -626,9 +626,20 @@ public class EntityType implements FeatureElement, EntityTypeT final Spliterator spliterator = entityNbtList.spliterator(); return StreamSupport.stream(new Spliterator() { @@ -34,12 +34,12 @@ index c33550137ea83f23885341545c4a7f4985e07cfc..9d6979f4a00e2f6bcba21b3e2b48e9b6 return entity; }); diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java -index 0b92db95416b878f41b83b5c74d1c0a1031ff6af..1782d6957fa0290368e443e2e8d7b3c77ac6b8ef 100644 +index 340e2f789d3cacb5b87839e13f476149bc47583f..36deebd7d721f400cd07b2be3d1551e2d9ab7f85 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java @@ -110,7 +110,18 @@ public class EntityStorage implements EntityPersistentStorage { - return null; } + ListTag listTag = new ListTag(); + final java.util.Map, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper entities.forEach((entity) -> { // diff here: use entities parameter diff --git a/patches/unapplied/server/0591-Expose-protocol-version.patch b/patches/server/0589-Expose-protocol-version.patch similarity index 91% rename from patches/unapplied/server/0591-Expose-protocol-version.patch rename to patches/server/0589-Expose-protocol-version.patch index d705eb4ba4..0bdcaeb620 100644 --- a/patches/unapplied/server/0591-Expose-protocol-version.patch +++ b/patches/server/0589-Expose-protocol-version.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index adb841b8f4506fee2fd8c76339c1b5bf73093e39..30b4ac8e5b813024b2e8fc9f173a3434b8123ca8 100644 +index 2b262a9dc58f1c7b79f10c44aae016088a34c06f..3bfe371eb5f08f9e6fbd4ce186bad42cc3478ccb 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -536,6 +536,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0592-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0590-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/unapplied/server/0592-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0590-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/unapplied/server/0593-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0591-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 85% rename from patches/unapplied/server/0593-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0591-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index e2ccb8cbdd..467193ed61 100644 --- a/patches/unapplied/server/0593-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0591-Fix-PlayerItemConsumeEvent-cancelling-properly.patch @@ -9,10 +9,10 @@ till their item is switched. This patch clears the active item when the event is cancelled diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 82da840ed901d922665feff643ef2e364f3fa353..a13b2e6bee2172f2d9d6807e3f614cb8229c2e9d 100644 +index 7ce102e7a28b70d1ffeb3a433b927f49fc4d5904..3613422aeb87b83d04fde7341a01d4994a0a3b07 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3814,6 +3814,7 @@ public abstract class LivingEntity extends Entity { +@@ -3774,6 +3774,7 @@ public abstract class LivingEntity extends Entity implements Attackable { level.getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { diff --git a/patches/unapplied/server/0594-Add-bypass-host-check.patch b/patches/server/0592-Add-bypass-host-check.patch similarity index 90% rename from patches/unapplied/server/0594-Add-bypass-host-check.patch rename to patches/server/0592-Add-bypass-host-check.patch index 5774eba2ed..053d35e9a1 100644 --- a/patches/unapplied/server/0594-Add-bypass-host-check.patch +++ b/patches/server/0592-Add-bypass-host-check.patch @@ -8,10 +8,10 @@ Paper.bypassHostCheck Seriously, fix your firewalls. -.- diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -index e12c67bdfa326b3f52f6a4973063cef44359b804..bce2f0f66f9e5493184fd0b5d2758e136a0e05b5 100644 +index ebb964aa4d6c3e98cb6da54f68370a155658b169..7675adce108df5790a34f90145a8fabcf9704c0f 100644 --- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -@@ -29,6 +29,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -30,6 +30,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL private static final Component IGNORE_STATUS_REASON = Component.literal("Ignoring status request"); private final MinecraftServer server; private final Connection connection; @@ -19,7 +19,7 @@ index e12c67bdfa326b3f52f6a4973063cef44359b804..bce2f0f66f9e5493184fd0b5d2758e13 public ServerHandshakePacketListenerImpl(MinecraftServer server, Connection connection) { this.server = server; -@@ -118,7 +119,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -119,7 +120,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL if (!handledByEvent && proxyLogicEnabled) { // Paper end // if (org.spigotmc.SpigotConfig.bungee) { // Paper - comment out, we check above! diff --git a/patches/unapplied/server/0595-Set-area-affect-cloud-rotation.patch b/patches/server/0593-Set-area-affect-cloud-rotation.patch similarity index 87% rename from patches/unapplied/server/0595-Set-area-affect-cloud-rotation.patch rename to patches/server/0593-Set-area-affect-cloud-rotation.patch index 88ee454c71..9969cc639d 100644 --- a/patches/unapplied/server/0595-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0593-Set-area-affect-cloud-rotation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index ce52ae980309ecddf597e14b759b77ea76af7748..6c627e3f2c34557e11232fb0c5fa4f1718018ef5 100644 +index d7ac103b82e9aac1e2f3b807d7b69fdfcf0dcb15..2f35909b250584dd9def3c6e957d25ab33ca6e73 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -925,6 +925,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -935,6 +935,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(location.getX(), location.getY(), location.getZ()); } else if (AreaEffectCloud.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z); diff --git a/patches/unapplied/server/0596-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0594-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/server/0596-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0594-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/unapplied/server/0597-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0595-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 86% rename from patches/unapplied/server/0597-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0595-add-consumeFuel-to-FurnaceBurnEvent.patch index 1925461940..60496e1852 100644 --- a/patches/unapplied/server/0597-add-consumeFuel-to-FurnaceBurnEvent.patch +++ b/patches/server/0595-add-consumeFuel-to-FurnaceBurnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add consumeFuel to FurnaceBurnEvent diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index 0aa436da54050db81bdcb9f447660a880286c2de..1e2af7d3a6d2ad0a298d2f6ac2d8110354282988 100644 +index 7558ae098b242ea7e647055acfe253b95b00d498..5e70b5f643faabfc05989de9592d8c5c787102e3 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -357,7 +357,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -358,7 +358,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit if (blockEntity.isLit() && furnaceBurnEvent.isBurning()) { // CraftBukkit end flag1 = true; diff --git a/patches/unapplied/server/0598-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0596-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/unapplied/server/0598-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0596-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/unapplied/server/0599-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0597-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/unapplied/server/0599-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0597-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/unapplied/server/0600-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 88% rename from patches/unapplied/server/0600-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch index 53733cbd46..5cdd0b1b89 100644 --- a/patches/unapplied/server/0600-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0598-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 54ecd6cc439fcd2e2dfd6c46abff5cbae3ff47d3..c18d4fdf867f5465e877cfbd74c3325acef8ec2f 100644 +index dff78eb3337b2dbf08eaf52f2a90dffd73663d2a..f81fb4c4e5d2681b16e6b6c2fb32363a312d3bff 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2047,6 +2047,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2039,6 +2039,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (this.player.isImmobile()) return; // CraftBukkit if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) { diff --git a/patches/unapplied/server/0601-Added-PlayerDeepSleepEvent.patch b/patches/server/0599-Added-PlayerDeepSleepEvent.patch similarity index 85% rename from patches/unapplied/server/0601-Added-PlayerDeepSleepEvent.patch rename to patches/server/0599-Added-PlayerDeepSleepEvent.patch index e8d164faf5..52bc71899c 100644 --- a/patches/unapplied/server/0601-Added-PlayerDeepSleepEvent.patch +++ b/patches/server/0599-Added-PlayerDeepSleepEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added PlayerDeepSleepEvent diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index deb67acf5a60ea8a3cec866cd75ac036257ef0b5..c3aa6382cf2a45479d581b3957a972f814070387 100644 +index a7dc305297d1a17291ffff40fe6c3bd7b8cc6bdb..532e2444e15e532d6be5f703bfa5de26c5bc3957 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -248,6 +248,11 @@ public abstract class Player extends LivingEntity { +@@ -251,6 +251,11 @@ public abstract class Player extends LivingEntity { if (this.isSleeping()) { ++this.sleepCounter; diff --git a/patches/unapplied/server/0602-More-World-API.patch b/patches/server/0600-More-World-API.patch similarity index 97% rename from patches/unapplied/server/0602-More-World-API.patch rename to patches/server/0600-More-World-API.patch index 8a58040e46..c7ec81343b 100644 --- a/patches/unapplied/server/0602-More-World-API.patch +++ b/patches/server/0600-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 16c2b99fdc64c228f0e38a7999963093750895b9..a767f0f8f7cbe24c4cb8deaffa747ff74371a3cd 100644 +index d0a2e20d4d85056abb54e6916753305ef2f3dfab..71fbfdaab3ff03c7ba3b987d0285bbaa6d3cbce4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2050,6 +2050,69 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0603-Added-PlayerBedFailEnterEvent.patch b/patches/server/0601-Added-PlayerBedFailEnterEvent.patch similarity index 93% rename from patches/unapplied/server/0603-Added-PlayerBedFailEnterEvent.patch rename to patches/server/0601-Added-PlayerBedFailEnterEvent.patch index 0b9eeaf0aa..9e0e427532 100644 --- a/patches/unapplied/server/0603-Added-PlayerBedFailEnterEvent.patch +++ b/patches/server/0601-Added-PlayerBedFailEnterEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added PlayerBedFailEnterEvent diff --git a/src/main/java/net/minecraft/world/level/block/BedBlock.java b/src/main/java/net/minecraft/world/level/block/BedBlock.java -index 3929438f999ed6d88593880378e1e3a11790377f..f1a7c5202d4efbfaf5d88609d243f25f6817ecbe 100644 +index daf8b7f491453d08718fe25b270ffc9c7de6e282..002575ac14697572602e3f622b7ed1c93eca04c3 100644 --- a/src/main/java/net/minecraft/world/level/block/BedBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BedBlock.java -@@ -111,14 +111,23 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock +@@ -110,14 +110,23 @@ public class BedBlock extends HorizontalDirectionalBlock implements EntityBlock BlockPos finalblockposition = pos; // CraftBukkit end player.startSleepInBed(pos).ifLeft((entityhuman_enumbedresult) -> { diff --git a/patches/unapplied/server/0604-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0602-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/unapplied/server/0604-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0602-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/unapplied/server/0605-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch similarity index 86% rename from patches/unapplied/server/0605-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch rename to patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 311ced9b92..acdf09c46a 100644 --- a/patches/unapplied/server/0605-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0603-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d97ef7df5b4b98af95b8fff9ed541bbe8a43dfa8..a4b35d42d6e0e24b29e647f7a1e5735f8f07ef38 100644 +index 3a7fd83061b8c372c7ac8d1c843ae5d041d78e1a..97d217664c5e1a420240f7db65519e2f5598b840 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -789,6 +789,7 @@ public abstract class PlayerList { +@@ -796,6 +796,7 @@ public abstract class PlayerList { // Paper start boolean isBedSpawn = false; @@ -17,7 +17,7 @@ index d97ef7df5b4b98af95b8fff9ed541bbe8a43dfa8..a4b35d42d6e0e24b29e647f7a1e5735f boolean isRespawn = false; boolean isLocAltered = false; // Paper - Fix SPIGOT-5989 // Paper end -@@ -809,6 +810,7 @@ public abstract class PlayerList { +@@ -816,6 +817,7 @@ public abstract class PlayerList { if (optional.isPresent()) { BlockState iblockdata = worldserver1.getBlockState(blockposition); boolean flag3 = iblockdata.is(Blocks.RESPAWN_ANCHOR); @@ -25,7 +25,7 @@ index d97ef7df5b4b98af95b8fff9ed541bbe8a43dfa8..a4b35d42d6e0e24b29e647f7a1e5735f Vec3 vec3d = (Vec3) optional.get(); float f1; -@@ -837,7 +839,7 @@ public abstract class PlayerList { +@@ -844,7 +846,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/unapplied/server/0606-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0604-Introduce-beacon-activation-deactivation-events.patch similarity index 95% rename from patches/unapplied/server/0606-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0604-Introduce-beacon-activation-deactivation-events.patch index e814102c8f..fb95254985 100644 --- a/patches/unapplied/server/0606-Introduce-beacon-activation-deactivation-events.patch +++ b/patches/server/0604-Introduce-beacon-activation-deactivation-events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Introduce beacon activation/deactivation events diff --git a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java -index ab4e5c08e51f5ed1cddf8295944cd54b19f401c0..49ca1d45bb4b3ddafc1d5952ff9830ba69b745e2 100644 +index b572643536c47f34362b086e46f581417fa1719e..79a7178ff474c516eada83f2be3e1bb0eacb368c 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BeaconBlockEntity.java @@ -212,6 +212,15 @@ public class BeaconBlockEntity extends BlockEntity implements MenuProvider, Name diff --git a/patches/unapplied/server/0607-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 89% rename from patches/unapplied/server/0607-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch index b6235c3405..164b579172 100644 --- a/patches/unapplied/server/0607-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0605-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c18d4fdf867f5465e877cfbd74c3325acef8ec2f..98ff222a1a48b0f12e4ae01c744944ac8a1a8489 100644 +index f81fb4c4e5d2681b16e6b6c2fb32363a312d3bff..dffb219c0abdac46320aaec168e232df322a4bca 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2764,7 +2764,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2773,7 +2773,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic case PERFORM_RESPAWN: if (this.player.wonGame) { this.player.wonGame = false; @@ -18,10 +18,10 @@ index c18d4fdf867f5465e877cfbd74c3325acef8ec2f..98ff222a1a48b0f12e4ae01c744944ac } else { if (this.player.getHealth() > 0.0F) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a4b35d42d6e0e24b29e647f7a1e5735f8f07ef38..aa069752df2e54cf6ef7fb4a7b82d91b219ba2ae 100644 +index 97d217664c5e1a420240f7db65519e2f5598b840..3292ef0f1fe5badcf24369c9c5f35ebfbf6d8138 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -748,6 +748,12 @@ public abstract class PlayerList { +@@ -755,6 +755,12 @@ public abstract class PlayerList { } public ServerPlayer respawn(ServerPlayer entityplayer, ServerLevel worldserver, boolean flag, Location location, boolean avoidSuffocation) { @@ -34,7 +34,7 @@ index a4b35d42d6e0e24b29e647f7a1e5735f8f07ef38..aa069752df2e54cf6ef7fb4a7b82d91b entityplayer.stopRiding(); // CraftBukkit this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot -@@ -839,7 +845,7 @@ public abstract class PlayerList { +@@ -846,7 +852,7 @@ public abstract class PlayerList { } Player respawnPlayer = entityplayer1.getBukkitEntity(); diff --git a/patches/unapplied/server/0608-Add-Channel-initialization-listeners.patch b/patches/server/0606-Add-Channel-initialization-listeners.patch similarity index 92% rename from patches/unapplied/server/0608-Add-Channel-initialization-listeners.patch rename to patches/server/0606-Add-Channel-initialization-listeners.patch index e22e8ce80b..4e452715a9 100644 --- a/patches/unapplied/server/0608-Add-Channel-initialization-listeners.patch +++ b/patches/server/0606-Add-Channel-initialization-listeners.patch @@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..0d7e7db9e37ef0183c32b217bd944fb4 + COMPRESSION_DISABLED +} diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 5fa1b0d609ffc43b03f66d710a2702c2597786fc..779a3639d3caafd49d87b99449add5b46897a8ba 100644 +index 6ef3a08ea5223ee28dd175d66c6405efe5517993..3cee24bfb1b3a21b0da1b57e161afd8009942272 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -604,6 +604,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -622,6 +622,7 @@ public class Connection extends SimpleChannelInboundHandler> { } else { this.channel.pipeline().addBefore("encoder", "compress", new CompressionEncoder(compressionThreshold)); } @@ -133,7 +133,7 @@ index 5fa1b0d609ffc43b03f66d710a2702c2597786fc..779a3639d3caafd49d87b99449add5b4 } else { if (this.channel.pipeline().get("decompress") instanceof CompressionDecoder) { this.channel.pipeline().remove("decompress"); -@@ -612,6 +613,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -630,6 +631,7 @@ public class Connection extends SimpleChannelInboundHandler> { if (this.channel.pipeline().get("compress") instanceof CompressionEncoder) { this.channel.pipeline().remove("compress"); } @@ -142,12 +142,12 @@ index 5fa1b0d609ffc43b03f66d710a2702c2597786fc..779a3639d3caafd49d87b99449add5b4 } diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -index 1b38326c9a709536dc4cccf9af93aede98a1a782..83af90fb0dcb4b1a5a68f655cf66d101b472e8e7 100644 +index bb9e65eee7e0ca0f715cd5791c47579a57b1b577..29a0a720f22f56ca3d844efef1ecde3980fb1c12 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java +++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -@@ -114,6 +114,7 @@ public class ServerConnectionListener { - pending.add((Connection) object); // Paper - channel.pipeline().addLast("packet_handler", (ChannelHandler) object); +@@ -113,6 +113,7 @@ public class ServerConnectionListener { + pending.add(object); // Paper + channelpipeline.addLast("packet_handler", (ChannelHandler) object); ((Connection) object).setListener(new ServerHandshakePacketListenerImpl(ServerConnectionListener.this.server, (Connection) object)); + io.papermc.paper.network.ChannelInitializeListenerHolder.callListeners(channel); // Paper } diff --git a/patches/unapplied/server/0609-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0607-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 88% rename from patches/unapplied/server/0609-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0607-Send-empty-commands-if-tab-completion-is-disabled.patch index a7b651cd56..0514b1f8a6 100644 --- a/patches/unapplied/server/0609-Send-empty-commands-if-tab-completion-is-disabled.patch +++ b/patches/server/0607-Send-empty-commands-if-tab-completion-is-disabled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Send empty commands if tab completion is disabled diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index da7503dca8ab4f7234bf296dfacf39e466de700a..7ebe1c200c26c66b293b245d7f470bf4f81f3eea 100644 +index 8001a084a8086ce55de856579d69b45138eb5c59..677b4a54d2a5ff9eb77d15e05582439ef3c5d3f2 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -388,7 +388,12 @@ public class Commands { +@@ -394,7 +394,12 @@ public class Commands { } public void sendCommands(ServerPlayer player) { diff --git a/patches/unapplied/server/0610-Add-more-WanderingTrader-API.patch b/patches/server/0608-Add-more-WanderingTrader-API.patch similarity index 93% rename from patches/unapplied/server/0610-Add-more-WanderingTrader-API.patch rename to patches/server/0608-Add-more-WanderingTrader-API.patch index 293d7b97db..783de0abfe 100644 --- a/patches/unapplied/server/0610-Add-more-WanderingTrader-API.patch +++ b/patches/server/0608-Add-more-WanderingTrader-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more WanderingTrader API diff --git a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java -index e594cf4b8084b7448c29208a2070e766e391713d..e92e6fb4cf97f4d5406b5b5d5786bfa5fb55f536 100644 +index 69ab58f2d8d9287a64f330a02e7cd3be3fe02402..c9fb50c33ac15fe72bc77167e4647f30942fdc5d 100644 --- a/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java +++ b/src/main/java/net/minecraft/world/entity/npc/WanderingTrader.java -@@ -56,6 +56,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill +@@ -59,6 +59,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill @Nullable private BlockPos wanderTarget; private int despawnDelay; @@ -19,7 +19,7 @@ index e594cf4b8084b7448c29208a2070e766e391713d..e92e6fb4cf97f4d5406b5b5d5786bfa5 public WanderingTrader(EntityType type, Level world) { super(type, world); -@@ -66,10 +70,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill +@@ -69,10 +73,10 @@ public class WanderingTrader extends net.minecraft.world.entity.npc.AbstractVill protected void registerGoals() { this.goalSelector.addGoal(0, new FloatGoal(this)); this.goalSelector.addGoal(0, new UseItemGoal<>(this, PotionUtils.setPotion(new ItemStack(Items.POTION), Potions.INVISIBILITY), SoundEvents.WANDERING_TRADER_DISAPPEARED, (entityvillagertrader) -> { diff --git a/patches/unapplied/server/0611-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0609-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/unapplied/server/0611-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0609-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/unapplied/server/0612-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0610-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 94% rename from patches/unapplied/server/0612-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0610-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch index 4169ad0754..6d052a3f61 100644 --- a/patches/unapplied/server/0612-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch +++ b/patches/server/0610-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Adventure message to PlayerAdvancementDoneEvent diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index e7ec5e1144c1596b035f97fb1fb86d18e61be3c9..a0c19503aabab5378d672a30163d35a5ba05b6c1 100644 +index 3df2a3fdfe2aa70457581210adf1bfabc73291d0..8a29187a144cf59b58f0cdc8599407f14902db2b 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java -@@ -287,10 +287,18 @@ public class PlayerAdvancements { +@@ -239,10 +239,18 @@ public class PlayerAdvancements { this.progressChanged.add(advancement); flag = true; if (!flag1 && advancementprogress.isDone()) { diff --git a/patches/unapplied/server/0613-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0611-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 95% rename from patches/unapplied/server/0613-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0611-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch index fb98312dc2..918d815d6c 100644 --- a/patches/unapplied/server/0613-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch +++ b/patches/server/0611-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add raw address to AsyncPlayerPreLoginEvent diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 966f5bd5b922c9f64616e93c292c87997402c521..fb2502a6ccf421d658a805eacc8b4b3b86ff61df 100644 +index c9f8f61c43428c519c0dac1b7416bad775e3429f..5ae5c35ee4d058bde6726797abb1472ee0516256 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -331,12 +331,13 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, diff --git a/patches/unapplied/server/0614-Inventory-close.patch b/patches/server/0612-Inventory-close.patch similarity index 90% rename from patches/unapplied/server/0614-Inventory-close.patch rename to patches/server/0612-Inventory-close.patch index 1f12887569..af7f99aa40 100644 --- a/patches/unapplied/server/0614-Inventory-close.patch +++ b/patches/server/0612-Inventory-close.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Inventory#close diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 7271cf41d9ad153ce10b5b5e08ebcdbb3bc65be9..59457378820d7f2899254a6aeef4c30c926ce543 100644 +index 513f3311a9009996c27604f2ba7d60c80c7a2060..00959a31e172632d9bf047347f345140fca3198c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -449,6 +449,14 @@ public class CraftInventory implements Inventory { diff --git a/patches/unapplied/server/0615-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0613-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 93% rename from patches/unapplied/server/0615-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0613-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index 5fa87d9863..a0f6decc09 100644 --- a/patches/unapplied/server/0615-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/server/0613-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add a "should burn in sunlight" API for Phantoms and diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index c2a26b91d9065fdb52a1ded6c3295093c244d7eb..b8abee145fc92faddef98da913eca7715b6bfc03 100644 +index 98a3f6388712fab9012210241b84def3aca712e2..f2094c52196b45adfd51d8aebcc4c46b779b0925 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -@@ -97,9 +97,15 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -98,9 +98,15 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo return MobType.UNDEAD; } @@ -26,7 +26,7 @@ index c2a26b91d9065fdb52a1ded6c3295093c244d7eb..b8abee145fc92faddef98da913eca771 if (flag) { ItemStack itemstack = this.getItemBySlot(EquipmentSlot.HEAD); -@@ -225,7 +231,20 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -228,7 +234,20 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo public void readAdditionalSaveData(CompoundTag nbt) { super.readAdditionalSaveData(nbt); this.reassessWeaponGoal(); @@ -48,7 +48,7 @@ index c2a26b91d9065fdb52a1ded6c3295093c244d7eb..b8abee145fc92faddef98da913eca771 @Override public void setItemSlot(EquipmentSlot slot, ItemStack stack) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 5432b3eff8ac09e45c7e118ddc1bc5303005412b..aa8734856ec7b90036afad13bfda46c02e548812 100644 +index 0ada1ba6774e3d0514afb946fd0f104004cc020d..97fb1d2110a51498f6419841081b500b3f190370 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -144,7 +144,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -78,7 +78,7 @@ index 5432b3eff8ac09e45c7e118ddc1bc5303005412b..aa8734856ec7b90036afad13bfda46c0 // Paper end } -@@ -248,6 +252,10 @@ public class Phantom extends FlyingMob implements Enemy { +@@ -253,6 +257,10 @@ public class Phantom extends FlyingMob implements Enemy { return spawningEntity; } public void setSpawningEntity(java.util.UUID entity) { this.spawningEntity = entity; } diff --git a/patches/unapplied/server/0616-Fix-CraftPotionBrewer-cache.patch b/patches/server/0614-Fix-CraftPotionBrewer-cache.patch similarity index 100% rename from patches/unapplied/server/0616-Fix-CraftPotionBrewer-cache.patch rename to patches/server/0614-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/unapplied/server/0617-Add-basic-Datapack-API.patch b/patches/server/0615-Add-basic-Datapack-API.patch similarity index 94% rename from patches/unapplied/server/0617-Add-basic-Datapack-API.patch rename to patches/server/0615-Add-basic-Datapack-API.patch index 497fbaeb9d..a7f5b2c96f 100644 --- a/patches/unapplied/server/0617-Add-basic-Datapack-API.patch +++ b/patches/server/0615-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3135b7254776a96c581a5f8008c9712e996a27af..c58e8e36a2526272e7fa26dffbb4c5bd362692e1 100644 +index 574f50314c17eb12b519ba14fb1dddbc6c8e40c6..a8116749fb7a2b30e2623165eedb9ee167ee6120 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -296,6 +296,7 @@ public final class CraftServer implements Server { +@@ -291,6 +291,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -103,7 +103,7 @@ index 3135b7254776a96c581a5f8008c9712e996a27af..c58e8e36a2526272e7fa26dffbb4c5bd public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -382,6 +383,7 @@ public final class CraftServer implements Server { +@@ -377,6 +378,7 @@ public final class CraftServer implements Server { if (this.configuration.getBoolean("settings.use-map-color-cache")) { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } @@ -111,7 +111,7 @@ index 3135b7254776a96c581a5f8008c9712e996a27af..c58e8e36a2526272e7fa26dffbb4c5bd } public boolean getCommandBlockOverride(String command) { -@@ -2780,5 +2782,11 @@ public final class CraftServer implements Server { +@@ -2778,5 +2780,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/unapplied/server/0618-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0616-Add-environment-variable-to-disable-server-gui.patch similarity index 85% rename from patches/unapplied/server/0618-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0616-Add-environment-variable-to-disable-server-gui.patch index e93a3b858d..33967006f9 100644 --- a/patches/unapplied/server/0618-Add-environment-variable-to-disable-server-gui.patch +++ b/patches/server/0616-Add-environment-variable-to-disable-server-gui.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add environment variable to disable server gui diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index f935ab8e797b9ae6236c1bcce4bccfd9d0048182..bf19d95d9b48310de10ef6819b83035ee63a165c 100644 +index 5516888e72adf3f0b39119ed4f24e9aab09b1f37..13e5362e12eb857b0cc27277c95efe085e77348d 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -282,6 +282,7 @@ public class Main { +@@ -293,6 +293,7 @@ public class Main { */ boolean flag1 = !optionset.has("nogui") && !optionset.nonOptionArguments().contains("nogui"); diff --git a/patches/unapplied/server/0619-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch similarity index 93% rename from patches/unapplied/server/0619-additions-to-PlayerGameModeChangeEvent.patch rename to patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch index e9cffeada8..2af5f03492 100644 --- a/patches/unapplied/server/0619-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0617-additions-to-PlayerGameModeChangeEvent.patch @@ -45,10 +45,10 @@ index d47f3d255eddd652fedb4aa55286b756fe962995..27c0aaf123c3e945eb24e8a3892bd8ac } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8edabceba88b36479ff74b0d1eb6fdf48743506a..b9516dc15086394d7029262ec37842dbf5d3bb7e 100644 +index 7550137b4d35fee77ab75a615ca1ecbb4c066006..575fb9a95e38e68f7d8af1482f6e4166c5112dde 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1826,8 +1826,15 @@ public class ServerPlayer extends Player { +@@ -1828,8 +1828,15 @@ public class ServerPlayer extends Player { } public boolean setGameMode(GameType gameMode) { @@ -66,7 +66,7 @@ index 8edabceba88b36479ff74b0d1eb6fdf48743506a..b9516dc15086394d7029262ec37842db } else { this.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.CHANGE_GAME_MODE, (float) gameMode.getId())); if (gameMode == GameType.SPECTATOR) { -@@ -1839,7 +1846,7 @@ public class ServerPlayer extends Player { +@@ -1841,7 +1848,7 @@ public class ServerPlayer extends Player { this.onUpdateAbilities(); this.updateEffectVisibility(); @@ -75,7 +75,7 @@ index 8edabceba88b36479ff74b0d1eb6fdf48743506a..b9516dc15086394d7029262ec37842db } } -@@ -2249,6 +2256,16 @@ public class ServerPlayer extends Player { +@@ -2234,6 +2241,16 @@ public class ServerPlayer extends Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -129,10 +129,10 @@ index 645a226c2e3f6dcf1c25187d006d425038b4545d..17c313b9cb45c8158cab751ffc4e0dc3 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 98ff222a1a48b0f12e4ae01c744944ac8a1a8489..b22ef0065eff4087cc9e991c5ce910bafd2d5e6a 100644 +index dffb219c0abdac46320aaec168e232df322a4bca..8987bbb4feed89c44e3615a58dac321a947c8af9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2773,7 +2773,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2782,7 +2782,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player = this.server.getPlayerList().respawn(this.player, false); if (this.server.isHardcore()) { @@ -142,10 +142,10 @@ index 98ff222a1a48b0f12e4ae01c744944ac8a1a8489..b22ef0065eff4087cc9e991c5ce910ba } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1c7c52755a6d71b8fb25cde33573b38f616b8d14..13c3f7d01df3706637b022f5f42bcc269e5670db 100644 +index d784cef362b1c13348d49ffb60f3403fc9471f0c..750decc331963ab89ff90d228e169a9675f17022 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1495,7 +1495,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1518,7 +1518,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { throw new IllegalArgumentException("Mode cannot be null"); } diff --git a/patches/unapplied/server/0620-ItemStack-repair-check-API.patch b/patches/server/0618-ItemStack-repair-check-API.patch similarity index 97% rename from patches/unapplied/server/0620-ItemStack-repair-check-API.patch rename to patches/server/0618-ItemStack-repair-check-API.patch index 9f4ef58587..001864ef6a 100644 --- a/patches/unapplied/server/0620-ItemStack-repair-check-API.patch +++ b/patches/server/0618-ItemStack-repair-check-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 30b4ac8e5b813024b2e8fc9f173a3434b8123ca8..60b2a96ebfae85762daa5ecc94d3e46f0434c9cc 100644 +index 3bfe371eb5f08f9e6fbd4ce186bad42cc3478ccb..1aa8ba6ff3263c6d2ef9694ad4e7bafc8215ec43 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -537,6 +537,14 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0621-More-Enchantment-API.patch b/patches/server/0619-More-Enchantment-API.patch similarity index 98% rename from patches/unapplied/server/0621-More-Enchantment-API.patch rename to patches/server/0619-More-Enchantment-API.patch index 25cf74c764..df85d12776 100644 --- a/patches/unapplied/server/0621-More-Enchantment-API.patch +++ b/patches/server/0619-More-Enchantment-API.patch @@ -66,7 +66,7 @@ index 57decf4156f176ebcc988478c17856cbc555c5e4..3d0ce0803e1da8a2681a3cb41096ac94 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index fb74a06e73765a82d936975f4070093e35e2dade..3c6d64601afdf1c23756c1419e450228a2e7a362 100644 +index 44df0768689309cc492c101f97cafcd59081809d..d896d7089baa9c7975fc8785093e9ffd43beae39 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -930,5 +930,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0622-Move-range-check-for-block-placing-up.patch b/patches/server/0620-Move-range-check-for-block-placing-up.patch similarity index 87% rename from patches/unapplied/server/0622-Move-range-check-for-block-placing-up.patch rename to patches/server/0620-Move-range-check-for-block-placing-up.patch index d96040b8ce..340d2aab5b 100644 --- a/patches/unapplied/server/0622-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0620-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b22ef0065eff4087cc9e991c5ce910bafd2d5e6a..03d4c135928836d33a2ff7dc1b469042fd364eb7 100644 +index 8987bbb4feed89c44e3615a58dac321a947c8af9..a073244fa9b25015e1343f1599f8b86127c77788 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1821,6 +1821,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1811,6 +1811,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (itemstack.isItemEnabled(worldserver.enabledFeatures())) { BlockHitResult movingobjectpositionblock = packet.getHitResult(); Vec3 vec3d = movingobjectpositionblock.getLocation(); diff --git a/patches/unapplied/server/0623-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0621-Fix-and-optimise-world-force-upgrading.patch similarity index 96% rename from patches/unapplied/server/0623-Fix-and-optimise-world-force-upgrading.patch rename to patches/server/0621-Fix-and-optimise-world-force-upgrading.patch index d7842eeca3..b4483945a5 100644 --- a/patches/unapplied/server/0623-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0621-Fix-and-optimise-world-force-upgrading.patch @@ -247,10 +247,10 @@ index 0000000000000000000000000000000000000000..95cac7edae8ac64811fc6a2f6b97dd4a + } +} diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index bf19d95d9b48310de10ef6819b83035ee63a165c..e24b23461c592fae07697d3b2a1929cbc79423df 100644 +index 13e5362e12eb857b0cc27277c95efe085e77348d..1619da8a904785e0cc00ddbcfba1c3fa2b8d9b93 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -15,6 +15,7 @@ import java.nio.file.Paths; +@@ -18,6 +18,7 @@ import java.nio.file.Paths; import java.util.Optional; import java.util.UUID; import java.util.function.BooleanSupplier; @@ -258,7 +258,7 @@ index bf19d95d9b48310de10ef6819b83035ee63a165c..e24b23461c592fae07697d3b2a1929cb import joptsimple.NonOptionArgumentSpec; import joptsimple.OptionParser; import joptsimple.OptionSet; -@@ -330,6 +331,15 @@ public class Main { +@@ -351,6 +352,15 @@ public class Main { return new WorldLoader.InitConfig(worldloader_d, Commands.CommandSelection.DEDICATED, serverPropertiesHandler.functionPermissionLevel); } @@ -275,10 +275,10 @@ index bf19d95d9b48310de10ef6819b83035ee63a165c..e24b23461c592fae07697d3b2a1929cb Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, dimensionOptionsRegistry, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 40f78babdcf6fcb3ec5dd00ed36186bf61a98c6c..b6e7b86bcb874ddf56a14334d30f95aadc9887ce 100644 +index ff97f603d9962dba69f1ae06d2a25986d2354927..7e4e484539ad705d61cd0d1b4db49e31fe3ca8f7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -551,11 +551,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions public java.util.ArrayDeque redstoneUpdateInfos; // Paper - Move from Map in BlockRedstoneTorch to here @@ -359,10 +359,10 @@ index b294ef87fb93e7f4651dc04128124f297575860d..65fd57609e45ccd49ebfc1ba80d25243 return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c58e8e36a2526272e7fa26dffbb4c5bd362692e1..87651b9cf470e4e88676691c22a1e11939522547 100644 +index a8116749fb7a2b30e2623165eedb9ee167ee6120..29d8b20d1e90b0097a98f454f2f1209b27fdfa61 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1215,12 +1215,7 @@ public final class CraftServer implements Server { +@@ -1210,12 +1210,7 @@ public final class CraftServer implements Server { worlddata.customDimensions = iregistry; worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); @@ -376,7 +376,7 @@ index c58e8e36a2526272e7fa26dffbb4c5bd362692e1..87651b9cf470e4e88676691c22a1e119 long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1231,6 +1226,13 @@ public final class CraftServer implements Server { +@@ -1226,6 +1221,13 @@ public final class CraftServer implements Server { biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/patches/unapplied/server/0624-Add-Mob-lookAt-API.patch b/patches/server/0622-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/unapplied/server/0624-Add-Mob-lookAt-API.patch rename to patches/server/0622-Add-Mob-lookAt-API.patch diff --git a/patches/unapplied/server/0625-Add-Unix-domain-socket-support.patch b/patches/server/0623-Add-Unix-domain-socket-support.patch similarity index 87% rename from patches/unapplied/server/0625-Add-Unix-domain-socket-support.patch rename to patches/server/0623-Add-Unix-domain-socket-support.patch index 5e98d10f18..f736e7454e 100644 --- a/patches/unapplied/server/0625-Add-Unix-domain-socket-support.patch +++ b/patches/server/0623-Add-Unix-domain-socket-support.patch @@ -10,22 +10,6 @@ This will be possible as of the Minecraft 1.17 Java version bump. Tested-by: Mariell Hoversholm Reviewed-by: Mariell Hoversholm -diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 779a3639d3caafd49d87b99449add5b46897a8ba..9042f2953b1cf21969faf33883d3c845553e937e 100644 ---- a/src/main/java/net/minecraft/network/Connection.java -+++ b/src/main/java/net/minecraft/network/Connection.java -@@ -690,6 +690,11 @@ public class Connection extends SimpleChannelInboundHandler> { - // Spigot Start - public SocketAddress getRawAddress() - { -+ // Paper start - this can be nullable in the case of a Unix domain socket, so if it is, fake something -+ if (this.channel.remoteAddress() == null) { -+ return new java.net.InetSocketAddress(java.net.InetAddress.getLoopbackAddress(), 0); -+ } -+ // Paper end - return this.channel.remoteAddress(); - } - // Spigot End diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java index 8eb18e794845a2e7df5e7e6bc11134e4d132e06e..7dcffb49a982a8db00d66441a03e2951b1d29ff9 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -69,10 +53,10 @@ index 8eb18e794845a2e7df5e7e6bc11134e4d132e06e..7dcffb49a982a8db00d66441a03e2951 DedicatedServer.LOGGER.warn("**** FAILED TO BIND TO PORT!"); DedicatedServer.LOGGER.warn("The exception was: {}", ioexception.toString()); diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -index 83af90fb0dcb4b1a5a68f655cf66d101b472e8e7..b80aedd2002959b4026c27ce76b3ed17f0acfb5b 100644 +index 29a0a720f22f56ca3d844efef1ecde3980fb1c12..838244e3680ea6020701e10bafbde7f52976eaa1 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java +++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -@@ -80,7 +80,12 @@ public class ServerConnectionListener { +@@ -77,7 +77,12 @@ public class ServerConnectionListener { this.running = true; } @@ -85,7 +69,7 @@ index 83af90fb0dcb4b1a5a68f655cf66d101b472e8e7..b80aedd2002959b4026c27ce76b3ed17 List list = this.channels; synchronized (this.channels) { -@@ -88,7 +93,11 @@ public class ServerConnectionListener { +@@ -85,7 +90,11 @@ public class ServerConnectionListener { LazyLoadedValue lazyinitvar; if (Epoll.isAvailable() && this.server.isEpollEnabled()) { @@ -97,7 +81,7 @@ index 83af90fb0dcb4b1a5a68f655cf66d101b472e8e7..b80aedd2002959b4026c27ce76b3ed17 lazyinitvar = ServerConnectionListener.SERVER_EPOLL_EVENT_GROUP; ServerConnectionListener.LOGGER.info("Using epoll channel type"); } else { -@@ -116,7 +125,7 @@ public class ServerConnectionListener { +@@ -115,7 +124,7 @@ public class ServerConnectionListener { ((Connection) object).setListener(new ServerHandshakePacketListenerImpl(ServerConnectionListener.this.server, (Connection) object)); io.papermc.paper.network.ChannelInitializeListenerHolder.callListeners(channel); // Paper } @@ -106,11 +90,27 @@ index 83af90fb0dcb4b1a5a68f655cf66d101b472e8e7..b80aedd2002959b4026c27ce76b3ed17 } } +diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +index a073244fa9b25015e1343f1599f8b86127c77788..c5788a4f0acdd44d55446fd729311db7e72c0d86 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -2617,6 +2617,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + // Spigot Start + public SocketAddress getRawAddress() + { ++ // Paper start - this can be nullable in the case of a Unix domain socket, so if it is, fake something ++ if (connection.channel.remoteAddress() == null) { ++ return new java.net.InetSocketAddress(java.net.InetAddress.getLoopbackAddress(), 0); ++ } ++ // Paper end + return this.connection.channel.remoteAddress(); + } + // Spigot End diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -index bce2f0f66f9e5493184fd0b5d2758e136a0e05b5..446a5fb08691a45a54bed3b5e7e68842f21e60d0 100644 +index 7675adce108df5790a34f90145a8fabcf9704c0f..de25fde984d17a3228803a8a274372b0fe27da5e 100644 --- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -@@ -44,6 +44,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -45,6 +45,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL this.connection.setProtocol(ConnectionProtocol.LOGIN); // CraftBukkit start - Connection throttle try { @@ -118,7 +118,7 @@ index bce2f0f66f9e5493184fd0b5d2758e136a0e05b5..446a5fb08691a45a54bed3b5e7e68842 long currentTime = System.currentTimeMillis(); long connectionThrottle = this.server.server.getConnectionThrottle(); InetAddress address = ((java.net.InetSocketAddress) this.connection.getRemoteAddress()).getAddress(); -@@ -72,6 +73,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -73,6 +74,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL } } } @@ -126,7 +126,7 @@ index bce2f0f66f9e5493184fd0b5d2758e136a0e05b5..446a5fb08691a45a54bed3b5e7e68842 } catch (Throwable t) { org.apache.logging.log4j.LogManager.getLogger().debug("Failed to check connection throttle", t); } -@@ -120,8 +122,11 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -121,8 +123,11 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL // Paper end // if (org.spigotmc.SpigotConfig.bungee) { // Paper - comment out, we check above! if ( ( split.length == 3 || split.length == 4 ) && ( ServerHandshakePacketListenerImpl.BYPASS_HOSTCHECK || ServerHandshakePacketListenerImpl.HOST_PATTERN.matcher( split[1] ).matches() ) ) { // Paper diff --git a/patches/unapplied/server/0626-Add-EntityInsideBlockEvent.patch b/patches/server/0624-Add-EntityInsideBlockEvent.patch similarity index 90% rename from patches/unapplied/server/0626-Add-EntityInsideBlockEvent.patch rename to patches/server/0624-Add-EntityInsideBlockEvent.patch index 93132df578..1c140e7006 100644 --- a/patches/unapplied/server/0626-Add-EntityInsideBlockEvent.patch +++ b/patches/server/0624-Add-EntityInsideBlockEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityInsideBlockEvent diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -index 922b5b22a4ccfeead9d6d2b9a2a2b3cc8a1e6c55..a76c452dc5c2069a3071aec31bfb3e977867161e 100644 +index 4066dd6a638cf2186c628905915f635326442b3e..f89234dbfd03ba5192423bb75d58f8951f289761 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -@@ -121,6 +121,7 @@ public abstract class BaseFireBlock extends Block { +@@ -120,6 +120,7 @@ public abstract class BaseFireBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -17,10 +17,10 @@ index 922b5b22a4ccfeead9d6d2b9a2a2b3cc8a1e6c55..a76c452dc5c2069a3071aec31bfb3e97 entity.setRemainingFireTicks(entity.getRemainingFireTicks() + 1); if (entity.getRemainingFireTicks() == 0) { diff --git a/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java b/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java -index 7b0ead5131d4681214bf9b719cad5210631d69f2..caa0fbe5cad9cdc11d6e4af92bc627990cd8204c 100644 +index 3db122c61452ea209e80c98dead1823bc489e43b..6a0edfc5082865daf27eaa4f9331d0c4dcced3e1 100644 --- a/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java -@@ -67,6 +67,7 @@ public abstract class BasePressurePlateBlock extends Block { +@@ -72,6 +72,7 @@ public abstract class BasePressurePlateBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -53,10 +53,10 @@ index 3da8d49f7e36d8f1c0873bec32123971e53d2a31..461288cb56793f11e8dac80720b36cb9 if (blockState.isAir()) { entity.onAboveBubbleCol(state.getValue(DRAG_DOWN)); diff --git a/src/main/java/net/minecraft/world/level/block/ButtonBlock.java b/src/main/java/net/minecraft/world/level/block/ButtonBlock.java -index 1357ad425c92d281529c505aef74e797f1737b81..940f9328d02b99bfc6a154032b25862431a0ba2c 100644 +index d35618520daafb50de747f6bc200160ea17ef656..3e792514d042f05ff6848b7d6506472ace67b67a 100644 --- a/src/main/java/net/minecraft/world/level/block/ButtonBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ButtonBlock.java -@@ -182,6 +182,7 @@ public class ButtonBlock extends FaceAttachedHorizontalDirectionalBlock { +@@ -181,6 +181,7 @@ public class ButtonBlock extends FaceAttachedHorizontalDirectionalBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -65,29 +65,29 @@ index 1357ad425c92d281529c505aef74e797f1737b81..940f9328d02b99bfc6a154032b258624 this.checkPressed(state, world, pos); } diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -index 7f137f43f725cd2866e10f0ade40d4906b64fac1..1ec242205b82a5a1f10deb2312795cc5dc157a76 100644 +index f5c21d510351ea8ff76d89fe859f187a3106cc30..7579946ce222b6ab3685a7fd9821bcd5a4babe33 100644 --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -@@ -117,6 +117,7 @@ public class CactusBlock extends Block { +@@ -116,6 +116,7 @@ public class CactusBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit - entity.hurt(DamageSource.CACTUS, 1.0F); + entity.hurt(world.damageSources().cactus(), 1.0F); CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -index 930421c72326fabfa3f2e3ab37c4dd6f416d6d44..a4c44cb59dee29cf227dbb51bfc1576d89dfb2e3 100644 +index dffd1a48e54b4b15195ba066dc9d73c7a91650ea..219c87dcf065e86512f330fbeec59e55f4675083 100644 --- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -@@ -93,6 +93,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB +@@ -92,6 +92,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper if ((Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) { org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = CraftBlock.at(world, pos); // CraftBukkit - entity.hurt(DamageSource.IN_FIRE, (float) this.fireDamage); + entity.hurt(world.damageSources().inFire(), (float) this.fireDamage); diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java index 4597bfbe2268f14262c56f1e5266aa7d344f16d1..519d02a2009c4f09c9e8be7196a701f0f042012d 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java @@ -113,7 +113,7 @@ index 932a2c279f46c951182d2604b525b473b6945895..05dfb1790a292f9f85b641377c2ca367 if (!(Boolean) state.getValue(DetectorRailBlock.POWERED)) { this.checkPressed(world, pos, state); diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 3b54eb4962a0cd39e6ff7a934f814de864a16a3d..150c16da7caa655cfc2c371d3336a8d7345438c6 100644 +index d8ff821bf35275b8792f38ec786767026e368bba..45b427f314da778cc13da9ad6e4e1316790bf1b1 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -44,6 +44,7 @@ public class EndPortalBlock extends BaseEntityBlock { @@ -121,7 +121,7 @@ index 3b54eb4962a0cd39e6ff7a934f814de864a16a3d..150c16da7caa655cfc2c371d3336a8d7 @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - if (world instanceof ServerLevel && !entity.isPassenger() && !entity.isVehicle() && entity.canChangeDimensions() && Shapes.joinIsNotEmpty(Shapes.create(entity.getBoundingBox().move((double) (-pos.getX()), (double) (-pos.getY()), (double) (-pos.getZ()))), state.getShape(world, pos), BooleanOp.AND)) { + if (world instanceof ServerLevel && entity.canChangeDimensions() && Shapes.joinIsNotEmpty(Shapes.create(entity.getBoundingBox().move((double) (-pos.getX()), (double) (-pos.getY()), (double) (-pos.getZ()))), state.getShape(world, pos), BooleanOp.AND)) { ResourceKey resourcekey = world.getTypeKey() == LevelStem.END ? Level.OVERWORLD : Level.END; // CraftBukkit - SPIGOT-6152: send back to main overworld in custom ends ServerLevel worldserver = ((ServerLevel) world).getServer().getLevel(resourcekey); diff --git a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java @@ -137,10 +137,10 @@ index b63835fe3eda974746163e7a9e26080da7538c4d..834c5e3fbff3819f3f72e95a1072d9b9 this.destroyBlock(world, pos); } diff --git a/src/main/java/net/minecraft/world/level/block/HoneyBlock.java b/src/main/java/net/minecraft/world/level/block/HoneyBlock.java -index 0549256cbd7028c82bf82ccc4ff64219df7e0906..683f24251baf8ef3bef8f32ba83dc7f0e8ed7d70 100644 +index 42f4cd2154d013537451a29a864eabc40a3b849a..29efe50dd3911a1d7ef5175034e82191130b8fd1 100644 --- a/src/main/java/net/minecraft/world/level/block/HoneyBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HoneyBlock.java -@@ -55,6 +55,7 @@ public class HoneyBlock extends HalfTransparentBlock { +@@ -54,6 +54,7 @@ public class HoneyBlock extends HalfTransparentBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -149,7 +149,7 @@ index 0549256cbd7028c82bf82ccc4ff64219df7e0906..683f24251baf8ef3bef8f32ba83dc7f0 this.maybeDoSlideAchievement(entity, pos); this.doSlideMovement(entity); diff --git a/src/main/java/net/minecraft/world/level/block/HopperBlock.java b/src/main/java/net/minecraft/world/level/block/HopperBlock.java -index c89bce01302348115791732fb31ce48aec7239d4..45224b264c7500a9d4342864cf67e7d1550c8103 100644 +index 151f3e1f8e55b75957b84c495e1c1ed7008a6f28..c8e7e82dd81d9faf8f06612291c40f541304eb82 100644 --- a/src/main/java/net/minecraft/world/level/block/HopperBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HopperBlock.java @@ -200,6 +200,7 @@ public class HopperBlock extends BaseEntityBlock { @@ -185,7 +185,7 @@ index 2d0191eeb746d496a481d66cdfa77078313a13ec..24d2da792bc498adf4251555a538df4c // CraftBukkit start if (entity.mayInteract(world, pos)) { diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index a423aff5fde3f42c8b8aecb74fe0022c4d2dbe81..192689be9dfc9373876921bd4da0715d58f9421c 100644 +index 69f34c566bf825259253abbefd7d7ba2e847231b..a6ab0d0defc05e56a91084c49897059670a1324b 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -82,6 +82,7 @@ public class NetherPortalBlock extends Block { @@ -193,7 +193,7 @@ index a423aff5fde3f42c8b8aecb74fe0022c4d2dbe81..192689be9dfc9373876921bd4da0715d @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - if (!entity.isPassenger() && !entity.isVehicle() && entity.canChangeDimensions()) { + if (entity.canChangeDimensions()) { // CraftBukkit start - Entity in portal EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ())); diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java @@ -209,10 +209,10 @@ index 47f54002654d198a56a85884de34e305e545eb4b..518d3832c36c9ecf1ed9267ffc1f926d entity.makeStuckInBlock(state, new Vec3(0.8999999761581421D, 1.5D, 0.8999999761581421D)); if (world.isClientSide) { diff --git a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java -index 6086b60795b7cb2e16833af59b6326e5957f2e74..c926cd3ebb916115a608e86b389ffe7e15d48cd7 100644 +index 9421eb279f509872725544bba3e3112a92bbe5a1..08a11888133b97e52535cb49cad218a1b6c6ac97 100644 --- a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java -@@ -78,6 +78,7 @@ public class SweetBerryBushBlock extends BushBlock implements BonemealableBlock +@@ -77,6 +77,7 @@ public class SweetBerryBushBlock extends BushBlock implements BonemealableBlock @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { @@ -257,10 +257,10 @@ index 6964308822ebf8a7027ce426062ba43a70c20c15..763fa221c562e96c2abd09c7055e91a8 } } diff --git a/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java b/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java -index 7acac8e59d6d46d03f6a15f0657b6028a63f752a..7d5f7983bbbcb004a1334f22dbe47b477ea5b750 100644 +index 5cf75b8092d13e6bd3792e1313786ec603454d36..d77ef4b9809da0f18b3b5683d71f41178b19a305 100644 --- a/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java -@@ -46,6 +46,7 @@ public class WitherRoseBlock extends FlowerBlock { +@@ -45,6 +45,7 @@ public class WitherRoseBlock extends FlowerBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { diff --git a/patches/unapplied/server/0627-Attributes-API-for-item-defaults.patch b/patches/server/0625-Attributes-API-for-item-defaults.patch similarity index 94% rename from patches/unapplied/server/0627-Attributes-API-for-item-defaults.patch rename to patches/server/0625-Attributes-API-for-item-defaults.patch index a1895ea21d..27e687d37a 100644 --- a/patches/unapplied/server/0627-Attributes-API-for-item-defaults.patch +++ b/patches/server/0625-Attributes-API-for-item-defaults.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 60b2a96ebfae85762daa5ecc94d3e46f0434c9cc..119ef8f4db4f4aa6129b6d246fdae0be790718f8 100644 +index 1aa8ba6ff3263c6d2ef9694ad4e7bafc8215ec43..aa79564d415af3a61978ba72c95a97cc1de05458 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -545,6 +545,19 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0628-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0626-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 93% rename from patches/unapplied/server/0628-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0626-Add-cause-to-Weather-ThunderChangeEvents.patch index 0888164d99..e63cbdc6d0 100644 --- a/patches/unapplied/server/0628-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0626-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add cause to Weather/ThunderChangeEvents diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3d4eff26f6530d11821ba09953095036bce3a2d3..abc3041f363287f0596b05004b0d4c5408c8820e 100644 +index 421bec0fead072a8f0e8756f9ba3670d8465842f..e93a1713505d52d719738b36ea59859c547553b7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -531,8 +531,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -19,7 +19,7 @@ index 3d4eff26f6530d11821ba09953095036bce3a2d3..abc3041f363287f0596b05004b0d4c54 } @Override -@@ -945,8 +945,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -944,8 +944,8 @@ public class ServerLevel extends Level implements WorldGenLevel { this.serverLevelData.setThunderTime(j); this.serverLevelData.setRainTime(k); this.serverLevelData.setClearWeatherTime(i); @@ -30,7 +30,7 @@ index 3d4eff26f6530d11821ba09953095036bce3a2d3..abc3041f363287f0596b05004b0d4c54 } this.oThunderLevel = this.thunderLevel; -@@ -1012,14 +1012,14 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1011,14 +1011,14 @@ public class ServerLevel extends Level implements WorldGenLevel { private void resetWeatherCycle() { // CraftBukkit start @@ -48,7 +48,7 @@ index 3d4eff26f6530d11821ba09953095036bce3a2d3..abc3041f363287f0596b05004b0d4c54 // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... diff --git a/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java b/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java -index 274c8eb1f76fb7cb8a16b438e7e1b14804f3dc51..b6218626bad7f8ddfba91b216ac1e10647f04df5 100644 +index 543d578eb87da6ff526cad7e65c8af76b1043e84..936b7f464097c30fe4dfbe4cee1c1490df8c3a58 100644 --- a/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java +++ b/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java @@ -359,6 +359,11 @@ public class PrimaryLevelData implements ServerLevelData, WorldData { @@ -95,7 +95,7 @@ index 274c8eb1f76fb7cb8a16b438e7e1b14804f3dc51..b6218626bad7f8ddfba91b216ac1e106 if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a767f0f8f7cbe24c4cb8deaffa747ff74371a3cd..4c900c17f9080cdb8d910f6dbc8503b0a691df3e 100644 +index 71fbfdaab3ff03c7ba3b987d0285bbaa6d3cbce4..ad53803f90faa5805cc0e961094752830328cbf5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1183,7 +1183,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0629-More-Lidded-Block-API.patch b/patches/server/0627-More-Lidded-Block-API.patch similarity index 100% rename from patches/unapplied/server/0629-More-Lidded-Block-API.patch rename to patches/server/0627-More-Lidded-Block-API.patch diff --git a/patches/unapplied/server/0630-Limit-item-frame-cursors-on-maps.patch b/patches/server/0628-Limit-item-frame-cursors-on-maps.patch similarity index 93% rename from patches/unapplied/server/0630-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0628-Limit-item-frame-cursors-on-maps.patch index 2ef5668d6f..8c1084fa88 100644 --- a/patches/unapplied/server/0630-Limit-item-frame-cursors-on-maps.patch +++ b/patches/server/0628-Limit-item-frame-cursors-on-maps.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Limit item frame cursors on maps diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index df616dbe37b8a2068338f071300d6315a361a075..b2845ed8d28627178589da3d2224cd9edd29c31e 100644 +index fdf56fa2c26babf3496d326d2e7c7968f1844792..50348a5eec1e2ffabfc8405d708461376a162913 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -295,8 +295,12 @@ public class MapItemSavedData extends SavedData { diff --git a/patches/unapplied/server/0631-Add-PlayerKickEvent-causes.patch b/patches/server/0629-Add-PlayerKickEvent-causes.patch similarity index 91% rename from patches/unapplied/server/0631-Add-PlayerKickEvent-causes.patch rename to patches/server/0629-Add-PlayerKickEvent-causes.patch index cbb0b7363e..39e7abd6f2 100644 --- a/patches/unapplied/server/0631-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0629-Add-PlayerKickEvent-causes.patch @@ -36,10 +36,10 @@ index b5f54ee82905e3e6ab5bfde35ab625f5feeb1393..c0a80824a0307ea673805015119cc834 public boolean shouldDisconnect() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b6e7b86bcb874ddf56a14334d30f95aadc9887ce..34619d107231fe188d2b4c8eeefba8b6eaf4d3a5 100644 +index 7e4e484539ad705d61cd0d1b4db49e31fe3ca8f7..990cbc7a5bdfa0bcdec456d004a4db43cc922845 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2124,7 +2124,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); - this.disconnect(io.papermc.paper.configuration.GlobalConfiguration.get().messages.kick.flyingPlayer); // Paper - use configurable kick message @@ -100,7 +100,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } } else { -@@ -377,7 +377,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -379,7 +379,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); @@ -109,7 +109,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } } else { -@@ -399,7 +399,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -401,7 +401,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic 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 @@ -118,7 +118,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } else { if (elapsedTime >= 15000L) { // 15 seconds -@@ -429,7 +429,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -431,7 +431,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) (this.server.getPlayerIdleTimeout() * 1000 * 60)) { this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 @@ -127,7 +127,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -452,16 +452,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -454,16 +454,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return this.server.isSingleplayerOwner(this.player.getGameProfile()); } @@ -157,7 +157,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 // Paper end // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { -@@ -471,7 +481,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -473,7 +483,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -166,7 +166,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return null; } }; -@@ -490,7 +500,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -492,7 +502,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic net.kyori.adventure.text.Component leaveMessage = net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? this.player.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(this.player.getScoreboardName())); // Paper - Adventure @@ -175,7 +175,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -560,7 +570,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -562,7 +572,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleMoveVehicle(ServerboundMoveVehiclePacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(), packet.getY(), packet.getZ(), packet.getYRot(), packet.getXRot())) { @@ -184,7 +184,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { Entity entity = this.player.getRootVehicle(); -@@ -758,7 +768,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -760,7 +770,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getId() == this.awaitingTeleport) { if (this.awaitingPositionFromClient == null) { @@ -193,7 +193,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } -@@ -815,13 +825,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -817,13 +827,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -209,7 +209,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } // Paper end -@@ -974,7 +984,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -976,7 +986,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start - validate pick item position if (!(packet.getSlot() >= 0 && packet.getSlot() < this.player.getInventory().items.size())) { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -218,7 +218,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } this.player.getInventory().pickSlot(packet.getSlot()); // Paper - Diff above if changed -@@ -1161,7 +1171,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1163,7 +1173,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length; if (byteLength > 256 * 4) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!"); @@ -227,7 +227,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } byteTotal += byteLength; -@@ -1184,14 +1194,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1186,14 +1196,14 @@ 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()); @@ -244,7 +244,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } this.lastBookTick = MinecraftServer.currentTick; -@@ -1315,7 +1325,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1317,7 +1327,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleMovePlayer(ServerboundMovePlayerPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (ServerGamePacketListenerImpl.containsInvalidValues(packet.getX(0.0D), packet.getY(0.0D), packet.getZ(0.0D), packet.getYRot(0.0F), packet.getXRot(0.0F))) { @@ -253,7 +253,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { ServerLevel worldserver = this.player.getLevel(); -@@ -1743,7 +1753,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1733,7 +1743,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.dropCount++; if (this.dropCount >= 20) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!"); @@ -262,7 +262,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } } -@@ -1955,7 +1965,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1945,7 +1955,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); @@ -271,7 +271,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; -@@ -2069,7 +2079,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2061,7 +2071,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetLastActionTime(); } else { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -280,7 +280,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -2082,7 +2092,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2074,7 +2084,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -289,7 +289,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { Optional optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2116,7 +2126,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2108,7 +2118,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -298,7 +298,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { Optional optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2165,7 +2175,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2157,7 +2167,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) { if (exception.shouldDisconnect()) { @@ -307,16 +307,16 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED)); } -@@ -2196,7 +2206,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2188,7 +2198,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); - this.disconnect(Component.translatable("multiplayer.disconnect.out_of_order_chat")); + this.disconnect(Component.translatable("multiplayer.disconnect.out_of_order_chat"), org.bukkit.event.player.PlayerKickEvent.Cause.OUT_OF_ORDER_CHAT); // Paper - kick event ca return Optional.empty(); - } else if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales - this.send(new ClientboundSystemChatPacket(PaperAdventure.asAdventure(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED)), false)); // Paper - Adventure -@@ -2217,7 +2227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + } else { + Optional optional = this.unpackAndApplyLastSeen(acknowledgment); +@@ -2211,7 +2221,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (optional.isEmpty()) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -325,7 +325,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } return optional; -@@ -2440,7 +2450,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2434,7 +2444,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // this.chatSpamTickCount += 20; if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // CraftBukkit end @@ -334,7 +334,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -2452,7 +2462,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2446,7 +2456,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -343,7 +343,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -2593,7 +2603,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2589,7 +2599,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (i > 4096) { @@ -352,7 +352,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -2623,7 +2633,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2635,7 +2645,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot Start if ( entity == this.player && !this.player.isSpectator() ) { @@ -361,7 +361,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } // Spigot End -@@ -2720,7 +2730,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2734,7 +2744,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end } } else { @@ -370,7 +370,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString()); } } -@@ -3128,7 +3138,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3142,7 +3152,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -379,7 +379,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 return; } } -@@ -3336,7 +3346,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3350,7 +3360,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -388,7 +388,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 }); // Paper end } -@@ -3382,7 +3392,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3396,7 +3406,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -397,7 +397,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } else if (packet.identifier.equals(CUSTOM_UNREGISTER)) { try { -@@ -3392,7 +3402,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3406,7 +3416,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -406,7 +406,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } else { try { -@@ -3410,7 +3420,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3424,7 +3434,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -415,7 +415,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } } -@@ -3452,7 +3462,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3466,7 +3476,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) { if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) { @@ -424,7 +424,7 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } else { try { SignatureValidator signaturevalidator = this.server.getServiceSignatureValidator(); -@@ -3460,7 +3470,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3474,7 +3484,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage()); @@ -434,10 +434,10 @@ index 03d4c135928836d33a2ff7dc1b469042fd364eb7..a62d13d0f345989a2d8c95fe701c4625 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index aa069752df2e54cf6ef7fb4a7b82d91b219ba2ae..037491f78ebf9f36fa044eb250fef11ea521cd49 100644 +index 3292ef0f1fe5badcf24369c9c5f35ebfbf6d8138..5d6fb0ccf91a64bef15f6d4fa740ab6eab83c395 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -657,7 +657,7 @@ public abstract class PlayerList { +@@ -664,7 +664,7 @@ public abstract class PlayerList { while (iterator.hasNext()) { entityplayer = (ServerPlayer) iterator.next(); this.save(entityplayer); // CraftBukkit - Force the player's inventory to be saved @@ -446,7 +446,7 @@ index aa069752df2e54cf6ef7fb4a7b82d91b219ba2ae..037491f78ebf9f36fa044eb250fef11e } // Instead of kicking then returning, we need to store the kick reason -@@ -1293,8 +1293,8 @@ public abstract class PlayerList { +@@ -1300,8 +1300,8 @@ public abstract class PlayerList { // Paper end // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -491,10 +491,10 @@ index a24e7a66d52eddbdad8db71cf5e45f1a458c389f..e1c13ac7b11fb0080435fc34502208c8 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 13c3f7d01df3706637b022f5f42bcc269e5670db..656f03f23af7e7c731b5f8b4404cabc153a0dd83 100644 +index 750decc331963ab89ff90d228e169a9675f17022..348022a7c037ce5f72c5c69db54f0ce5de9948ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -599,7 +599,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -600,7 +600,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot if (this.getHandle().connection == null) return; @@ -503,7 +503,7 @@ index 13c3f7d01df3706637b022f5f42bcc269e5670db..656f03f23af7e7c731b5f8b4404cabc1 } // Paper start -@@ -611,10 +611,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -612,10 +612,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void kick(final net.kyori.adventure.text.Component message) { diff --git a/patches/unapplied/server/0632-Add-PufferFishStateChangeEvent.patch b/patches/server/0630-Add-PufferFishStateChangeEvent.patch similarity index 97% rename from patches/unapplied/server/0632-Add-PufferFishStateChangeEvent.patch rename to patches/server/0630-Add-PufferFishStateChangeEvent.patch index e15126884a..36faf69554 100644 --- a/patches/unapplied/server/0632-Add-PufferFishStateChangeEvent.patch +++ b/patches/server/0630-Add-PufferFishStateChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PufferFishStateChangeEvent diff --git a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java -index 9169e0c76b1801aad760691a6090199fdb7f6585..ce02552c1b3c62cf9f48425838a129a3ec40a049 100644 +index 3d465f655a18967ebacb36b4f3a5ac81d4c1f390..9aa5aa0d66257bf1413a904c516293aea30d2ca8 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java +++ b/src/main/java/net/minecraft/world/entity/animal/Pufferfish.java @@ -95,25 +95,39 @@ public class Pufferfish extends AbstractFish { diff --git a/patches/unapplied/server/0633-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0631-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/unapplied/server/0633-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0631-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/unapplied/server/0634-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0632-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch similarity index 96% rename from patches/unapplied/server/0634-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch rename to patches/server/0632-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch index 21c7ec6113..60ec92636d 100644 --- a/patches/unapplied/server/0634-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch +++ b/patches/server/0632-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch @@ -14,7 +14,7 @@ contention situations. And this is extremely a low contention situation. diff --git a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java -index 02b7e3261f689b9d30b87661db23425f741b0fec..715830d27490572bbe963515f046205c6d7e834d 100644 +index 34804dc42c7a18108126c14c1b5f3d5a9a46f83d..4cbceb1c18dbee75ac5154ff0c15a4e79bd31575 100644 --- a/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java +++ b/src/main/java/net/minecraft/world/level/chunk/PalettedContainer.java @@ -32,14 +32,14 @@ public class PalettedContainer implements PaletteResize, PalettedContainer @@ -80,7 +80,7 @@ index 02b7e3261f689b9d30b87661db23425f741b0fec..715830d27490572bbe963515f046205c this.acquire(); try { -@@ -296,7 +296,7 @@ public class PalettedContainer implements PaletteResize, PalettedContainer +@@ -300,7 +300,7 @@ public class PalettedContainer implements PaletteResize, PalettedContainer } @Override diff --git a/patches/unapplied/server/0635-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0633-Add-option-to-fix-items-merging-through-walls.patch similarity index 88% rename from patches/unapplied/server/0635-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0633-Add-option-to-fix-items-merging-through-walls.patch index 4dca11c818..8e31fc0547 100644 --- a/patches/unapplied/server/0635-Add-option-to-fix-items-merging-through-walls.patch +++ b/patches/server/0633-Add-option-to-fix-items-merging-through-walls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to fix items merging through walls diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 1dc7f3963069313de6b969c44bdd21272483f7be..1f965e4428d627eaab69ace45486f1d14d2bb504 100644 +index 028fd9c7cb927cde84ee2d078681d122d7d928aa..d9d50c2658aa3db77948e051d068876d2f5042e6 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -243,6 +243,14 @@ public class ItemEntity extends Entity { +@@ -252,6 +252,14 @@ public class ItemEntity extends Entity implements TraceableEntity { ItemEntity entityitem = (ItemEntity) iterator.next(); if (entityitem.isMergable()) { diff --git a/patches/unapplied/server/0636-Add-BellRevealRaiderEvent.patch b/patches/server/0634-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/unapplied/server/0636-Add-BellRevealRaiderEvent.patch rename to patches/server/0634-Add-BellRevealRaiderEvent.patch diff --git a/patches/unapplied/server/0637-Fix-invulnerable-end-crystals.patch b/patches/server/0635-Fix-invulnerable-end-crystals.patch similarity index 91% rename from patches/unapplied/server/0637-Fix-invulnerable-end-crystals.patch rename to patches/server/0635-Fix-invulnerable-end-crystals.patch index 320df6b30d..7d94da54a8 100644 --- a/patches/unapplied/server/0637-Fix-invulnerable-end-crystals.patch +++ b/patches/server/0635-Fix-invulnerable-end-crystals.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix invulnerable end crystals MC-108513 diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java -index 7f195640bd8299c1ecd12ea1892c6d8d20e4fcec..500500468c12d1d44ea6b83a9176b470a954f59a 100644 +index af71d534048f195e72ee0f7955740467f3ada8a2..64f17b4a22454b59968787089253eaba0a04c1f2 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java -@@ -28,6 +28,7 @@ public class EndCrystal extends Entity { +@@ -29,6 +29,7 @@ public class EndCrystal extends Entity { private static final EntityDataAccessor> DATA_BEAM_TARGET = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.OPTIONAL_BLOCK_POS); private static final EntityDataAccessor DATA_SHOW_BOTTOM = SynchedEntityData.defineId(EndCrystal.class, EntityDataSerializers.BOOLEAN); public int time; @@ -17,7 +17,7 @@ index 7f195640bd8299c1ecd12ea1892c6d8d20e4fcec..500500468c12d1d44ea6b83a9176b470 public EndCrystal(EntityType type, Level world) { super(type, world); -@@ -64,6 +65,17 @@ public class EndCrystal extends Entity { +@@ -65,6 +66,17 @@ public class EndCrystal extends Entity { } // CraftBukkit end } @@ -35,7 +35,7 @@ index 7f195640bd8299c1ecd12ea1892c6d8d20e4fcec..500500468c12d1d44ea6b83a9176b470 } } -@@ -75,6 +87,7 @@ public class EndCrystal extends Entity { +@@ -76,6 +88,7 @@ public class EndCrystal extends Entity { } nbt.putBoolean("ShowBottom", this.showsBottom()); @@ -43,7 +43,7 @@ index 7f195640bd8299c1ecd12ea1892c6d8d20e4fcec..500500468c12d1d44ea6b83a9176b470 } @Override -@@ -86,6 +99,7 @@ public class EndCrystal extends Entity { +@@ -87,6 +100,7 @@ public class EndCrystal extends Entity { if (nbt.contains("ShowBottom", 1)) { this.setShowBottom(nbt.getBoolean("ShowBottom")); } diff --git a/patches/unapplied/server/0638-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0636-Add-ElderGuardianAppearanceEvent.patch similarity index 94% rename from patches/unapplied/server/0638-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0636-Add-ElderGuardianAppearanceEvent.patch index e6cc949c93..ec130af4a8 100644 --- a/patches/unapplied/server/0638-Add-ElderGuardianAppearanceEvent.patch +++ b/patches/server/0636-Add-ElderGuardianAppearanceEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ElderGuardianAppearanceEvent diff --git a/src/main/java/net/minecraft/world/effect/MobEffectUtil.java b/src/main/java/net/minecraft/world/effect/MobEffectUtil.java -index f2f336cdecc12ed59f836aa921ffa477bd280986..e4d36d6477bb8f07af05b27d6e56342f35b0f41a 100644 +index 4c46a843c5c7e6f735f6b5f0f3c034524a0cf1e1..2baba1ccc1acd50693e05d565784d11df27bba93 100644 --- a/src/main/java/net/minecraft/world/effect/MobEffectUtil.java +++ b/src/main/java/net/minecraft/world/effect/MobEffectUtil.java -@@ -49,10 +49,23 @@ public final class MobEffectUtil { +@@ -54,10 +54,23 @@ public final class MobEffectUtil { } public static List addEffectToPlayersAround(ServerLevel worldserver, @Nullable Entity entity, Vec3 vec3d, double d0, MobEffectInstance mobeffect, int i, org.bukkit.event.entity.EntityPotionEffectEvent.Cause cause) { @@ -21,9 +21,9 @@ index f2f336cdecc12ed59f836aa921ffa477bd280986..e4d36d6477bb8f07af05b27d6e56342f // CraftBukkit end MobEffect mobeffectlist = mobeffect.getEffect(); List list = worldserver.getPlayers((entityplayer) -> { -- return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).getDuration() < i); +- return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).endsWithin(i - 1)); + // Paper start -+ boolean condition = entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).getDuration() < i); ++ boolean condition = entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).endsWithin(i - 1)); + if (condition) { + return playerPredicate == null || playerPredicate.test(entityplayer); // Only test the player AFTER it is true + } else { diff --git a/patches/unapplied/server/0639-Fix-dangerous-end-portal-logic.patch b/patches/server/0637-Fix-dangerous-end-portal-logic.patch similarity index 92% rename from patches/unapplied/server/0639-Fix-dangerous-end-portal-logic.patch rename to patches/server/0637-Fix-dangerous-end-portal-logic.patch index 7893425a99..9d577c8a5f 100644 --- a/patches/unapplied/server/0639-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0637-Fix-dangerous-end-portal-logic.patch @@ -11,10 +11,10 @@ Move the tick logic into the post tick, where portaling was designed to happen in the first place. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ae89716b1dc6f54cb1a6356f52697a00bd8a4218..fb4ae2cd4cb1a775d64cec9f5131a95f8919c38e 100644 +index 4e629c474b41e6342b8dffa6a601667ea12b319a..79bf4320b04acdb3999dcd47f2b6ceef198e5923 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -509,6 +509,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -510,6 +510,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return chunkMap.playerEntityTrackerTrackMaps[type.ordinal()].getObjectsInRange(MCUtil.getCoordinateKey(this)); } // Paper end - optimise entity tracking @@ -51,7 +51,7 @@ index ae89716b1dc6f54cb1a6356f52697a00bd8a4218..fb4ae2cd4cb1a775d64cec9f5131a95f public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); -@@ -2713,6 +2743,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2730,6 +2760,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } this.processPortalCooldown(); @@ -60,7 +60,7 @@ index ae89716b1dc6f54cb1a6356f52697a00bd8a4218..fb4ae2cd4cb1a775d64cec9f5131a95f } diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 150c16da7caa655cfc2c371d3336a8d7345438c6..15c5cccfe02c924c02f605eb47dd0b420b189891 100644 +index 45b427f314da778cc13da9ad6e4e1316790bf1b1..41d7cff39fc37955877668337689b4b26cd8c7cf 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -53,16 +53,10 @@ public class EndPortalBlock extends BaseEntityBlock { diff --git a/patches/unapplied/server/0640-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0638-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 94% rename from patches/unapplied/server/0640-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0638-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch index 0f58d3eeef..ef457d74af 100644 --- a/patches/unapplied/server/0640-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch +++ b/patches/server/0638-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning Uses an EnumMap as well as a Set paired List for O(1) contains calls. diff --git a/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java b/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java -index 23b3d2235c90cf6b15da279ba83200d7a9e709d8..04c35af0431654c2a5c54113f257a0e0a42bff4f 100644 +index 4f4ef3349f512cc6e1588eb58de5b2558c0bd8b9..9e2f7fc64b284efd6388be35f250642c47e7603b 100644 --- a/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java +++ b/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java -@@ -59,11 +59,43 @@ public class MobSpawnSettings { +@@ -61,11 +61,43 @@ public class MobSpawnSettings { } public static class Builder { diff --git a/patches/unapplied/server/0641-Make-item-validations-configurable.patch b/patches/server/0639-Make-item-validations-configurable.patch similarity index 100% rename from patches/unapplied/server/0641-Make-item-validations-configurable.patch rename to patches/server/0639-Make-item-validations-configurable.patch diff --git a/patches/unapplied/server/0642-Line-Of-Sight-Changes.patch b/patches/server/0640-Line-Of-Sight-Changes.patch similarity index 91% rename from patches/unapplied/server/0642-Line-Of-Sight-Changes.patch rename to patches/server/0640-Line-Of-Sight-Changes.patch index 8b7d7656e8..31f6bcb2af 100644 --- a/patches/unapplied/server/0642-Line-Of-Sight-Changes.patch +++ b/patches/server/0640-Line-Of-Sight-Changes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Line Of Sight Changes diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a13b2e6bee2172f2d9d6807e3f614cb8229c2e9d..08470f2b9d89db510375bed0c53907850e9199f7 100644 +index 3613422aeb87b83d04fde7341a01d4994a0a3b07..2c4d6294e1c5a0baa76d20fa5d6f95a06e73152b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3542,7 +3542,8 @@ public abstract class LivingEntity extends Entity { +@@ -3506,7 +3506,8 @@ public abstract class LivingEntity extends Entity implements Attackable { Vec3 vec3d = new Vec3(this.getX(), this.getEyeY(), this.getZ()); Vec3 vec3d1 = new Vec3(entity.getX(), entity.getEyeY(), entity.getZ()); @@ -19,10 +19,10 @@ index a13b2e6bee2172f2d9d6807e3f614cb8229c2e9d..08470f2b9d89db510375bed0c5390785 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 6c627e3f2c34557e11232fb0c5fa4f1718018ef5..e5684294b2d71c4496a47e72afe41b8ab45755fc 100644 +index 2f35909b250584dd9def3c6e957d25ab33ca6e73..5cef05789bf04db1cc6c10bb79c7875c114f72b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -950,5 +950,16 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -975,5 +975,16 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public org.bukkit.NamespacedKey getKey() { return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.getHandle().getLevel().dimension().location()); } @@ -40,7 +40,7 @@ index 6c627e3f2c34557e11232fb0c5fa4f1718018ef5..e5684294b2d71c4496a47e72afe41b8a // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3c6d64601afdf1c23756c1419e450228a2e7a362..9a0af16ffe32c096fb4190692875bfccfa6b769b 100644 +index d896d7089baa9c7975fc8785093e9ffd43beae39..0f6239cf279ca1a45dd9f48179cee8f66a05ef8d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -29,6 +29,9 @@ import net.minecraft.world.entity.projectile.ThrownEgg; diff --git a/patches/unapplied/server/0643-add-per-world-spawn-limits.patch b/patches/server/0641-add-per-world-spawn-limits.patch similarity index 91% rename from patches/unapplied/server/0643-add-per-world-spawn-limits.patch rename to patches/server/0641-add-per-world-spawn-limits.patch index 3b089ece30..01e9af7ed2 100644 --- a/patches/unapplied/server/0643-add-per-world-spawn-limits.patch +++ b/patches/server/0641-add-per-world-spawn-limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4c900c17f9080cdb8d910f6dbc8503b0a691df3e..5d7794e995f83de5b0134474f08f8f92f3d53303 100644 +index ad53803f90faa5805cc0e961094752830328cbf5..3b36581c30ee7fa19de573c2ee270eefc6027c38 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -209,6 +209,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0644-Fix-potions-splash-events.patch b/patches/server/0642-Fix-potions-splash-events.patch similarity index 91% rename from patches/unapplied/server/0644-Fix-potions-splash-events.patch rename to patches/server/0642-Fix-potions-splash-events.patch index bdefdaba9f..6cfdd0441b 100644 --- a/patches/unapplied/server/0644-Fix-potions-splash-events.patch +++ b/patches/server/0642-Fix-potions-splash-events.patch @@ -8,10 +8,10 @@ Fixes SPIGOT-6221: https://hub.spigotmc.org/jira/projects/SPIGOT/issues/SPIGOT-6 Fix splash events cancellation that still show particles/sound diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java -index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9d7d7280a 100644 +index 7f895fe93b7002ee271f985abbeaf4cd11e900ee..5f7be427bfc4d954dece4792764004cf0b7757a1 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java -@@ -105,56 +105,77 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie +@@ -104,56 +104,77 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie Potion potionregistry = PotionUtils.getPotion(itemstack); List list = PotionUtils.getMobEffects(itemstack); boolean flag = potionregistry == Potions.WATER && list.isEmpty(); @@ -60,7 +60,7 @@ index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9 if (d0 < 16.0D) { if (entityliving.isSensitiveToWater()) { -- entityliving.hurt(DamageSource.indirectMagic(this, this.getOwner()), 1.0F); +- entityliving.hurt(this.damageSources().indirectMagic(this, this.getOwner()), 1.0F); + affected.put(entityliving.getBukkitLivingEntity(), 1.0); } @@ -83,7 +83,7 @@ index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9 + ); + if (event.callEvent()) { + for (LivingEntity affectedEntity : event.getToDamage()) { -+ ((CraftLivingEntity) affectedEntity).getHandle().hurt(DamageSource.indirectMagic(this, this.getOwner()), 1.0F); ++ ((CraftLivingEntity) affectedEntity).getHandle().hurt(this.damageSources().indirectMagic(this, this.getOwner()), 1.0F); + } + for (LivingEntity toExtinguish : event.getToExtinguish()) { + ((CraftLivingEntity) toExtinguish).getHandle().extinguishFire(); @@ -104,15 +104,15 @@ index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9 AABB axisalignedbb = this.getBoundingBox().inflate(4.0D, 2.0D, 4.0D); List list1 = this.level.getEntitiesOfClass(net.minecraft.world.entity.LivingEntity.class, axisalignedbb); Map affected = new HashMap(); // CraftBukkit -@@ -170,6 +191,7 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie - double d0 = this.distanceToSqr((Entity) entityliving); - +@@ -171,6 +192,7 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie if (d0 < 16.0D) { -+ // Paper - diff on change, used when calling the splash event for water splash potions - double d1 = 1.0D - Math.sqrt(d0) / 4.0D; + double d1; ++ // Paper - diff on change, used when calling the splash event for water splash potions if (entityliving == entity) { -@@ -222,10 +244,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie + d1 = 1.0D; + } else { +@@ -226,10 +248,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie } } } @@ -125,7 +125,7 @@ index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9 AreaEffectCloud entityareaeffectcloud = new AreaEffectCloud(this.level, this.getX(), this.getY(), this.getZ()); Entity entity = this.getOwner(); -@@ -240,10 +263,12 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie +@@ -244,10 +267,12 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie entityareaeffectcloud.setPotion(potion); Iterator iterator = PotionUtils.getCustomEffects(stack).iterator(); @@ -138,7 +138,7 @@ index b5e2c391ebcca05db5c960792fcb14991aec4fe2..740ff3fed9c8d637527fda8544eba2b9 } CompoundTag nbttagcompound = stack.getTag(); -@@ -254,12 +279,13 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie +@@ -258,12 +283,13 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie // CraftBukkit start org.bukkit.event.entity.LingeringPotionSplashEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callLingeringPotionSplashEvent(this, entityareaeffectcloud); diff --git a/patches/unapplied/server/0645-Add-more-LimitedRegion-API.patch b/patches/server/0643-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/unapplied/server/0645-Add-more-LimitedRegion-API.patch rename to patches/server/0643-Add-more-LimitedRegion-API.patch diff --git a/patches/unapplied/server/0646-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0644-Fix-PlayerDropItemEvent-using-wrong-item.patch similarity index 82% rename from patches/unapplied/server/0646-Fix-PlayerDropItemEvent-using-wrong-item.patch rename to patches/server/0644-Fix-PlayerDropItemEvent-using-wrong-item.patch index ed80e027c4..a6a08589db 100644 --- a/patches/unapplied/server/0646-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0644-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b9516dc15086394d7029262ec37842dbf5d3bb7e..6063ef01194d27991720f10ea78057019517bddc 100644 +index 575fb9a95e38e68f7d8af1482f6e4166c5112dde..e67095f26df56e5edd8477601feeab346998f507 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2225,7 +2225,7 @@ public class ServerPlayer extends Player { +@@ -2210,7 +2210,7 @@ public class ServerPlayer extends Player { if (retainOwnership) { if (!itemstack1.isEmpty()) { @@ -18,10 +18,10 @@ index b9516dc15086394d7029262ec37842dbf5d3bb7e..6063ef01194d27991720f10ea7805701 this.awardStat(Stats.DROP); diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index c3aa6382cf2a45479d581b3957a972f814070387..9c9c7dd62a747f6d6597b01839b63840080eac82 100644 +index 532e2444e15e532d6be5f703bfa5de26c5bc3957..496e10067267df07db9fa2570786d3b281f432c1 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -718,6 +718,11 @@ public abstract class Player extends LivingEntity { +@@ -716,6 +716,11 @@ public abstract class Player extends LivingEntity { } double d0 = this.getEyeY() - 0.30000001192092896D; diff --git a/patches/unapplied/server/0647-Missing-Entity-Behavior-API.patch b/patches/server/0645-Missing-Entity-Behavior-API.patch similarity index 97% rename from patches/unapplied/server/0647-Missing-Entity-Behavior-API.patch rename to patches/server/0645-Missing-Entity-Behavior-API.patch index 211986d018..15bc3e06bd 100644 --- a/patches/unapplied/server/0647-Missing-Entity-Behavior-API.patch +++ b/patches/server/0645-Missing-Entity-Behavior-API.patch @@ -120,7 +120,7 @@ index e2efbf08e39f8966cb75c9f06f8e0990fbc1dbb4..ebe6ded8adc9de83f94d5a1796856391 this.leader = null; } diff --git a/src/main/java/net/minecraft/world/entity/animal/Bee.java b/src/main/java/net/minecraft/world/entity/animal/Bee.java -index 3d06d69d170634f5c643cfa717fdc5ee348d01f0..5cb23a6b85bccb6e873be24a5be39224870dac3c 100644 +index 2a6dda97fcc761eb3e7109e032d3bb10c83908d7..728ddf4399faafd68e9dcc3a14850a039d1a3e4f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Bee.java +++ b/src/main/java/net/minecraft/world/entity/animal/Bee.java @@ -542,11 +542,13 @@ public class Bee extends Animal implements NeutralMob, FlyingAnimal { @@ -198,10 +198,10 @@ index e8574bd4b412c1db82aaec9dced47b63de9dbf28..9058f9f2e561cda9f475f33218bf7a78 } 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 3a06f48e9aed59d429ef4142785b393898b96f60..821b88d0c32f946af9af1c2e211b38446fab4ecb 100644 +index 68788aa7a1db1468aecf0a2acb1ac03d92c9f5b9..d38ac1f3ef105474df1294541041c2607ca53244 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 -@@ -667,6 +667,15 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, +@@ -693,6 +693,15 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, } @@ -217,7 +217,7 @@ index 3a06f48e9aed59d429ef4142785b393898b96f60..821b88d0c32f946af9af1c2e211b3844 @Override public InteractionResult mobInteract(Player player, InteractionHand hand) { if (!this.isVehicle() && !this.isBaby()) { -@@ -709,6 +718,11 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, +@@ -735,6 +744,11 @@ public abstract class AbstractHorse extends Animal implements ContainerListener, this.setFlag(16, eatingGrass); } @@ -243,10 +243,10 @@ index 1c67b4d6ec31711b7d41ea1f1394067ad8765277..39c6b9b74e072953abe6398ecfcdd444 public Llama(EntityType type, Level world) { super(type, world); diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 807c8e18fdf5b0704638d7d084d6892556cc1525..b8d264848f917a698fc4dcd932fdcd78d487a80d 100644 +index 2cbcd304b1117d4791d7e32d7738c12cfd4d1c9e..1102e0e7d1c4e5b62924545e137cc8a9830de08f 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -83,6 +83,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -84,6 +84,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob return entityliving.getMobType() != MobType.UNDEAD && entityliving.attackable(); }; private static final TargetingConditions TARGETING_CONDITIONS = TargetingConditions.forCombat().range(20.0D).selector(WitherBoss.LIVING_ENTITY_SELECTOR); @@ -258,7 +258,7 @@ index 807c8e18fdf5b0704638d7d084d6892556cc1525..b8d264848f917a698fc4dcd932fdcd78 public WitherBoss(EntityType type, Level world) { super(type, world); -@@ -599,7 +604,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -595,7 +600,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @Override public boolean canChangeDimensions() { @@ -268,10 +268,10 @@ index 807c8e18fdf5b0704638d7d084d6892556cc1525..b8d264848f917a698fc4dcd932fdcd78 @Override 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 1d8cf9b765f9c55feeb26e4ba4aa969be142dc3f..f4002ac7cba7d5e41b4f11b98212c625f6a92a65 100644 +index c8fe9126f0b6e973aae04d825613fcf67e0838d2..418d6301f067803e2471e59ac2d52a68cbff249b 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -@@ -449,6 +449,16 @@ public class EnderMan extends Monster implements NeutralMob { +@@ -446,6 +446,16 @@ public class EnderMan extends Monster implements NeutralMob { this.entityData.set(EnderMan.DATA_STARED_AT, true); } @@ -332,7 +332,7 @@ index bbeb9ebe0a939281ef67d624d589c53bee55b44d..aabedf25fa40ffa0d7b378c6006928f8 @Override 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 97d123891a926d7234ed85dc54690b8b0dcd32bb..fb6e590e4613f59aaa8278932134aa0ca3d9da8f 100644 +index 36bab0afb7dff206f76779f1c1bc619ac306d4d7..db151bf624095014c99d78b4f6748d2c3792abea 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownTrident.java @@ -105,6 +105,20 @@ public class ThrownTrident extends AbstractArrow { @@ -357,10 +357,10 @@ index 97d123891a926d7234ed85dc54690b8b0dcd32bb..fb6e590e4613f59aaa8278932134aa0c @Override protected EntityHitResult findHitEntity(Vec3 currentPosition, Vec3 nextPosition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e5684294b2d71c4496a47e72afe41b8ab45755fc..bb486249d409743b0fc9891ac5ae76a38034800b 100644 +index 5cef05789bf04db1cc6c10bb79c7875c114f72b5..a92d43c0c4793a594b3e17b5e03f7e944b781a55 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -803,14 +803,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -811,14 +811,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (Phantom.class.isAssignableFrom(clazz)) { entity = net.minecraft.world.entity.EntityType.PHANTOM.create(world); } else if (Fish.class.isAssignableFrom(clazz)) { @@ -631,10 +631,10 @@ index 04976616da8c85b1278dad33ff05554aa74a6b33..75c7645fb5732c43d1da15181cf5c7ee + // 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 b28187c9a9a678cfd17d6fb1813226a0d32ec84c..f1ee89047e8cd916c762b91162842e3f981856b3 100644 +index 04bb6b608201f20eecfc5cb3a8367f58cebe1d2b..38165a364dfeca6d0fb35e7b3ada92d728ec295b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -224,10 +224,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -227,10 +227,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { else { return new CraftSquid(server, (Squid) entity); } } else if (entity instanceof AbstractFish) { @@ -1241,7 +1241,7 @@ index fa7107593b20e0151d8d67104e4a92dcc697d461..ecf0c4a7d1ce2b254d91b3276fa24c14 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java -index 7ece945d1a4fa29c7b98532788076483037f4bda..963928fc8e29b8abc2026c0b0183ebb07f0de4d1 100644 +index 08c55cb00c8ff3c39dd99c64227d5d60abee2a51..6ecdc4bf1f6b8f0363e667135ba463433be5c0fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftWarden.java @@ -43,6 +43,13 @@ public class CraftWarden extends CraftMonster implements org.bukkit.entity.Warde diff --git a/patches/unapplied/server/0648-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch similarity index 88% rename from patches/unapplied/server/0648-Ensure-disconnect-for-book-edit-is-called-on-main.patch rename to patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch index 5e0c8ceeab..2ea11f4216 100644 --- a/patches/unapplied/server/0648-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0646-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a62d13d0f345989a2d8c95fe701c4625b856495f..808e506f703cf88787cf0226cb517eccf60ee9c6 100644 +index db44aa972afa0e6d65c54c35382235c375f07141..5fc1ef0bbc98b5fe3d2c696aa0ae19b6d865f0df 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1201,7 +1201,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1203,7 +1203,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper end // CraftBukkit start if (this.lastBookTick + 20 > MinecraftServer.currentTick) { diff --git a/patches/unapplied/server/0649-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0647-Fix-return-value-of-Block-applyBoneMeal-always-being.patch similarity index 100% rename from patches/unapplied/server/0649-Fix-return-value-of-Block-applyBoneMeal-always-being.patch rename to patches/server/0647-Fix-return-value-of-Block-applyBoneMeal-always-being.patch diff --git a/patches/unapplied/server/0650-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0648-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 71% rename from patches/unapplied/server/0650-Use-getChunkIfLoadedImmediately-in-places.patch rename to patches/server/0648-Use-getChunkIfLoadedImmediately-in-places.patch index c3af70c713..0e843b1ab5 100644 --- a/patches/unapplied/server/0650-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/patches/server/0648-Use-getChunkIfLoadedImmediately-in-places.patch @@ -8,10 +8,10 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index abc3041f363287f0596b05004b0d4c5408c8820e..dd310cd70d74a16b658ffdc7e9b595745a3b7e6c 100644 +index e93a1713505d52d719738b36ea59859c547553b7..16b73f0498936a8413f6adedd7f92bab07a4a108 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -227,7 +227,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -225,7 +225,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } @Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI @@ -21,10 +21,10 @@ index abc3041f363287f0596b05004b0d4c5408c8820e..dd310cd70d74a16b658ffdc7e9b59574 @Override diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 4b8b41c748094cf7bbe2afa3c03d97d1b2119db2..81b94b2cda04cbb2bc89036448e48fef791b338b 100644 +index 8a6f01af6d9a210fbd5cf14002c426c2e36fc51b..5f43dbd3b4a50f425b188beb2ed9236ed2db0a06 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -198,6 +198,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -202,6 +202,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return (CraftServer) Bukkit.getServer(); } @@ -37,9 +37,9 @@ index 4b8b41c748094cf7bbe2afa3c03d97d1b2119db2..81b94b2cda04cbb2bc89036448e48fef + public abstract ResourceKey getTypeKey(); - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor + protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - Async-Anti-Xray - Pass executor diff --git a/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java b/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java -index a4c9eecc7c0794b93d290855391ba71ab63eab54..11349f02d453c78e1cf0db8b89042b9023aa02bb 100644 +index cd92aaa1c874d78762bbab529dfcea71b36d2a91..25e4596e64b74ada86f210b06ba837be8efc21d1 100644 --- a/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java +++ b/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java @@ -56,7 +56,7 @@ public class GameEventDispatcher { diff --git a/patches/unapplied/server/0651-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0649-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/unapplied/server/0651-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/server/0649-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/unapplied/server/0652-Adds-PlayerArmSwingEvent.patch b/patches/server/0650-Adds-PlayerArmSwingEvent.patch similarity index 88% rename from patches/unapplied/server/0652-Adds-PlayerArmSwingEvent.patch rename to patches/server/0650-Adds-PlayerArmSwingEvent.patch index 7b2b0c53c0..bb25ed37f7 100644 --- a/patches/unapplied/server/0652-Adds-PlayerArmSwingEvent.patch +++ b/patches/server/0650-Adds-PlayerArmSwingEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Adds PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 808e506f703cf88787cf0226cb517eccf60ee9c6..a09707ce19efcd00c6842d9c614e411c50b0755b 100644 +index 5fc1ef0bbc98b5fe3d2c696aa0ae19b6d865f0df..44b284bd3f7964685ec43c4f01d38f151a2abbd0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2490,7 +2490,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2484,7 +2484,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Arm swing animation diff --git a/patches/unapplied/server/0653-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch similarity index 88% rename from patches/unapplied/server/0653-Fixes-kick-event-leave-message-not-being-sent.patch rename to patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch index 16e9b33cda..61359a7e05 100644 --- a/patches/unapplied/server/0653-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0651-Fixes-kick-event-leave-message-not-being-sent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fixes kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6063ef01194d27991720f10ea78057019517bddc..cbce8344daca622a729dcb959283fe60dd292b08 100644 +index e67095f26df56e5edd8477601feeab346998f507..bd6bae442445fb27cf71be3e300172c1a7a55911 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -262,7 +262,6 @@ public class ServerPlayer extends Player { +@@ -267,7 +267,6 @@ public class ServerPlayer extends Player { public boolean sentListPacket = false; public boolean supressTrackerForLogin = false; // Paper public Integer clientViewDistance; @@ -17,10 +17,10 @@ index 6063ef01194d27991720f10ea78057019517bddc..cbce8344daca622a729dcb959283fe60 public boolean isRealPlayer; // Paper public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a09707ce19efcd00c6842d9c614e411c50b0755b..29672a9f7395023789d2e1605447f1302e722c02 100644 +index 44b284bd3f7964685ec43c4f01d38f151a2abbd0..81a9a624e949ad4ac70e554a625837d0256d1557 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -510,7 +510,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -512,7 +512,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Do not kick the player return; } @@ -28,7 +28,7 @@ index a09707ce19efcd00c6842d9c614e411c50b0755b..29672a9f7395023789d2e1605447f130 // Send the possibly modified leave message final Component ichatbasecomponent = PaperAdventure.asVanilla(event.reason()); // Paper - Adventure // CraftBukkit end -@@ -519,7 +518,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -521,7 +520,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { this.connection.disconnect(ichatbasecomponent); })); @@ -37,7 +37,7 @@ index a09707ce19efcd00c6842d9c614e411c50b0755b..29672a9f7395023789d2e1605447f130 this.connection.setReadOnly(); MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; -@@ -1990,6 +1989,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1982,6 +1981,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void onDisconnect(Component reason) { @@ -49,7 +49,7 @@ index a09707ce19efcd00c6842d9c614e411c50b0755b..29672a9f7395023789d2e1605447f130 // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; -@@ -2007,7 +2011,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1999,7 +2003,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.disconnect(); // Paper start - Adventure @@ -59,10 +59,10 @@ index a09707ce19efcd00c6842d9c614e411c50b0755b..29672a9f7395023789d2e1605447f130 this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // 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 037491f78ebf9f36fa044eb250fef11ea521cd49..8dd9066868fd9a61936aabe2336c804c20b8bbc5 100644 +index 5d6fb0ccf91a64bef15f6d4fa740ab6eab83c395..6732334be2da794164558b88fbb3e9d38c43a92b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -543,6 +543,11 @@ public abstract class PlayerList { +@@ -550,6 +550,11 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer) { // Paper - return Component @@ -74,7 +74,7 @@ index 037491f78ebf9f36fa044eb250fef11ea521cd49..8dd9066868fd9a61936aabe2336c804c ServerLevel worldserver = entityplayer.getLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); -@@ -553,7 +558,7 @@ public abstract class PlayerList { +@@ -560,7 +565,7 @@ public abstract class PlayerList { entityplayer.closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.DISCONNECT); // Paper } diff --git a/patches/unapplied/server/0654-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0652-Add-config-for-mobs-immune-to-default-effects.patch similarity index 87% rename from patches/unapplied/server/0654-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0652-Add-config-for-mobs-immune-to-default-effects.patch index acb7b5c795..d32d8118bb 100644 --- a/patches/unapplied/server/0654-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0652-Add-config-for-mobs-immune-to-default-effects.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config for mobs immune to default effects diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 08470f2b9d89db510375bed0c53907850e9199f7..7aedcb9e29873f5360b24cbcc3d87c0da581b2e5 100644 +index 2c4d6294e1c5a0baa76d20fa5d6f95a06e73152b..db69a26a019615df9d6b0f3ab8f3069d25445f07 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1152,7 +1152,7 @@ public abstract class LivingEntity extends Entity { +@@ -1146,7 +1146,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (this.getMobType() == MobType.UNDEAD) { MobEffect mobeffectlist = effect.getEffect(); @@ -18,10 +18,10 @@ index 08470f2b9d89db510375bed0c53907850e9199f7..7aedcb9e29873f5360b24cbcc3d87c0d } } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index b8d264848f917a698fc4dcd932fdcd78d487a80d..b781c849737225c00f1dd8d45a6d08cebc000263 100644 +index 1102e0e7d1c4e5b62924545e137cc8a9830de08f..148b351624bd201592332751adc9adf95da02376 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -609,7 +609,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -605,7 +605,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @Override public boolean canBeAffected(MobEffectInstance effect) { @@ -31,7 +31,7 @@ index b8d264848f917a698fc4dcd932fdcd78d487a80d..b781c849737225c00f1dd8d45a6d08ce private class WitherDoNothingGoal extends Goal { diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java -index d0d53d576a9bd79f721a8264a15bcfdd4a2132d0..001f6cf2ea3d664864f444a92dd71d069b9a38f5 100644 +index 9174feeca84d6413663387df9881b4c227165782..61fd27992516e1238195f8e60766428f01719ba7 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java @@ -133,7 +133,7 @@ public class Spider extends Monster { diff --git a/patches/unapplied/server/0655-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0653-Fix-incorrect-message-for-outdated-client.patch similarity index 91% rename from patches/unapplied/server/0655-Fix-incorrect-message-for-outdated-client.patch rename to patches/server/0653-Fix-incorrect-message-for-outdated-client.patch index 6248137f08..7f97afed9f 100644 --- a/patches/unapplied/server/0655-Fix-incorrect-message-for-outdated-client.patch +++ b/patches/server/0653-Fix-incorrect-message-for-outdated-client.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix incorrect message for outdated client diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -index 446a5fb08691a45a54bed3b5e7e68842f21e60d0..e7ff7ad3bf4dd17fdd34202ec3aef8e9512bc36d 100644 +index de25fde984d17a3228803a8a274372b0fe27da5e..8f52acc03943b18f87b3b2581066496a254b1156 100644 --- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -@@ -81,7 +81,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL +@@ -82,7 +82,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL if (packet.getProtocolVersion() != SharedConstants.getCurrentVersion().getProtocolVersion()) { Component ichatmutablecomponent; // Paper - Fix hex colors not working in some kick messages diff --git a/patches/unapplied/server/0656-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0654-Don-t-apply-cramming-damage-to-players.patch similarity index 58% rename from patches/unapplied/server/0656-Don-t-apply-cramming-damage-to-players.patch rename to patches/server/0654-Don-t-apply-cramming-damage-to-players.patch index ba1d00fa0a..697e47b1ff 100644 --- a/patches/unapplied/server/0656-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0654-Don-t-apply-cramming-damage-to-players.patch @@ -11,15 +11,23 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index cbce8344daca622a729dcb959283fe60dd292b08..369a505fcde90cbc7777780576451cac436aa5b8 100644 +index bd6bae442445fb27cf71be3e300172c1a7a55911..427e5021de37801634d889c13ed8f9193b401de6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1453,7 +1453,7 @@ public class ServerPlayer extends Player { +@@ -100,6 +100,7 @@ import net.minecraft.util.Mth; + import net.minecraft.util.RandomSource; + import net.minecraft.util.Unit; + import net.minecraft.world.damagesource.DamageSource; ++import net.minecraft.world.damagesource.DamageSources; + import net.minecraft.world.effect.MobEffectInstance; + import net.minecraft.world.effect.MobEffects; + import net.minecraft.world.entity.Entity; +@@ -1429,7 +1430,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { -- return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER; -+ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || this.getAbilities().invulnerable && damageSource == DamageSource.WITHER || !level.paperConfig().collisions.allowPlayerCrammingDamage && damageSource == DamageSource.CRAMMING; // Paper - disable player cramming +- return super.isInvulnerableTo(damageSource) || this.isChangingDimension(); ++ return super.isInvulnerableTo(damageSource) || this.isChangingDimension() || !level.paperConfig().collisions.allowPlayerCrammingDamage && damageSource == damageSources().cramming(); // Paper - disable player cramming } @Override diff --git a/patches/unapplied/server/0657-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0655-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/unapplied/server/0657-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/server/0655-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/unapplied/server/0658-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0656-Add-a-bunch-of-missing-forceDrop-toggles.patch similarity index 90% rename from patches/unapplied/server/0658-Add-a-bunch-of-missing-forceDrop-toggles.patch rename to patches/server/0656-Add-a-bunch-of-missing-forceDrop-toggles.patch index 94ed89a597..fe8ffa9fde 100644 --- a/patches/unapplied/server/0658-Add-a-bunch-of-missing-forceDrop-toggles.patch +++ b/patches/server/0656-Add-a-bunch-of-missing-forceDrop-toggles.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Add a bunch of missing forceDrop toggles diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java -index e47f3092b6bd6b86b577de705db1a575d0952348..490212cfe4e5cea7219eaf4304e14bfac0e6472d 100644 +index ac0cfdef53ec82665acf362235842de4f17bfdd1..05c1e8c9f013547d4fcdbbd299329166a8ece1b0 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java -@@ -100,7 +100,9 @@ public class WorkAtComposter extends WorkAtPoi { - ItemStack itemstack = inventorysubcontainer.addItem(new ItemStack(Items.BREAD, j)); - - if (!itemstack.isEmpty()) { +@@ -87,7 +87,9 @@ public class WorkAtComposter extends WorkAtPoi { + simpleContainer.removeItemType(Items.WHEAT, m); + ItemStack itemStack = simpleContainer.addItem(new ItemStack(Items.BREAD, l)); + if (!itemStack.isEmpty()) { + entity.forceDrops = true; // Paper - entity.spawnAtLocation(itemstack, 0.5F); + entity.spawnAtLocation(itemStack, 0.5F); + entity.forceDrops = false; // Paper } @@ -91,7 +91,7 @@ index e6d398f07564b4027552db9836e6da2c0972cd42..a3c28f327627b340905ba61238ce8454 } diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index 4bb9730b6a42702e91467f980b9f045585039db3..5f68945264d138ae04d6bcbd5bde310b42e30713 100644 +index 50010cc6774c351539cf09e517b7967f45822ec8..da37c51ee443c2f1191a32671912a967a13003cf 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -250,7 +250,9 @@ public abstract class Raider extends PatrollingMonster { diff --git a/patches/unapplied/server/0659-Stinger-API.patch b/patches/server/0657-Stinger-API.patch similarity index 93% rename from patches/unapplied/server/0659-Stinger-API.patch rename to patches/server/0657-Stinger-API.patch index daab5f02dc..d4e03add6d 100644 --- a/patches/unapplied/server/0659-Stinger-API.patch +++ b/patches/server/0657-Stinger-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stinger API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9a0af16ffe32c096fb4190692875bfccfa6b769b..f7d20efecfee6aaae2e323d543739308c4bb371c 100644 +index 0f6239cf279ca1a45dd9f48179cee8f66a05ef8d..1a2ea36994175c690c62aa8bc70201d8845c9209 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -340,7 +340,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/unapplied/server/0660-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0658-Fix-incosistency-issue-with-empty-map-items-in-CB.patch similarity index 100% rename from patches/unapplied/server/0660-Fix-incosistency-issue-with-empty-map-items-in-CB.patch rename to patches/server/0658-Fix-incosistency-issue-with-empty-map-items-in-CB.patch diff --git a/patches/unapplied/server/0661-Add-System.out-err-catcher.patch b/patches/server/0659-Add-System.out-err-catcher.patch similarity index 97% rename from patches/unapplied/server/0661-Add-System.out-err-catcher.patch rename to patches/server/0659-Add-System.out-err-catcher.patch index 5dd674174e..03ff8038c2 100644 --- a/patches/unapplied/server/0661-Add-System.out-err-catcher.patch +++ b/patches/server/0659-Add-System.out-err-catcher.patch @@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..76d0d00cd6742991e3f3ec827a75ee87 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 87651b9cf470e4e88676691c22a1e11939522547..049861abd721a964c965177719fe5bc2d04214a0 100644 +index 29d8b20d1e90b0097a98f454f2f1209b27fdfa61..a6be09d67043343dc26942d9a0a4d6cebdd6b627 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -298,6 +298,7 @@ public final class CraftServer implements Server { +@@ -293,6 +293,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/unapplied/server/0662-Fix-test-not-bootstrapping.patch b/patches/server/0660-Fix-test-not-bootstrapping.patch similarity index 100% rename from patches/unapplied/server/0662-Fix-test-not-bootstrapping.patch rename to patches/server/0660-Fix-test-not-bootstrapping.patch diff --git a/patches/unapplied/server/0663-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0661-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 100% rename from patches/unapplied/server/0663-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/server/0661-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/unapplied/server/0664-Improve-boat-collision-performance.patch b/patches/server/0662-Improve-boat-collision-performance.patch similarity index 82% rename from patches/unapplied/server/0664-Improve-boat-collision-performance.patch rename to patches/server/0662-Improve-boat-collision-performance.patch index afa4c9430f..3c0b853f1d 100644 --- a/patches/unapplied/server/0664-Improve-boat-collision-performance.patch +++ b/patches/server/0662-Improve-boat-collision-performance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve boat collision performance diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 8120739e2a7c4c86ecb7058f08bd8179d3a943b8..439ae035d8b2787916e017e2636115b5455811f1 100644 +index d5b37301d4e860c019105445001ed7a9a6f849bd..f4935f7fc3cbd6ba8f079def43bd735364a2ce87 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -112,6 +112,7 @@ public class Util { @@ -17,11 +17,11 @@ index 8120739e2a7c4c86ecb7058f08bd8179d3a943b8..439ae035d8b2787916e017e2636115b5 }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7aedcb9e29873f5360b24cbcc3d87c0da581b2e5..b7cc5fb5798d703124e08afc850c24afb2d6ee69 100644 +index db69a26a019615df9d6b0f3ab8f3069d25445f07..f1cb4aa51edd1500b3ddd1f2457b905db8802900 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1340,7 +1340,7 @@ public abstract class LivingEntity extends Entity { - if (!source.isProjectile()) { +@@ -1334,7 +1334,7 @@ public abstract class LivingEntity extends Entity implements Attackable { + if (!source.is(DamageTypeTags.IS_PROJECTILE)) { Entity entity = source.getDirectEntity(); - if (entity instanceof LivingEntity) { @@ -29,10 +29,10 @@ index 7aedcb9e29873f5360b24cbcc3d87c0da581b2e5..b7cc5fb5798d703124e08afc850c24af LivingEntity entityliving = (LivingEntity) entity; this.blockUsingShield(entityliving); -@@ -1450,11 +1450,12 @@ public abstract class LivingEntity extends Entity { +@@ -1439,11 +1439,12 @@ public abstract class LivingEntity extends Entity implements Attackable { } - if (entity1 != null && !source.isExplosion()) { + if (entity1 != null && !source.is(DamageTypeTags.IS_EXPLOSION)) { - double d0 = entity1.getX() - this.getX(); + final boolean far = entity1.distanceToSqr(this) > (200.0 * 200.0); // Paper + double d0 = far ? (Math.random() - Math.random()) : entity1.getX() - this.getX(); // Paper @@ -44,7 +44,7 @@ index 7aedcb9e29873f5360b24cbcc3d87c0da581b2e5..b7cc5fb5798d703124e08afc850c24af d0 = (Math.random() - Math.random()) * 0.01D; } -@@ -2179,7 +2180,7 @@ public abstract class LivingEntity extends Entity { +@@ -2177,7 +2178,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurtCurrentlyUsedShield((float) -event.getDamage(DamageModifier.BLOCKING)); Entity entity = damagesource.getDirectEntity(); @@ -54,10 +54,10 @@ index 7aedcb9e29873f5360b24cbcc3d87c0da581b2e5..b7cc5fb5798d703124e08afc850c24af } } diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index e102410bd4c657a8bf0f55a3cbd5e8ec7e6306b0..85e1892866cd2ee0cec1552b8541c1f800bdf68c 100644 +index 765ba5b9b34f31d9b9dbdf2e2bf46554aaf612d9..5095e47b4910167235afdd8f1a7e9c45124ecadb 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -705,8 +705,8 @@ public class Boat extends Entity implements VariantHolder { +@@ -708,8 +708,8 @@ public class Boat extends Entity implements VariantHolder { this.invFriction = 0.05F; if (this.oldStatus == Boat.Status.IN_AIR && this.status != Boat.Status.IN_AIR && this.status != Boat.Status.ON_LAND) { this.waterLevel = this.getY(1.0D); diff --git a/patches/unapplied/server/0665-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 89% rename from patches/unapplied/server/0665-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch index 35c2130614..7fa70c9627 100644 --- a/patches/unapplied/server/0665-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0663-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent AFK kick while watching end credits. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 29672a9f7395023789d2e1605447f1302e722c02..ffd7d7e916a8217e4929f77c0252a6f4e3416cef 100644 +index 81a9a624e949ad4ac70e554a625837d0256d1557..96897ccce68ecbff808077a07f213daccc57fa54 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -427,7 +427,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -429,7 +429,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic --this.dropSpamTickCount; } diff --git a/patches/unapplied/server/0666-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0664-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/unapplied/server/0666-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/server/0664-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/unapplied/server/0667-Add-PlayerSetSpawnEvent.patch b/patches/server/0665-Add-PlayerSetSpawnEvent.patch similarity index 91% rename from patches/unapplied/server/0667-Add-PlayerSetSpawnEvent.patch rename to patches/server/0665-Add-PlayerSetSpawnEvent.patch index 2a67d88071..e8cd183cba 100644 --- a/patches/unapplied/server/0667-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0665-Add-PlayerSetSpawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerSetSpawnEvent diff --git a/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java b/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java -index ce1c7512cc368e196ae94ee22c6a228c975b4980..1e41de9523c5fa3b9cfced798a5c35a24ec9d349 100644 +index 7679d6b8b1eb8e849ce7e63cf293598db7eb4588..b0ed00b95b273f0916cbade0e3bac47aa464d3fd 100644 --- a/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java +++ b/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java @@ -32,9 +32,21 @@ public class SetSpawnCommand { @@ -32,10 +32,10 @@ index ce1c7512cc368e196ae94ee22c6a228c975b4980..1e41de9523c5fa3b9cfced798a5c35a2 String string = resourceKey.location().toString(); if (targets.size() == 1) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 369a505fcde90cbc7777780576451cac436aa5b8..c0d24d9f72445e5396723749f36cf91693311a45 100644 +index 427e5021de37801634d889c13ed8f9193b401de6..c4b273d20b8526b9a4c7e271585a826b49f2a05a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1294,7 +1294,7 @@ public class ServerPlayer extends Player { +@@ -1306,7 +1306,7 @@ public class ServerPlayer extends Player { } else if (this.bedBlocked(blockposition, enumdirection)) { return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { @@ -44,7 +44,7 @@ index 369a505fcde90cbc7777780576451cac436aa5b8..c0d24d9f72445e5396723749f36cf916 if (this.level.isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { -@@ -2152,12 +2152,33 @@ public class ServerPlayer extends Player { +@@ -2138,12 +2138,33 @@ public class ServerPlayer extends Player { return this.respawnForced; } @@ -80,7 +80,7 @@ index 369a505fcde90cbc7777780576451cac436aa5b8..c0d24d9f72445e5396723749f36cf916 } this.respawnPosition = pos; -@@ -2171,6 +2192,7 @@ public class ServerPlayer extends Player { +@@ -2157,6 +2178,7 @@ public class ServerPlayer extends Player { this.respawnForced = false; } @@ -89,10 +89,10 @@ index 369a505fcde90cbc7777780576451cac436aa5b8..c0d24d9f72445e5396723749f36cf916 public void trackChunk(ChunkPos chunkPos, Packet chunkDataPacket) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8dd9066868fd9a61936aabe2336c804c20b8bbc5..c646570cfa543d56011733af984345f73dc63cb9 100644 +index 6732334be2da794164558b88fbb3e9d38c43a92b..399d5c1147b1cdacf571aa3cd5840af6f6e55374 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -833,13 +833,13 @@ public abstract class PlayerList { +@@ -840,13 +840,13 @@ public abstract class PlayerList { f1 = (float) Mth.wrapDegrees(Mth.atan2(vec3d1.z, vec3d1.x) * 57.2957763671875D - 90.0D); } @@ -109,10 +109,10 @@ index 8dd9066868fd9a61936aabe2336c804c20b8bbc5..c646570cfa543d56011733af984345f7 } diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -index 37e111589134d80fdfd7a04d624b8c1d58a2d664..53b35f003034e7f4c9dd8ccfaf77389163009453 100644 +index a64cd3b54840af9a9c946b3e4e4f91d1c5f4bc97..16f23ecffa52925904d585f3fed76aa61bac5f9d 100644 --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -@@ -72,9 +72,14 @@ public class RespawnAnchorBlock extends Block { +@@ -73,9 +73,14 @@ public class RespawnAnchorBlock extends Block { if (!world.isClientSide) { ServerPlayer serverPlayer = (ServerPlayer)player; if (serverPlayer.getRespawnDimension() != world.dimension() || !pos.equals(serverPlayer.getRespawnPosition())) { @@ -129,10 +129,10 @@ index 37e111589134d80fdfd7a04d624b8c1d58a2d664..53b35f003034e7f4c9dd8ccfaf773891 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 656f03f23af7e7c731b5f8b4404cabc153a0dd83..dda1f3e9370110c08ed28fd404c8a246fa468db9 100644 +index 348022a7c037ce5f72c5c69db54f0ce5de9948ca..8f88d8a6f05d0f021608a035a39354ad480150f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1315,9 +1315,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1338,9 +1338,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/unapplied/server/0668-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0666-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 85% rename from patches/unapplied/server/0668-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/server/0666-Make-hoppers-respect-inventory-max-stack-size.patch index f883cf789b..d75e071280 100644 --- a/patches/unapplied/server/0668-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0666-Make-hoppers-respect-inventory-max-stack-size.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make hoppers respect inventory max stack size diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index eedc9fa0bcd30af3b229d74cfdfeffed4b60f221..d76603c4172aa10889949c6c2acff05fee02a13d 100644 +index 6605a7f7c046729850256489c21a1e90f0cca972..789e5458f4a137694563a22612455506807de51b 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -@@ -596,17 +596,19 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen +@@ -436,15 +436,17 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (itemstack1.isEmpty()) { // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem @@ -18,9 +18,7 @@ index eedc9fa0bcd30af3b229d74cfdfeffed4b60f221..d76603c4172aa10889949c6c2acff05f stack = stack.split(to.getMaxStackSize()); } // Spigot end - ignoreTileUpdates = true; // Paper to.setItem(slot, stack); - ignoreTileUpdates = false; // Paper - stack = ItemStack.EMPTY; + stack = leftover; // Paper flag = true; diff --git a/patches/unapplied/server/0669-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0667-Optimize-entity-tracker-passenger-checks.patch similarity index 85% rename from patches/unapplied/server/0669-Optimize-entity-tracker-passenger-checks.patch rename to patches/server/0667-Optimize-entity-tracker-passenger-checks.patch index bdcae11d7b..d6d9a78f26 100644 --- a/patches/unapplied/server/0669-Optimize-entity-tracker-passenger-checks.patch +++ b/patches/server/0667-Optimize-entity-tracker-passenger-checks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize entity tracker passenger checks diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 4ebe6bdc01b2d80fc84ba31aae9eb9ac26339436..2869eef4eca2ecc83aedb39f46b97ebcda1f9242 100644 +index d4696783f5adaee5f4350dfe5da8d6b85cf07f7e..dd75d109feacbc146dc49ae1e1b4bba94b51d18b 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -75,7 +75,7 @@ public class ServerEntity { +@@ -78,7 +78,7 @@ public class ServerEntity { this.trackedPlayers = trackedPlayers; // CraftBukkit end this.ap = Vec3.ZERO; diff --git a/patches/unapplied/server/0670-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0668-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/unapplied/server/0670-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0668-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/unapplied/server/0671-Added-EntityDamageItemEvent.patch b/patches/server/0669-Added-EntityDamageItemEvent.patch similarity index 90% rename from patches/unapplied/server/0671-Added-EntityDamageItemEvent.patch rename to patches/server/0669-Added-EntityDamageItemEvent.patch index f62299682b..7df41d5445 100644 --- a/patches/unapplied/server/0671-Added-EntityDamageItemEvent.patch +++ b/patches/server/0669-Added-EntityDamageItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d16fbd7817e71f50e35bc84eb889444e35eab415..218065e92c2d0d1141359255f77eb6747dabce35 100644 +index 9a4a05668fec49e488dbf644c083c5b67c4dde93..1bc9cb46e7ceb274bad7ca02b7bc834e96111f56 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -556,7 +556,7 @@ public final class ItemStack { +@@ -570,7 +570,7 @@ public final class ItemStack { return this.getItem().getMaxDamage(); } @@ -17,7 +17,7 @@ index d16fbd7817e71f50e35bc84eb889444e35eab415..218065e92c2d0d1141359255f77eb674 if (!this.isDamageableItem()) { return false; } else { -@@ -574,8 +574,8 @@ public final class ItemStack { +@@ -588,8 +588,8 @@ public final class ItemStack { amount -= k; // CraftBukkit start @@ -28,7 +28,7 @@ index d16fbd7817e71f50e35bc84eb889444e35eab415..218065e92c2d0d1141359255f77eb674 event.getPlayer().getServer().getPluginManager().callEvent(event); if (amount != event.getDamage() || event.isCancelled()) { -@@ -586,6 +586,14 @@ public final class ItemStack { +@@ -600,6 +600,14 @@ public final class ItemStack { } amount = event.getDamage(); @@ -43,7 +43,7 @@ index d16fbd7817e71f50e35bc84eb889444e35eab415..218065e92c2d0d1141359255f77eb674 } // CraftBukkit end if (amount <= 0) { -@@ -593,8 +601,8 @@ public final class ItemStack { +@@ -607,8 +615,8 @@ public final class ItemStack { } } @@ -54,7 +54,7 @@ index d16fbd7817e71f50e35bc84eb889444e35eab415..218065e92c2d0d1141359255f77eb674 } j = this.getDamageValue() + amount; -@@ -606,7 +614,7 @@ public final class ItemStack { +@@ -620,7 +628,7 @@ public final class ItemStack { public void hurtAndBreak(int amount, T entity, Consumer breakCallback) { if (!entity.level.isClientSide && (!(entity instanceof net.minecraft.world.entity.player.Player) || !((net.minecraft.world.entity.player.Player) entity).getAbilities().instabuild)) { if (this.isDamageableItem()) { diff --git a/patches/unapplied/server/0672-Optimize-indirect-passenger-iteration.patch b/patches/server/0670-Optimize-indirect-passenger-iteration.patch similarity index 90% rename from patches/unapplied/server/0672-Optimize-indirect-passenger-iteration.patch rename to patches/server/0670-Optimize-indirect-passenger-iteration.patch index d1472c606e..f8ff1aada7 100644 --- a/patches/unapplied/server/0672-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0670-Optimize-indirect-passenger-iteration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index fb4ae2cd4cb1a775d64cec9f5131a95f8919c38e..f8d9864de8ec5e49d8d48d6808d0027c839b7bb6 100644 +index 79bf4320b04acdb3999dcd47f2b6ceef198e5923..1105aa0293df750e70627efe951fd8604bde3e1b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3713,20 +3713,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3758,20 +3758,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } private Stream getIndirectPassengersStream() { @@ -43,7 +43,7 @@ index fb4ae2cd4cb1a775d64cec9f5131a95f8919c38e..f8d9864de8ec5e49d8d48d6808d0027c return () -> { return this.getIndirectPassengersStream().iterator(); }; -@@ -3743,6 +3757,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -3788,6 +3802,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { // Paper end - rewrite chunk system public boolean hasExactlyOnePlayerPassenger() { diff --git a/patches/unapplied/server/0674-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0671-Configurable-item-frame-map-cursor-update-interval.patch similarity index 90% rename from patches/unapplied/server/0674-Configurable-item-frame-map-cursor-update-interval.patch rename to patches/server/0671-Configurable-item-frame-map-cursor-update-interval.patch index ea5fd53183..1b37ee4f1e 100644 --- a/patches/unapplied/server/0674-Configurable-item-frame-map-cursor-update-interval.patch +++ b/patches/server/0671-Configurable-item-frame-map-cursor-update-interval.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable item frame map cursor update interval diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index 2869eef4eca2ecc83aedb39f46b97ebcda1f9242..6281ade15b2700d16dc1f98c2affea8c0ba936c9 100644 +index dd75d109feacbc146dc49ae1e1b4bba94b51d18b..f9fc646811a3952065d1b9fc74ff7a10ae495c32 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java -@@ -105,7 +105,7 @@ public class ServerEntity { +@@ -118,7 +118,7 @@ public class ServerEntity { if (true || this.tickCount % 10 == 0) { // CraftBukkit - Moved below, should always enter this block ItemStack itemstack = entityitemframe.getItem(); diff --git a/patches/unapplied/server/0675-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0672-Make-EntityUnleashEvent-cancellable.patch similarity index 93% rename from patches/unapplied/server/0675-Make-EntityUnleashEvent-cancellable.patch rename to patches/server/0672-Make-EntityUnleashEvent-cancellable.patch index 32bc89d32e..b430ede2bc 100644 --- a/patches/unapplied/server/0675-Make-EntityUnleashEvent-cancellable.patch +++ b/patches/server/0672-Make-EntityUnleashEvent-cancellable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make EntityUnleashEvent cancellable diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c092164eb9e634d4844cb079d291bb0d7af9f76c..082da4f8eaede9d7f70341c207a2aaa6f07b997e 100644 +index 3fbdd1b01bc86696b958ca6b7a3848e72fb51d50..00c6605f06773c52f6f5c5c1f5bcdd6dd67fb5b6 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1510,7 +1510,7 @@ public abstract class Mob extends LivingEntity { +@@ -1541,7 +1541,7 @@ public abstract class Mob extends LivingEntity implements Targeting { if (flag1 && this.isLeashed()) { // Paper start - drop leash variable EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), UnleashReason.UNKNOWN, true); diff --git a/patches/unapplied/server/0676-Clear-bucket-NBT-after-dispense.patch b/patches/server/0673-Clear-bucket-NBT-after-dispense.patch similarity index 87% rename from patches/unapplied/server/0676-Clear-bucket-NBT-after-dispense.patch rename to patches/server/0673-Clear-bucket-NBT-after-dispense.patch index a025469973..16d0a6b785 100644 --- a/patches/unapplied/server/0676-Clear-bucket-NBT-after-dispense.patch +++ b/patches/server/0673-Clear-bucket-NBT-after-dispense.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Clear bucket NBT after dispense diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 7132f1c304824feb80733f01b9554092e425f0bb..c0c31a5d356d0754b478d84f0cef87fc84c4fea1 100644 +index 429b9729188fe340b62a3305e6436fabbb1a7caf..1023f91b6a23fc974ba709ec09834d9faae8003a 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -@@ -645,8 +645,7 @@ public interface DispenseItemBehavior { +@@ -651,8 +651,7 @@ public interface DispenseItemBehavior { Item item = Items.BUCKET; stack.shrink(1); if (stack.isEmpty()) { diff --git a/patches/unapplied/server/0677-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0674-Change-EnderEye-target-without-changing-other-things.patch similarity index 86% rename from patches/unapplied/server/0677-Change-EnderEye-target-without-changing-other-things.patch rename to patches/server/0674-Change-EnderEye-target-without-changing-other-things.patch index e8e8b566cf..578dfb3d5e 100644 --- a/patches/unapplied/server/0677-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/server/0674-Change-EnderEye-target-without-changing-other-things.patch @@ -32,7 +32,7 @@ index f1582be22ffdd916eaab8998e3f367f2aac29d51..855e85e8d0d1f15304b0a42b46ef8453 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java -index 705dcae8f881cbdf5ff468f945b9269f9eae0e58..13c1188639e00cd96e00b179c4e353582bf66e64 100644 +index 18bd4b49a00f8223319ff39ba9fc83d0472dcb4f..86a5b59c2987a4faa5d29eebd978b4fb0b6cd424 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java @@ -38,8 +38,15 @@ public class CraftEnderSignal extends CraftEntity implements EnderSignal { @@ -47,8 +47,8 @@ index 705dcae8f881cbdf5ff468f945b9269f9eae0e58..13c1188639e00cd96e00b179c4e35358 + public void setTargetLocation(Location location, boolean update) { + // Paper end Preconditions.checkArgument(getWorld().equals(location.getWorld()), "Cannot target EnderSignal across worlds"); -- this.getHandle().signalTo(new BlockPos(location.getX(), location.getY(), location.getZ())); -+ this.getHandle().signalTo(new BlockPos(location.getX(), location.getY(), location.getZ()), update); // Paper +- this.getHandle().signalTo(BlockPos.containing(location.getX(), location.getY(), location.getZ())); ++ this.getHandle().signalTo(BlockPos.containing(location.getX(), location.getY(), location.getZ()), update); // Paper } @Override diff --git a/patches/unapplied/server/0678-Add-BlockBreakBlockEvent.patch b/patches/server/0675-Add-BlockBreakBlockEvent.patch similarity index 96% rename from patches/unapplied/server/0678-Add-BlockBreakBlockEvent.patch rename to patches/server/0675-Add-BlockBreakBlockEvent.patch index 8c5703ac62..39a1efcf18 100644 --- a/patches/unapplied/server/0678-Add-BlockBreakBlockEvent.patch +++ b/patches/server/0675-Add-BlockBreakBlockEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add BlockBreakBlockEvent 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 f595e64d6f9509c04ed6dac00205136c17c67edd..7b71073027f4cf79736546500ededdfbb83d968e 100644 +index 536a4e9f2bec3f44ca00edaf518c5d6c475d3c8b..4f91e4832a94c3facbc711fcae4cb5ad540a5ca0 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -331,6 +331,23 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -30,7 +30,7 @@ index f595e64d6f9509c04ed6dac00205136c17c67edd..7b71073027f4cf79736546500ededdfb + } + // Paper end - public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) { + public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack tool) { if (world instanceof ServerLevel) { diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java index 8d73893100884c08aa552ff41c2a07a3e714df47..24a822ade17849a083161216c184f02c30b5cb1f 100644 @@ -46,7 +46,7 @@ index 8d73893100884c08aa552ff41c2a07a3e714df47..24a822ade17849a083161216c184f02c world.gameEvent(GameEvent.BLOCK_DESTROY, blockposition3, GameEvent.Context.of(iblockdata1)); if (!iblockdata1.is(BlockTags.FIRE)) { diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java -index fb0784c8a4950776bd270bec3c80a8c5856c2655..0ffc131baf5c0edc4f2ca0f466fcdb20be4a47b8 100644 +index 00516a230073391b31795ec5af2aa7aa48db639a..bf4de7b8fd630c596e096a411a8c84c64c13ebf7 100644 --- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java +++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java @@ -294,7 +294,7 @@ public abstract class FlowingFluid extends Fluid { diff --git a/patches/unapplied/server/0679-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0676-Option-to-prevent-NBT-copy-in-smithing-recipes.patch similarity index 65% rename from patches/unapplied/server/0679-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to patches/server/0676-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index 14e666a79e..557f50d851 100644 --- a/patches/unapplied/server/0679-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/server/0676-Option-to-prevent-NBT-copy-in-smithing-recipes.patch @@ -4,31 +4,31 @@ Date: Sun, 26 Sep 2021 12:57:28 -0700 Subject: [PATCH] Option to prevent NBT copy in smithing recipes -diff --git a/src/main/java/net/minecraft/world/item/crafting/UpgradeRecipe.java b/src/main/java/net/minecraft/world/item/crafting/UpgradeRecipe.java -index d80fc47820edbb3bea439aedf2e02e82c1931e35..076e10e5d7908c590402cfbb739bf73bc00276ce 100644 ---- a/src/main/java/net/minecraft/world/item/crafting/UpgradeRecipe.java -+++ b/src/main/java/net/minecraft/world/item/crafting/UpgradeRecipe.java -@@ -25,8 +25,15 @@ public class UpgradeRecipe implements net.minecraft.world.item.crafting.Recipe optional = this.findLightningRod(blockposition1); -@@ -848,6 +853,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -847,6 +852,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (!list.isEmpty()) { return ((LivingEntity) list.get(this.random.nextInt(list.size()))).blockPosition(); } else { @@ -31,7 +31,7 @@ index dd310cd70d74a16b658ffdc7e9b595745a3b7e6c..d876de5bf781ceb3a8e89bca62019baf blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 5d7794e995f83de5b0134474f08f8f92f3d53303..7392ae299c4d09944552249bc1dc90b611fdb964 100644 +index 3b36581c30ee7fa19de573c2ee270eefc6027c38..bf0ad61418f0832c23ed9374be91e586c73050de 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -685,6 +685,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0684-Get-entity-default-attributes.patch b/patches/server/0681-Get-entity-default-attributes.patch similarity index 98% rename from patches/unapplied/server/0684-Get-entity-default-attributes.patch rename to patches/server/0681-Get-entity-default-attributes.patch index 082e7ea26c..d91545cd27 100644 --- a/patches/unapplied/server/0684-Get-entity-default-attributes.patch +++ b/patches/server/0681-Get-entity-default-attributes.patch @@ -81,7 +81,7 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 119ef8f4db4f4aa6129b6d246fdae0be790718f8..3691072d04c37ffdeb4d55aae2805dd2f3a3e844 100644 +index aa79564d415af3a61978ba72c95a97cc1de05458..bac01b70eadcf76121e6e2f20bd57edaa78fd0f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -562,6 +562,18 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0685-Left-handed-API.patch b/patches/server/0682-Left-handed-API.patch similarity index 100% rename from patches/unapplied/server/0685-Left-handed-API.patch rename to patches/server/0682-Left-handed-API.patch diff --git a/patches/unapplied/server/0686-Add-more-advancement-API.patch b/patches/server/0683-Add-more-advancement-API.patch similarity index 99% rename from patches/unapplied/server/0686-Add-more-advancement-API.patch rename to patches/server/0683-Add-more-advancement-API.patch index 732d3c494c..776e29d3b7 100644 --- a/patches/unapplied/server/0686-Add-more-advancement-API.patch +++ b/patches/server/0683-Add-more-advancement-API.patch @@ -81,7 +81,7 @@ index 0000000000000000000000000000000000000000..b9c24b8d83b96d8c66cdf879650027f4 + } +} diff --git a/src/main/java/net/minecraft/advancements/Advancement.java b/src/main/java/net/minecraft/advancements/Advancement.java -index 2c01231dcfbb992c9d2f034fcfd4af52fe8ac265..dd4409790524293be07483f00df05d8a8743e3d9 100644 +index 3c3a387e6693e06d5412e55a396b73028ee3330a..31ef13a708db2e4a664b30090a562eb6e4597bab 100644 --- a/src/main/java/net/minecraft/advancements/Advancement.java +++ b/src/main/java/net/minecraft/advancements/Advancement.java @@ -53,8 +53,16 @@ public class Advancement { diff --git a/patches/unapplied/server/0687-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch similarity index 89% rename from patches/unapplied/server/0687-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch index 81191923c9..4f2e8cf015 100644 --- a/patches/unapplied/server/0687-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0684-Add-ItemFactory-getSpawnEgg-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index e3bedba23bc57a51e8e702a9a6ab89db8700263c..a1a4640fc909aa0a261b78355ce8ab54ec70caac 100644 +index 081a92415d8a19da4f342e8febee62c844458cb9..3c72c95872365a66a19793a613c008720fc681ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -476,5 +476,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -483,5 +483,17 @@ public final class CraftItemFactory implements ItemFactory { entity.getUniqueId().toString(), new net.md_5.bungee.api.chat.TextComponent(customName)); } diff --git a/patches/unapplied/server/0688-Add-critical-damage-API.patch b/patches/server/0685-Add-critical-damage-API.patch similarity index 84% rename from patches/unapplied/server/0688-Add-critical-damage-API.patch rename to patches/server/0685-Add-critical-damage-API.patch index f666cbb03d..8ec373706f 100644 --- a/patches/unapplied/server/0688-Add-critical-damage-API.patch +++ b/patches/server/0685-Add-critical-damage-API.patch @@ -5,13 +5,14 @@ Subject: [PATCH] Add critical damage API diff --git a/src/main/java/net/minecraft/world/damagesource/DamageSource.java b/src/main/java/net/minecraft/world/damagesource/DamageSource.java -index ed8bad446a1845befa6d5d75c40cf281fa47a9d9..8795c94e6b6474addddbb0b337a962e8fac46b2b 100644 +index 9ec30af85095a9993076dafacbecc21b580d06ce..72d62387bfdcbf8e69fe433145be81fbe3bb051a 100644 --- a/src/main/java/net/minecraft/world/damagesource/DamageSource.java +++ b/src/main/java/net/minecraft/world/damagesource/DamageSource.java -@@ -61,6 +61,19 @@ public class DamageSource { - return this; +@@ -191,4 +191,18 @@ public class DamageSource { + public Holder typeHolder() { + return this.type; } - // CraftBukkit end ++ + // Paper start - add critical damage API + private boolean critical; + public boolean isCritical() { @@ -25,14 +26,12 @@ index ed8bad446a1845befa6d5d75c40cf281fa47a9d9..8795c94e6b6474addddbb0b337a962e8 + return this; + } + // Paper end - - public static DamageSource fallingBlock(Entity attacker) { - return (new EntityDamageSource("fallingBlock", attacker)).damageHelmet(); + } diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 9c9c7dd62a747f6d6597b01839b63840080eac82..59cead9833b7d0266a0c19fdbebd42256e4f54c4 100644 +index 496e10067267df07db9fa2570786d3b281f432c1..166e39a8c6854814dc47c995d23d2d572b56adab 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1256,7 +1256,7 @@ public abstract class Player extends LivingEntity { +@@ -1255,7 +1255,7 @@ public abstract class Player extends LivingEntity { flag1 = true; } @@ -41,26 +40,26 @@ index 9c9c7dd62a747f6d6597b01839b63840080eac82..59cead9833b7d0266a0c19fdbebd4225 flag2 = flag2 && !level.paperConfig().entities.behavior.disablePlayerCrits; // Paper flag2 = flag2 && !this.isSprinting(); -@@ -1296,7 +1296,7 @@ public abstract class Player extends LivingEntity { +@@ -1295,7 +1295,7 @@ public abstract class Player extends LivingEntity { } Vec3 vec3d = target.getDeltaMovement(); -- boolean flag5 = target.hurt(DamageSource.playerAttack(this), f); -+ boolean flag5 = target.hurt(DamageSource.playerAttack(this).critical(flag2), f); // Paper - add critical damage API +- boolean flag5 = target.hurt(this.damageSources().playerAttack(this), f); ++ boolean flag5 = target.hurt(this.damageSources().playerAttack(this).critical(flag2), f); // Paper - add critical damage API if (flag5) { if (i > 0) { -@@ -1324,7 +1324,7 @@ public abstract class Player extends LivingEntity { +@@ -1323,7 +1323,7 @@ public abstract class Player extends LivingEntity { if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) { // CraftBukkit start - Only apply knockback if the damage hits -- if (entityliving.hurt(DamageSource.playerAttack(this).sweep(), f4)) { -+ if (entityliving.hurt(DamageSource.playerAttack(this).sweep().critical(flag2), f4)) { // Paper - add critical damage API - entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Paper +- if (entityliving.hurt(this.damageSources().playerAttack(this).sweep(), f4)) { ++ if (entityliving.hurt(this.damageSources().playerAttack(this).sweep().critical(flag2), f4)) { // Paper - add critical damage API + entityliving.knockback(0.4000000059604645D, (double) Mth.sin(this.getYRot() * 0.017453292F), (double) (-Mth.cos(this.getYRot() * 0.017453292F)), this); // Pa } // CraftBukkit end 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 f427ad266a1e00adb661b9e4bc7cfe2a7ec52caa..11e0601c08e66ff7fe4febc2c38b38fec8d48c91 100644 +index 6486fa86e4bf3c90c09c0425d825bab568a68757..8257563afc3fe04c9e821da363b1f3f66de63ad7 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java @@ -372,6 +372,7 @@ public abstract class AbstractArrow extends Projectile { @@ -72,7 +71,7 @@ index f427ad266a1e00adb661b9e4bc7cfe2a7ec52caa..11e0601c08e66ff7fe4febc2c38b38fe int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 49693aa4d136701c822ab4b386ab7ed8b061a156..4143f72b8df92bee25399f90a759c8a8fb567cba 100644 +index d39a4e21fa2da3fec535ca62028f1c5ac92e8c96..31b955a5424bb9d00c763764f50c9f7605d5317c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -970,7 +970,7 @@ public class CraftEventFactory { @@ -90,12 +89,12 @@ index 49693aa4d136701c822ab4b386ab7ed8b061a156..4143f72b8df92bee25399f90a759c8a8 - return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled); + return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API - } else if (source == DamageSource.OUT_OF_WORLD) { + } else if (sourceType == DamageTypes.OUT_OF_WORLD) { EntityDamageEvent event = new EntityDamageByBlockEvent(null, entity.getBukkitEntity(), DamageCause.VOID, modifiers, modifierFunctions); event.setCancelled(cancelled); @@ -1069,7 +1069,7 @@ public class CraftEventFactory { } else { - throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.msgId)); + throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.getMsgId())); } - EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions); + EntityDamageEvent event = new EntityDamageByEntityEvent(damager, entity.getBukkitEntity(), cause, modifiers, modifierFunctions, source.isCritical()); // Paper - add critical damage API @@ -110,7 +109,7 @@ index 49693aa4d136701c822ab4b386ab7ed8b061a156..4143f72b8df92bee25399f90a759c8a8 + return CraftEventFactory.callEntityDamageEvent(null, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API } - throw new IllegalStateException(String.format("Unhandled damage of %s from %s", entity, source.msgId)); + throw new IllegalStateException(String.format("Unhandled damage of %s from %s", entity, source.getMsgId())); } + @Deprecated // Paper - Add critical damage API diff --git a/patches/unapplied/server/0689-Fix-issues-with-mob-conversion.patch b/patches/server/0686-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/unapplied/server/0689-Fix-issues-with-mob-conversion.patch rename to patches/server/0686-Fix-issues-with-mob-conversion.patch diff --git a/patches/unapplied/server/0690-Add-isCollidable-methods-to-various-places.patch b/patches/server/0687-Add-isCollidable-methods-to-various-places.patch similarity index 96% rename from patches/unapplied/server/0690-Add-isCollidable-methods-to-various-places.patch rename to patches/server/0687-Add-isCollidable-methods-to-various-places.patch index 3094688930..06975f7deb 100644 --- a/patches/unapplied/server/0690-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0687-Add-isCollidable-methods-to-various-places.patch @@ -39,7 +39,7 @@ index 7b9e943b391c061782fccd2b8d705ceec8db50fe..966ac60daebb7bb211ab8096fc0c5f33 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 3691072d04c37ffdeb4d55aae2805dd2f3a3e844..a0fbbcda1eccaadc7071e54968a0bf0588962d66 100644 +index bac01b70eadcf76121e6e2f20bd57edaa78fd0f8..30dfdbace0f60074d0cb056d2916331882ade295 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -574,6 +574,12 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0691-Goat-ram-API.patch b/patches/server/0688-Goat-ram-API.patch similarity index 95% rename from patches/unapplied/server/0691-Goat-ram-API.patch rename to patches/server/0688-Goat-ram-API.patch index ba52bb8712..e48bb6d3be 100644 --- a/patches/unapplied/server/0691-Goat-ram-API.patch +++ b/patches/server/0688-Goat-ram-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Goat ram API diff --git a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java -index ad8dc8c58c50eb75ab14d3d87f8584f4ba402c45..d562ad27bf690927e6a84e416ab74a460950f249 100644 +index fc153a40ebdc840b92a9ec54284a4cbea25bcff4..a0a34f5db4260d77325cfbba9c736726a8f5a5db 100644 --- a/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java +++ b/src/main/java/net/minecraft/world/entity/animal/goat/Goat.java @@ -384,4 +384,15 @@ public class Goat extends Animal { diff --git a/patches/unapplied/server/0692-Add-API-for-resetting-a-single-score.patch b/patches/server/0689-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/unapplied/server/0692-Add-API-for-resetting-a-single-score.patch rename to patches/server/0689-Add-API-for-resetting-a-single-score.patch diff --git a/patches/unapplied/server/0693-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0690-Add-Raw-Byte-Entity-Serialization.patch similarity index 91% rename from patches/unapplied/server/0693-Add-Raw-Byte-Entity-Serialization.patch rename to patches/server/0690-Add-Raw-Byte-Entity-Serialization.patch index b39643ede6..45d3795391 100644 --- a/patches/unapplied/server/0693-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0690-Add-Raw-Byte-Entity-Serialization.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Raw Byte Entity Serialization diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5483a6a81b6a9de524e7116356fa71af686c70aa..f19ece7738e493c3e69ea298f55e3f32da31204e 100644 +index de50f1aa6b7cebf877e18bc3e2ae3ba707edcd4c..3a388ead677be73b0ae4425a05a45cd34e95d586 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2009,6 +2009,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2018,6 +2018,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } } @@ -25,10 +25,10 @@ index 5483a6a81b6a9de524e7116356fa71af686c70aa..f19ece7738e493c3e69ea298f55e3f32 return this.isPassenger() ? false : this.saveAsPassenger(nbt); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f1ee89047e8cd916c762b91162842e3f981856b3..726a4ae7ab928eda3ae1c1e98f3421575af2e065 100644 +index 38165a364dfeca6d0fb35e7b3ada92d728ec295b..0c65652866de257d2a9019f910506a6f01757422 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1332,5 +1332,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1367,5 +1367,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } return set; } @@ -45,7 +45,7 @@ index f1ee89047e8cd916c762b91162842e3f981856b3..726a4ae7ab928eda3ae1c1e98f342157 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a0fbbcda1eccaadc7071e54968a0bf0588962d66..b25b645df6be2ace22c280473f5f1a2c911ee239 100644 +index 30dfdbace0f60074d0cb056d2916331882ade295..7e9b2497f4b8b0f5e55acd6c83593fb42bb4a52d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -485,6 +485,29 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0694-Vanilla-command-permission-fixes.patch b/patches/server/0691-Vanilla-command-permission-fixes.patch similarity index 96% rename from patches/unapplied/server/0694-Vanilla-command-permission-fixes.patch rename to patches/server/0691-Vanilla-command-permission-fixes.patch index cdd41b284c..66ea8ce197 100644 --- a/patches/unapplied/server/0694-Vanilla-command-permission-fixes.patch +++ b/patches/server/0691-Vanilla-command-permission-fixes.patch @@ -33,10 +33,10 @@ index 899008b2980d13f1be6280cd8cb959c53a29bebf..f875507241ac6769545e91cd3285232b private RedirectModifier modifier = null; private boolean forks; diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 7ebe1c200c26c66b293b245d7f470bf4f81f3eea..f2b312367895f121bcf4135c12dfdb354f32dddb 100644 +index 677b4a54d2a5ff9eb77d15e05582439ef3c5d3f2..01ba9dfaaa07569e1ca4bf40497070f49eae36ce 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -223,6 +223,13 @@ public class Commands { +@@ -229,6 +229,13 @@ public class Commands { } this.vanillaCommandNodes.addAll(this.dispatcher.getRoot().getChildren()); // Paper diff --git a/patches/unapplied/server/0695-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0692-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 88% rename from patches/unapplied/server/0695-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/server/0692-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 6ba3a7766b..b9b78dc2fe 100644 --- a/patches/unapplied/server/0695-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0692-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -9,10 +9,10 @@ chunk through it. This should also be OK from a leak prevention/ state desync POV because the TE is getting unloaded anyways. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d876de5bf781ceb3a8e89bca62019baf1e5a9710..5ec15aa3005e7cc401b9f391423008e1b75fe73f 100644 +index f12d844d422ca4175d4cb2b8e3112b590a207a16..834e5d2ef6045ef703321852f988db3fbf6cbba2 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1413,9 +1413,13 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1412,9 +1412,13 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot Start for (net.minecraft.world.level.block.entity.BlockEntity tileentity : chunk.getBlockEntities().values()) { if (tileentity instanceof net.minecraft.world.Container) { @@ -28,10 +28,10 @@ index d876de5bf781ceb3a8e89bca62019baf1e5a9710..5ec15aa3005e7cc401b9f391423008e1 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c0d24d9f72445e5396723749f36cf91693311a45..76ab004580f48fefdeec03b727f1589963c4684a 100644 +index c4b273d20b8526b9a4c7e271585a826b49f2a05a..7f445787e25f2b0064c51705ffe5a5b92c5c62e4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1595,6 +1595,18 @@ public class ServerPlayer extends Player { +@@ -1572,6 +1572,18 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.doCloseContainer(); } @@ -51,10 +51,10 @@ index c0d24d9f72445e5396723749f36cf91693311a45..76ab004580f48fefdeec03b727f15899 @Override public void doCloseContainer() { diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 59cead9833b7d0266a0c19fdbebd42256e4f54c4..69900f89e7c5f8c6e33025059d7248c7e9371fe9 100644 +index 166e39a8c6854814dc47c995d23d2d572b56adab..c01cefe0d57f151b48022f3c6965f5558f796852 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -499,6 +499,11 @@ public abstract class Player extends LivingEntity { +@@ -502,6 +502,11 @@ public abstract class Player extends LivingEntity { this.containerMenu = this.inventoryMenu; } // Paper end diff --git a/patches/unapplied/server/0696-Fix-GameProfileCache-concurrency.patch b/patches/server/0693-Fix-GameProfileCache-concurrency.patch similarity index 100% rename from patches/unapplied/server/0696-Fix-GameProfileCache-concurrency.patch rename to patches/server/0693-Fix-GameProfileCache-concurrency.patch diff --git a/patches/unapplied/server/0697-Log-when-the-async-catcher-is-tripped.patch b/patches/server/0694-Log-when-the-async-catcher-is-tripped.patch similarity index 100% rename from patches/unapplied/server/0697-Log-when-the-async-catcher-is-tripped.patch rename to patches/server/0694-Log-when-the-async-catcher-is-tripped.patch diff --git a/patches/unapplied/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0695-Add-paper-mobcaps-and-paper-playermobcaps.patch similarity index 97% rename from patches/unapplied/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch rename to patches/server/0695-Add-paper-mobcaps-and-paper-playermobcaps.patch index b17044af88..b67cdd94ce 100644 --- a/patches/unapplied/server/0698-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0695-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -265,7 +265,7 @@ index 0000000000000000000000000000000000000000..99c41a39cdad0271d089c6e03bebfdaf + } +} diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index bf3fb416d36a19958033cdbf5cc313556fa0201b..0a49769bfa83d0b9c435e3ab4bba85979d660ff8 100644 +index a1770e5ae4b3014c3538b52d4912c60864e186a8..906def91bba96bab7c7aea9b87d9ec56374e6588 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java @@ -192,6 +192,16 @@ public final class NaturalSpawner { @@ -286,10 +286,10 @@ index bf3fb416d36a19958033cdbf5cc313556fa0201b..0a49769bfa83d0b9c435e3ab4bba8597 // Paper start - add parameters and int ret type spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 049861abd721a964c965177719fe5bc2d04214a0..a6e5333c6e339a3a1853a6023a2e68c046811a4d 100644 +index a6be09d67043343dc26942d9a0a4d6cebdd6b627..e3aef13c8b432b46690daf3b27e95b8623ae0aca 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2166,6 +2166,11 @@ public final class CraftServer implements Server { +@@ -2165,6 +2165,11 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { @@ -302,7 +302,7 @@ index 049861abd721a964c965177719fe5bc2d04214a0..a6e5333c6e339a3a1853a6023a2e68c0 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7392ae299c4d09944552249bc1dc90b611fdb964..778d7503af4ab00e217c12b314c8ca4ccceae411 100644 +index bf0ad61418f0832c23ed9374be91e586c73050de..3ec2674a3ebc2540b9832e7bd3c99d5c1373f47d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1700,9 +1700,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/unapplied/server/0699-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0696-Sanitize-ResourceLocation-error-logging.patch similarity index 87% rename from patches/unapplied/server/0699-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0696-Sanitize-ResourceLocation-error-logging.patch index df7048125e..d8427b5ba0 100644 --- a/patches/unapplied/server/0699-Sanitize-ResourceLocation-error-logging.patch +++ b/patches/server/0696-Sanitize-ResourceLocation-error-logging.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Sanitize ResourceLocation error logging diff --git a/src/main/java/net/minecraft/resources/ResourceLocation.java b/src/main/java/net/minecraft/resources/ResourceLocation.java -index bad95669727f0968f4a7d6e498ff6dfaab49a56e..6d8ce6885f879eb2bffbe45374ba87fb4c72dd42 100644 +index 6eb213981aeb7e75e1ed75f1483bc98187726f6f..fa9b84b604659a6b35262fbe5acbee0fdb20a56d 100644 --- a/src/main/java/net/minecraft/resources/ResourceLocation.java +++ b/src/main/java/net/minecraft/resources/ResourceLocation.java -@@ -200,7 +200,7 @@ public class ResourceLocation implements Comparable { +@@ -210,7 +210,7 @@ public class ResourceLocation implements Comparable { private static String assertValidNamespace(String namespace, String path) { if (!isValidNamespace(namespace)) { @@ -17,7 +17,7 @@ index bad95669727f0968f4a7d6e498ff6dfaab49a56e..6d8ce6885f879eb2bffbe45374ba87fb } else { return namespace; } -@@ -221,7 +221,7 @@ public class ResourceLocation implements Comparable { +@@ -231,7 +231,7 @@ public class ResourceLocation implements Comparable { private static String assertValidPath(String namespace, String path) { if (!isValidPath(path)) { diff --git a/patches/unapplied/server/0700-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0697-Allow-controlled-flushing-for-network-manager.patch similarity index 92% rename from patches/unapplied/server/0700-Allow-controlled-flushing-for-network-manager.patch rename to patches/server/0697-Allow-controlled-flushing-for-network-manager.patch index 2819caed1e..7947f2478a 100644 --- a/patches/unapplied/server/0700-Allow-controlled-flushing-for-network-manager.patch +++ b/patches/server/0697-Allow-controlled-flushing-for-network-manager.patch @@ -9,10 +9,10 @@ This patch will be used to optimise out flush calls in later patches. diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f403073286 100644 +index 3cee24bfb1b3a21b0da1b57e161afd8009942272..e2f28c9c51f30b0e2b22055bb10899d41fc4bdf8 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -122,6 +122,39 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -124,6 +124,39 @@ public class Connection extends SimpleChannelInboundHandler> { public ConnectionProtocol protocol; // Paper end @@ -52,7 +52,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 public Connection(PacketFlow side) { this.receiving = side; } -@@ -286,7 +319,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -289,7 +322,7 @@ public class Connection extends SimpleChannelInboundHandler> { io.papermc.paper.util.MCUtil.isMainThread() && packet.isReady() && this.queue.isEmpty() && (packet.getExtraPackets() == null || packet.getExtraPackets().isEmpty()) ))) { @@ -61,7 +61,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 return; } // write the packets to the queue, then flush - antixray hooks there already -@@ -310,6 +343,14 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -313,6 +346,14 @@ public class Connection extends SimpleChannelInboundHandler> { } private void sendPacket(Packet packet, @Nullable PacketSendListener callbacks) { @@ -76,7 +76,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 ConnectionProtocol enumprotocol = ConnectionProtocol.getProtocolForPacket(packet); ConnectionProtocol enumprotocol1 = this.getCurrentProtocol(); -@@ -320,16 +361,21 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -327,16 +368,21 @@ public class Connection extends SimpleChannelInboundHandler> { } if (this.channel.eventLoop().inEventLoop()) { @@ -100,7 +100,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 if (packetState != currentState) { this.setProtocol(packetState); } -@@ -343,7 +389,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -350,7 +396,7 @@ public class Connection extends SimpleChannelInboundHandler> { try { // Paper end @@ -109,7 +109,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 if (callbacks != null) { channelfuture.addListener((future) -> { -@@ -399,6 +445,10 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -406,6 +452,10 @@ public class Connection extends SimpleChannelInboundHandler> { private boolean processQueue() { try { // Paper - add pending task queue if (this.queue.isEmpty()) return true; @@ -120,7 +120,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 // If we are on main, we are safe here in that nothing else should be processing queue off main anymore // But if we are not on main due to login/status, the parent is synchronized on packetQueue java.util.Iterator iterator = this.queue.iterator(); -@@ -406,7 +456,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -413,7 +463,7 @@ public class Connection extends SimpleChannelInboundHandler> { PacketHolder queued = iterator.next(); // poll -> peek // Fix NPE (Spigot bug caused by handleDisconnection()) @@ -129,7 +129,7 @@ index 9042f2953b1cf21969faf33883d3c845553e937e..3355d0d75675e2f9a62c4681871ba0f4 return true; } -@@ -418,11 +468,17 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -425,11 +475,17 @@ public class Connection extends SimpleChannelInboundHandler> { Packet packet = queued.packet; if (!packet.isReady()) { diff --git a/patches/unapplied/server/0673-Fix-block-drops-position-losing-precision-millions-o.patch b/patches/unapplied/server/0673-Fix-block-drops-position-losing-precision-millions-o.patch deleted file mode 100644 index 7dea55e612..0000000000 --- a/patches/unapplied/server/0673-Fix-block-drops-position-losing-precision-millions-o.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jason Penilla <11360596+jpenilla@users.noreply.github.com> -Date: Thu, 12 Aug 2021 21:15:38 -0700 -Subject: [PATCH] Fix block drops position losing precision millions of blocks - out - - -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 a9171ca47e836428e1b5c8366898a94702242e13..f595e64d6f9509c04ed6dac00205136c17c67edd 100644 ---- a/src/main/java/net/minecraft/world/level/block/Block.java -+++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -344,9 +344,11 @@ public class Block extends BlockBehaviour implements ItemLike { - - public static void popResource(Level world, BlockPos pos, ItemStack stack) { - float f = EntityType.ITEM.getHeight() / 2.0F; -- double d0 = (double) ((float) pos.getX() + 0.5F) + Mth.nextDouble(world.random, -0.25D, 0.25D); -- double d1 = (double) ((float) pos.getY() + 0.5F) + Mth.nextDouble(world.random, -0.25D, 0.25D) - (double) f; -- double d2 = (double) ((float) pos.getZ() + 0.5F) + Mth.nextDouble(world.random, -0.25D, 0.25D); -+ // Paper start - don't convert potentially massive numbers to floats -+ double d0 = pos.getX() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D); -+ double d1 = pos.getY() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D) - (double) f; -+ double d2 = pos.getZ() + 0.5D + Mth.nextDouble(world.random, -0.25D, 0.25D); -+ // Paper end - - Block.popResource(world, () -> { - return new ItemEntity(world, d0, d1, d2, stack); -@@ -359,9 +361,11 @@ public class Block extends BlockBehaviour implements ItemLike { - int k = direction.getStepZ(); - float f = EntityType.ITEM.getWidth() / 2.0F; - float f1 = EntityType.ITEM.getHeight() / 2.0F; -- double d0 = (double) ((float) pos.getX() + 0.5F) + (i == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) i * (0.5F + f))); -- double d1 = (double) ((float) pos.getY() + 0.5F) + (j == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) j * (0.5F + f1))) - (double) f1; -- double d2 = (double) ((float) pos.getZ() + 0.5F) + (k == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) k * (0.5F + f))); -+ // Paper start - don't convert potentially massive numbers to floats -+ double d0 = pos.getX() + 0.5D + (i == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) i * (0.5F + f))); -+ double d1 = pos.getY() + 0.5D + (j == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) j * (0.5F + f1))) - (double) f1; -+ double d2 = pos.getZ() + 0.5D + (k == 0 ? Mth.nextDouble(world.random, -0.25D, 0.25D) : (double) ((float) k * (0.5F + f))); -+ // Paper end - double d3 = i == 0 ? Mth.nextDouble(world.random, -0.1D, 0.1D) : (double) i * 0.1D; - double d4 = j == 0 ? Mth.nextDouble(world.random, 0.0D, 0.1D) : (double) j * 0.1D + 0.1D; - double d5 = k == 0 ? Mth.nextDouble(world.random, -0.1D, 0.1D) : (double) k * 0.1D;