From ea0ec8c5a01dc3b65a803182abd3ec0bc506e91b Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Tue, 15 Jun 2021 21:12:06 -0700 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit) & more patches Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: e9ce88b9 SPIGOT-6562: Add more specific sculk sensor event CraftBukkit Changes: d7ef1e91 SPIGOT-6558: Attempt to improve SkullMeta e7a63287 SPIGOT-6562: Add more specific sculk sensor event --- ...ix-Concurrency-issue-in-WeightedList.patch | 153 ------------------ ...647-Entity-load-save-limit-per-chunk.patch | 3 +- .../0040-Use-UserCache-for-player-heads.patch | 4 +- ...-Add-setPlayerProfile-API-for-Skulls.patch | 4 +- ...ix-Concurrency-issue-in-WeightedList.patch | 69 ++++++++ ...eset-Ender-Crystals-on-Dragon-Spawn.patch} | 0 ...-large-move-vectors-crashing-server.patch} | 0 ...atch => 0531-Optimise-getType-calls.patch} | 0 ....patch => 0532-Villager-resetOffers.patch} | 0 ...nig-for-some-hot-IBlockData-methods.patch} | 0 ...ce-order-when-capturing-blockstates.patch} | 0 ...lockpos-allocation-from-pathfinding.patch} | 0 ...em-locations-dropped-from-campfires.patch} | 0 ...tch => 0537-Player-elytra-boost-API.patch} | 0 ...38-Fixed-TileEntityBell-memory-leak.patch} | 0 ...ing-up-when-item-stack-is-empty-in-.patch} | 0 ...Add-getOfflinePlayerIfCached-String.patch} | 0 ...ch => 0541-Add-ignore-discounts-API.patch} | 0 ...Toggle-for-removing-existing-dragon.patch} | 0 ...x-client-lag-on-advancement-loading.patch} | 0 ...> 0544-Item-no-age-no-player-pickup.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...546-Beacon-API-custom-effect-ranges.patch} | 0 ...tch => 0547-Add-API-for-quit-reason.patch} | 0 ...h => 0548-Seed-based-feature-search.patch} | 0 ...ng-Trader-spawn-rate-config-options.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 ...ch => 0551-Expose-world-spawn-angle.patch} | 0 ...patch => 0552-Add-Destroy-Speed-API.patch} | 0 ...-spawnParticle-x-y-z-precision-loss.patch} | 0 ...54-Add-LivingEntity-clearActiveItem.patch} | 0 ...=> 0555-Add-PlayerItemCooldownEvent.patch} | 0 ...PI.patch => 0556-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 0 ...-missing-default-perms-for-commands.patch} | 0 ...h => 0559-Add-PlayerShearBlockEvent.patch} | 0 ...rbose-world-setting-to-false-by-def.patch} | 0 ...ng-zombie-villager-discount-exploit.patch} | 0 ....patch => 0562-Limit-recipe-packets.patch} | 0 ...-CraftSound-backwards-compatibility.patch} | 0 ... 0564-MC-4-Fix-item-position-desync.patch} | 0 ...565-Player-Chunk-Load-Unload-Events.patch} | 0 ...6-Optimize-Dynamic-get-Missing-Keys.patch} | 0 ...-Expose-LivingEntity-hurt-direction.patch} | 0 ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 0 ...-invalid-ingredient-lists-in-Villag.patch} | 0 ...atch => 0570-added-PlayerTradeEvent.patch} | 0 ...ch => 0571-Implement-TargetHitEvent.patch} | 0 ...572-Additional-Block-Material-API-s.patch} | 0 ...tch => 0573-Fix-harming-potion-dupe.patch} | 0 ...get-Material-from-Boats-and-Minecar.patch} | 0 ....patch => 0575-Cache-burn-durations.patch} | 0 ...ob-spawner-spawn-egg-transformation.patch} | 0 ...Fix-Not-a-string-Map-Conversion-spam.patch | 28 ++-- ...ment-PlayerFlowerPotManipulateEvent.patch} | 0 ...event-not-being-called-in-adventure.patch} | 0 ...h => 0580-Zombie-API-breaking-doors.patch} | 0 ...581-Fix-nerfed-slime-when-splitting.patch} | 0 ...=> 0582-Add-EntityLoadCrossbowEvent.patch} | 0 ...ch => 0583-Guardian-beam-workaround.patch} | 0 ...0584-Added-WorldGameRuleChangeEvent.patch} | 0 ...-Added-ServerResourcesReloadedEvent.patch} | 0 ...d-settings-for-mobs-picking-up-loot.patch} | 0 ...mplemented-BlockFailedDispenseEvent.patch} | 0 ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 0 ...nfigurable-door-breaking-difficulty.patch} | 0 ...ty-commands-shall-not-be-dispatched.patch} | 0 ...I-to-expose-exact-interaction-point.patch} | 0 ...OIs.patch => 0593-Remove-stale-POIs.patch} | 0 ...h => 0594-Fix-villager-boat-exploit.patch} | 0 ...I.patch => 0595-Add-sendOpLevel-API.patch} | 0 ...ch => 0596-Add-StructureLocateEvent.patch} | 0 ...-for-requiring-a-player-participant.patch} | 0 ...leHitEvent-call-when-fireballs-dead.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 0 ...600-Make-schedule-command-per-world.patch} | 0 ...601-Configurable-max-leash-distance.patch} | 0 ...602-Implement-BlockPreDispenseEvent.patch} | 0 ...h => 0603-Added-Vanilla-Entity-Tags.patch} | 0 ...-API.patch => 0604-added-Wither-API.patch} | 0 ...ng-of-PlayerChangeBeaconEffectEvent.patch} | 0 ...-spam-when-removing-chests-in-water.patch} | 0 ...e-for-always-placing-the-dragon-egg.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 0 ...eash-variable-to-EntityUnleashEvent.patch} | 0 ...e-map-update-when-spawning-disabled.patch} | 0 ...shield-blocking-on-dimension-change.patch} | 0 ...atch => 0612-add-DragonEggFormEvent.patch} | 0 ...Event.patch => 0613-EntityMoveEvent.patch} | 0 ...isable-pathfinding-updates-on-block.patch} | 0 ... 0615-Inline-shift-direction-fields.patch} | 0 ...-adding-items-to-BlockDropItemEvent.patch} | 0 ...inThreadExecutor-to-BukkitScheduler.patch} | 0 ...entity-allow-attribute-registration.patch} | 0 ...ix-dead-slime-setSize-invincibility.patch} | 0 ...pes-should-return-an-immutable-list.patch} | 0 ....patch => 0621-misc-debugging-dumps.patch} | 0 ...port-for-hex-color-codes-in-console.patch} | 0 ...atch => 0623-Expose-Tracked-Players.patch} | 0 ...4-Remove-streams-from-SensorNearest.patch} | 0 ...ix-Wither-hostility-towards-players.patch} | 0 ...er-exception-on-empty-JsonList-file.patch} | 0 ...GUI.patch => 0627-Improve-ServerGUI.patch} | 0 ...ure-plate-EntityInteractEvent-for-i.patch} | 0 ...629-fix-converting-txt-to-json-file.patch} | 0 ...atch => 0630-Add-worldborder-events.patch} | 0 ...=> 0631-added-PlayerNameEntityEvent.patch} | 0 ...grindstones-from-overstacking-items.patch} | 0 ...h => 0633-Add-recipe-to-cook-events.patch} | 0 ...patch => 0634-Add-Block-isValidTool.patch} | 0 ...using-signs-inside-spawn-protection.patch} | 0 ...ch => 0636-Implement-Keyed-on-World.patch} | 0 ...ternative-constructor-for-Rotations.patch} | 0 ...y-API.patch => 0638-Item-Rarity-API.patch} | 0 ...imer-for-Wandering-Traders-spawned-.patch} | 0 ...py-TESign-isEditable-from-snapshots.patch} | 0 ...d-item-when-player-has-disconnected.patch} | 0 ...elist-use-configurable-kick-message.patch} | 0 ...gnore-result-of-PlayerEditBookEvent.patch} | 0 ...block-falling-causing-client-desync.patch} | 0 ...tch => 0645-Expose-protocol-version.patch} | 0 ...nt-suggestion-tooltips-in-AsyncTabC.patch} | 0 ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 0 ...patch => 0649-Add-bypass-host-check.patch} | 0 ...0650-Set-area-affect-cloud-rotation.patch} | 0 ...add-isDeeplySleeping-to-HumanEntity.patch} | 0 ...ting-give-items-on-item-drop-cancel.patch} | 0 ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 0 ...-set-drop-chance-to-EntityEquipment.patch} | 0 ...ix-PigZombieAngerEvent-cancellation.patch} | 0 ...-checkReach-check-for-Shulker-boxes.patch} | 0 ...ix-PlayerItemHeldEvent-firing-twice.patch} | 0 ... => 0658-Added-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0659-More-World-API.patch} | 0 ... 0660-Added-PlayerBedFailEnterEvent.patch} | 0 ...-to-convert-between-Component-and-B.patch} | 0 ...n-acting-as-a-bed-respawn-from-the-.patch} | 0 ...acon-activation-deactivation-events.patch} | 0 ...-RespawnFlags-to-PlayerRespawnEvent.patch} | 0 ...dd-Channel-initialization-listeners.patch} | 0 ...mands-if-tab-completion-is-disabled.patch} | 0 ...> 0667-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ...address-to-AsyncPlayerPreLoginEvent.patch} | 0 ...close.patch => 0671-Inventory-close.patch} | 0 ...reateEvent-players-and-end-platform.patch} | 0 ...-in-sunlight-API-for-Phantoms-and-S.patch} | 0 ...=> 0674-Fix-CraftPotionBrewer-cache.patch} | 0 ...atch => 0675-Add-basic-Datapack-API.patch} | 0 ...ment-variable-to-disable-server-gui.patch} | 0 ...itions-to-PlayerGameModeChangeEvent.patch} | 0 .../0678-Clear-SyncLoadInfo.patch} | 6 +- ... => 0679-ItemStack-repair-check-API.patch} | 0 ....patch => 0680-More-Enchantment-API.patch} | 0 ...option-to-load-extra-plugin-jars-no.patch} | 0 ...-and-optimise-world-force-upgrading.patch} | 0 ...PI.patch => 0683-Add-Mob-lookAt-API.patch} | 0 ...0684-Add-Unix-domain-socket-support.patch} | 0 ... => 0685-Add-EntityInsideBlockEvent.patch} | 0 ...86-Attributes-API-for-item-defaults.patch} | 0 ...hantCustom-emit-PlayerPurchaseEvent.patch} | 0 ...ause-to-Weather-ThunderChangeEvents.patch} | 0 ...patch => 0689-More-Lidded-Block-API.patch} | 0 ...90-Limit-item-frame-cursors-on-maps.patch} | 4 +- ...0691-Add-PufferFishStateChangeEvent.patch} | 0 ... => 0692-Add-PlayerKickEvent-causes.patch} | 0 ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ReentrantLo.patch} | 0 ...-to-fix-items-merging-through-walls.patch} | 0 ...h => 0696-Add-BellRevealRaiderEvent.patch} | 0 ... 0697-Fix-invulnerable-end-crystals.patch} | 0 ...98-Add-ElderGuardianAppearanceEvent.patch} | 0 ...inventory-on-cancelled-pickup-event.patch} | 0 ...0700-Fix-dangerous-end-portal-logic.patch} | 0 ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 0 ...-Make-item-validations-configurable.patch} | 0 ...0703-Add-more-line-of-sight-methods.patch} | 0 ... => 0704-add-per-world-spawn-limits.patch} | 0 ...plashEvent-for-water-splash-potions.patch} | 0 ...tus-dataconverter-for-pre-1.13-chun.patch} | 0 work/Bukkit | 2 +- work/CraftBukkit | 2 +- 185 files changed, 96 insertions(+), 179 deletions(-) delete mode 100644 patches/removed/1.17/0528-Fix-Concurrency-issue-in-WeightedList.patch create mode 100644 patches/server/0528-Fix-Concurrency-issue-in-WeightedList.patch rename patches/server/{0528-Reset-Ender-Crystals-on-Dragon-Spawn.patch => 0529-Reset-Ender-Crystals-on-Dragon-Spawn.patch} (100%) rename patches/server/{0529-Fix-for-large-move-vectors-crashing-server.patch => 0530-Fix-for-large-move-vectors-crashing-server.patch} (100%) rename patches/server/{0530-Optimise-getType-calls.patch => 0531-Optimise-getType-calls.patch} (100%) rename patches/server/{0531-Villager-resetOffers.patch => 0532-Villager-resetOffers.patch} (100%) rename patches/server/{0532-Improve-inlinig-for-some-hot-IBlockData-methods.patch => 0533-Improve-inlinig-for-some-hot-IBlockData-methods.patch} (100%) rename patches/server/{0533-Retain-block-place-order-when-capturing-blockstates.patch => 0534-Retain-block-place-order-when-capturing-blockstates.patch} (100%) rename patches/server/{0534-Reduce-blockpos-allocation-from-pathfinding.patch => 0535-Reduce-blockpos-allocation-from-pathfinding.patch} (100%) rename patches/server/{0535-Fix-item-locations-dropped-from-campfires.patch => 0536-Fix-item-locations-dropped-from-campfires.patch} (100%) rename patches/server/{0536-Player-elytra-boost-API.patch => 0537-Player-elytra-boost-API.patch} (100%) rename patches/server/{0537-Fixed-TileEntityBell-memory-leak.patch => 0538-Fixed-TileEntityBell-memory-leak.patch} (100%) rename patches/server/{0538-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch => 0539-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch} (100%) rename patches/server/{0539-Add-getOfflinePlayerIfCached-String.patch => 0540-Add-getOfflinePlayerIfCached-String.patch} (100%) rename patches/server/{0540-Add-ignore-discounts-API.patch => 0541-Add-ignore-discounts-API.patch} (100%) rename patches/server/{0541-Toggle-for-removing-existing-dragon.patch => 0542-Toggle-for-removing-existing-dragon.patch} (100%) rename patches/server/{0542-Fix-client-lag-on-advancement-loading.patch => 0543-Fix-client-lag-on-advancement-loading.patch} (100%) rename patches/server/{0543-Item-no-age-no-player-pickup.patch => 0544-Item-no-age-no-player-pickup.patch} (100%) rename patches/server/{0544-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 0545-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/server/{0545-Beacon-API-custom-effect-ranges.patch => 0546-Beacon-API-custom-effect-ranges.patch} (100%) rename patches/server/{0546-Add-API-for-quit-reason.patch => 0547-Add-API-for-quit-reason.patch} (100%) rename patches/server/{0547-Seed-based-feature-search.patch => 0548-Seed-based-feature-search.patch} (100%) rename patches/server/{0548-Add-Wandering-Trader-spawn-rate-config-options.patch => 0549-Add-Wandering-Trader-spawn-rate-config-options.patch} (100%) rename patches/server/{0549-Significantly-improve-performance-of-the-end-generat.patch => 0550-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/server/{0550-Expose-world-spawn-angle.patch => 0551-Expose-world-spawn-angle.patch} (100%) rename patches/server/{0551-Add-Destroy-Speed-API.patch => 0552-Add-Destroy-Speed-API.patch} (100%) rename patches/server/{0552-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => 0553-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (100%) rename patches/server/{0553-Add-LivingEntity-clearActiveItem.patch => 0554-Add-LivingEntity-clearActiveItem.patch} (100%) rename patches/server/{0554-Add-PlayerItemCooldownEvent.patch => 0555-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/server/{0555-More-lightning-API.patch => 0556-More-lightning-API.patch} (100%) rename patches/server/{0556-Climbing-should-not-bypass-cramming-gamerule.patch => 0557-Climbing-should-not-bypass-cramming-gamerule.patch} (100%) rename patches/server/{0557-Added-missing-default-perms-for-commands.patch => 0558-Added-missing-default-perms-for-commands.patch} (100%) rename patches/server/{0558-Add-PlayerShearBlockEvent.patch => 0559-Add-PlayerShearBlockEvent.patch} (100%) rename patches/server/{0559-Set-spigots-verbose-world-setting-to-false-by-def.patch => 0560-Set-spigots-verbose-world-setting-to-false-by-def.patch} (100%) rename patches/server/{0560-Fix-curing-zombie-villager-discount-exploit.patch => 0561-Fix-curing-zombie-villager-discount-exploit.patch} (100%) rename patches/server/{0561-Limit-recipe-packets.patch => 0562-Limit-recipe-packets.patch} (100%) rename patches/server/{0562-Fix-CraftSound-backwards-compatibility.patch => 0563-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/server/{0563-MC-4-Fix-item-position-desync.patch => 0564-MC-4-Fix-item-position-desync.patch} (100%) rename patches/server/{0564-Player-Chunk-Load-Unload-Events.patch => 0565-Player-Chunk-Load-Unload-Events.patch} (100%) rename patches/server/{0565-Optimize-Dynamic-get-Missing-Keys.patch => 0566-Optimize-Dynamic-get-Missing-Keys.patch} (100%) rename patches/server/{0566-Expose-LivingEntity-hurt-direction.patch => 0567-Expose-LivingEntity-hurt-direction.patch} (100%) rename patches/server/{0567-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => 0568-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (100%) rename patches/server/{0568-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => 0569-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (100%) rename patches/server/{0569-added-PlayerTradeEvent.patch => 0570-added-PlayerTradeEvent.patch} (100%) rename patches/server/{0570-Implement-TargetHitEvent.patch => 0571-Implement-TargetHitEvent.patch} (100%) rename patches/server/{0571-Additional-Block-Material-API-s.patch => 0572-Additional-Block-Material-API-s.patch} (100%) rename patches/server/{0572-Fix-harming-potion-dupe.patch => 0573-Fix-harming-potion-dupe.patch} (100%) rename patches/server/{0573-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => 0574-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (100%) rename patches/server/{0574-Cache-burn-durations.patch => 0575-Cache-burn-durations.patch} (100%) rename patches/server/{0575-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => 0576-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (100%) rename patches/{removed/1.17 => server}/0577-Fix-Not-a-string-Map-Conversion-spam.patch (69%) rename patches/server/{0576-Implement-PlayerFlowerPotManipulateEvent.patch => 0578-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/server/{0577-Fix-interact-event-not-being-called-in-adventure.patch => 0579-Fix-interact-event-not-being-called-in-adventure.patch} (100%) rename patches/server/{0578-Zombie-API-breaking-doors.patch => 0580-Zombie-API-breaking-doors.patch} (100%) rename patches/server/{0579-Fix-nerfed-slime-when-splitting.patch => 0581-Fix-nerfed-slime-when-splitting.patch} (100%) rename patches/server/{0580-Add-EntityLoadCrossbowEvent.patch => 0582-Add-EntityLoadCrossbowEvent.patch} (100%) rename patches/server/{0581-Guardian-beam-workaround.patch => 0583-Guardian-beam-workaround.patch} (100%) rename patches/server/{0582-Added-WorldGameRuleChangeEvent.patch => 0584-Added-WorldGameRuleChangeEvent.patch} (100%) rename patches/server/{0583-Added-ServerResourcesReloadedEvent.patch => 0585-Added-ServerResourcesReloadedEvent.patch} (100%) rename patches/server/{0584-Added-world-settings-for-mobs-picking-up-loot.patch => 0586-Added-world-settings-for-mobs-picking-up-loot.patch} (100%) rename patches/server/{0585-Implemented-BlockFailedDispenseEvent.patch => 0587-Implemented-BlockFailedDispenseEvent.patch} (100%) rename patches/server/{0586-Added-PlayerLecternPageChangeEvent.patch => 0588-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/server/{0587-Added-PlayerLoomPatternSelectEvent.patch => 0589-Added-PlayerLoomPatternSelectEvent.patch} (100%) rename patches/server/{0588-Configurable-door-breaking-difficulty.patch => 0590-Configurable-door-breaking-difficulty.patch} (100%) rename patches/server/{0589-Empty-commands-shall-not-be-dispatched.patch => 0591-Empty-commands-shall-not-be-dispatched.patch} (100%) rename patches/server/{0590-Implement-API-to-expose-exact-interaction-point.patch => 0592-Implement-API-to-expose-exact-interaction-point.patch} (100%) rename patches/server/{0591-Remove-stale-POIs.patch => 0593-Remove-stale-POIs.patch} (100%) rename patches/server/{0592-Fix-villager-boat-exploit.patch => 0594-Fix-villager-boat-exploit.patch} (100%) rename patches/server/{0593-Add-sendOpLevel-API.patch => 0595-Add-sendOpLevel-API.patch} (100%) rename patches/server/{0594-Add-StructureLocateEvent.patch => 0596-Add-StructureLocateEvent.patch} (100%) rename patches/server/{0595-Collision-option-for-requiring-a-player-participant.patch => 0597-Collision-option-for-requiring-a-player-participant.patch} (100%) rename patches/server/{0596-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => 0598-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (100%) rename patches/server/{0597-Return-chat-component-with-empty-text-instead-of-thr.patch => 0599-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/server/{0598-Make-schedule-command-per-world.patch => 0600-Make-schedule-command-per-world.patch} (100%) rename patches/server/{0599-Configurable-max-leash-distance.patch => 0601-Configurable-max-leash-distance.patch} (100%) rename patches/server/{0600-Implement-BlockPreDispenseEvent.patch => 0602-Implement-BlockPreDispenseEvent.patch} (100%) rename patches/server/{0601-Added-Vanilla-Entity-Tags.patch => 0603-Added-Vanilla-Entity-Tags.patch} (100%) rename patches/server/{0602-added-Wither-API.patch => 0604-added-Wither-API.patch} (100%) rename patches/server/{0603-Added-firing-of-PlayerChangeBeaconEffectEvent.patch => 0605-Added-firing-of-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/server/{0604-Fix-console-spam-when-removing-chests-in-water.patch => 0606-Fix-console-spam-when-removing-chests-in-water.patch} (100%) rename patches/server/{0605-Add-toggle-for-always-placing-the-dragon-egg.patch => 0607-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/server/{0606-Added-PlayerStonecutterRecipeSelectEvent.patch => 0608-Added-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/server/{0607-Add-dropLeash-variable-to-EntityUnleashEvent.patch => 0609-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (100%) rename patches/server/{0608-Skip-distance-map-update-when-spawning-disabled.patch => 0610-Skip-distance-map-update-when-spawning-disabled.patch} (100%) rename patches/server/{0609-Reset-shield-blocking-on-dimension-change.patch => 0611-Reset-shield-blocking-on-dimension-change.patch} (100%) rename patches/server/{0610-add-DragonEggFormEvent.patch => 0612-add-DragonEggFormEvent.patch} (100%) rename patches/server/{0611-EntityMoveEvent.patch => 0613-EntityMoveEvent.patch} (100%) rename patches/server/{0612-added-option-to-disable-pathfinding-updates-on-block.patch => 0614-added-option-to-disable-pathfinding-updates-on-block.patch} (100%) rename patches/server/{0613-Inline-shift-direction-fields.patch => 0615-Inline-shift-direction-fields.patch} (100%) rename patches/server/{0614-Allow-adding-items-to-BlockDropItemEvent.patch => 0616-Allow-adding-items-to-BlockDropItemEvent.patch} (100%) rename patches/server/{0615-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0617-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/server/{0616-living-entity-allow-attribute-registration.patch => 0618-living-entity-allow-attribute-registration.patch} (100%) rename patches/server/{0617-fix-dead-slime-setSize-invincibility.patch => 0619-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/server/{0618-Merchant-getRecipes-should-return-an-immutable-list.patch => 0620-Merchant-getRecipes-should-return-an-immutable-list.patch} (100%) rename patches/server/{0619-misc-debugging-dumps.patch => 0621-misc-debugging-dumps.patch} (100%) rename patches/server/{0620-Add-support-for-hex-color-codes-in-console.patch => 0622-Add-support-for-hex-color-codes-in-console.patch} (100%) rename patches/server/{0621-Expose-Tracked-Players.patch => 0623-Expose-Tracked-Players.patch} (100%) rename patches/server/{0622-Remove-streams-from-SensorNearest.patch => 0624-Remove-streams-from-SensorNearest.patch} (100%) rename patches/server/{0623-MC-29274-Fix-Wither-hostility-towards-players.patch => 0625-MC-29274-Fix-Wither-hostility-towards-players.patch} (100%) rename patches/server/{0624-Throw-proper-exception-on-empty-JsonList-file.patch => 0626-Throw-proper-exception-on-empty-JsonList-file.patch} (100%) rename patches/server/{0625-Improve-ServerGUI.patch => 0627-Improve-ServerGUI.patch} (100%) rename patches/server/{0626-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch => 0628-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch} (100%) rename patches/server/{0627-fix-converting-txt-to-json-file.patch => 0629-fix-converting-txt-to-json-file.patch} (100%) rename patches/server/{0628-Add-worldborder-events.patch => 0630-Add-worldborder-events.patch} (100%) rename patches/server/{0629-added-PlayerNameEntityEvent.patch => 0631-added-PlayerNameEntityEvent.patch} (100%) rename patches/server/{0630-Prevent-grindstones-from-overstacking-items.patch => 0632-Prevent-grindstones-from-overstacking-items.patch} (100%) rename patches/server/{0631-Add-recipe-to-cook-events.patch => 0633-Add-recipe-to-cook-events.patch} (100%) rename patches/server/{0632-Add-Block-isValidTool.patch => 0634-Add-Block-isValidTool.patch} (100%) rename patches/server/{0633-Allow-using-signs-inside-spawn-protection.patch => 0635-Allow-using-signs-inside-spawn-protection.patch} (100%) rename patches/server/{0634-Implement-Keyed-on-World.patch => 0636-Implement-Keyed-on-World.patch} (100%) rename patches/server/{0635-Add-fast-alternative-constructor-for-Rotations.patch => 0637-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/server/{0636-Item-Rarity-API.patch => 0638-Item-Rarity-API.patch} (100%) rename patches/server/{0637-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch => 0639-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch} (100%) rename patches/server/{0638-copy-TESign-isEditable-from-snapshots.patch => 0640-copy-TESign-isEditable-from-snapshots.patch} (100%) rename patches/server/{0639-Drop-carried-item-when-player-has-disconnected.patch => 0641-Drop-carried-item-when-player-has-disconnected.patch} (100%) rename patches/server/{0640-forced-whitelist-use-configurable-kick-message.patch => 0642-forced-whitelist-use-configurable-kick-message.patch} (100%) rename patches/server/{0641-Don-t-ignore-result-of-PlayerEditBookEvent.patch => 0643-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (100%) rename patches/server/{0642-fix-cancelling-block-falling-causing-client-desync.patch => 0644-fix-cancelling-block-falling-causing-client-desync.patch} (100%) rename patches/server/{0643-Expose-protocol-version.patch => 0645-Expose-protocol-version.patch} (100%) rename patches/server/{0644-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch => 0646-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch} (100%) rename patches/server/{0645-Enhance-console-tab-completions-for-brigadier-comman.patch => 0647-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/server/{0646-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => 0648-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (100%) rename patches/server/{0647-Add-bypass-host-check.patch => 0649-Add-bypass-host-check.patch} (100%) rename patches/server/{0648-Set-area-affect-cloud-rotation.patch => 0650-Set-area-affect-cloud-rotation.patch} (100%) rename patches/server/{0649-add-isDeeplySleeping-to-HumanEntity.patch => 0651-add-isDeeplySleeping-to-HumanEntity.patch} (100%) rename patches/server/{0650-Fix-duplicating-give-items-on-item-drop-cancel.patch => 0652-Fix-duplicating-give-items-on-item-drop-cancel.patch} (100%) rename patches/server/{0651-add-consumeFuel-to-FurnaceBurnEvent.patch => 0653-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/server/{0652-add-get-set-drop-chance-to-EntityEquipment.patch => 0654-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/server/{0653-fix-PigZombieAngerEvent-cancellation.patch => 0655-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/server/{0654-Fix-checkReach-check-for-Shulker-boxes.patch => 0656-Fix-checkReach-check-for-Shulker-boxes.patch} (100%) rename patches/server/{0655-fix-PlayerItemHeldEvent-firing-twice.patch => 0657-fix-PlayerItemHeldEvent-firing-twice.patch} (100%) rename patches/server/{0656-Added-PlayerDeepSleepEvent.patch => 0658-Added-PlayerDeepSleepEvent.patch} (100%) rename patches/server/{0657-More-World-API.patch => 0659-More-World-API.patch} (100%) rename patches/server/{0658-Added-PlayerBedFailEnterEvent.patch => 0660-Added-PlayerBedFailEnterEvent.patch} (100%) rename patches/server/{0659-Implement-methods-to-convert-between-Component-and-B.patch => 0661-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/server/{0660-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch => 0662-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch} (100%) rename patches/server/{0661-Introduce-beacon-activation-deactivation-events.patch => 0663-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/server/{0662-add-RespawnFlags-to-PlayerRespawnEvent.patch => 0664-add-RespawnFlags-to-PlayerRespawnEvent.patch} (100%) rename patches/server/{0663-Add-Channel-initialization-listeners.patch => 0665-Add-Channel-initialization-listeners.patch} (100%) rename patches/server/{0664-Send-empty-commands-if-tab-completion-is-disabled.patch => 0666-Send-empty-commands-if-tab-completion-is-disabled.patch} (100%) rename patches/server/{0665-Add-more-WanderingTrader-API.patch => 0667-Add-more-WanderingTrader-API.patch} (100%) rename patches/server/{0666-Add-EntityBlockStorage-clearEntities.patch => 0668-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/server/{0667-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0669-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/server/{0668-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => 0670-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0669-Inventory-close.patch => 0671-Inventory-close.patch} (100%) rename patches/server/{0670-call-PortalCreateEvent-players-and-end-platform.patch => 0672-call-PortalCreateEvent-players-and-end-platform.patch} (100%) rename patches/server/{0671-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0673-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (100%) rename patches/server/{0672-Fix-CraftPotionBrewer-cache.patch => 0674-Fix-CraftPotionBrewer-cache.patch} (100%) rename patches/server/{0673-Add-basic-Datapack-API.patch => 0675-Add-basic-Datapack-API.patch} (100%) rename patches/server/{0674-Add-environment-variable-to-disable-server-gui.patch => 0676-Add-environment-variable-to-disable-server-gui.patch} (100%) rename patches/server/{0675-additions-to-PlayerGameModeChangeEvent.patch => 0677-additions-to-PlayerGameModeChangeEvent.patch} (100%) rename patches/{removed/1.17/0676-Clear-SyncLoadInfo.patch => server/0678-Clear-SyncLoadInfo.patch} (90%) rename patches/server/{0676-ItemStack-repair-check-API.patch => 0679-ItemStack-repair-check-API.patch} (100%) rename patches/server/{0677-More-Enchantment-API.patch => 0680-More-Enchantment-API.patch} (100%) rename patches/server/{0678-Add-command-line-option-to-load-extra-plugin-jars-no.patch => 0681-Add-command-line-option-to-load-extra-plugin-jars-no.patch} (100%) rename patches/server/{0679-Fix-and-optimise-world-force-upgrading.patch => 0682-Fix-and-optimise-world-force-upgrading.patch} (100%) rename patches/server/{0680-Add-Mob-lookAt-API.patch => 0683-Add-Mob-lookAt-API.patch} (100%) rename patches/server/{0681-Add-Unix-domain-socket-support.patch => 0684-Add-Unix-domain-socket-support.patch} (100%) rename patches/server/{0682-Add-EntityInsideBlockEvent.patch => 0685-Add-EntityInsideBlockEvent.patch} (100%) rename patches/server/{0683-Attributes-API-for-item-defaults.patch => 0686-Attributes-API-for-item-defaults.patch} (100%) rename patches/server/{0684-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch => 0687-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch} (100%) rename patches/server/{0685-Add-cause-to-Weather-ThunderChangeEvents.patch => 0688-Add-cause-to-Weather-ThunderChangeEvents.patch} (100%) rename patches/server/{0686-More-Lidded-Block-API.patch => 0689-More-Lidded-Block-API.patch} (100%) rename patches/server/{0687-Limit-item-frame-cursors-on-maps.patch => 0690-Limit-item-frame-cursors-on-maps.patch} (92%) rename patches/server/{0688-Add-PufferFishStateChangeEvent.patch => 0691-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/server/{0689-Add-PlayerKickEvent-causes.patch => 0692-Add-PlayerKickEvent-causes.patch} (100%) rename patches/server/{0690-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => 0693-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/server/{0691-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch => 0694-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch} (100%) rename patches/server/{0692-Add-option-to-fix-items-merging-through-walls.patch => 0695-Add-option-to-fix-items-merging-through-walls.patch} (100%) rename patches/server/{0693-Add-BellRevealRaiderEvent.patch => 0696-Add-BellRevealRaiderEvent.patch} (100%) rename patches/server/{0694-Fix-invulnerable-end-crystals.patch => 0697-Fix-invulnerable-end-crystals.patch} (100%) rename patches/server/{0695-Add-ElderGuardianAppearanceEvent.patch => 0698-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/server/{0696-Reset-villager-inventory-on-cancelled-pickup-event.patch => 0699-Reset-villager-inventory-on-cancelled-pickup-event.patch} (100%) rename patches/server/{0697-Fix-dangerous-end-portal-logic.patch => 0700-Fix-dangerous-end-portal-logic.patch} (100%) rename patches/server/{0698-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0701-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (100%) rename patches/server/{0699-Make-item-validations-configurable.patch => 0702-Make-item-validations-configurable.patch} (100%) rename patches/server/{0700-Add-more-line-of-sight-methods.patch => 0703-Add-more-line-of-sight-methods.patch} (100%) rename patches/server/{0701-add-per-world-spawn-limits.patch => 0704-add-per-world-spawn-limits.patch} (100%) rename patches/server/{0702-Fix-PotionSplashEvent-for-water-splash-potions.patch => 0705-Fix-PotionSplashEvent-for-water-splash-potions.patch} (100%) rename patches/server/{0703-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch => 0706-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch} (100%) diff --git a/patches/removed/1.17/0528-Fix-Concurrency-issue-in-WeightedList.patch b/patches/removed/1.17/0528-Fix-Concurrency-issue-in-WeightedList.patch deleted file mode 100644 index 684716359..000000000 --- a/patches/removed/1.17/0528-Fix-Concurrency-issue-in-WeightedList.patch +++ /dev/null @@ -1,153 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Mon, 6 Jul 2020 18:36:41 -0400 -Subject: [PATCH] Fix Concurrency issue in WeightedList -1.17 Update: Looks like whatever this patch is trying to fix might be already fixed upstream, needs to be investigated -if multiple threads from worldgen sort at same time, it will crash. -So make a copy of the list for sorting purposes. - -diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java -index 0a65e442ddc31c06f3bb0ff5aa152daee7a210af..a81ad258b39b7472312ab1bedeeacaf26ffae4f7 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java -+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java -@@ -17,7 +17,7 @@ public class GateBehavior extends Behavior { - private final Set> exitErasedMemories; - private final GateBehavior.OrderPolicy orderPolicy; - private final GateBehavior.RunningPolicy runningPolicy; -- private final WeightedList> behaviors = new WeightedList<>(); -+ private final WeightedList> behaviors = new WeightedList<>(false); // Paper - don't use a clone - - public GateBehavior(Map, MemoryStatus> requiredMemoryState, Set> memoriesToForgetWhenStopped, GateBehavior.OrderPolicy order, GateBehavior.RunningPolicy runMode, List, Integer>> tasks) { - super(requiredMemoryState); -@@ -65,10 +65,9 @@ public class GateBehavior extends Behavior { - }).forEach((behavior) -> { - behavior.g(world, entity, time); - }); -- Set set = this.exitErasedMemories; - Brain behaviorcontroller = entity.getBrain(); - -- set.forEach(behaviorcontroller::removeMemory); -+ this.exitErasedMemories.forEach(behaviorcontroller::eraseMemory); // Paper - decomp fix - } - - @Override -@@ -111,11 +110,11 @@ public class GateBehavior extends Behavior { - static enum OrderPolicy { - - ORDERED((weightedlist) -> { -- }), SHUFFLED(WeightedList::a); -+ }), SHUFFLED(WeightedList::shuffle); - - private final Consumer> consumer; - -- private OrderPolicy(Consumer consumer) { -+ private OrderPolicy(Consumer> consumer) { // Paper - decomp fix - this.consumer = consumer; - } - -diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/WeightedList.java b/src/main/java/net/minecraft/world/entity/ai/behavior/WeightedList.java -index e4c1c58e9a9c744c7ebb9948a27766b84a081b9e..85df30ef7c03c2f8ae741a8cac8bf601490d2539 100644 ---- a/src/main/java/net/minecraft/world/entity/ai/behavior/WeightedList.java -+++ b/src/main/java/net/minecraft/world/entity/ai/behavior/WeightedList.java -@@ -6,7 +6,7 @@ import com.mojang.serialization.Codec; - import com.mojang.serialization.DataResult; - import com.mojang.serialization.Dynamic; - import com.mojang.serialization.DynamicOps; --import com.mojang.serialization.OptionalDynamic; -+ - import java.util.Comparator; - import java.util.List; - import java.util.Random; -@@ -14,26 +14,32 @@ import java.util.stream.Stream; - - public class WeightedList { - -- protected final List> entries; -+ protected final List> list; // Paper - decompile conflict - private final Random random; -+ private final boolean isUnsafe; // Paper - -- public WeightedList() { -- this(Lists.newArrayList()); -+ // Paper start - add useClone option -+ public WeightedList() { this(true); } -+ public WeightedList(boolean isUnsafe) { -+ this(Lists.newArrayList(), isUnsafe); - } - -- private WeightedList(List> entries) { -+ private WeightedList(List> entries) { this(entries, true); } -+ private WeightedList(List> list, boolean isUnsafe) { -+ this.isUnsafe = isUnsafe; -+ // Paper end - this.random = new Random(); -- this.entries = Lists.newArrayList(entries); -+ this.list = Lists.newArrayList(list); // Paper - decompile conflict - } - - public static Codec> codec(Codec codec) { -- return WeightedList.entries.a(codec).listOf().xmap(WeightedList::new, (weightedlist) -> { -- return weightedlist.a; -+ return WeightedList.WeightedEntry.codec(codec).listOf().xmap(WeightedList::new, (weightedlist) -> { // Paper - decompile conflict -+ return weightedlist.list; // Paper - decompile conflict - }); - } - - public WeightedList add(U item, int weight) { -- this.entries.add(new WeightedList.WeightedEntry<>(item, weight)); -+ this.list.add(new WeightedList.WeightedEntry<>(item, weight)); // Paper - decompile conflict - return this; - } - -@@ -42,21 +48,20 @@ public class WeightedList { - } - - public WeightedList shuffle(Random random) { -- this.entries.forEach((weightedlist_a) -> { -- weightedlist_a.setRandom(random.nextFloat()); -- }); -- this.entries.sort(Comparator.comparingDouble((object) -> { -- return ((WeightedList.WeightedEntry) object).getRandWeight(); -- })); -- return this; -+ // Paper start - make concurrent safe, work off a clone of the list -+ List> list = isUnsafe ? new java.util.ArrayList>(this.list) : this.list; -+ list.forEach((weightedlist_a) -> weightedlist_a.setRandom(random.nextFloat())); -+ list.sort(Comparator.comparingDouble(WeightedEntry::getRandWeight)); -+ return isUnsafe ? new WeightedList<>(list, isUnsafe) : this; -+ // Paper end - } - - public boolean isEmpty() { -- return this.entries.isEmpty(); -+ return this.list.isEmpty(); // Paper - decompile conflict - } - - public Stream stream() { -- return this.entries.stream().map(WeightedList.entries::a); -+ return this.list.stream().map(WeightedList.WeightedEntry::getData); // Paper - decompile conflict - } - - public U getOne(Random random) { -@@ -64,7 +69,7 @@ public class WeightedList { - } - - public String toString() { -- return "WeightedList[" + this.entries + "]"; -+ return "WeightedList[" + this.list + "]"; // Paper - decompile conflict - } - - public static class WeightedEntry { -@@ -98,11 +103,7 @@ public class WeightedList { - return new Codec>() { - public DataResult, T>> decode(DynamicOps dynamicops, T t0) { - Dynamic dynamic = new Dynamic(dynamicops, t0); -- OptionalDynamic optionaldynamic = dynamic.get("data"); -- Codec codec1 = codec; -- -- codec.getClass(); -- return optionaldynamic.flatMap(codec1::parse).map((object) -> { -+ return dynamic.get("data").flatMap(codec::parse).map((object) -> { // Paper - decompile error - return new WeightedList.WeightedEntry<>(object, dynamic.get("weight").asInt(1)); - }).map((weightedlist_a) -> { - return Pair.of(weightedlist_a, dynamicops.empty()); diff --git a/patches/removed/1.17/0647-Entity-load-save-limit-per-chunk.patch b/patches/removed/1.17/0647-Entity-load-save-limit-per-chunk.patch index 6ee87e0f5..1a5c3c2a1 100644 --- a/patches/removed/1.17/0647-Entity-load-save-limit-per-chunk.patch +++ b/patches/removed/1.17/0647-Entity-load-save-limit-per-chunk.patch @@ -8,7 +8,8 @@ to a chunk. The default values of -1 disable the limit. Although defaults are only included for certain entites, this allows setting limits for any entity type. -1.17: entities not in chunks anymore +1.17: looks like tracking the count on should work fine just putting it in the EntityType#loadEntitiesRecursive, but +the tracking count on save needs some more work to implement. diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java index 7ebc85264a2cbfb601dfe5472b561cac1a7cf8bf..486e5438254348db68017228af131cba7defd637 100644 diff --git a/patches/server/0040-Use-UserCache-for-player-heads.patch b/patches/server/0040-Use-UserCache-for-player-heads.patch index 3be79b349..e13ca0bfd 100644 --- a/patches/server/0040-Use-UserCache-for-player-heads.patch +++ b/patches/server/0040-Use-UserCache-for-player-heads.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 354dcb1ddf74f39e367d50a8b8e2beeb9b2f9d02..b19d50bbe6c944ff66230ac013178bd036a438c8 100644 +index 6432f668f72c0543283b5a1439d01da81ff5b981..9405812b8c308d70de1e26ba55500301b24ecc3c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -166,7 +166,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -168,7 +168,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { this.setProfile(null); } else { diff --git a/patches/server/0174-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0174-Add-setPlayerProfile-API-for-Skulls.patch index 8c638a6d9..04752f751 100644 --- a/patches/server/0174-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0174-Add-setPlayerProfile-API-for-Skulls.patch @@ -40,7 +40,7 @@ index 1879ae835c437883f76330d6e2707460273d02db..df0ba7ed56fc635a4aa30934d1990043 public BlockFace getRotation() { BlockData blockData = getBlockData(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 5e345224e698bd80133dc194385c033369a60a33..33994a050826d10d69f375f65ecce2b56116cca0 100644 +index 490df0dcfd0e1e0ab05943410493522f86444ef8..7cacc61fed0c610845c67894d1cc68e44f5e46fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -4,10 +4,8 @@ import com.google.common.collect.ImmutableMap.Builder; @@ -68,7 +68,7 @@ index 5e345224e698bd80133dc194385c033369a60a33..33994a050826d10d69f375f65ecce2b5 @DelegateDeserialization(SerializableMeta.class) class CraftMetaSkull extends CraftMetaItem implements SkullMeta { -@@ -149,6 +152,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -151,6 +154,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { return this.hasOwner() ? this.profile.getName() : null; } diff --git a/patches/server/0528-Fix-Concurrency-issue-in-WeightedList.patch b/patches/server/0528-Fix-Concurrency-issue-in-WeightedList.patch new file mode 100644 index 000000000..99a7a4b01 --- /dev/null +++ b/patches/server/0528-Fix-Concurrency-issue-in-WeightedList.patch @@ -0,0 +1,69 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Aikar +Date: Mon, 6 Jul 2020 18:36:41 -0400 +Subject: [PATCH] Fix Concurrency issue in WeightedList + +if multiple threads from worldgen sort at same time, it will crash. +So make a copy of the list for sorting purposes. + +diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java +index 893c37cc7e33f4baa98131afca45a258600ddc75..09998d160a6d79fdb5a5041a5d572649a1532e6a 100644 +--- a/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java ++++ b/src/main/java/net/minecraft/world/entity/ai/behavior/GateBehavior.java +@@ -16,7 +16,7 @@ public class GateBehavior extends Behavior { + private final Set> exitErasedMemories; + private final GateBehavior.OrderPolicy orderPolicy; + private final GateBehavior.RunningPolicy runningPolicy; +- private final ShufflingList> behaviors = new ShufflingList<>(); ++ private final ShufflingList> behaviors = new ShufflingList<>(false); // Paper - don't use a clone + + public GateBehavior(Map, MemoryStatus> requiredMemoryState, Set> memoriesToForgetWhenStopped, GateBehavior.OrderPolicy order, GateBehavior.RunningPolicy runMode, List, Integer>> tasks) { + super(requiredMemoryState); +diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java b/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java +index d4c9def80154c3e62a0b6928057062a0808f339f..4fa64b1e2004810906bb0b174436c8e687a75ada 100644 +--- a/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java ++++ b/src/main/java/net/minecraft/world/entity/ai/behavior/ShufflingList.java +@@ -14,12 +14,25 @@ import java.util.stream.Stream; + public class ShufflingList { + protected final List> entries; + private final Random random = new Random(); ++ private final boolean isUnsafe; // Paper + + public ShufflingList() { ++ // Paper start ++ this(true); ++ } ++ public ShufflingList(boolean isUnsafe) { ++ this.isUnsafe = isUnsafe; ++ // Paper end + this.entries = Lists.newArrayList(); + } + + private ShufflingList(List> list) { ++ // Paper start ++ this(list, true); ++ } ++ private ShufflingList(List> list, boolean isUnsafe) { ++ this.isUnsafe = isUnsafe; ++ // Paper end + this.entries = Lists.newArrayList(list); + } + +@@ -35,11 +48,12 @@ public class ShufflingList { + } + + public ShufflingList shuffle() { +- this.entries.forEach((entry) -> { +- entry.setRandom(this.random.nextFloat()); +- }); +- this.entries.sort(Comparator.comparingDouble(ShufflingList.WeightedEntry::getRandWeight)); +- return this; ++ // Paper start - make concurrent safe, work off a clone of the list ++ List> list = this.isUnsafe ? Lists.newArrayList(this.entries) : this.entries; ++ list.forEach(entry -> entry.setRandom(this.random.nextFloat())); ++ list.sort(Comparator.comparingDouble(ShufflingList.WeightedEntry::getRandWeight)); ++ return this.isUnsafe ? new ShufflingList<>(list, this.isUnsafe) : this; ++ // Paper end + } + + public Stream stream() { diff --git a/patches/server/0528-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0529-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/server/0528-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/server/0529-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0529-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0530-Fix-for-large-move-vectors-crashing-server.patch similarity index 100% rename from patches/server/0529-Fix-for-large-move-vectors-crashing-server.patch rename to patches/server/0530-Fix-for-large-move-vectors-crashing-server.patch diff --git a/patches/server/0530-Optimise-getType-calls.patch b/patches/server/0531-Optimise-getType-calls.patch similarity index 100% rename from patches/server/0530-Optimise-getType-calls.patch rename to patches/server/0531-Optimise-getType-calls.patch diff --git a/patches/server/0531-Villager-resetOffers.patch b/patches/server/0532-Villager-resetOffers.patch similarity index 100% rename from patches/server/0531-Villager-resetOffers.patch rename to patches/server/0532-Villager-resetOffers.patch diff --git a/patches/server/0532-Improve-inlinig-for-some-hot-IBlockData-methods.patch b/patches/server/0533-Improve-inlinig-for-some-hot-IBlockData-methods.patch similarity index 100% rename from patches/server/0532-Improve-inlinig-for-some-hot-IBlockData-methods.patch rename to patches/server/0533-Improve-inlinig-for-some-hot-IBlockData-methods.patch diff --git a/patches/server/0533-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0534-Retain-block-place-order-when-capturing-blockstates.patch similarity index 100% rename from patches/server/0533-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/server/0534-Retain-block-place-order-when-capturing-blockstates.patch diff --git a/patches/server/0534-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0535-Reduce-blockpos-allocation-from-pathfinding.patch similarity index 100% rename from patches/server/0534-Reduce-blockpos-allocation-from-pathfinding.patch rename to patches/server/0535-Reduce-blockpos-allocation-from-pathfinding.patch diff --git a/patches/server/0535-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0536-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/server/0535-Fix-item-locations-dropped-from-campfires.patch rename to patches/server/0536-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0536-Player-elytra-boost-API.patch b/patches/server/0537-Player-elytra-boost-API.patch similarity index 100% rename from patches/server/0536-Player-elytra-boost-API.patch rename to patches/server/0537-Player-elytra-boost-API.patch diff --git a/patches/server/0537-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0538-Fixed-TileEntityBell-memory-leak.patch similarity index 100% rename from patches/server/0537-Fixed-TileEntityBell-memory-leak.patch rename to patches/server/0538-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/server/0538-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0539-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/server/0538-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/server/0539-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0539-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0540-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/server/0539-Add-getOfflinePlayerIfCached-String.patch rename to patches/server/0540-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/server/0540-Add-ignore-discounts-API.patch b/patches/server/0541-Add-ignore-discounts-API.patch similarity index 100% rename from patches/server/0540-Add-ignore-discounts-API.patch rename to patches/server/0541-Add-ignore-discounts-API.patch diff --git a/patches/server/0541-Toggle-for-removing-existing-dragon.patch b/patches/server/0542-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/server/0541-Toggle-for-removing-existing-dragon.patch rename to patches/server/0542-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0542-Fix-client-lag-on-advancement-loading.patch b/patches/server/0543-Fix-client-lag-on-advancement-loading.patch similarity index 100% rename from patches/server/0542-Fix-client-lag-on-advancement-loading.patch rename to patches/server/0543-Fix-client-lag-on-advancement-loading.patch diff --git a/patches/server/0543-Item-no-age-no-player-pickup.patch b/patches/server/0544-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/server/0543-Item-no-age-no-player-pickup.patch rename to patches/server/0544-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0544-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0545-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/0544-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/0545-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/0545-Beacon-API-custom-effect-ranges.patch b/patches/server/0546-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/server/0545-Beacon-API-custom-effect-ranges.patch rename to patches/server/0546-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0546-Add-API-for-quit-reason.patch b/patches/server/0547-Add-API-for-quit-reason.patch similarity index 100% rename from patches/server/0546-Add-API-for-quit-reason.patch rename to patches/server/0547-Add-API-for-quit-reason.patch diff --git a/patches/server/0547-Seed-based-feature-search.patch b/patches/server/0548-Seed-based-feature-search.patch similarity index 100% rename from patches/server/0547-Seed-based-feature-search.patch rename to patches/server/0548-Seed-based-feature-search.patch diff --git a/patches/server/0548-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0549-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/server/0548-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/server/0549-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0549-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0550-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/server/0549-Significantly-improve-performance-of-the-end-generat.patch rename to patches/server/0550-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0550-Expose-world-spawn-angle.patch b/patches/server/0551-Expose-world-spawn-angle.patch similarity index 100% rename from patches/server/0550-Expose-world-spawn-angle.patch rename to patches/server/0551-Expose-world-spawn-angle.patch diff --git a/patches/server/0551-Add-Destroy-Speed-API.patch b/patches/server/0552-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/server/0551-Add-Destroy-Speed-API.patch rename to patches/server/0552-Add-Destroy-Speed-API.patch diff --git a/patches/server/0552-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0553-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 100% rename from patches/server/0552-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/server/0553-Fix-Player-spawnParticle-x-y-z-precision-loss.patch diff --git a/patches/server/0553-Add-LivingEntity-clearActiveItem.patch b/patches/server/0554-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/server/0553-Add-LivingEntity-clearActiveItem.patch rename to patches/server/0554-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/server/0554-Add-PlayerItemCooldownEvent.patch b/patches/server/0555-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/server/0554-Add-PlayerItemCooldownEvent.patch rename to patches/server/0555-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0555-More-lightning-API.patch b/patches/server/0556-More-lightning-API.patch similarity index 100% rename from patches/server/0555-More-lightning-API.patch rename to patches/server/0556-More-lightning-API.patch diff --git a/patches/server/0556-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0557-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 100% rename from patches/server/0556-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/server/0557-Climbing-should-not-bypass-cramming-gamerule.patch diff --git a/patches/server/0557-Added-missing-default-perms-for-commands.patch b/patches/server/0558-Added-missing-default-perms-for-commands.patch similarity index 100% rename from patches/server/0557-Added-missing-default-perms-for-commands.patch rename to patches/server/0558-Added-missing-default-perms-for-commands.patch diff --git a/patches/server/0558-Add-PlayerShearBlockEvent.patch b/patches/server/0559-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/server/0558-Add-PlayerShearBlockEvent.patch rename to patches/server/0559-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0559-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/server/0560-Set-spigots-verbose-world-setting-to-false-by-def.patch similarity index 100% rename from patches/server/0559-Set-spigots-verbose-world-setting-to-false-by-def.patch rename to patches/server/0560-Set-spigots-verbose-world-setting-to-false-by-def.patch diff --git a/patches/server/0560-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0561-Fix-curing-zombie-villager-discount-exploit.patch similarity index 100% rename from patches/server/0560-Fix-curing-zombie-villager-discount-exploit.patch rename to patches/server/0561-Fix-curing-zombie-villager-discount-exploit.patch diff --git a/patches/server/0561-Limit-recipe-packets.patch b/patches/server/0562-Limit-recipe-packets.patch similarity index 100% rename from patches/server/0561-Limit-recipe-packets.patch rename to patches/server/0562-Limit-recipe-packets.patch diff --git a/patches/server/0562-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0563-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/server/0562-Fix-CraftSound-backwards-compatibility.patch rename to patches/server/0563-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0563-MC-4-Fix-item-position-desync.patch b/patches/server/0564-MC-4-Fix-item-position-desync.patch similarity index 100% rename from patches/server/0563-MC-4-Fix-item-position-desync.patch rename to patches/server/0564-MC-4-Fix-item-position-desync.patch diff --git a/patches/server/0564-Player-Chunk-Load-Unload-Events.patch b/patches/server/0565-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/server/0564-Player-Chunk-Load-Unload-Events.patch rename to patches/server/0565-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/server/0565-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0566-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/server/0565-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/server/0566-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0566-Expose-LivingEntity-hurt-direction.patch b/patches/server/0567-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/server/0566-Expose-LivingEntity-hurt-direction.patch rename to patches/server/0567-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/server/0567-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0568-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/server/0567-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/server/0568-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/server/0568-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0569-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch similarity index 100% rename from patches/server/0568-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch rename to patches/server/0569-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/server/0569-added-PlayerTradeEvent.patch b/patches/server/0570-added-PlayerTradeEvent.patch similarity index 100% rename from patches/server/0569-added-PlayerTradeEvent.patch rename to patches/server/0570-added-PlayerTradeEvent.patch diff --git a/patches/server/0570-Implement-TargetHitEvent.patch b/patches/server/0571-Implement-TargetHitEvent.patch similarity index 100% rename from patches/server/0570-Implement-TargetHitEvent.patch rename to patches/server/0571-Implement-TargetHitEvent.patch diff --git a/patches/server/0571-Additional-Block-Material-API-s.patch b/patches/server/0572-Additional-Block-Material-API-s.patch similarity index 100% rename from patches/server/0571-Additional-Block-Material-API-s.patch rename to patches/server/0572-Additional-Block-Material-API-s.patch diff --git a/patches/server/0572-Fix-harming-potion-dupe.patch b/patches/server/0573-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/server/0572-Fix-harming-potion-dupe.patch rename to patches/server/0573-Fix-harming-potion-dupe.patch diff --git a/patches/server/0573-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0574-Implement-API-to-get-Material-from-Boats-and-Minecar.patch similarity index 100% rename from patches/server/0573-Implement-API-to-get-Material-from-Boats-and-Minecar.patch rename to patches/server/0574-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/server/0574-Cache-burn-durations.patch b/patches/server/0575-Cache-burn-durations.patch similarity index 100% rename from patches/server/0574-Cache-burn-durations.patch rename to patches/server/0575-Cache-burn-durations.patch diff --git a/patches/server/0575-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0576-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/server/0575-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/server/0576-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/removed/1.17/0577-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0577-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 69% rename from patches/removed/1.17/0577-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/server/0577-Fix-Not-a-string-Map-Conversion-spam.patch index 6decec5b6..53e0aa985 100644 --- a/patches/removed/1.17/0577-Fix-Not-a-string-Map-Conversion-spam.patch +++ b/patches/server/0577-Fix-Not-a-string-Map-Conversion-spam.patch @@ -2,18 +2,20 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Aikar Date: Thu, 8 Oct 2020 00:00:25 -0400 Subject: [PATCH] Fix "Not a string" Map Conversion spam -1.17 Update: See if this is still needed, might be fixed upstream + The maps did convert successfully, but had noisy logs due to Spigot implementing this logic incorrectly. This stops the spam by converting the old format to new before 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 7582c7cd4235d212a0cf66a4c59ce0cedaa360ad..e7b178127228dea5a17ba0fbd6bae148d70e8eb5 100644 +index 15c6f9d1c43fbedac70526a84a010be83b4cae86..e90cb274ae07a259b90ec2badf35980ba684c5b1 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 -@@ -12,6 +12,8 @@ import net.minecraft.core.BlockPos; +@@ -14,6 +14,8 @@ import net.minecraft.core.BlockPos; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.NbtOps; @@ -22,20 +24,20 @@ index 7582c7cd4235d212a0cf66a4c59ce0cedaa360ad..e7b178127228dea5a17ba0fbd6bae148 import net.minecraft.nbt.Tag; import net.minecraft.network.chat.Component; import net.minecraft.network.protocol.Packet; -@@ -94,7 +96,26 @@ public class MapItemSavedData extends SavedData { +@@ -104,7 +106,26 @@ public class MapItemSavedData extends SavedData { + } - @Override - public void load(CompoundTag tag) { -- DataResult> dataresult = DimensionType.parseLegacy(new Dynamic(NbtOps.INSTANCE, tag.get("dimension"))); // CraftBukkit - decompile error + public static MapItemSavedData load(CompoundTag nbt) { +- DataResult dataresult = DimensionType.parseLegacy(new Dynamic(NbtOps.INSTANCE, nbt.get("dimension"))); + // Paper start - fix "Not a string" spam -+ Tag dimension = tag.get("dimension"); ++ Tag dimension = nbt.get("dimension"); + if (dimension instanceof NumericTag && ((NumericTag) dimension).getAsInt() >= CraftWorld.CUSTOM_DIMENSION_OFFSET) { -+ long least = tag.getLong("UUIDLeast"); -+ long most = tag.getLong("UUIDMost"); ++ long least = nbt.getLong("UUIDLeast"); ++ long most = nbt.getLong("UUIDMost"); + + if (least != 0L && most != 0L) { -+ this.uniqueId = new UUID(most, least); -+ CraftWorld world = (CraftWorld) server.getWorld(this.uniqueId); ++ UUID uuid = new UUID(most, least); ++ CraftWorld world = (CraftWorld) Bukkit.getWorld(uuid); + if (world != null) { + dimension = StringTag.create("minecraft:" + world.getName().toLowerCase(java.util.Locale.ENGLISH)); + } else { @@ -49,4 +51,4 @@ index 7582c7cd4235d212a0cf66a4c59ce0cedaa360ad..e7b178127228dea5a17ba0fbd6bae148 + // Paper end - fix "Not a string" spam Logger logger = MapItemSavedData.LOGGER; - logger.getClass(); + Objects.requireNonNull(logger); diff --git a/patches/server/0576-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0578-Implement-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/server/0576-Implement-PlayerFlowerPotManipulateEvent.patch rename to patches/server/0578-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0577-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0579-Fix-interact-event-not-being-called-in-adventure.patch similarity index 100% rename from patches/server/0577-Fix-interact-event-not-being-called-in-adventure.patch rename to patches/server/0579-Fix-interact-event-not-being-called-in-adventure.patch diff --git a/patches/server/0578-Zombie-API-breaking-doors.patch b/patches/server/0580-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/server/0578-Zombie-API-breaking-doors.patch rename to patches/server/0580-Zombie-API-breaking-doors.patch diff --git a/patches/server/0579-Fix-nerfed-slime-when-splitting.patch b/patches/server/0581-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/server/0579-Fix-nerfed-slime-when-splitting.patch rename to patches/server/0581-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0580-Add-EntityLoadCrossbowEvent.patch b/patches/server/0582-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/server/0580-Add-EntityLoadCrossbowEvent.patch rename to patches/server/0582-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0581-Guardian-beam-workaround.patch b/patches/server/0583-Guardian-beam-workaround.patch similarity index 100% rename from patches/server/0581-Guardian-beam-workaround.patch rename to patches/server/0583-Guardian-beam-workaround.patch diff --git a/patches/server/0582-Added-WorldGameRuleChangeEvent.patch b/patches/server/0584-Added-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/server/0582-Added-WorldGameRuleChangeEvent.patch rename to patches/server/0584-Added-WorldGameRuleChangeEvent.patch diff --git a/patches/server/0583-Added-ServerResourcesReloadedEvent.patch b/patches/server/0585-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/server/0583-Added-ServerResourcesReloadedEvent.patch rename to patches/server/0585-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/server/0584-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0586-Added-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/server/0584-Added-world-settings-for-mobs-picking-up-loot.patch rename to patches/server/0586-Added-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0585-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0587-Implemented-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/server/0585-Implemented-BlockFailedDispenseEvent.patch rename to patches/server/0587-Implemented-BlockFailedDispenseEvent.patch diff --git a/patches/server/0586-Added-PlayerLecternPageChangeEvent.patch b/patches/server/0588-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/server/0586-Added-PlayerLecternPageChangeEvent.patch rename to patches/server/0588-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/server/0587-Added-PlayerLoomPatternSelectEvent.patch b/patches/server/0589-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/server/0587-Added-PlayerLoomPatternSelectEvent.patch rename to patches/server/0589-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/server/0588-Configurable-door-breaking-difficulty.patch b/patches/server/0590-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/server/0588-Configurable-door-breaking-difficulty.patch rename to patches/server/0590-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0589-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0591-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/server/0589-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0591-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0590-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0592-Implement-API-to-expose-exact-interaction-point.patch similarity index 100% rename from patches/server/0590-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0592-Implement-API-to-expose-exact-interaction-point.patch diff --git a/patches/server/0591-Remove-stale-POIs.patch b/patches/server/0593-Remove-stale-POIs.patch similarity index 100% rename from patches/server/0591-Remove-stale-POIs.patch rename to patches/server/0593-Remove-stale-POIs.patch diff --git a/patches/server/0592-Fix-villager-boat-exploit.patch b/patches/server/0594-Fix-villager-boat-exploit.patch similarity index 100% rename from patches/server/0592-Fix-villager-boat-exploit.patch rename to patches/server/0594-Fix-villager-boat-exploit.patch diff --git a/patches/server/0593-Add-sendOpLevel-API.patch b/patches/server/0595-Add-sendOpLevel-API.patch similarity index 100% rename from patches/server/0593-Add-sendOpLevel-API.patch rename to patches/server/0595-Add-sendOpLevel-API.patch diff --git a/patches/server/0594-Add-StructureLocateEvent.patch b/patches/server/0596-Add-StructureLocateEvent.patch similarity index 100% rename from patches/server/0594-Add-StructureLocateEvent.patch rename to patches/server/0596-Add-StructureLocateEvent.patch diff --git a/patches/server/0595-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0597-Collision-option-for-requiring-a-player-participant.patch similarity index 100% rename from patches/server/0595-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0597-Collision-option-for-requiring-a-player-participant.patch diff --git a/patches/server/0596-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0598-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 100% rename from patches/server/0596-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0598-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0597-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0599-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0597-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0599-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0598-Make-schedule-command-per-world.patch b/patches/server/0600-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0598-Make-schedule-command-per-world.patch rename to patches/server/0600-Make-schedule-command-per-world.patch diff --git a/patches/server/0599-Configurable-max-leash-distance.patch b/patches/server/0601-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0599-Configurable-max-leash-distance.patch rename to patches/server/0601-Configurable-max-leash-distance.patch diff --git a/patches/server/0600-Implement-BlockPreDispenseEvent.patch b/patches/server/0602-Implement-BlockPreDispenseEvent.patch similarity index 100% rename from patches/server/0600-Implement-BlockPreDispenseEvent.patch rename to patches/server/0602-Implement-BlockPreDispenseEvent.patch diff --git a/patches/server/0601-Added-Vanilla-Entity-Tags.patch b/patches/server/0603-Added-Vanilla-Entity-Tags.patch similarity index 100% rename from patches/server/0601-Added-Vanilla-Entity-Tags.patch rename to patches/server/0603-Added-Vanilla-Entity-Tags.patch diff --git a/patches/server/0602-added-Wither-API.patch b/patches/server/0604-added-Wither-API.patch similarity index 100% rename from patches/server/0602-added-Wither-API.patch rename to patches/server/0604-added-Wither-API.patch diff --git a/patches/server/0603-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0605-Added-firing-of-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/server/0603-Added-firing-of-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0605-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0604-Fix-console-spam-when-removing-chests-in-water.patch b/patches/server/0606-Fix-console-spam-when-removing-chests-in-water.patch similarity index 100% rename from patches/server/0604-Fix-console-spam-when-removing-chests-in-water.patch rename to patches/server/0606-Fix-console-spam-when-removing-chests-in-water.patch diff --git a/patches/server/0605-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0607-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0605-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0607-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0606-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0608-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/server/0606-Added-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0608-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0607-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0609-Add-dropLeash-variable-to-EntityUnleashEvent.patch similarity index 100% rename from patches/server/0607-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0609-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/server/0608-Skip-distance-map-update-when-spawning-disabled.patch b/patches/server/0610-Skip-distance-map-update-when-spawning-disabled.patch similarity index 100% rename from patches/server/0608-Skip-distance-map-update-when-spawning-disabled.patch rename to patches/server/0610-Skip-distance-map-update-when-spawning-disabled.patch diff --git a/patches/server/0609-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0611-Reset-shield-blocking-on-dimension-change.patch similarity index 100% rename from patches/server/0609-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0611-Reset-shield-blocking-on-dimension-change.patch diff --git a/patches/server/0610-add-DragonEggFormEvent.patch b/patches/server/0612-add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0610-add-DragonEggFormEvent.patch rename to patches/server/0612-add-DragonEggFormEvent.patch diff --git a/patches/server/0611-EntityMoveEvent.patch b/patches/server/0613-EntityMoveEvent.patch similarity index 100% rename from patches/server/0611-EntityMoveEvent.patch rename to patches/server/0613-EntityMoveEvent.patch diff --git a/patches/server/0612-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0614-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 100% rename from patches/server/0612-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0614-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/server/0613-Inline-shift-direction-fields.patch b/patches/server/0615-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0613-Inline-shift-direction-fields.patch rename to patches/server/0615-Inline-shift-direction-fields.patch diff --git a/patches/server/0614-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0616-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/server/0614-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0616-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/server/0615-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0617-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0615-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0617-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0616-living-entity-allow-attribute-registration.patch b/patches/server/0618-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/server/0616-living-entity-allow-attribute-registration.patch rename to patches/server/0618-living-entity-allow-attribute-registration.patch diff --git a/patches/server/0617-fix-dead-slime-setSize-invincibility.patch b/patches/server/0619-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0617-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0619-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0618-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0620-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/server/0618-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0620-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0619-misc-debugging-dumps.patch b/patches/server/0621-misc-debugging-dumps.patch similarity index 100% rename from patches/server/0619-misc-debugging-dumps.patch rename to patches/server/0621-misc-debugging-dumps.patch diff --git a/patches/server/0620-Add-support-for-hex-color-codes-in-console.patch b/patches/server/0622-Add-support-for-hex-color-codes-in-console.patch similarity index 100% rename from patches/server/0620-Add-support-for-hex-color-codes-in-console.patch rename to patches/server/0622-Add-support-for-hex-color-codes-in-console.patch diff --git a/patches/server/0621-Expose-Tracked-Players.patch b/patches/server/0623-Expose-Tracked-Players.patch similarity index 100% rename from patches/server/0621-Expose-Tracked-Players.patch rename to patches/server/0623-Expose-Tracked-Players.patch diff --git a/patches/server/0622-Remove-streams-from-SensorNearest.patch b/patches/server/0624-Remove-streams-from-SensorNearest.patch similarity index 100% rename from patches/server/0622-Remove-streams-from-SensorNearest.patch rename to patches/server/0624-Remove-streams-from-SensorNearest.patch diff --git a/patches/server/0623-MC-29274-Fix-Wither-hostility-towards-players.patch b/patches/server/0625-MC-29274-Fix-Wither-hostility-towards-players.patch similarity index 100% rename from patches/server/0623-MC-29274-Fix-Wither-hostility-towards-players.patch rename to patches/server/0625-MC-29274-Fix-Wither-hostility-towards-players.patch diff --git a/patches/server/0624-Throw-proper-exception-on-empty-JsonList-file.patch b/patches/server/0626-Throw-proper-exception-on-empty-JsonList-file.patch similarity index 100% rename from patches/server/0624-Throw-proper-exception-on-empty-JsonList-file.patch rename to patches/server/0626-Throw-proper-exception-on-empty-JsonList-file.patch diff --git a/patches/server/0625-Improve-ServerGUI.patch b/patches/server/0627-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0625-Improve-ServerGUI.patch rename to patches/server/0627-Improve-ServerGUI.patch diff --git a/patches/server/0626-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch b/patches/server/0628-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch similarity index 100% rename from patches/server/0626-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch rename to patches/server/0628-stop-firing-pressure-plate-EntityInteractEvent-for-i.patch diff --git a/patches/server/0627-fix-converting-txt-to-json-file.patch b/patches/server/0629-fix-converting-txt-to-json-file.patch similarity index 100% rename from patches/server/0627-fix-converting-txt-to-json-file.patch rename to patches/server/0629-fix-converting-txt-to-json-file.patch diff --git a/patches/server/0628-Add-worldborder-events.patch b/patches/server/0630-Add-worldborder-events.patch similarity index 100% rename from patches/server/0628-Add-worldborder-events.patch rename to patches/server/0630-Add-worldborder-events.patch diff --git a/patches/server/0629-added-PlayerNameEntityEvent.patch b/patches/server/0631-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0629-added-PlayerNameEntityEvent.patch rename to patches/server/0631-added-PlayerNameEntityEvent.patch diff --git a/patches/server/0630-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0632-Prevent-grindstones-from-overstacking-items.patch similarity index 100% rename from patches/server/0630-Prevent-grindstones-from-overstacking-items.patch rename to patches/server/0632-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/server/0631-Add-recipe-to-cook-events.patch b/patches/server/0633-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0631-Add-recipe-to-cook-events.patch rename to patches/server/0633-Add-recipe-to-cook-events.patch diff --git a/patches/server/0632-Add-Block-isValidTool.patch b/patches/server/0634-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0632-Add-Block-isValidTool.patch rename to patches/server/0634-Add-Block-isValidTool.patch diff --git a/patches/server/0633-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0635-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/server/0633-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0635-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/server/0634-Implement-Keyed-on-World.patch b/patches/server/0636-Implement-Keyed-on-World.patch similarity index 100% rename from patches/server/0634-Implement-Keyed-on-World.patch rename to patches/server/0636-Implement-Keyed-on-World.patch diff --git a/patches/server/0635-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0637-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0635-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0637-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0636-Item-Rarity-API.patch b/patches/server/0638-Item-Rarity-API.patch similarity index 100% rename from patches/server/0636-Item-Rarity-API.patch rename to patches/server/0638-Item-Rarity-API.patch diff --git a/patches/server/0637-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0639-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0637-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0639-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0638-copy-TESign-isEditable-from-snapshots.patch b/patches/server/0640-copy-TESign-isEditable-from-snapshots.patch similarity index 100% rename from patches/server/0638-copy-TESign-isEditable-from-snapshots.patch rename to patches/server/0640-copy-TESign-isEditable-from-snapshots.patch diff --git a/patches/server/0639-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0641-Drop-carried-item-when-player-has-disconnected.patch similarity index 100% rename from patches/server/0639-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0641-Drop-carried-item-when-player-has-disconnected.patch diff --git a/patches/server/0640-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0642-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0640-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0642-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0641-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0643-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/server/0641-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0643-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/server/0642-fix-cancelling-block-falling-causing-client-desync.patch b/patches/server/0644-fix-cancelling-block-falling-causing-client-desync.patch similarity index 100% rename from patches/server/0642-fix-cancelling-block-falling-causing-client-desync.patch rename to patches/server/0644-fix-cancelling-block-falling-causing-client-desync.patch diff --git a/patches/server/0643-Expose-protocol-version.patch b/patches/server/0645-Expose-protocol-version.patch similarity index 100% rename from patches/server/0643-Expose-protocol-version.patch rename to patches/server/0645-Expose-protocol-version.patch diff --git a/patches/server/0644-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch b/patches/server/0646-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch similarity index 100% rename from patches/server/0644-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch rename to patches/server/0646-Allow-for-Component-suggestion-tooltips-in-AsyncTabC.patch diff --git a/patches/server/0645-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0647-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0645-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0647-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0646-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0648-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/server/0646-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0648-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0647-Add-bypass-host-check.patch b/patches/server/0649-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0647-Add-bypass-host-check.patch rename to patches/server/0649-Add-bypass-host-check.patch diff --git a/patches/server/0648-Set-area-affect-cloud-rotation.patch b/patches/server/0650-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/server/0648-Set-area-affect-cloud-rotation.patch rename to patches/server/0650-Set-area-affect-cloud-rotation.patch diff --git a/patches/server/0649-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0651-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/server/0649-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0651-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/server/0650-Fix-duplicating-give-items-on-item-drop-cancel.patch b/patches/server/0652-Fix-duplicating-give-items-on-item-drop-cancel.patch similarity index 100% rename from patches/server/0650-Fix-duplicating-give-items-on-item-drop-cancel.patch rename to patches/server/0652-Fix-duplicating-give-items-on-item-drop-cancel.patch diff --git a/patches/server/0651-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0653-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0651-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0653-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0652-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0654-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0652-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0654-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0653-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0655-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0653-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0655-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0654-Fix-checkReach-check-for-Shulker-boxes.patch b/patches/server/0656-Fix-checkReach-check-for-Shulker-boxes.patch similarity index 100% rename from patches/server/0654-Fix-checkReach-check-for-Shulker-boxes.patch rename to patches/server/0656-Fix-checkReach-check-for-Shulker-boxes.patch diff --git a/patches/server/0655-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0657-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/server/0655-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0657-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/server/0656-Added-PlayerDeepSleepEvent.patch b/patches/server/0658-Added-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0656-Added-PlayerDeepSleepEvent.patch rename to patches/server/0658-Added-PlayerDeepSleepEvent.patch diff --git a/patches/server/0657-More-World-API.patch b/patches/server/0659-More-World-API.patch similarity index 100% rename from patches/server/0657-More-World-API.patch rename to patches/server/0659-More-World-API.patch diff --git a/patches/server/0658-Added-PlayerBedFailEnterEvent.patch b/patches/server/0660-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0658-Added-PlayerBedFailEnterEvent.patch rename to patches/server/0660-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0659-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0661-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0659-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0661-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0660-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0662-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch similarity index 100% rename from patches/server/0660-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch rename to patches/server/0662-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch diff --git a/patches/server/0661-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0663-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0661-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0663-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0662-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0664-add-RespawnFlags-to-PlayerRespawnEvent.patch similarity index 100% rename from patches/server/0662-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to patches/server/0664-add-RespawnFlags-to-PlayerRespawnEvent.patch diff --git a/patches/server/0663-Add-Channel-initialization-listeners.patch b/patches/server/0665-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0663-Add-Channel-initialization-listeners.patch rename to patches/server/0665-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0664-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0666-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0664-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0666-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0665-Add-more-WanderingTrader-API.patch b/patches/server/0667-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0665-Add-more-WanderingTrader-API.patch rename to patches/server/0667-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0666-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0668-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0666-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0668-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0667-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0669-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0667-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0669-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0668-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0670-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch similarity index 100% rename from patches/server/0668-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to patches/server/0670-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0669-Inventory-close.patch b/patches/server/0671-Inventory-close.patch similarity index 100% rename from patches/server/0669-Inventory-close.patch rename to patches/server/0671-Inventory-close.patch diff --git a/patches/server/0670-call-PortalCreateEvent-players-and-end-platform.patch b/patches/server/0672-call-PortalCreateEvent-players-and-end-platform.patch similarity index 100% rename from patches/server/0670-call-PortalCreateEvent-players-and-end-platform.patch rename to patches/server/0672-call-PortalCreateEvent-players-and-end-platform.patch diff --git a/patches/server/0671-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0673-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/server/0671-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0673-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/server/0672-Fix-CraftPotionBrewer-cache.patch b/patches/server/0674-Fix-CraftPotionBrewer-cache.patch similarity index 100% rename from patches/server/0672-Fix-CraftPotionBrewer-cache.patch rename to patches/server/0674-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/server/0673-Add-basic-Datapack-API.patch b/patches/server/0675-Add-basic-Datapack-API.patch similarity index 100% rename from patches/server/0673-Add-basic-Datapack-API.patch rename to patches/server/0675-Add-basic-Datapack-API.patch diff --git a/patches/server/0674-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0676-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0674-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0676-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0675-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0677-additions-to-PlayerGameModeChangeEvent.patch similarity index 100% rename from patches/server/0675-additions-to-PlayerGameModeChangeEvent.patch rename to patches/server/0677-additions-to-PlayerGameModeChangeEvent.patch diff --git a/patches/removed/1.17/0676-Clear-SyncLoadInfo.patch b/patches/server/0678-Clear-SyncLoadInfo.patch similarity index 90% rename from patches/removed/1.17/0676-Clear-SyncLoadInfo.patch rename to patches/server/0678-Clear-SyncLoadInfo.patch index 14947b513..18dc64939 100644 --- a/patches/removed/1.17/0676-Clear-SyncLoadInfo.patch +++ b/patches/server/0678-Clear-SyncLoadInfo.patch @@ -5,13 +5,11 @@ Subject: [PATCH] Clear SyncLoadInfo This patch merely adds the extra argument "clear" after /paper syncloadinfo to clear currently stored syncload info. -Relies on other not-applied patches - diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java -index 6fad9329213e4e8a3ef9ce7fb568ad22484a11f3..a6b2b69a5a79fb8cea81e55018ee7f57c8820e56 100644 +index 8fdfcf001cf2ed6184d86ee033ede08fdf9aa5d6..ce332be5449d3129356e55841cc319b3d35adde4 100644 --- a/src/main/java/com/destroystokyo/paper/PaperCommand.java +++ b/src/main/java/com/destroystokyo/paper/PaperCommand.java -@@ -295,6 +295,13 @@ public class PaperCommand extends Command { +@@ -205,6 +205,13 @@ public class PaperCommand extends Command { sender.sendMessage(ChatColor.RED + "This command requires the server startup flag '-Dpaper.debug-sync-loads=true' to be set."); return; } diff --git a/patches/server/0676-ItemStack-repair-check-API.patch b/patches/server/0679-ItemStack-repair-check-API.patch similarity index 100% rename from patches/server/0676-ItemStack-repair-check-API.patch rename to patches/server/0679-ItemStack-repair-check-API.patch diff --git a/patches/server/0677-More-Enchantment-API.patch b/patches/server/0680-More-Enchantment-API.patch similarity index 100% rename from patches/server/0677-More-Enchantment-API.patch rename to patches/server/0680-More-Enchantment-API.patch diff --git a/patches/server/0678-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0681-Add-command-line-option-to-load-extra-plugin-jars-no.patch similarity index 100% rename from patches/server/0678-Add-command-line-option-to-load-extra-plugin-jars-no.patch rename to patches/server/0681-Add-command-line-option-to-load-extra-plugin-jars-no.patch diff --git a/patches/server/0679-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0682-Fix-and-optimise-world-force-upgrading.patch similarity index 100% rename from patches/server/0679-Fix-and-optimise-world-force-upgrading.patch rename to patches/server/0682-Fix-and-optimise-world-force-upgrading.patch diff --git a/patches/server/0680-Add-Mob-lookAt-API.patch b/patches/server/0683-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/server/0680-Add-Mob-lookAt-API.patch rename to patches/server/0683-Add-Mob-lookAt-API.patch diff --git a/patches/server/0681-Add-Unix-domain-socket-support.patch b/patches/server/0684-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/server/0681-Add-Unix-domain-socket-support.patch rename to patches/server/0684-Add-Unix-domain-socket-support.patch diff --git a/patches/server/0682-Add-EntityInsideBlockEvent.patch b/patches/server/0685-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/server/0682-Add-EntityInsideBlockEvent.patch rename to patches/server/0685-Add-EntityInsideBlockEvent.patch diff --git a/patches/server/0683-Attributes-API-for-item-defaults.patch b/patches/server/0686-Attributes-API-for-item-defaults.patch similarity index 100% rename from patches/server/0683-Attributes-API-for-item-defaults.patch rename to patches/server/0686-Attributes-API-for-item-defaults.patch diff --git a/patches/server/0684-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch b/patches/server/0687-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch similarity index 100% rename from patches/server/0684-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch rename to patches/server/0687-Have-CraftMerchantCustom-emit-PlayerPurchaseEvent.patch diff --git a/patches/server/0685-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0688-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/server/0685-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0688-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/server/0686-More-Lidded-Block-API.patch b/patches/server/0689-More-Lidded-Block-API.patch similarity index 100% rename from patches/server/0686-More-Lidded-Block-API.patch rename to patches/server/0689-More-Lidded-Block-API.patch diff --git a/patches/server/0687-Limit-item-frame-cursors-on-maps.patch b/patches/server/0690-Limit-item-frame-cursors-on-maps.patch similarity index 92% rename from patches/server/0687-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0690-Limit-item-frame-cursors-on-maps.patch index 6c7628bd6..588b0744f 100644 --- a/patches/server/0687-Limit-item-frame-cursors-on-maps.patch +++ b/patches/server/0690-Limit-item-frame-cursors-on-maps.patch @@ -20,10 +20,10 @@ index c0e4f56dc0d17322ab1ea8923f9f215e2eaa210f..1e55e6338a7e41c238170837fa03eeb3 } 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 15c6f9d1c43fbedac70526a84a010be83b4cae86..af477679cf8939a7b5e4abc12ca573357b8ea010 100644 +index e90cb274ae07a259b90ec2badf35980ba684c5b1..ec4c0ebc1067fea9833f93bbbada69446aeee670 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 -@@ -275,8 +275,12 @@ public class MapItemSavedData extends SavedData { +@@ -296,8 +296,12 @@ public class MapItemSavedData extends SavedData { MapFrame worldmapframe1 = new MapFrame(blockposition, entityitemframe.getDirection().get2DDataValue() * 90, entityitemframe.getId()); diff --git a/patches/server/0688-Add-PufferFishStateChangeEvent.patch b/patches/server/0691-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/server/0688-Add-PufferFishStateChangeEvent.patch rename to patches/server/0691-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0689-Add-PlayerKickEvent-causes.patch b/patches/server/0692-Add-PlayerKickEvent-causes.patch similarity index 100% rename from patches/server/0689-Add-PlayerKickEvent-causes.patch rename to patches/server/0692-Add-PlayerKickEvent-causes.patch diff --git a/patches/server/0690-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0693-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/server/0690-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0693-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0691-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch b/patches/server/0694-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch similarity index 100% rename from patches/server/0691-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch rename to patches/server/0694-Synchronize-PalettedContainer-instead-of-ReentrantLo.patch diff --git a/patches/server/0692-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0695-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/server/0692-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0695-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0693-Add-BellRevealRaiderEvent.patch b/patches/server/0696-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/server/0693-Add-BellRevealRaiderEvent.patch rename to patches/server/0696-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0694-Fix-invulnerable-end-crystals.patch b/patches/server/0697-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/server/0694-Fix-invulnerable-end-crystals.patch rename to patches/server/0697-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0695-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0698-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/server/0695-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0698-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0696-Reset-villager-inventory-on-cancelled-pickup-event.patch b/patches/server/0699-Reset-villager-inventory-on-cancelled-pickup-event.patch similarity index 100% rename from patches/server/0696-Reset-villager-inventory-on-cancelled-pickup-event.patch rename to patches/server/0699-Reset-villager-inventory-on-cancelled-pickup-event.patch diff --git a/patches/server/0697-Fix-dangerous-end-portal-logic.patch b/patches/server/0700-Fix-dangerous-end-portal-logic.patch similarity index 100% rename from patches/server/0697-Fix-dangerous-end-portal-logic.patch rename to patches/server/0700-Fix-dangerous-end-portal-logic.patch diff --git a/patches/server/0698-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0701-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/server/0698-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0701-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0699-Make-item-validations-configurable.patch b/patches/server/0702-Make-item-validations-configurable.patch similarity index 100% rename from patches/server/0699-Make-item-validations-configurable.patch rename to patches/server/0702-Make-item-validations-configurable.patch diff --git a/patches/server/0700-Add-more-line-of-sight-methods.patch b/patches/server/0703-Add-more-line-of-sight-methods.patch similarity index 100% rename from patches/server/0700-Add-more-line-of-sight-methods.patch rename to patches/server/0703-Add-more-line-of-sight-methods.patch diff --git a/patches/server/0701-add-per-world-spawn-limits.patch b/patches/server/0704-add-per-world-spawn-limits.patch similarity index 100% rename from patches/server/0701-add-per-world-spawn-limits.patch rename to patches/server/0704-add-per-world-spawn-limits.patch diff --git a/patches/server/0702-Fix-PotionSplashEvent-for-water-splash-potions.patch b/patches/server/0705-Fix-PotionSplashEvent-for-water-splash-potions.patch similarity index 100% rename from patches/server/0702-Fix-PotionSplashEvent-for-water-splash-potions.patch rename to patches/server/0705-Fix-PotionSplashEvent-for-water-splash-potions.patch diff --git a/patches/server/0703-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch b/patches/server/0706-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch similarity index 100% rename from patches/server/0703-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch rename to patches/server/0706-Fix-incorrect-status-dataconverter-for-pre-1.13-chun.patch diff --git a/work/Bukkit b/work/Bukkit index ebb0e28d1..e9ce88b99 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit ebb0e28d11747aa0bb4bb39fad8979ccfaa925b6 +Subproject commit e9ce88b99c08332877866313784cd84e9d9b54fb diff --git a/work/CraftBukkit b/work/CraftBukkit index f992ce609..d7ef1e91f 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit f992ce6097f846ed5967fc797d98ae3e84ef1b10 +Subproject commit d7ef1e91fa6431aa649b4bfcdabdbbef8ba41267