diff options
author | Jake Potrebic <[email protected]> | 2023-06-12 16:51:45 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2023-06-12 16:51:45 -0700 |
commit | c287e921a96438964f32f3c4e394d6809e0d06fa (patch) | |
tree | fcc826670454d8a8f5547838414583ce5f1df02d | |
parent | b48e2e352e21c56d6a9e90bb8d9e548d3658a691 (diff) | |
download | Paper-c287e921a96438964f32f3c4e394d6809e0d06fa.tar.gz Paper-c287e921a96438964f32f3c4e394d6809e0d06fa.zip |
Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9301)1.20
-rw-r--r-- | patches/api/0005-Adventure.patch | 159 | ||||
-rw-r--r-- | patches/api/0010-Timings-v2.patch | 8 | ||||
-rw-r--r-- | patches/api/0013-Add-getTPS-method.patch | 8 | ||||
-rw-r--r-- | patches/api/0020-Expose-server-CommandMap.patch | 8 | ||||
-rw-r--r-- | patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch | 8 | ||||
-rw-r--r-- | patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch | 8 | ||||
-rw-r--r-- | patches/api/0043-Allow-Reloading-of-Command-Aliases.patch | 8 | ||||
-rw-r--r-- | patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch | 8 | ||||
-rw-r--r-- | patches/api/0055-Fix-upstream-javadocs.patch | 14 | ||||
-rw-r--r-- | patches/api/0059-Basic-PlayerProfile-API.patch | 8 | ||||
-rw-r--r-- | patches/api/0091-Player.setPlayerProfile-API.patch | 16 | ||||
-rw-r--r-- | patches/api/0092-getPlayerUniqueId-API.patch | 8 | ||||
-rw-r--r-- | patches/api/0160-Make-the-default-permission-message-configurable.patch | 8 | ||||
-rw-r--r-- | patches/api/0172-Fix-Spigot-annotation-mistakes.patch | 16 | ||||
-rw-r--r-- | patches/api/0176-Mob-Spawner-API-Enhancements.patch | 4 | ||||
-rw-r--r-- | patches/api/0180-Expose-the-internal-current-tick.patch | 8 | ||||
-rw-r--r-- | patches/api/0186-Add-tick-times-API.patch | 8 | ||||
-rw-r--r-- | patches/api/0187-Expose-MinecraftServer-isRunning.patch | 8 | ||||
-rw-r--r-- | patches/api/0195-Add-Mob-Goal-API.patch | 8 | ||||
-rw-r--r-- | patches/api/0207-Add-BellRingEvent.patch (renamed from patches/api/0208-Add-BellRingEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0207-Add-setMaxPlayers-API.patch | 48 | ||||
-rw-r--r-- | patches/api/0208-Add-moon-phase-API.patch (renamed from patches/api/0209-Add-moon-phase-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0209-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch) | 0 | ||||
-rw-r--r-- | patches/api/0210-Add-more-Evoker-API.patch (renamed from patches/api/0211-Add-more-Evoker-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0211-Add-methods-to-get-translation-keys.patch (renamed from patches/api/0212-Add-methods-to-get-translation-keys.patch) | 0 | ||||
-rw-r--r-- | patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch) | 0 | ||||
-rw-r--r-- | patches/api/0213-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch) | 0 | ||||
-rw-r--r-- | patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch) | 0 | ||||
-rw-r--r-- | patches/api/0215-Entity-isTicking.patch (renamed from patches/api/0216-Entity-isTicking.patch) | 0 | ||||
-rw-r--r-- | patches/api/0216-Villager-resetOffers.patch (renamed from patches/api/0217-Villager-resetOffers.patch) | 0 | ||||
-rw-r--r-- | patches/api/0217-Player-elytra-boost-API.patch (renamed from patches/api/0218-Player-elytra-boost-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0218-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/api/0219-Add-getOfflinePlayerIfCached-String.patch) | 8 | ||||
-rw-r--r-- | patches/api/0219-Add-ignore-discounts-API.patch (renamed from patches/api/0220-Add-ignore-discounts-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0220-Item-no-age-no-player-pickup.patch (renamed from patches/api/0221-Item-no-age-no-player-pickup.patch) | 0 | ||||
-rw-r--r-- | patches/api/0221-Beacon-API-custom-effect-ranges.patch (renamed from patches/api/0222-Beacon-API-custom-effect-ranges.patch) | 0 | ||||
-rw-r--r-- | patches/api/0222-Add-API-for-quit-reason.patch (renamed from patches/api/0223-Add-API-for-quit-reason.patch) | 0 | ||||
-rw-r--r-- | patches/api/0223-Add-Destroy-Speed-API.patch (renamed from patches/api/0224-Add-Destroy-Speed-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0224-Add-LivingEntity-clearActiveItem.patch (renamed from patches/api/0225-Add-LivingEntity-clearActiveItem.patch) | 0 | ||||
-rw-r--r-- | patches/api/0225-Add-PlayerItemCooldownEvent.patch (renamed from patches/api/0226-Add-PlayerItemCooldownEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0226-More-lightning-API.patch (renamed from patches/api/0227-More-lightning-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0227-Add-PlayerShearBlockEvent.patch (renamed from patches/api/0228-Add-PlayerShearBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0228-Player-Chunk-Load-Unload-Events.patch (renamed from patches/api/0229-Player-Chunk-Load-Unload-Events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0229-Expose-LivingEntity-hurt-direction.patch (renamed from patches/api/0230-Expose-LivingEntity-hurt-direction.patch) | 0 | ||||
-rw-r--r-- | patches/api/0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch) | 0 | ||||
-rw-r--r-- | patches/api/0231-Added-PlayerTradeEvent.patch (renamed from patches/api/0232-Added-PlayerTradeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0232-Add-TargetHitEvent-API.patch (renamed from patches/api/0233-Add-TargetHitEvent-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0233-Additional-Block-Material-API-s.patch (renamed from patches/api/0234-Additional-Block-Material-API-s.patch) | 0 | ||||
-rw-r--r-- | patches/api/0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch (renamed from patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch) | 0 | ||||
-rw-r--r-- | patches/api/0235-Add-PlayerFlowerPotManipulateEvent.patch (renamed from patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0236-Zombie-API-breaking-doors.patch (renamed from patches/api/0237-Zombie-API-breaking-doors.patch) | 0 | ||||
-rw-r--r-- | patches/api/0237-Add-EntityLoadCrossbowEvent.patch (renamed from patches/api/0238-Add-EntityLoadCrossbowEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0238-Added-WorldGameRuleChangeEvent.patch (renamed from patches/api/0239-Added-WorldGameRuleChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0239-Added-ServerResourcesReloadedEvent.patch (renamed from patches/api/0240-Added-ServerResourcesReloadedEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0240-Add-BlockFailedDispenseEvent.patch (renamed from patches/api/0241-Add-BlockFailedDispenseEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0241-Added-PlayerLecternPageChangeEvent.patch (renamed from patches/api/0242-Added-PlayerLecternPageChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch (renamed from patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch (renamed from patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch) | 0 | ||||
-rw-r--r-- | patches/api/0244-Add-sendOpLevel-API.patch (renamed from patches/api/0245-Add-sendOpLevel-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0245-Add-PaperRegistry.patch (renamed from patches/api/0246-Add-PaperRegistry.patch) | 0 | ||||
-rw-r--r-- | patches/api/0246-Add-StructuresLocateEvent.patch (renamed from patches/api/0247-Add-StructuresLocateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0247-Add-BlockPreDispenseEvent.patch (renamed from patches/api/0248-Add-BlockPreDispenseEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0248-Added-missing-vanilla-tags.patch (renamed from patches/api/0249-Added-missing-vanilla-tags.patch) | 0 | ||||
-rw-r--r-- | patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch (renamed from patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch (renamed from patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0252-add-DragonEggFormEvent.patch (renamed from patches/api/0253-add-DragonEggFormEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0253-EntityMoveEvent.patch (renamed from patches/api/0254-EntityMoveEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0254-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch) | 0 | ||||
-rw-r--r-- | patches/api/0256-living-entity-allow-attribute-registration.patch (renamed from patches/api/0257-living-entity-allow-attribute-registration.patch) | 0 | ||||
-rw-r--r-- | patches/api/0257-Add-missing-effects.patch (renamed from patches/api/0258-Add-missing-effects.patch) | 0 | ||||
-rw-r--r-- | patches/api/0258-Expose-Tracked-Players.patch (renamed from patches/api/0259-Expose-Tracked-Players.patch) | 0 | ||||
-rw-r--r-- | patches/api/0259-Cache-the-result-of-Material-isBlock.patch (renamed from patches/api/0260-Cache-the-result-of-Material-isBlock.patch) | 0 | ||||
-rw-r--r-- | patches/api/0260-Add-worldborder-events.patch (renamed from patches/api/0261-Add-worldborder-events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0261-added-PlayerNameEntityEvent.patch (renamed from patches/api/0262-added-PlayerNameEntityEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0262-Add-recipe-to-cook-events.patch (renamed from patches/api/0263-Add-recipe-to-cook-events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0263-Add-Block-isValidTool.patch (renamed from patches/api/0264-Add-Block-isValidTool.patch) | 0 | ||||
-rw-r--r-- | patches/api/0264-Expand-world-key-API.patch (renamed from patches/api/0265-Expand-world-key-API.patch) | 8 | ||||
-rw-r--r-- | patches/api/0265-Item-Rarity-API.patch (renamed from patches/api/0266-Item-Rarity-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0266-Expose-protocol-version.patch (renamed from patches/api/0267-Expose-protocol-version.patch) | 0 | ||||
-rw-r--r-- | patches/api/0267-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch) | 0 | ||||
-rw-r--r-- | patches/api/0268-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0269-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch) | 0 | ||||
-rw-r--r-- | patches/api/0270-Added-PlayerDeepSleepEvent.patch (renamed from patches/api/0271-Added-PlayerDeepSleepEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0271-More-World-API.patch (renamed from patches/api/0272-More-World-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0272-Added-PlayerBedFailEnterEvent.patch (renamed from patches/api/0273-Added-PlayerBedFailEnterEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0273-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/api/0274-Introduce-beacon-activation-deactivation-events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0274-PlayerMoveEvent-Improvements.patch (renamed from patches/api/0275-PlayerMoveEvent-Improvements.patch) | 0 | ||||
-rw-r--r-- | patches/api/0275-add-RespawnFlags-to-PlayerRespawnEvent.patch (renamed from patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0276-Add-more-WanderingTrader-API.patch (renamed from patches/api/0277-Add-more-WanderingTrader-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0277-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/api/0278-Add-EntityBlockStorage-clearEntities.patch) | 0 | ||||
-rw-r--r-- | patches/api/0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0280-Inventory-close.patch (renamed from patches/api/0281-Inventory-close.patch) | 0 | ||||
-rw-r--r-- | patches/api/0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch) | 0 | ||||
-rw-r--r-- | patches/api/0282-Add-basic-Datapack-API.patch (renamed from patches/api/0283-Add-basic-Datapack-API.patch) | 12 | ||||
-rw-r--r-- | patches/api/0283-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0284-ItemStack-repair-check-API.patch (renamed from patches/api/0285-ItemStack-repair-check-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0285-More-Enchantment-API.patch (renamed from patches/api/0286-More-Enchantment-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0286-Add-Mob-lookAt-API.patch (renamed from patches/api/0287-Add-Mob-lookAt-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0287-ItemStack-editMeta.patch (renamed from patches/api/0288-ItemStack-editMeta.patch) | 0 | ||||
-rw-r--r-- | patches/api/0288-Add-EntityInsideBlockEvent.patch (renamed from patches/api/0289-Add-EntityInsideBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0289-Attributes-API-for-item-defaults.patch (renamed from patches/api/0290-Attributes-API-for-item-defaults.patch) | 0 | ||||
-rw-r--r-- | patches/api/0290-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch) | 0 | ||||
-rw-r--r-- | patches/api/0291-More-Lidded-Block-API.patch (renamed from patches/api/0292-More-Lidded-Block-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0292-Add-PlayerKickEvent-causes.patch (renamed from patches/api/0293-Add-PlayerKickEvent-causes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0293-Add-PufferFishStateChangeEvent.patch (renamed from patches/api/0294-Add-PufferFishStateChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0294-Add-BellRevealRaiderEvent.patch (renamed from patches/api/0295-Add-BellRevealRaiderEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0295-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/api/0296-Add-ElderGuardianAppearanceEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0296-Add-more-line-of-sight-methods.patch (renamed from patches/api/0297-Add-more-line-of-sight-methods.patch) | 0 | ||||
-rw-r--r-- | patches/api/0297-Add-WaterBottleSplashEvent.patch (renamed from patches/api/0298-Add-WaterBottleSplashEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0298-Add-more-LimitedRegion-API.patch (renamed from patches/api/0299-Add-more-LimitedRegion-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0299-Missing-Entity-Behavior-API.patch (renamed from patches/api/0300-Missing-Entity-Behavior-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0300-Adds-PlayerArmSwingEvent.patch (renamed from patches/api/0301-Adds-PlayerArmSwingEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch (renamed from patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0302-fix-empty-array-elements-in-command-arguments.patch (renamed from patches/api/0303-fix-empty-array-elements-in-command-arguments.patch) | 0 | ||||
-rw-r--r-- | patches/api/0303-Stinger-API.patch (renamed from patches/api/0304-Stinger-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch) | 0 | ||||
-rw-r--r-- | patches/api/0305-Add-PlayerSetSpawnEvent.patch (renamed from patches/api/0306-Add-PlayerSetSpawnEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0306-Added-EntityDamageItemEvent.patch (renamed from patches/api/0307-Added-EntityDamageItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0307-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/api/0308-Make-EntityUnleashEvent-cancellable.patch) | 0 | ||||
-rw-r--r-- | patches/api/0308-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch) | 0 | ||||
-rw-r--r-- | patches/api/0309-Add-BlockBreakBlockEvent.patch (renamed from patches/api/0310-Add-BlockBreakBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0310-Add-helpers-for-left-right-click-to-Action.patch (renamed from patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch) | 0 | ||||
-rw-r--r-- | patches/api/0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0312-More-CommandBlock-API.patch (renamed from patches/api/0313-More-CommandBlock-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0313-Add-missing-team-sidebar-display-slots.patch (renamed from patches/api/0314-Add-missing-team-sidebar-display-slots.patch) | 0 | ||||
-rw-r--r-- | patches/api/0314-add-back-EntityPortalExitEvent.patch (renamed from patches/api/0315-add-back-EntityPortalExitEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0316-Get-entity-default-attributes.patch (renamed from patches/api/0317-Get-entity-default-attributes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0317-Left-handed-API.patch (renamed from patches/api/0318-Left-handed-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0318-Add-more-advancement-API.patch (renamed from patches/api/0319-Add-more-advancement-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0319-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0320-Add-critical-damage-API.patch (renamed from patches/api/0321-Add-critical-damage-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0321-Fix-issues-with-mob-conversion.patch (renamed from patches/api/0322-Fix-issues-with-mob-conversion.patch) | 0 | ||||
-rw-r--r-- | patches/api/0322-Add-isCollidable-methods-to-various-places.patch (renamed from patches/api/0323-Add-isCollidable-methods-to-various-places.patch) | 0 | ||||
-rw-r--r-- | patches/api/0323-Goat-ram-API.patch (renamed from patches/api/0324-Goat-ram-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0324-Add-API-for-resetting-a-single-score.patch (renamed from patches/api/0325-Add-API-for-resetting-a-single-score.patch) | 0 | ||||
-rw-r--r-- | patches/api/0325-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch) | 0 | ||||
-rw-r--r-- | patches/api/0326-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/api/0327-Add-PlayerItemFrameChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0327-Add-player-health-update-API.patch (renamed from patches/api/0328-Add-player-health-update-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch) | 8 | ||||
-rw-r--r-- | patches/api/0329-Add-more-Campfire-API.patch (renamed from patches/api/0330-Add-more-Campfire-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0330-Move-VehicleCollisionEvent-HandlerList-up.patch (renamed from patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch) | 0 | ||||
-rw-r--r-- | patches/api/0331-Improve-scoreboard-entries.patch (renamed from patches/api/0332-Improve-scoreboard-entries.patch) | 0 | ||||
-rw-r--r-- | patches/api/0332-Entity-powdered-snow-API.patch (renamed from patches/api/0333-Entity-powdered-snow-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0333-Add-API-for-item-entity-health.patch (renamed from patches/api/0334-Add-API-for-item-entity-health.patch) | 0 | ||||
-rw-r--r-- | patches/api/0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch) | 0 | ||||
-rw-r--r-- | patches/api/0335-Bucketable-API.patch (renamed from patches/api/0336-Bucketable-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0336-System-prop-for-default-config-comment-parsing.patch (renamed from patches/api/0337-System-prop-for-default-config-comment-parsing.patch) | 0 | ||||
-rw-r--r-- | patches/api/0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch) | 0 | ||||
-rw-r--r-- | patches/api/0338-Add-new-overload-to-PersistentDataContainer-has.patch (renamed from patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch) | 0 | ||||
-rw-r--r-- | patches/api/0339-Multiple-Entries-with-Scoreboards.patch (renamed from patches/api/0340-Multiple-Entries-with-Scoreboards.patch) | 0 | ||||
-rw-r--r-- | patches/api/0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0341-Warn-on-strange-EventHandler-return-types.patch (renamed from patches/api/0342-Warn-on-strange-EventHandler-return-types.patch) | 0 | ||||
-rw-r--r-- | patches/api/0342-Multi-Block-Change-API.patch (renamed from patches/api/0343-Multi-Block-Change-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0343-Fix-NotePlayEvent.patch (renamed from patches/api/0344-Fix-NotePlayEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0344-Freeze-Tick-Lock-API.patch (renamed from patches/api/0345-Freeze-Tick-Lock-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0345-Dolphin-API.patch (renamed from patches/api/0346-Dolphin-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0346-More-PotionEffectType-API.patch (renamed from patches/api/0347-More-PotionEffectType-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch) | 8 | ||||
-rw-r--r-- | patches/api/0348-Implement-regenerateChunk.patch (renamed from patches/api/0349-Implement-regenerateChunk.patch) | 0 | ||||
-rw-r--r-- | patches/api/0349-Add-GameEvent-tags.patch (renamed from patches/api/0350-Add-GameEvent-tags.patch) | 0 | ||||
-rw-r--r-- | patches/api/0350-Furnace-RecipesUsed-API.patch (renamed from patches/api/0351-Furnace-RecipesUsed-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0351-Configurable-sculk-sensor-listener-range.patch (renamed from patches/api/0352-Configurable-sculk-sensor-listener-range.patch) | 0 | ||||
-rw-r--r-- | patches/api/0352-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/api/0353-Add-missing-block-data-mins-and-maxes.patch) | 0 | ||||
-rw-r--r-- | patches/api/0353-Custom-Potion-Mixes.patch (renamed from patches/api/0354-Custom-Potion-Mixes.patch) | 8 | ||||
-rw-r--r-- | patches/api/0354-Expose-furnace-minecart-push-values.patch (renamed from patches/api/0355-Expose-furnace-minecart-push-values.patch) | 0 | ||||
-rw-r--r-- | patches/api/0355-More-Projectile-API.patch (renamed from patches/api/0356-More-Projectile-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0356-Add-getComputedBiome-API.patch (renamed from patches/api/0357-Add-getComputedBiome-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0357-Add-enchantWithLevels-API.patch (renamed from patches/api/0358-Add-enchantWithLevels-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0358-Add-TameableDeathMessageEvent.patch (renamed from patches/api/0359-Add-TameableDeathMessageEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0359-Allow-to-change-the-podium-of-the-EnderDragon.patch (renamed from patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch) | 0 | ||||
-rw-r--r-- | patches/api/0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0361-WorldCreator-keepSpawnLoaded.patch (renamed from patches/api/0362-WorldCreator-keepSpawnLoaded.patch) | 0 | ||||
-rw-r--r-- | patches/api/0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch) | 0 | ||||
-rw-r--r-- | patches/api/0363-Add-PlayerStopUsingItemEvent.patch (renamed from patches/api/0364-Add-PlayerStopUsingItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0364-FallingBlock-auto-expire-setting.patch (renamed from patches/api/0365-FallingBlock-auto-expire-setting.patch) | 0 | ||||
-rw-r--r-- | patches/api/0365-Keyed-Cat-Type.patch (renamed from patches/api/0366-Keyed-Cat-Type.patch) | 0 | ||||
-rw-r--r-- | patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch (renamed from patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch) | 12 | ||||
-rw-r--r-- | patches/api/0367-Add-WardenAngerChangeEvent.patch (renamed from patches/api/0368-Add-WardenAngerChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0368-Nameable-Banner-API.patch (renamed from patches/api/0369-Nameable-Banner-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0369-Add-Player-getFishHook.patch (renamed from patches/api/0370-Add-Player-getFishHook.patch) | 0 | ||||
-rw-r--r-- | patches/api/0370-More-Teleport-API.patch (renamed from patches/api/0371-More-Teleport-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0371-Add-EntityPortalReadyEvent.patch (renamed from patches/api/0372-Add-EntityPortalReadyEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0372-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0373-Collision-API.patch (renamed from patches/api/0374-Collision-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0374-Block-Ticking-API.patch (renamed from patches/api/0375-Block-Ticking-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0375-Add-NamespacedKey-biome-methods.patch (renamed from patches/api/0376-Add-NamespacedKey-biome-methods.patch) | 0 | ||||
-rw-r--r-- | patches/api/0376-Also-load-resources-from-LibraryLoader.patch (renamed from patches/api/0377-Also-load-resources-from-LibraryLoader.patch) | 0 | ||||
-rw-r--r-- | patches/api/0377-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch) | 0 | ||||
-rw-r--r-- | patches/api/0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch) | 0 | ||||
-rw-r--r-- | patches/api/0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch (renamed from patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch) | 0 | ||||
-rw-r--r-- | patches/api/0380-Add-getDrops-to-BlockState.patch (renamed from patches/api/0381-Add-getDrops-to-BlockState.patch) | 0 | ||||
-rw-r--r-- | patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0382-Elder-Guardian-appearance-API.patch (renamed from patches/api/0383-Elder-Guardian-appearance-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0383-Allow-changing-bed-s-occupied-property.patch (renamed from patches/api/0384-Allow-changing-bed-s-occupied-property.patch) | 0 | ||||
-rw-r--r-- | patches/api/0384-Add-EquipmentSlot-convenience-methods.patch (renamed from patches/api/0385-Add-EquipmentSlot-convenience-methods.patch) | 0 | ||||
-rw-r--r-- | patches/api/0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch (renamed from patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch) | 0 | ||||
-rw-r--r-- | patches/api/0386-Add-entity-knockback-API.patch (renamed from patches/api/0387-Add-entity-knockback-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0387-Added-EntityToggleSitEvent.patch (renamed from patches/api/0388-Added-EntityToggleSitEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0388-Add-Moving-Piston-API.patch (renamed from patches/api/0389-Add-Moving-Piston-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0389-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/api/0390-Add-PrePlayerAttackEntityEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0390-Add-Player-Warden-Warning-API.patch (renamed from patches/api/0391-Add-Player-Warden-Warning-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0391-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch) | 0 | ||||
-rw-r--r-- | patches/api/0392-Add-paper-dumplisteners-command.patch (renamed from patches/api/0393-Add-paper-dumplisteners-command.patch) | 0 | ||||
-rw-r--r-- | patches/api/0393-ItemStack-damage-API.patch (renamed from patches/api/0394-ItemStack-damage-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0394-Add-Tick-TemporalUnit.patch (renamed from patches/api/0395-Add-Tick-TemporalUnit.patch) | 0 | ||||
-rw-r--r-- | patches/api/0395-Friction-API.patch (renamed from patches/api/0396-Friction-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0396-Player-Entity-Tracking-Events.patch (renamed from patches/api/0397-Player-Entity-Tracking-Events.patch) | 0 | ||||
-rw-r--r-- | patches/api/0397-Add-missing-Fluid-type.patch (renamed from patches/api/0398-Add-missing-Fluid-type.patch) | 0 | ||||
-rw-r--r-- | patches/api/0398-fix-Instruments.patch (renamed from patches/api/0399-fix-Instruments.patch) | 0 | ||||
-rw-r--r-- | patches/api/0399-Add-BlockLockCheckEvent.patch (renamed from patches/api/0400-Add-BlockLockCheckEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0400-Add-Sneaking-API-for-Entities.patch (renamed from patches/api/0401-Add-Sneaking-API-for-Entities.patch) | 0 | ||||
-rw-r--r-- | patches/api/0401-Improve-PortalEvents.patch (renamed from patches/api/0402-Improve-PortalEvents.patch) | 0 | ||||
-rw-r--r-- | patches/api/0402-Add-exploded-block-state-to-BlockExplodeEvent.patch (renamed from patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0403-Flying-Fall-Damage-API.patch (renamed from patches/api/0404-Flying-Fall-Damage-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch) | 0 | ||||
-rw-r--r-- | patches/api/0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch (renamed from patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch) | 0 | ||||
-rw-r--r-- | patches/api/0406-Win-Screen-API.patch (renamed from patches/api/0407-Win-Screen-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0407-Add-Entity-Body-Yaw-API.patch (renamed from patches/api/0408-Add-Entity-Body-Yaw-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch (renamed from patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch) | 0 | ||||
-rw-r--r-- | patches/api/0409-Add-EntityFertilizeEggEvent.patch (renamed from patches/api/0410-Add-EntityFertilizeEggEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0411-Add-Shearable-API.patch (renamed from patches/api/0412-Add-Shearable-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0412-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch) | 0 | ||||
-rw-r--r-- | patches/api/0413-Add-Mob-Experience-reward-API.patch (renamed from patches/api/0414-Add-Mob-Experience-reward-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0414-Expand-PlayerItemMendEvent.patch (renamed from patches/api/0415-Expand-PlayerItemMendEvent.patch) | 0 | ||||
-rw-r--r-- | patches/api/0415-Add-transient-modifier-API.patch (renamed from patches/api/0416-Add-transient-modifier-API.patch) | 0 | ||||
-rw-r--r-- | patches/api/0416-Add-API-for-waxed-signs.patch (renamed from patches/api/0417-Add-API-for-waxed-signs.patch) | 0 | ||||
-rw-r--r-- | patches/api/0417-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch) | 0 | ||||
-rw-r--r-- | patches/server/0002-Remap-fixes.patch | 25 | ||||
-rw-r--r-- | patches/server/0005-Paper-config-files.patch | 4 | ||||
-rw-r--r-- | patches/server/0008-CB-fixes.patch | 6 | ||||
-rw-r--r-- | patches/server/0009-MC-Utils.patch | 26 | ||||
-rw-r--r-- | patches/server/0010-Adventure.patch | 240 | ||||
-rw-r--r-- | patches/server/0011-Paper-command.patch | 6 | ||||
-rw-r--r-- | patches/server/0013-Paper-Plugins.patch | 14 | ||||
-rw-r--r-- | patches/server/0014-Timings-v2.patch | 56 | ||||
-rw-r--r-- | patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch | 4 | ||||
-rw-r--r-- | patches/server/0019-Rewrite-chunk-system.patch | 60 | ||||
-rw-r--r-- | patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch | 8 | ||||
-rw-r--r-- | patches/server/0028-Implement-Paper-VersionChecker.patch | 4 | ||||
-rw-r--r-- | patches/server/0030-Player-affects-spawning-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0031-Further-improve-server-tick-loop.patch | 20 | ||||
-rw-r--r-- | patches/server/0032-Only-refresh-abilities-if-needed.patch | 8 | ||||
-rw-r--r-- | patches/server/0033-Entity-Origin-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0040-Optimize-explosions.patch | 4 | ||||
-rw-r--r-- | patches/server/0045-Implement-PlayerLocaleChangeEvent.patch | 6 | ||||
-rw-r--r-- | patches/server/0052-Ensure-commands-are-not-ran-async.patch | 20 | ||||
-rw-r--r-- | patches/server/0054-Expose-server-CommandMap.patch | 4 | ||||
-rw-r--r-- | patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch | 20 | ||||
-rw-r--r-- | patches/server/0056-Player-Tab-List-and-Title-APIs.patch | 4 | ||||
-rw-r--r-- | patches/server/0058-Add-velocity-warnings.patch | 6 | ||||
-rw-r--r-- | patches/server/0059-Configurable-inter-world-teleportation-safety.patch | 4 | ||||
-rw-r--r-- | patches/server/0060-Add-exception-reporting-event.patch | 20 | ||||
-rw-r--r-- | patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch | 6 | ||||
-rw-r--r-- | patches/server/0065-Complete-resource-pack-API.patch | 14 | ||||
-rw-r--r-- | patches/server/0066-Default-loading-permissions.yml-before-plugins.patch | 6 | ||||
-rw-r--r-- | patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch | 4 | ||||
-rw-r--r-- | patches/server/0068-Remove-Metadata-on-reload.patch | 4 | ||||
-rw-r--r-- | patches/server/0069-Handle-Item-Meta-Inconsistencies.patch | 46 | ||||
-rw-r--r-- | patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch | 4 | ||||
-rw-r--r-- | patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch | 4 | ||||
-rw-r--r-- | patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0088-Configurable-Player-Collision.patch | 6 | ||||
-rw-r--r-- | patches/server/0093-remove-null-possibility-for-getServer-singleton.patch | 6 | ||||
-rw-r--r-- | patches/server/0098-Async-GameProfileCache-saving.patch | 4 | ||||
-rw-r--r-- | patches/server/0105-Add-setting-for-proxy-online-mode-status.patch | 4 | ||||
-rw-r--r-- | patches/server/0107-Configurable-packet-in-spam-threshold.patch | 4 | ||||
-rw-r--r-- | patches/server/0109-Add-EntityZapEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0112-Allow-Reloading-of-Command-Aliases.patch | 4 | ||||
-rw-r--r-- | patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0114-Add-ProjectileCollideEvent.patch | 6 | ||||
-rw-r--r-- | patches/server/0120-String-based-Action-Bar-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0121-Properly-fix-item-duplication-bug.patch | 6 | ||||
-rw-r--r-- | patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch | 4 | ||||
-rw-r--r-- | patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch | 4 | ||||
-rw-r--r-- | patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch | 12 | ||||
-rw-r--r-- | patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch | 8 | ||||
-rw-r--r-- | patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch | 4 | ||||
-rw-r--r-- | patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch | 4 | ||||
-rw-r--r-- | patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch | 18 | ||||
-rw-r--r-- | patches/server/0140-Add-UnknownCommandEvent.patch | 6 | ||||
-rw-r--r-- | patches/server/0141-Basic-PlayerProfile-API.patch | 12 | ||||
-rw-r--r-- | patches/server/0142-Shoulder-Entities-Release-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0145-Entity-fromMobSpawner.patch | 16 | ||||
-rw-r--r-- | patches/server/0146-Improve-the-Saddle-API-for-Horses.patch | 8 | ||||
-rw-r--r-- | patches/server/0147-Implement-ensureServerConversions-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0148-Implement-getI18NDisplayName.patch | 4 | ||||
-rw-r--r-- | patches/server/0151-LivingEntity-setKiller.patch | 4 | ||||
-rw-r--r-- | patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch | 12 | ||||
-rw-r--r-- | patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch | 4 | ||||
-rw-r--r-- | patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch | 4 | ||||
-rw-r--r-- | patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch | 6 | ||||
-rw-r--r-- | patches/server/0167-AsyncTabCompleteEvent.patch | 6 | ||||
-rw-r--r-- | patches/server/0169-Ability-to-apply-mending-to-XP-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0175-Add-ArmorStand-Item-Meta.patch | 4 | ||||
-rw-r--r-- | patches/server/0177-Tameable-getOwnerUniqueId-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0180-Implement-extended-PaperServerListPingEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0182-Player.setPlayerProfile-API.patch | 16 | ||||
-rw-r--r-- | patches/server/0183-getPlayerUniqueId-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0184-Improved-Async-Task-Scheduler.patch | 40 | ||||
-rw-r--r-- | patches/server/0187-Flag-to-disable-the-channel-limit.patch | 6 | ||||
-rw-r--r-- | patches/server/0188-Add-openSign-method-to-HumanEntity.patch | 4 | ||||
-rw-r--r-- | patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch | 9 | ||||
-rw-r--r-- | patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch | 4 | ||||
-rw-r--r-- | patches/server/0201-ItemStack-getMaxItemUseDuration.patch | 6 | ||||
-rw-r--r-- | patches/server/0204-Fix-CraftEntity-hashCode.patch | 4 | ||||
-rw-r--r-- | patches/server/0207-Make-shield-blocking-delay-configurable.patch | 4 | ||||
-rw-r--r-- | patches/server/0211-Expand-Explosions-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0215-Implement-World.getEntity-UUID-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0216-InventoryCloseEvent-Reason-API.patch | 24 | ||||
-rw-r--r-- | patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch | 4 | ||||
-rw-r--r-- | patches/server/0226-Vanished-players-don-t-have-rights.patch | 4 | ||||
-rw-r--r-- | patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch | 4 | ||||
-rw-r--r-- | patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch | 10 | ||||
-rw-r--r-- | patches/server/0249-Inventory-removeItemAnySlot.patch | 8 | ||||
-rw-r--r-- | patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch | 4 | ||||
-rw-r--r-- | patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch | 4 | ||||
-rw-r--r-- | patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch | 4 | ||||
-rw-r--r-- | patches/server/0253-Improve-death-events.patch | 8 | ||||
-rw-r--r-- | patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 44 | ||||
-rw-r--r-- | patches/server/0265-Add-LivingEntity-getTargetEntity.patch | 4 | ||||
-rw-r--r-- | patches/server/0266-Add-sun-related-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0274-Reset-players-airTicks-on-respawn.patch | 4 | ||||
-rw-r--r-- | patches/server/0276-Improve-Server-Thread-Pool-and-Thread-Priorities.patch | 4 | ||||
-rw-r--r-- | patches/server/0277-Optimize-World-Time-Updates.patch | 4 | ||||
-rw-r--r-- | patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch | 4 | ||||
-rw-r--r-- | patches/server/0282-Make-the-default-permission-message-configurable.patch | 4 | ||||
-rw-r--r-- | patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch | 14 | ||||
-rw-r--r-- | patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch | 4 | ||||
-rw-r--r-- | patches/server/0294-Async-command-map-building.patch | 4 | ||||
-rw-r--r-- | patches/server/0297-Limit-Client-Sign-length-more.patch | 4 | ||||
-rw-r--r-- | patches/server/0301-Entity-getEntitySpawnReason.patch | 16 | ||||
-rw-r--r-- | patches/server/0305-Server-Tick-Events.patch | 6 | ||||
-rw-r--r-- | patches/server/0308-Add-Heightmap-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0309-Mob-Spawner-API-Enhancements.patch | 12 | ||||
-rw-r--r-- | patches/server/0312-Implement-CraftBlockSoundGroup.patch | 4 | ||||
-rw-r--r-- | patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch | 10 | ||||
-rw-r--r-- | patches/server/0315-Expose-the-internal-current-tick.patch | 4 | ||||
-rw-r--r-- | patches/server/0316-Fix-World-isChunkGenerated-calls.patch | 6 | ||||
-rw-r--r-- | patches/server/0337-Entity-Activation-Range-2.0.patch | 8 | ||||
-rw-r--r-- | patches/server/0343-Anti-Xray.patch | 10 | ||||
-rw-r--r-- | patches/server/0345-Improve-Block-breakNaturally-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0350-Entity-Jump-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0359-Add-tick-times-API-and-mspt-command.patch | 14 | ||||
-rw-r--r-- | patches/server/0360-Expose-MinecraftServer-isRunning.patch | 4 | ||||
-rw-r--r-- | patches/server/0361-Add-Raw-Byte-ItemStack-Serialization.patch | 4 | ||||
-rw-r--r-- | patches/server/0371-Improved-Watchdog-Support.patch | 30 | ||||
-rw-r--r-- | patches/server/0375-Prevent-opening-inventories-when-frozen.patch | 8 | ||||
-rw-r--r-- | patches/server/0377-Implement-Player-Client-Options-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0385-Villager-Restocks-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0387-Expose-game-version.patch | 4 | ||||
-rw-r--r-- | patches/server/0390-misc-debugging-dumps.patch | 12 | ||||
-rw-r--r-- | patches/server/0391-Prevent-teleporting-dead-entities.patch | 4 | ||||
-rw-r--r-- | patches/server/0393-Implement-Mob-Goal-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0394-Add-villager-reputation-API.patch | 6 | ||||
-rw-r--r-- | patches/server/0397-Fix-PotionEffect-ignores-icon-flag.patch | 4 | ||||
-rw-r--r-- | patches/server/0400-Wait-for-Async-Tasks-during-shutdown.patch | 8 | ||||
-rw-r--r-- | patches/server/0409-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch | 4 | ||||
-rw-r--r-- | patches/server/0415-Inventory-getHolder-method-without-block-snapshot.patch | 6 | ||||
-rw-r--r-- | patches/server/0416-Improve-Arrow-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0417-Add-and-implement-PlayerRecipeBookClickEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0421-Fix-Per-World-Difficulty-Remembering-Difficulty.patch | 24 | ||||
-rw-r--r-- | patches/server/0425-Add-Plugin-Tickets-to-API-Chunk-Methods.patch | 22 | ||||
-rw-r--r-- | patches/server/0426-incremental-chunk-and-player-saving.patch | 10 | ||||
-rw-r--r-- | patches/server/0429-Convert-legacy-attributes-in-Item-Meta.patch | 4 | ||||
-rw-r--r-- | patches/server/0432-Support-components-in-ItemMeta.patch | 14 | ||||
-rw-r--r-- | patches/server/0434-Add-entity-liquid-API.patch | 4 | ||||
-rw-r--r-- | patches/server/0437-Add-PrepareResultEvent.patch | 4 | ||||
-rw-r--r-- | patches/server/0449-Brand-support.patch | 12 | ||||
-rw-r--r-- | patches/server/0450-Add-playPickupItemAnimation-to-LivingEntity.patch (renamed from patches/server/0451-Add-playPickupItemAnimation-to-LivingEntity.patch) | 4 | ||||
-rw-r--r-- | patches/server/0450-Add-setMaxPlayers-API.patch | 37 | ||||
-rw-r--r-- | patches/server/0451-Don-t-require-FACING-data.patch (renamed from patches/server/0452-Don-t-require-FACING-data.patch) | 0 | ||||
-rw-r--r-- | patches/server/0452-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch (renamed from patches/server/0453-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch) | 4 | ||||
-rw-r--r-- | patches/server/0453-Add-moon-phase-API.patch (renamed from patches/server/0454-Add-moon-phase-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0454-Prevent-headless-pistons-from-being-created.patch (renamed from patches/server/0455-Prevent-headless-pistons-from-being-created.patch) | 0 | ||||
-rw-r--r-- | patches/server/0455-Add-BellRingEvent.patch (renamed from patches/server/0456-Add-BellRingEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0456-Add-zombie-targets-turtle-egg-config.patch (renamed from patches/server/0457-Add-zombie-targets-turtle-egg-config.patch) | 0 | ||||
-rw-r--r-- | patches/server/0457-Buffer-joins-to-world.patch (renamed from patches/server/0458-Buffer-joins-to-world.patch) | 0 | ||||
-rw-r--r-- | patches/server/0458-Eigencraft-redstone-implementation.patch (renamed from patches/server/0459-Eigencraft-redstone-implementation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0459-Fix-hex-colors-not-working-in-some-kick-messages.patch (renamed from patches/server/0460-Fix-hex-colors-not-working-in-some-kick-messages.patch) | 0 | ||||
-rw-r--r-- | patches/server/0460-PortalCreateEvent-needs-to-know-its-entity.patch (renamed from patches/server/0461-PortalCreateEvent-needs-to-know-its-entity.patch) | 0 | ||||
-rw-r--r-- | patches/server/0461-Add-more-Evoker-API.patch (renamed from patches/server/0463-Add-more-Evoker-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0462-Add-methods-to-get-translation-keys.patch (renamed from patches/server/0464-Add-methods-to-get-translation-keys.patch) | 4 | ||||
-rw-r--r-- | patches/server/0462-Fix-CraftTeam-null-check.patch | 19 | ||||
-rw-r--r-- | patches/server/0463-Create-HoverEvent-from-ItemStack-Entity.patch (renamed from patches/server/0465-Create-HoverEvent-from-ItemStack-Entity.patch) | 4 | ||||
-rw-r--r-- | patches/server/0464-Cache-block-data-strings.patch (renamed from patches/server/0466-Cache-block-data-strings.patch) | 4 | ||||
-rw-r--r-- | patches/server/0465-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch (renamed from patches/server/0467-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch) | 10 | ||||
-rw-r--r-- | patches/server/0466-Add-additional-open-container-api-to-HumanEntity.patch (renamed from patches/server/0468-Add-additional-open-container-api-to-HumanEntity.patch) | 4 | ||||
-rw-r--r-- | patches/server/0467-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch (renamed from patches/server/0469-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch) | 0 | ||||
-rw-r--r-- | patches/server/0468-Extend-block-drop-capture-to-capture-all-items-added.patch (renamed from patches/server/0470-Extend-block-drop-capture-to-capture-all-items-added.patch) | 0 | ||||
-rw-r--r-- | patches/server/0469-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (renamed from patches/server/0471-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch) | 6 | ||||
-rw-r--r-- | patches/server/0470-Lazily-track-plugin-scoreboards-by-default.patch (renamed from patches/server/0472-Lazily-track-plugin-scoreboards-by-default.patch) | 18 | ||||
-rw-r--r-- | patches/server/0471-Entity-isTicking.patch (renamed from patches/server/0473-Entity-isTicking.patch) | 6 | ||||
-rw-r--r-- | patches/server/0472-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch (renamed from patches/server/0474-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch) | 4 | ||||
-rw-r--r-- | patches/server/0473-Fix-Concurrency-issue-in-ShufflingList.patch (renamed from patches/server/0475-Fix-Concurrency-issue-in-ShufflingList.patch) | 0 | ||||
-rw-r--r-- | patches/server/0474-Reset-Ender-Crystals-on-Dragon-Spawn.patch (renamed from patches/server/0476-Reset-Ender-Crystals-on-Dragon-Spawn.patch) | 0 | ||||
-rw-r--r-- | patches/server/0475-Fix-for-large-move-vectors-crashing-server.patch (renamed from patches/server/0477-Fix-for-large-move-vectors-crashing-server.patch) | 2 | ||||
-rw-r--r-- | patches/server/0476-Optimise-getType-calls.patch (renamed from patches/server/0478-Optimise-getType-calls.patch) | 12 | ||||
-rw-r--r-- | patches/server/0477-Villager-resetOffers.patch (renamed from patches/server/0479-Villager-resetOffers.patch) | 0 | ||||
-rw-r--r-- | patches/server/0478-Retain-block-place-order-when-capturing-blockstates.patch (renamed from patches/server/0480-Retain-block-place-order-when-capturing-blockstates.patch) | 0 | ||||
-rw-r--r-- | patches/server/0479-Reduce-blockpos-allocation-from-pathfinding.patch (renamed from patches/server/0481-Reduce-blockpos-allocation-from-pathfinding.patch) | 0 | ||||
-rw-r--r-- | patches/server/0480-Fix-item-locations-dropped-from-campfires.patch (renamed from patches/server/0482-Fix-item-locations-dropped-from-campfires.patch) | 0 | ||||
-rw-r--r-- | patches/server/0481-Player-elytra-boost-API.patch (renamed from patches/server/0483-Player-elytra-boost-API.patch) | 10 | ||||
-rw-r--r-- | patches/server/0482-Fixed-TileEntityBell-memory-leak.patch (renamed from patches/server/0484-Fixed-TileEntityBell-memory-leak.patch) | 0 | ||||
-rw-r--r-- | patches/server/0483-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch (renamed from patches/server/0485-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch) | 0 | ||||
-rw-r--r-- | patches/server/0484-Add-getOfflinePlayerIfCached-String.patch (renamed from patches/server/0486-Add-getOfflinePlayerIfCached-String.patch) | 10 | ||||
-rw-r--r-- | patches/server/0485-Add-ignore-discounts-API.patch (renamed from patches/server/0487-Add-ignore-discounts-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0486-Toggle-for-removing-existing-dragon.patch (renamed from patches/server/0488-Toggle-for-removing-existing-dragon.patch) | 0 | ||||
-rw-r--r-- | patches/server/0487-Fix-client-lag-on-advancement-loading.patch (renamed from patches/server/0489-Fix-client-lag-on-advancement-loading.patch) | 4 | ||||
-rw-r--r-- | patches/server/0488-Item-no-age-no-player-pickup.patch (renamed from patches/server/0490-Item-no-age-no-player-pickup.patch) | 0 | ||||
-rw-r--r-- | patches/server/0489-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (renamed from patches/server/0491-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch) | 0 | ||||
-rw-r--r-- | patches/server/0490-Beacon-API-custom-effect-ranges.patch (renamed from patches/server/0492-Beacon-API-custom-effect-ranges.patch) | 0 | ||||
-rw-r--r-- | patches/server/0491-Add-API-for-quit-reason.patch (renamed from patches/server/0493-Add-API-for-quit-reason.patch) | 6 | ||||
-rw-r--r-- | patches/server/0492-Add-Wandering-Trader-spawn-rate-config-options.patch (renamed from patches/server/0494-Add-Wandering-Trader-spawn-rate-config-options.patch) | 0 | ||||
-rw-r--r-- | patches/server/0493-Expose-world-spawn-angle.patch (renamed from patches/server/0495-Expose-world-spawn-angle.patch) | 2 | ||||
-rw-r--r-- | patches/server/0494-Add-Destroy-Speed-API.patch (renamed from patches/server/0496-Add-Destroy-Speed-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0495-Fix-Player-spawnParticle-x-y-z-precision-loss.patch (renamed from patches/server/0497-Fix-Player-spawnParticle-x-y-z-precision-loss.patch) | 8 | ||||
-rw-r--r-- | patches/server/0496-Add-LivingEntity-clearActiveItem.patch (renamed from patches/server/0498-Add-LivingEntity-clearActiveItem.patch) | 4 | ||||
-rw-r--r-- | patches/server/0497-Add-PlayerItemCooldownEvent.patch (renamed from patches/server/0499-Add-PlayerItemCooldownEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0498-Significantly-improve-performance-of-the-end-generat.patch (renamed from patches/server/0500-Significantly-improve-performance-of-the-end-generat.patch) | 0 | ||||
-rw-r--r-- | patches/server/0499-More-lightning-API.patch (renamed from patches/server/0501-More-lightning-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0500-Climbing-should-not-bypass-cramming-gamerule.patch (renamed from patches/server/0502-Climbing-should-not-bypass-cramming-gamerule.patch) | 2 | ||||
-rw-r--r-- | patches/server/0501-Added-missing-default-perms-for-commands.patch (renamed from patches/server/0503-Added-missing-default-perms-for-commands.patch) | 0 | ||||
-rw-r--r-- | patches/server/0502-Add-PlayerShearBlockEvent.patch (renamed from patches/server/0504-Add-PlayerShearBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0503-Fix-curing-zombie-villager-discount-exploit.patch (renamed from patches/server/0505-Fix-curing-zombie-villager-discount-exploit.patch) | 0 | ||||
-rw-r--r-- | patches/server/0504-Limit-recipe-packets.patch (renamed from patches/server/0506-Limit-recipe-packets.patch) | 4 | ||||
-rw-r--r-- | patches/server/0505-Fix-CraftSound-backwards-compatibility.patch (renamed from patches/server/0507-Fix-CraftSound-backwards-compatibility.patch) | 0 | ||||
-rw-r--r-- | patches/server/0506-Player-Chunk-Load-Unload-Events.patch (renamed from patches/server/0508-Player-Chunk-Load-Unload-Events.patch) | 2 | ||||
-rw-r--r-- | patches/server/0507-Optimize-Dynamic-get-Missing-Keys.patch (renamed from patches/server/0509-Optimize-Dynamic-get-Missing-Keys.patch) | 0 | ||||
-rw-r--r-- | patches/server/0508-Expose-LivingEntity-hurt-direction.patch (renamed from patches/server/0510-Expose-LivingEntity-hurt-direction.patch) | 6 | ||||
-rw-r--r-- | patches/server/0509-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (renamed from patches/server/0511-Add-OBSTRUCTED-reason-to-BedEnterResult.patch) | 2 | ||||
-rw-r--r-- | patches/server/0510-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch (renamed from patches/server/0512-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch) | 0 | ||||
-rw-r--r-- | patches/server/0511-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (renamed from patches/server/0513-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0512-Implement-TargetHitEvent.patch (renamed from patches/server/0514-Implement-TargetHitEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0513-MC-4-Fix-item-position-desync.patch (renamed from patches/server/0515-MC-4-Fix-item-position-desync.patch) | 2 | ||||
-rw-r--r-- | patches/server/0514-Additional-Block-Material-API-s.patch (renamed from patches/server/0516-Additional-Block-Material-API-s.patch) | 4 | ||||
-rw-r--r-- | patches/server/0515-Fix-harming-potion-dupe.patch (renamed from patches/server/0517-Fix-harming-potion-dupe.patch) | 0 | ||||
-rw-r--r-- | patches/server/0516-Implement-API-to-get-Material-from-Boats-and-Minecar.patch (renamed from patches/server/0518-Implement-API-to-get-Material-from-Boats-and-Minecar.patch) | 0 | ||||
-rw-r--r-- | patches/server/0517-Cache-burn-durations.patch (renamed from patches/server/0519-Cache-burn-durations.patch) | 0 | ||||
-rw-r--r-- | patches/server/0518-Allow-disabling-mob-spawner-spawn-egg-transformation.patch (renamed from patches/server/0520-Allow-disabling-mob-spawner-spawn-egg-transformation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0519-Fix-Not-a-string-Map-Conversion-spam.patch (renamed from patches/server/0521-Fix-Not-a-string-Map-Conversion-spam.patch) | 0 | ||||
-rw-r--r-- | patches/server/0520-Implement-PlayerFlowerPotManipulateEvent.patch (renamed from patches/server/0522-Implement-PlayerFlowerPotManipulateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0521-Fix-interact-event-not-being-called-in-adventure.patch (renamed from patches/server/0523-Fix-interact-event-not-being-called-in-adventure.patch) | 6 | ||||
-rw-r--r-- | patches/server/0522-Zombie-API-breaking-doors.patch (renamed from patches/server/0524-Zombie-API-breaking-doors.patch) | 0 | ||||
-rw-r--r-- | patches/server/0523-Fix-nerfed-slime-when-splitting.patch (renamed from patches/server/0525-Fix-nerfed-slime-when-splitting.patch) | 0 | ||||
-rw-r--r-- | patches/server/0524-Add-EntityLoadCrossbowEvent.patch (renamed from patches/server/0526-Add-EntityLoadCrossbowEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0525-Added-WorldGameRuleChangeEvent.patch (renamed from patches/server/0527-Added-WorldGameRuleChangeEvent.patch) | 6 | ||||
-rw-r--r-- | patches/server/0526-Added-ServerResourcesReloadedEvent.patch (renamed from patches/server/0528-Added-ServerResourcesReloadedEvent.patch) | 6 | ||||
-rw-r--r-- | patches/server/0527-Added-world-settings-for-mobs-picking-up-loot.patch (renamed from patches/server/0529-Added-world-settings-for-mobs-picking-up-loot.patch) | 0 | ||||
-rw-r--r-- | patches/server/0528-Implemented-BlockFailedDispenseEvent.patch (renamed from patches/server/0530-Implemented-BlockFailedDispenseEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0529-Added-PlayerLecternPageChangeEvent.patch (renamed from patches/server/0531-Added-PlayerLecternPageChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0530-Added-PlayerLoomPatternSelectEvent.patch (renamed from patches/server/0532-Added-PlayerLoomPatternSelectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0531-Configurable-door-breaking-difficulty.patch (renamed from patches/server/0533-Configurable-door-breaking-difficulty.patch) | 0 | ||||
-rw-r--r-- | patches/server/0532-Empty-commands-shall-not-be-dispatched.patch (renamed from patches/server/0534-Empty-commands-shall-not-be-dispatched.patch) | 0 | ||||
-rw-r--r-- | patches/server/0533-Implement-API-to-expose-exact-interaction-point.patch (renamed from patches/server/0535-Implement-API-to-expose-exact-interaction-point.patch) | 4 | ||||
-rw-r--r-- | patches/server/0534-Remove-stale-POIs.patch (renamed from patches/server/0536-Remove-stale-POIs.patch) | 0 | ||||
-rw-r--r-- | patches/server/0535-Fix-villager-boat-exploit.patch (renamed from patches/server/0537-Fix-villager-boat-exploit.patch) | 2 | ||||
-rw-r--r-- | patches/server/0536-Add-sendOpLevel-API.patch (renamed from patches/server/0538-Add-sendOpLevel-API.patch) | 6 | ||||
-rw-r--r-- | patches/server/0537-TODO-Registry-Modification-API.patch (renamed from patches/server/0539-TODO-Registry-Modification-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0538-Add-StructuresLocateEvent.patch (renamed from patches/server/0540-Add-StructuresLocateEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0539-Collision-option-for-requiring-a-player-participant.patch (renamed from patches/server/0541-Collision-option-for-requiring-a-player-participant.patch) | 2 | ||||
-rw-r--r-- | patches/server/0540-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch (renamed from patches/server/0542-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch) | 0 | ||||
-rw-r--r-- | patches/server/0541-Return-chat-component-with-empty-text-instead-of-thr.patch (renamed from patches/server/0543-Return-chat-component-with-empty-text-instead-of-thr.patch) | 0 | ||||
-rw-r--r-- | patches/server/0542-Make-schedule-command-per-world.patch (renamed from patches/server/0544-Make-schedule-command-per-world.patch) | 0 | ||||
-rw-r--r-- | patches/server/0543-Configurable-max-leash-distance.patch (renamed from patches/server/0545-Configurable-max-leash-distance.patch) | 0 | ||||
-rw-r--r-- | patches/server/0544-Implement-BlockPreDispenseEvent.patch (renamed from patches/server/0546-Implement-BlockPreDispenseEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0545-Added-firing-of-PlayerChangeBeaconEffectEvent.patch (renamed from patches/server/0547-Added-firing-of-PlayerChangeBeaconEffectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0546-Add-toggle-for-always-placing-the-dragon-egg.patch (renamed from patches/server/0548-Add-toggle-for-always-placing-the-dragon-egg.patch) | 0 | ||||
-rw-r--r-- | patches/server/0547-Added-PlayerStonecutterRecipeSelectEvent.patch (renamed from patches/server/0549-Added-PlayerStonecutterRecipeSelectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0548-Add-dropLeash-variable-to-EntityUnleashEvent.patch (renamed from patches/server/0550-Add-dropLeash-variable-to-EntityUnleashEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0549-Reset-shield-blocking-on-dimension-change.patch (renamed from patches/server/0551-Reset-shield-blocking-on-dimension-change.patch) | 2 | ||||
-rw-r--r-- | patches/server/0550-add-DragonEggFormEvent.patch (renamed from patches/server/0552-add-DragonEggFormEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0551-EntityMoveEvent.patch (renamed from patches/server/0553-EntityMoveEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0552-added-option-to-disable-pathfinding-updates-on-block.patch (renamed from patches/server/0554-added-option-to-disable-pathfinding-updates-on-block.patch) | 0 | ||||
-rw-r--r-- | patches/server/0553-Inline-shift-direction-fields.patch (renamed from patches/server/0555-Inline-shift-direction-fields.patch) | 0 | ||||
-rw-r--r-- | patches/server/0554-Allow-adding-items-to-BlockDropItemEvent.patch (renamed from patches/server/0556-Allow-adding-items-to-BlockDropItemEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0555-Add-getMainThreadExecutor-to-BukkitScheduler.patch (renamed from patches/server/0557-Add-getMainThreadExecutor-to-BukkitScheduler.patch) | 8 | ||||
-rw-r--r-- | patches/server/0556-living-entity-allow-attribute-registration.patch (renamed from patches/server/0558-living-entity-allow-attribute-registration.patch) | 4 | ||||
-rw-r--r-- | patches/server/0557-fix-dead-slime-setSize-invincibility.patch (renamed from patches/server/0559-fix-dead-slime-setSize-invincibility.patch) | 0 | ||||
-rw-r--r-- | patches/server/0558-Merchant-getRecipes-should-return-an-immutable-list.patch (renamed from patches/server/0560-Merchant-getRecipes-should-return-an-immutable-list.patch) | 0 | ||||
-rw-r--r-- | patches/server/0559-Expose-Tracked-Players.patch (renamed from patches/server/0561-Expose-Tracked-Players.patch) | 4 | ||||
-rw-r--r-- | patches/server/0560-Remove-streams-from-SensorNearest.patch (renamed from patches/server/0562-Remove-streams-from-SensorNearest.patch) | 0 | ||||
-rw-r--r-- | patches/server/0561-Throw-proper-exception-on-empty-JsonList-file.patch (renamed from patches/server/0563-Throw-proper-exception-on-empty-JsonList-file.patch) | 0 | ||||
-rw-r--r-- | patches/server/0562-Improve-ServerGUI.patch (renamed from patches/server/0564-Improve-ServerGUI.patch) | 0 | ||||
-rw-r--r-- | patches/server/0563-fix-converting-txt-to-json-file.patch (renamed from patches/server/0565-fix-converting-txt-to-json-file.patch) | 2 | ||||
-rw-r--r-- | patches/server/0564-Add-worldborder-events.patch (renamed from patches/server/0566-Add-worldborder-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0565-added-PlayerNameEntityEvent.patch (renamed from patches/server/0567-added-PlayerNameEntityEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0566-Prevent-grindstones-from-overstacking-items.patch (renamed from patches/server/0568-Prevent-grindstones-from-overstacking-items.patch) | 0 | ||||
-rw-r--r-- | patches/server/0567-Add-recipe-to-cook-events.patch (renamed from patches/server/0569-Add-recipe-to-cook-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0568-Add-Block-isValidTool.patch (renamed from patches/server/0570-Add-Block-isValidTool.patch) | 4 | ||||
-rw-r--r-- | patches/server/0569-Allow-using-signs-inside-spawn-protection.patch (renamed from patches/server/0571-Allow-using-signs-inside-spawn-protection.patch) | 4 | ||||
-rw-r--r-- | patches/server/0570-Expand-world-key-API.patch (renamed from patches/server/0572-Expand-world-key-API.patch) | 18 | ||||
-rw-r--r-- | patches/server/0571-Add-fast-alternative-constructor-for-Rotations.patch (renamed from patches/server/0573-Add-fast-alternative-constructor-for-Rotations.patch) | 0 | ||||
-rw-r--r-- | patches/server/0572-Item-Rarity-API.patch (renamed from patches/server/0574-Item-Rarity-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0573-Drop-carried-item-when-player-has-disconnected.patch (renamed from patches/server/0575-Drop-carried-item-when-player-has-disconnected.patch) | 2 | ||||
-rw-r--r-- | patches/server/0574-forced-whitelist-use-configurable-kick-message.patch (renamed from patches/server/0576-forced-whitelist-use-configurable-kick-message.patch) | 4 | ||||
-rw-r--r-- | patches/server/0575-Don-t-ignore-result-of-PlayerEditBookEvent.patch (renamed from patches/server/0577-Don-t-ignore-result-of-PlayerEditBookEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0576-Expose-protocol-version.patch (renamed from patches/server/0578-Expose-protocol-version.patch) | 4 | ||||
-rw-r--r-- | patches/server/0577-Enhance-console-tab-completions-for-brigadier-comman.patch (renamed from patches/server/0579-Enhance-console-tab-completions-for-brigadier-comman.patch) | 0 | ||||
-rw-r--r-- | patches/server/0578-Fix-PlayerItemConsumeEvent-cancelling-properly.patch (renamed from patches/server/0580-Fix-PlayerItemConsumeEvent-cancelling-properly.patch) | 0 | ||||
-rw-r--r-- | patches/server/0579-Add-bypass-host-check.patch (renamed from patches/server/0581-Add-bypass-host-check.patch) | 0 | ||||
-rw-r--r-- | patches/server/0580-Set-area-affect-cloud-rotation.patch (renamed from patches/server/0582-Set-area-affect-cloud-rotation.patch) | 4 | ||||
-rw-r--r-- | patches/server/0581-add-isDeeplySleeping-to-HumanEntity.patch (renamed from patches/server/0583-add-isDeeplySleeping-to-HumanEntity.patch) | 2 | ||||
-rw-r--r-- | patches/server/0582-add-consumeFuel-to-FurnaceBurnEvent.patch (renamed from patches/server/0584-add-consumeFuel-to-FurnaceBurnEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0583-add-get-set-drop-chance-to-EntityEquipment.patch (renamed from patches/server/0585-add-get-set-drop-chance-to-EntityEquipment.patch) | 4 | ||||
-rw-r--r-- | patches/server/0584-fix-PigZombieAngerEvent-cancellation.patch (renamed from patches/server/0586-fix-PigZombieAngerEvent-cancellation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0585-fix-PlayerItemHeldEvent-firing-twice.patch (renamed from patches/server/0587-fix-PlayerItemHeldEvent-firing-twice.patch) | 4 | ||||
-rw-r--r-- | patches/server/0586-Added-PlayerDeepSleepEvent.patch (renamed from patches/server/0588-Added-PlayerDeepSleepEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0587-More-World-API.patch (renamed from patches/server/0589-More-World-API.patch) | 6 | ||||
-rw-r--r-- | patches/server/0588-Added-PlayerBedFailEnterEvent.patch (renamed from patches/server/0590-Added-PlayerBedFailEnterEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0589-Entity-load-save-limit-per-chunk.patch (renamed from patches/server/0591-Entity-load-save-limit-per-chunk.patch) | 0 | ||||
-rw-r--r-- | patches/server/0590-Implement-methods-to-convert-between-Component-and-B.patch (renamed from patches/server/0592-Implement-methods-to-convert-between-Component-and-B.patch) | 0 | ||||
-rw-r--r-- | patches/server/0591-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch (renamed from patches/server/0593-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch) | 2 | ||||
-rw-r--r-- | patches/server/0592-Introduce-beacon-activation-deactivation-events.patch (renamed from patches/server/0594-Introduce-beacon-activation-deactivation-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0593-add-RespawnFlags-to-PlayerRespawnEvent.patch (renamed from patches/server/0595-add-RespawnFlags-to-PlayerRespawnEvent.patch) | 6 | ||||
-rw-r--r-- | patches/server/0594-Add-Channel-initialization-listeners.patch (renamed from patches/server/0596-Add-Channel-initialization-listeners.patch) | 0 | ||||
-rw-r--r-- | patches/server/0595-Send-empty-commands-if-tab-completion-is-disabled.patch (renamed from patches/server/0597-Send-empty-commands-if-tab-completion-is-disabled.patch) | 0 | ||||
-rw-r--r-- | patches/server/0596-Add-more-WanderingTrader-API.patch (renamed from patches/server/0598-Add-more-WanderingTrader-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0597-Add-EntityBlockStorage-clearEntities.patch (renamed from patches/server/0599-Add-EntityBlockStorage-clearEntities.patch) | 0 | ||||
-rw-r--r-- | patches/server/0598-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (renamed from patches/server/0600-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0599-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/server/0601-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0600-Inventory-close.patch (renamed from patches/server/0602-Inventory-close.patch) | 2 | ||||
-rw-r--r-- | patches/server/0601-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (renamed from patches/server/0603-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch) | 0 | ||||
-rw-r--r-- | patches/server/0602-Fix-CraftPotionBrewer-cache.patch (renamed from patches/server/0604-Fix-CraftPotionBrewer-cache.patch) | 0 | ||||
-rw-r--r-- | patches/server/0603-Add-basic-Datapack-API.patch (renamed from patches/server/0605-Add-basic-Datapack-API.patch) | 8 | ||||
-rw-r--r-- | patches/server/0604-Add-environment-variable-to-disable-server-gui.patch (renamed from patches/server/0606-Add-environment-variable-to-disable-server-gui.patch) | 0 | ||||
-rw-r--r-- | patches/server/0605-additions-to-PlayerGameModeChangeEvent.patch (renamed from patches/server/0607-additions-to-PlayerGameModeChangeEvent.patch) | 14 | ||||
-rw-r--r-- | patches/server/0606-ItemStack-repair-check-API.patch (renamed from patches/server/0608-ItemStack-repair-check-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0607-More-Enchantment-API.patch (renamed from patches/server/0609-More-Enchantment-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0608-Move-range-check-for-block-placing-up.patch (renamed from patches/server/0610-Move-range-check-for-block-placing-up.patch) | 4 | ||||
-rw-r--r-- | patches/server/0609-Fix-and-optimise-world-force-upgrading.patch (renamed from patches/server/0611-Fix-and-optimise-world-force-upgrading.patch) | 19 | ||||
-rw-r--r-- | patches/server/0610-Add-Mob-lookAt-API.patch (renamed from patches/server/0612-Add-Mob-lookAt-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0611-Add-Unix-domain-socket-support.patch (renamed from patches/server/0613-Add-Unix-domain-socket-support.patch) | 4 | ||||
-rw-r--r-- | patches/server/0612-Add-EntityInsideBlockEvent.patch (renamed from patches/server/0614-Add-EntityInsideBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0613-Attributes-API-for-item-defaults.patch (renamed from patches/server/0615-Attributes-API-for-item-defaults.patch) | 4 | ||||
-rw-r--r-- | patches/server/0614-Add-cause-to-Weather-ThunderChangeEvents.patch (renamed from patches/server/0616-Add-cause-to-Weather-ThunderChangeEvents.patch) | 6 | ||||
-rw-r--r-- | patches/server/0615-More-Lidded-Block-API.patch (renamed from patches/server/0617-More-Lidded-Block-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0616-Limit-item-frame-cursors-on-maps.patch (renamed from patches/server/0618-Limit-item-frame-cursors-on-maps.patch) | 0 | ||||
-rw-r--r-- | patches/server/0617-Add-PlayerKickEvent-causes.patch (renamed from patches/server/0619-Add-PlayerKickEvent-causes.patch) | 56 | ||||
-rw-r--r-- | patches/server/0618-Add-PufferFishStateChangeEvent.patch (renamed from patches/server/0620-Add-PufferFishStateChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0619-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (renamed from patches/server/0621-Fix-PlayerBucketEmptyEvent-result-itemstack.patch) | 0 | ||||
-rw-r--r-- | patches/server/0620-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (renamed from patches/server/0622-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch) | 0 | ||||
-rw-r--r-- | patches/server/0621-Add-option-to-fix-items-merging-through-walls.patch (renamed from patches/server/0623-Add-option-to-fix-items-merging-through-walls.patch) | 0 | ||||
-rw-r--r-- | patches/server/0622-Add-BellRevealRaiderEvent.patch (renamed from patches/server/0624-Add-BellRevealRaiderEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0623-Fix-invulnerable-end-crystals.patch (renamed from patches/server/0625-Fix-invulnerable-end-crystals.patch) | 0 | ||||
-rw-r--r-- | patches/server/0624-Add-ElderGuardianAppearanceEvent.patch (renamed from patches/server/0626-Add-ElderGuardianAppearanceEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0625-Fix-dangerous-end-portal-logic.patch (renamed from patches/server/0627-Fix-dangerous-end-portal-logic.patch) | 2 | ||||
-rw-r--r-- | patches/server/0626-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (renamed from patches/server/0628-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch) | 0 | ||||
-rw-r--r-- | patches/server/0627-Make-item-validations-configurable.patch (renamed from patches/server/0629-Make-item-validations-configurable.patch) | 8 | ||||
-rw-r--r-- | patches/server/0628-Line-Of-Sight-Changes.patch (renamed from patches/server/0630-Line-Of-Sight-Changes.patch) | 24 | ||||
-rw-r--r-- | patches/server/0629-add-per-world-spawn-limits.patch (renamed from patches/server/0631-add-per-world-spawn-limits.patch) | 4 | ||||
-rw-r--r-- | patches/server/0630-Fix-potions-splash-events.patch (renamed from patches/server/0632-Fix-potions-splash-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0631-Add-more-LimitedRegion-API.patch (renamed from patches/server/0633-Add-more-LimitedRegion-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0632-Fix-PlayerDropItemEvent-using-wrong-item.patch (renamed from patches/server/0634-Fix-PlayerDropItemEvent-using-wrong-item.patch) | 2 | ||||
-rw-r--r-- | patches/server/0633-Missing-Entity-Behavior-API.patch (renamed from patches/server/0635-Missing-Entity-Behavior-API.patch) | 20 | ||||
-rw-r--r-- | patches/server/0634-Ensure-disconnect-for-book-edit-is-called-on-main.patch (renamed from patches/server/0636-Ensure-disconnect-for-book-edit-is-called-on-main.patch) | 2 | ||||
-rw-r--r-- | patches/server/0635-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (renamed from patches/server/0637-Fix-return-value-of-Block-applyBoneMeal-always-being.patch) | 4 | ||||
-rw-r--r-- | patches/server/0636-Use-getChunkIfLoadedImmediately-in-places.patch (renamed from patches/server/0638-Use-getChunkIfLoadedImmediately-in-places.patch) | 0 | ||||
-rw-r--r-- | patches/server/0637-Fix-commands-from-signs-not-firing-command-events.patch (renamed from patches/server/0639-Fix-commands-from-signs-not-firing-command-events.patch) | 0 | ||||
-rw-r--r-- | patches/server/0638-Adds-PlayerArmSwingEvent.patch (renamed from patches/server/0640-Adds-PlayerArmSwingEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0639-Fixes-kick-event-leave-message-not-being-sent.patch (renamed from patches/server/0641-Fixes-kick-event-leave-message-not-being-sent.patch) | 10 | ||||
-rw-r--r-- | patches/server/0640-Add-config-for-mobs-immune-to-default-effects.patch (renamed from patches/server/0642-Add-config-for-mobs-immune-to-default-effects.patch) | 0 | ||||
-rw-r--r-- | patches/server/0641-Fix-incorrect-message-for-outdated-client.patch (renamed from patches/server/0643-Fix-incorrect-message-for-outdated-client.patch) | 0 | ||||
-rw-r--r-- | patches/server/0642-Don-t-apply-cramming-damage-to-players.patch (renamed from patches/server/0644-Don-t-apply-cramming-damage-to-players.patch) | 2 | ||||
-rw-r--r-- | patches/server/0643-Rate-options-and-timings-for-sensors-and-behaviors.patch (renamed from patches/server/0645-Rate-options-and-timings-for-sensors-and-behaviors.patch) | 0 | ||||
-rw-r--r-- | patches/server/0644-Add-a-bunch-of-missing-forceDrop-toggles.patch (renamed from patches/server/0646-Add-a-bunch-of-missing-forceDrop-toggles.patch) | 0 | ||||
-rw-r--r-- | patches/server/0645-Stinger-API.patch (renamed from patches/server/0647-Stinger-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0646-Fix-incosistency-issue-with-empty-map-items-in-CB.patch (renamed from patches/server/0648-Fix-incosistency-issue-with-empty-map-items-in-CB.patch) | 0 | ||||
-rw-r--r-- | patches/server/0647-Add-System.out-err-catcher.patch (renamed from patches/server/0649-Add-System.out-err-catcher.patch) | 4 | ||||
-rw-r--r-- | patches/server/0648-Fix-test-not-bootstrapping.patch (renamed from patches/server/0650-Fix-test-not-bootstrapping.patch) | 0 | ||||
-rw-r--r-- | patches/server/0649-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (renamed from patches/server/0651-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch) | 0 | ||||
-rw-r--r-- | patches/server/0650-Improve-boat-collision-performance.patch (renamed from patches/server/0652-Improve-boat-collision-performance.patch) | 0 | ||||
-rw-r--r-- | patches/server/0651-Prevent-AFK-kick-while-watching-end-credits.patch (renamed from patches/server/0653-Prevent-AFK-kick-while-watching-end-credits.patch) | 2 | ||||
-rw-r--r-- | patches/server/0652-Allow-skipping-writing-of-comments-to-server.propert.patch (renamed from patches/server/0654-Allow-skipping-writing-of-comments-to-server.propert.patch) | 0 | ||||
-rw-r--r-- | patches/server/0653-Add-PlayerSetSpawnEvent.patch (renamed from patches/server/0655-Add-PlayerSetSpawnEvent.patch) | 8 | ||||
-rw-r--r-- | patches/server/0654-Make-hoppers-respect-inventory-max-stack-size.patch (renamed from patches/server/0656-Make-hoppers-respect-inventory-max-stack-size.patch) | 0 | ||||
-rw-r--r-- | patches/server/0655-Optimize-entity-tracker-passenger-checks.patch (renamed from patches/server/0657-Optimize-entity-tracker-passenger-checks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0656-Config-option-for-Piglins-guarding-chests.patch (renamed from patches/server/0658-Config-option-for-Piglins-guarding-chests.patch) | 0 | ||||
-rw-r--r-- | patches/server/0657-Added-EntityDamageItemEvent.patch (renamed from patches/server/0659-Added-EntityDamageItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0658-Optimize-indirect-passenger-iteration.patch (renamed from patches/server/0660-Optimize-indirect-passenger-iteration.patch) | 2 | ||||
-rw-r--r-- | patches/server/0659-Configurable-item-frame-map-cursor-update-interval.patch (renamed from patches/server/0661-Configurable-item-frame-map-cursor-update-interval.patch) | 0 | ||||
-rw-r--r-- | patches/server/0660-Make-EntityUnleashEvent-cancellable.patch (renamed from patches/server/0662-Make-EntityUnleashEvent-cancellable.patch) | 0 | ||||
-rw-r--r-- | patches/server/0661-Clear-bucket-NBT-after-dispense.patch (renamed from patches/server/0663-Clear-bucket-NBT-after-dispense.patch) | 0 | ||||
-rw-r--r-- | patches/server/0662-Change-EnderEye-target-without-changing-other-things.patch (renamed from patches/server/0664-Change-EnderEye-target-without-changing-other-things.patch) | 0 | ||||
-rw-r--r-- | patches/server/0663-Add-BlockBreakBlockEvent.patch (renamed from patches/server/0665-Add-BlockBreakBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0664-Option-to-prevent-NBT-copy-in-smithing-recipes.patch (renamed from patches/server/0666-Option-to-prevent-NBT-copy-in-smithing-recipes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0665-More-CommandBlock-API.patch (renamed from patches/server/0667-More-CommandBlock-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0666-Add-missing-team-sidebar-display-slots.patch (renamed from patches/server/0668-Add-missing-team-sidebar-display-slots.patch) | 0 | ||||
-rw-r--r-- | patches/server/0667-Add-back-EntityPortalExitEvent.patch (renamed from patches/server/0669-Add-back-EntityPortalExitEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0668-Add-methods-to-find-targets-for-lightning-strikes.patch (renamed from patches/server/0670-Add-methods-to-find-targets-for-lightning-strikes.patch) | 4 | ||||
-rw-r--r-- | patches/server/0669-Get-entity-default-attributes.patch (renamed from patches/server/0671-Get-entity-default-attributes.patch) | 4 | ||||
-rw-r--r-- | patches/server/0670-Left-handed-API.patch (renamed from patches/server/0672-Left-handed-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0671-Add-more-advancement-API.patch (renamed from patches/server/0673-Add-more-advancement-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0672-Add-ItemFactory-getSpawnEgg-API.patch (renamed from patches/server/0674-Add-ItemFactory-getSpawnEgg-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0673-Add-critical-damage-API.patch (renamed from patches/server/0675-Add-critical-damage-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0674-Fix-issues-with-mob-conversion.patch (renamed from patches/server/0676-Fix-issues-with-mob-conversion.patch) | 0 | ||||
-rw-r--r-- | patches/server/0675-Add-isCollidable-methods-to-various-places.patch (renamed from patches/server/0677-Add-isCollidable-methods-to-various-places.patch) | 16 | ||||
-rw-r--r-- | patches/server/0676-Goat-ram-API.patch (renamed from patches/server/0678-Goat-ram-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0677-Add-API-for-resetting-a-single-score.patch (renamed from patches/server/0679-Add-API-for-resetting-a-single-score.patch) | 0 | ||||
-rw-r--r-- | patches/server/0678-Add-Raw-Byte-Entity-Serialization.patch (renamed from patches/server/0680-Add-Raw-Byte-Entity-Serialization.patch) | 10 | ||||
-rw-r--r-- | patches/server/0679-Vanilla-command-permission-fixes.patch (renamed from patches/server/0681-Vanilla-command-permission-fixes.patch) | 2 | ||||
-rw-r--r-- | patches/server/0680-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (renamed from patches/server/0682-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch) | 2 | ||||
-rw-r--r-- | patches/server/0681-Fix-GameProfileCache-concurrency.patch (renamed from patches/server/0683-Fix-GameProfileCache-concurrency.patch) | 0 | ||||
-rw-r--r-- | patches/server/0682-Improve-and-expand-AsyncCatcher.patch (renamed from patches/server/0684-Improve-and-expand-AsyncCatcher.patch) | 8 | ||||
-rw-r--r-- | patches/server/0683-Add-paper-mobcaps-and-paper-playermobcaps.patch (renamed from patches/server/0685-Add-paper-mobcaps-and-paper-playermobcaps.patch) | 12 | ||||
-rw-r--r-- | patches/server/0684-Sanitize-ResourceLocation-error-logging.patch (renamed from patches/server/0686-Sanitize-ResourceLocation-error-logging.patch) | 0 | ||||
-rw-r--r-- | patches/server/0685-Allow-controlled-flushing-for-network-manager.patch (renamed from patches/server/0687-Allow-controlled-flushing-for-network-manager.patch) | 0 | ||||
-rw-r--r-- | patches/server/0686-Optimise-general-POI-access.patch (renamed from patches/server/0688-Optimise-general-POI-access.patch) | 0 | ||||
-rw-r--r-- | patches/server/0687-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch (renamed from patches/server/0689-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch) | 2 | ||||
-rw-r--r-- | patches/server/0688-Optimise-chunk-tick-iteration.patch (renamed from patches/server/0690-Optimise-chunk-tick-iteration.patch) | 0 | ||||
-rw-r--r-- | patches/server/0689-Execute-chunk-tasks-mid-tick.patch (renamed from patches/server/0691-Execute-chunk-tasks-mid-tick.patch) | 6 | ||||
-rw-r--r-- | patches/server/0690-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (renamed from patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch) | 0 | ||||
-rw-r--r-- | patches/server/0691-Custom-table-implementation-for-blockstate-state-loo.patch (renamed from patches/server/0693-Custom-table-implementation-for-blockstate-state-loo.patch) | 0 | ||||
-rw-r--r-- | patches/server/0692-Detail-more-information-in-watchdog-dumps.patch (renamed from patches/server/0694-Detail-more-information-in-watchdog-dumps.patch) | 2 | ||||
-rw-r--r-- | patches/server/0693-Manually-inline-methods-in-BlockPosition.patch (renamed from patches/server/0695-Manually-inline-methods-in-BlockPosition.patch) | 0 | ||||
-rw-r--r-- | patches/server/0694-Distance-manager-tick-timings.patch (renamed from patches/server/0696-Distance-manager-tick-timings.patch) | 0 | ||||
-rw-r--r-- | patches/server/0695-Name-craft-scheduler-threads-according-to-the-plugin.patch (renamed from patches/server/0697-Name-craft-scheduler-threads-according-to-the-plugin.patch) | 0 | ||||
-rw-r--r-- | patches/server/0696-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (renamed from patches/server/0698-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch) | 0 | ||||
-rw-r--r-- | patches/server/0697-Add-packet-limiter-config.patch (renamed from patches/server/0699-Add-packet-limiter-config.patch) | 0 | ||||
-rw-r--r-- | patches/server/0698-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (renamed from patches/server/0700-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch) | 0 | ||||
-rw-r--r-- | patches/server/0699-Consolidate-flush-calls-for-entity-tracker-packets.patch (renamed from patches/server/0701-Consolidate-flush-calls-for-entity-tracker-packets.patch) | 0 | ||||
-rw-r--r-- | patches/server/0700-Don-t-lookup-fluid-state-when-raytracing.patch (renamed from patches/server/0702-Don-t-lookup-fluid-state-when-raytracing.patch) | 0 | ||||
-rw-r--r-- | patches/server/0701-Time-scoreboard-search.patch (renamed from patches/server/0703-Time-scoreboard-search.patch) | 2 | ||||
-rw-r--r-- | patches/server/0702-Send-full-pos-packets-for-hard-colliding-entities.patch (renamed from patches/server/0704-Send-full-pos-packets-for-hard-colliding-entities.patch) | 0 | ||||
-rw-r--r-- | patches/server/0703-Do-not-run-raytrace-logic-for-AIR.patch (renamed from patches/server/0705-Do-not-run-raytrace-logic-for-AIR.patch) | 0 | ||||
-rw-r--r-- | patches/server/0704-Oprimise-map-impl-for-tracked-players.patch (renamed from patches/server/0706-Oprimise-map-impl-for-tracked-players.patch) | 0 | ||||
-rw-r--r-- | patches/server/0705-Optimise-BlockSoil-nearby-water-lookup.patch (renamed from patches/server/0707-Optimise-BlockSoil-nearby-water-lookup.patch) | 0 | ||||
-rw-r--r-- | patches/server/0706-Optimise-random-block-ticking.patch (renamed from patches/server/0708-Optimise-random-block-ticking.patch) | 0 | ||||
-rw-r--r-- | patches/server/0707-Optimise-non-flush-packet-sending.patch (renamed from patches/server/0709-Optimise-non-flush-packet-sending.patch) | 0 | ||||
-rw-r--r-- | patches/server/0708-Optimise-nearby-player-lookups.patch (renamed from patches/server/0710-Optimise-nearby-player-lookups.patch) | 0 | ||||
-rw-r--r-- | patches/server/0709-Remove-streams-for-villager-AI.patch (renamed from patches/server/0711-Remove-streams-for-villager-AI.patch) | 0 | ||||
-rw-r--r-- | patches/server/0710-Use-Velocity-compression-and-cipher-natives.patch (renamed from patches/server/0712-Use-Velocity-compression-and-cipher-natives.patch) | 0 | ||||
-rw-r--r-- | patches/server/0711-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch (renamed from patches/server/0713-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch) | 0 | ||||
-rw-r--r-- | patches/server/0712-Fix-Bukkit-NamespacedKey-shenanigans.patch (renamed from patches/server/0714-Fix-Bukkit-NamespacedKey-shenanigans.patch) | 0 | ||||
-rw-r--r-- | patches/server/0713-Fix-merchant-inventory-not-closing-on-entity-removal.patch (renamed from patches/server/0715-Fix-merchant-inventory-not-closing-on-entity-removal.patch) | 0 | ||||
-rw-r--r-- | patches/server/0714-Check-requirement-before-suggesting-root-nodes.patch (renamed from patches/server/0716-Check-requirement-before-suggesting-root-nodes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0715-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (renamed from patches/server/0717-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch) | 2 | ||||
-rw-r--r-- | patches/server/0716-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (renamed from patches/server/0718-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch) | 0 | ||||
-rw-r--r-- | patches/server/0717-Ensure-valid-vehicle-status.patch (renamed from patches/server/0719-Ensure-valid-vehicle-status.patch) | 2 | ||||
-rw-r--r-- | patches/server/0718-Prevent-softlocked-end-exit-portal-generation.patch (renamed from patches/server/0720-Prevent-softlocked-end-exit-portal-generation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0719-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (renamed from patches/server/0721-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch) | 0 | ||||
-rw-r--r-- | patches/server/0720-Don-t-log-debug-logging-being-disabled.patch (renamed from patches/server/0722-Don-t-log-debug-logging-being-disabled.patch) | 0 | ||||
-rw-r--r-- | patches/server/0721-fix-various-menus-with-empty-level-accesses.patch (renamed from patches/server/0723-fix-various-menus-with-empty-level-accesses.patch) | 0 | ||||
-rw-r--r-- | patches/server/0722-Preserve-overstacked-loot.patch (renamed from patches/server/0724-Preserve-overstacked-loot.patch) | 0 | ||||
-rw-r--r-- | patches/server/0723-Update-head-rotation-in-missing-places.patch (renamed from patches/server/0725-Update-head-rotation-in-missing-places.patch) | 2 | ||||
-rw-r--r-- | patches/server/0724-prevent-unintended-light-block-manipulation.patch (renamed from patches/server/0726-prevent-unintended-light-block-manipulation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0725-Fix-CraftCriteria-defaults-map.patch (renamed from patches/server/0727-Fix-CraftCriteria-defaults-map.patch) | 0 | ||||
-rw-r--r-- | patches/server/0726-Fix-upstreams-block-state-factories.patch (renamed from patches/server/0728-Fix-upstreams-block-state-factories.patch) | 0 | ||||
-rw-r--r-- | patches/server/0727-Add-config-option-for-logging-player-ip-addresses.patch (renamed from patches/server/0729-Add-config-option-for-logging-player-ip-addresses.patch) | 2 | ||||
-rw-r--r-- | patches/server/0728-Configurable-feature-seeds.patch (renamed from patches/server/0730-Configurable-feature-seeds.patch) | 0 | ||||
-rw-r--r-- | patches/server/0729-VanillaCommandWrapper-didnt-account-for-entity-sende.patch (renamed from patches/server/0731-VanillaCommandWrapper-didnt-account-for-entity-sende.patch) | 2 | ||||
-rw-r--r-- | patches/server/0730-Add-root-admin-user-detection.patch (renamed from patches/server/0732-Add-root-admin-user-detection.patch) | 0 | ||||
-rw-r--r-- | patches/server/0731-Always-allow-item-changing-in-Fireball.patch (renamed from patches/server/0733-Always-allow-item-changing-in-Fireball.patch) | 0 | ||||
-rw-r--r-- | patches/server/0732-don-t-attempt-to-teleport-dead-entities.patch (renamed from patches/server/0734-don-t-attempt-to-teleport-dead-entities.patch) | 2 | ||||
-rw-r--r-- | patches/server/0733-Prevent-excessive-velocity-through-repeated-crits.patch (renamed from patches/server/0735-Prevent-excessive-velocity-through-repeated-crits.patch) | 0 | ||||
-rw-r--r-- | patches/server/0734-Remove-client-side-code-using-deprecated-for-removal.patch (renamed from patches/server/0736-Remove-client-side-code-using-deprecated-for-removal.patch) | 0 | ||||
-rw-r--r-- | patches/server/0735-Fix-removing-recipes-from-RecipeIterator.patch (renamed from patches/server/0737-Fix-removing-recipes-from-RecipeIterator.patch) | 13 | ||||
-rw-r--r-- | patches/server/0736-Prevent-sending-oversized-item-data-in-equipment-and.patch (renamed from patches/server/0738-Prevent-sending-oversized-item-data-in-equipment-and.patch) | 0 | ||||
-rw-r--r-- | patches/server/0737-Hide-unnecessary-itemmeta-from-clients.patch (renamed from patches/server/0739-Hide-unnecessary-itemmeta-from-clients.patch) | 4 | ||||
-rw-r--r-- | patches/server/0738-Fix-Spigot-growth-modifiers.patch (renamed from patches/server/0740-Fix-Spigot-growth-modifiers.patch) | 0 | ||||
-rw-r--r-- | patches/server/0739-Prevent-ContainerOpenersCounter-openCount-from-going.patch (renamed from patches/server/0741-Prevent-ContainerOpenersCounter-openCount-from-going.patch) | 0 | ||||
-rw-r--r-- | patches/server/0740-Add-PlayerItemFrameChangeEvent.patch (renamed from patches/server/0742-Add-PlayerItemFrameChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0741-Add-player-health-update-API.patch (renamed from patches/server/0743-Add-player-health-update-API.patch) | 6 | ||||
-rw-r--r-- | patches/server/0742-Optimize-HashMapPalette.patch (renamed from patches/server/0744-Optimize-HashMapPalette.patch) | 0 | ||||
-rw-r--r-- | patches/server/0743-Allow-delegation-to-vanilla-chunk-gen.patch (renamed from patches/server/0745-Allow-delegation-to-vanilla-chunk-gen.patch) | 4 | ||||
-rw-r--r-- | patches/server/0744-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch (renamed from patches/server/0746-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch) | 6 | ||||
-rw-r--r-- | patches/server/0745-Optimise-collision-checking-in-player-move-packet-ha.patch (renamed from patches/server/0747-Optimise-collision-checking-in-player-move-packet-ha.patch) | 4 | ||||
-rw-r--r-- | patches/server/0746-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (renamed from patches/server/0748-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch) | 0 | ||||
-rw-r--r-- | patches/server/0747-Add-more-Campfire-API.patch (renamed from patches/server/0749-Add-more-Campfire-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0748-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (renamed from patches/server/0750-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch) | 0 | ||||
-rw-r--r-- | patches/server/0749-Fix-tripwire-state-inconsistency.patch (renamed from patches/server/0751-Fix-tripwire-state-inconsistency.patch) | 0 | ||||
-rw-r--r-- | patches/server/0750-Forward-CraftEntity-in-teleport-command.patch (renamed from patches/server/0752-Forward-CraftEntity-in-teleport-command.patch) | 2 | ||||
-rw-r--r-- | patches/server/0751-Improve-scoreboard-entries.patch (renamed from patches/server/0753-Improve-scoreboard-entries.patch) | 24 | ||||
-rw-r--r-- | patches/server/0752-Entity-powdered-snow-API.patch (renamed from patches/server/0754-Entity-powdered-snow-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0753-Add-API-for-item-entity-health.patch (renamed from patches/server/0755-Add-API-for-item-entity-health.patch) | 0 | ||||
-rw-r--r-- | patches/server/0754-Fix-entity-type-tags-suggestions-in-selectors.patch (renamed from patches/server/0756-Fix-entity-type-tags-suggestions-in-selectors.patch) | 0 | ||||
-rw-r--r-- | patches/server/0755-Configurable-max-block-light-for-monster-spawning.patch (renamed from patches/server/0757-Configurable-max-block-light-for-monster-spawning.patch) | 0 | ||||
-rw-r--r-- | patches/server/0756-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (renamed from patches/server/0758-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0757-Load-effect-amplifiers-greater-than-127-correctly.patch (renamed from patches/server/0759-Load-effect-amplifiers-greater-than-127-correctly.patch) | 0 | ||||
-rw-r--r-- | patches/server/0758-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (renamed from patches/server/0760-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch) | 0 | ||||
-rw-r--r-- | patches/server/0759-Fix-bees-aging-inside-hives.patch (renamed from patches/server/0761-Fix-bees-aging-inside-hives.patch) | 0 | ||||
-rw-r--r-- | patches/server/0760-Bucketable-API.patch (renamed from patches/server/0762-Bucketable-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0761-Validate-usernames.patch (renamed from patches/server/0763-Validate-usernames.patch) | 2 | ||||
-rw-r--r-- | patches/server/0762-Make-water-animal-spawn-height-configurable.patch (renamed from patches/server/0764-Make-water-animal-spawn-height-configurable.patch) | 0 | ||||
-rw-r--r-- | patches/server/0763-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (renamed from patches/server/0765-Expose-vanilla-BiomeProvider-from-WorldInfo.patch) | 12 | ||||
-rw-r--r-- | patches/server/0764-Add-config-option-for-worlds-affected-by-time-cmd.patch (renamed from patches/server/0766-Add-config-option-for-worlds-affected-by-time-cmd.patch) | 0 | ||||
-rw-r--r-- | patches/server/0765-Add-new-overload-to-PersistentDataContainer-has.patch (renamed from patches/server/0767-Add-new-overload-to-PersistentDataContainer-has.patch) | 4 | ||||
-rw-r--r-- | patches/server/0766-Multiple-Entries-with-Scoreboards.patch (renamed from patches/server/0768-Multiple-Entries-with-Scoreboards.patch) | 10 | ||||
-rw-r--r-- | patches/server/0767-Reset-placed-block-on-exception.patch (renamed from patches/server/0769-Reset-placed-block-on-exception.patch) | 0 | ||||
-rw-r--r-- | patches/server/0768-Add-configurable-height-for-slime-spawn.patch (renamed from patches/server/0770-Add-configurable-height-for-slime-spawn.patch) | 0 | ||||
-rw-r--r-- | patches/server/0769-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch (renamed from patches/server/0771-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0770-Fix-xp-reward-for-baby-zombies.patch (renamed from patches/server/0772-Fix-xp-reward-for-baby-zombies.patch) | 0 | ||||
-rw-r--r-- | patches/server/0771-Kick-on-main-for-illegal-chat.patch (renamed from patches/server/0773-Kick-on-main-for-illegal-chat.patch) | 8 | ||||
-rw-r--r-- | patches/server/0772-Multi-Block-Change-API-Implementation.patch (renamed from patches/server/0774-Multi-Block-Change-API-Implementation.patch) | 4 | ||||
-rw-r--r-- | patches/server/0773-Fix-NotePlayEvent.patch (renamed from patches/server/0775-Fix-NotePlayEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0774-Freeze-Tick-Lock-API.patch (renamed from patches/server/0776-Freeze-Tick-Lock-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0775-Dolphin-API.patch (renamed from patches/server/0777-Dolphin-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0776-More-PotionEffectType-API.patch (renamed from patches/server/0778-More-PotionEffectType-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0777-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (renamed from patches/server/0779-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch) | 0 | ||||
-rw-r--r-- | patches/server/0778-API-for-creating-command-sender-which-forwards-feedb.patch (renamed from patches/server/0780-API-for-creating-command-sender-which-forwards-feedb.patch) | 6 | ||||
-rw-r--r-- | patches/server/0779-Add-missing-structure-set-seed-configs.patch (renamed from patches/server/0781-Add-missing-structure-set-seed-configs.patch) | 0 | ||||
-rw-r--r-- | patches/server/0780-Implement-regenerateChunk.patch (renamed from patches/server/0782-Implement-regenerateChunk.patch) | 6 | ||||
-rw-r--r-- | patches/server/0781-Fix-cancelled-powdered-snow-bucket-placement.patch (renamed from patches/server/0783-Fix-cancelled-powdered-snow-bucket-placement.patch) | 0 | ||||
-rw-r--r-- | patches/server/0782-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (renamed from patches/server/0784-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch) | 8 | ||||
-rw-r--r-- | patches/server/0783-Add-GameEvent-tags.patch (renamed from patches/server/0785-Add-GameEvent-tags.patch) | 6 | ||||
-rw-r--r-- | patches/server/0784-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (renamed from patches/server/0786-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch) | 6 | ||||
-rw-r--r-- | patches/server/0785-Furnace-RecipesUsed-API.patch (renamed from patches/server/0787-Furnace-RecipesUsed-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0786-Configurable-sculk-sensor-listener-range.patch (renamed from patches/server/0788-Configurable-sculk-sensor-listener-range.patch) | 0 | ||||
-rw-r--r-- | patches/server/0787-Add-missing-block-data-mins-and-maxes.patch (renamed from patches/server/0789-Add-missing-block-data-mins-and-maxes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0788-Option-to-have-default-CustomSpawners-in-custom-worl.patch (renamed from patches/server/0790-Option-to-have-default-CustomSpawners-in-custom-worl.patch) | 4 | ||||
-rw-r--r-- | patches/server/0789-Put-world-into-worldlist-before-initing-the-world.patch (renamed from patches/server/0791-Put-world-into-worldlist-before-initing-the-world.patch) | 8 | ||||
-rw-r--r-- | patches/server/0790-Fix-Entity-Position-Desync.patch (renamed from patches/server/0792-Fix-Entity-Position-Desync.patch) | 0 | ||||
-rw-r--r-- | patches/server/0791-Custom-Potion-Mixes.patch (renamed from patches/server/0793-Custom-Potion-Mixes.patch) | 16 | ||||
-rw-r--r-- | patches/server/0792-Force-close-world-loading-screen.patch (renamed from patches/server/0794-Force-close-world-loading-screen.patch) | 2 | ||||
-rw-r--r-- | patches/server/0793-Fix-falling-block-spawn-methods.patch (renamed from patches/server/0795-Fix-falling-block-spawn-methods.patch) | 18 | ||||
-rw-r--r-- | patches/server/0794-Expose-furnace-minecart-push-values.patch (renamed from patches/server/0796-Expose-furnace-minecart-push-values.patch) | 0 | ||||
-rw-r--r-- | patches/server/0795-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (renamed from patches/server/0797-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch) | 0 | ||||
-rw-r--r-- | patches/server/0796-More-Projectile-API.patch (renamed from patches/server/0798-More-Projectile-API.patch) | 30 | ||||
-rw-r--r-- | patches/server/0797-Fix-swamp-hut-cat-generation-deadlock.patch (renamed from patches/server/0799-Fix-swamp-hut-cat-generation-deadlock.patch) | 0 | ||||
-rw-r--r-- | patches/server/0798-Don-t-allow-vehicle-movement-from-players-while-tele.patch (renamed from patches/server/0800-Don-t-allow-vehicle-movement-from-players-while-tele.patch) | 2 | ||||
-rw-r--r-- | patches/server/0799-Implement-getComputedBiome-API.patch (renamed from patches/server/0801-Implement-getComputedBiome-API.patch) | 10 | ||||
-rw-r--r-- | patches/server/0800-Make-some-itemstacks-nonnull.patch (renamed from patches/server/0802-Make-some-itemstacks-nonnull.patch) | 4 | ||||
-rw-r--r-- | patches/server/0801-Implement-enchantWithLevels-API.patch (renamed from patches/server/0803-Implement-enchantWithLevels-API.patch) | 14 | ||||
-rw-r--r-- | patches/server/0802-Fix-saving-in-unloadWorld.patch (renamed from patches/server/0804-Fix-saving-in-unloadWorld.patch) | 4 | ||||
-rw-r--r-- | patches/server/0803-Buffer-OOB-setBlock-calls.patch (renamed from patches/server/0805-Buffer-OOB-setBlock-calls.patch) | 0 | ||||
-rw-r--r-- | patches/server/0804-Add-TameableDeathMessageEvent.patch (renamed from patches/server/0806-Add-TameableDeathMessageEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0805-Fix-new-block-data-for-EntityChangeBlockEvent.patch (renamed from patches/server/0807-Fix-new-block-data-for-EntityChangeBlockEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0806-fix-player-loottables-running-when-mob-loot-gamerule.patch (renamed from patches/server/0808-fix-player-loottables-running-when-mob-loot-gamerule.patch) | 2 | ||||
-rw-r--r-- | patches/server/0807-Ensure-entity-passenger-world-matches-ridden-entity.patch (renamed from patches/server/0809-Ensure-entity-passenger-world-matches-ridden-entity.patch) | 2 | ||||
-rw-r--r-- | patches/server/0808-Guard-against-invalid-entity-positions.patch (renamed from patches/server/0810-Guard-against-invalid-entity-positions.patch) | 2 | ||||
-rw-r--r-- | patches/server/0809-cache-resource-keys.patch (renamed from patches/server/0811-cache-resource-keys.patch) | 4 | ||||
-rw-r--r-- | patches/server/0810-Allow-to-change-the-podium-for-the-EnderDragon.patch (renamed from patches/server/0812-Allow-to-change-the-podium-for-the-EnderDragon.patch) | 0 | ||||
-rw-r--r-- | patches/server/0811-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (renamed from patches/server/0813-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch) | 0 | ||||
-rw-r--r-- | patches/server/0812-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch (renamed from patches/server/0814-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch) | 0 | ||||
-rw-r--r-- | patches/server/0813-Prevent-tile-entity-copies-loading-chunks.patch (renamed from patches/server/0815-Prevent-tile-entity-copies-loading-chunks.patch) | 4 | ||||
-rw-r--r-- | patches/server/0814-Use-username-instead-of-display-name-in-PlayerList-g.patch (renamed from patches/server/0816-Use-username-instead-of-display-name-in-PlayerList-g.patch) | 2 | ||||
-rw-r--r-- | patches/server/0815-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch (renamed from patches/server/0817-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0816-Pass-ServerLevel-for-gamerule-callbacks.patch (renamed from patches/server/0818-Pass-ServerLevel-for-gamerule-callbacks.patch) | 10 | ||||
-rw-r--r-- | patches/server/0817-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch (renamed from patches/server/0819-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0818-WorldCreator-keepSpawnLoaded.patch (renamed from patches/server/0820-WorldCreator-keepSpawnLoaded.patch) | 4 | ||||
-rw-r--r-- | patches/server/0819-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (renamed from patches/server/0821-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch) | 0 | ||||
-rw-r--r-- | patches/server/0820-Add-EntityDyeEvent-and-CollarColorable-interface.patch (renamed from patches/server/0822-Add-EntityDyeEvent-and-CollarColorable-interface.patch) | 0 | ||||
-rw-r--r-- | patches/server/0821-Fire-CauldronLevelChange-on-initial-fill.patch (renamed from patches/server/0823-Fire-CauldronLevelChange-on-initial-fill.patch) | 0 | ||||
-rw-r--r-- | patches/server/0822-fix-powder-snow-cauldrons-not-turning-to-water.patch (renamed from patches/server/0824-fix-powder-snow-cauldrons-not-turning-to-water.patch) | 0 | ||||
-rw-r--r-- | patches/server/0823-Add-PlayerStopUsingItemEvent.patch (renamed from patches/server/0825-Add-PlayerStopUsingItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0824-FallingBlock-auto-expire-setting.patch (renamed from patches/server/0826-FallingBlock-auto-expire-setting.patch) | 0 | ||||
-rw-r--r-- | patches/server/0825-Don-t-tick-markers.patch (renamed from patches/server/0827-Don-t-tick-markers.patch) | 2 | ||||
-rw-r--r-- | patches/server/0826-Do-not-accept-invalid-client-settings.patch (renamed from patches/server/0828-Do-not-accept-invalid-client-settings.patch) | 4 | ||||
-rw-r--r-- | patches/server/0827-Add-support-for-Proxy-Protocol.patch (renamed from patches/server/0829-Add-support-for-Proxy-Protocol.patch) | 0 | ||||
-rw-r--r-- | patches/server/0828-Fix-OfflinePlayer-getBedSpawnLocation.patch (renamed from patches/server/0830-Fix-OfflinePlayer-getBedSpawnLocation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0829-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (renamed from patches/server/0831-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch) | 0 | ||||
-rw-r--r-- | patches/server/0830-Sanitize-Sent-BlockEntity-NBT.patch (renamed from patches/server/0832-Sanitize-Sent-BlockEntity-NBT.patch) | 0 | ||||
-rw-r--r-- | patches/server/0831-Disable-component-selector-resolving-in-books-by-def.patch (renamed from patches/server/0833-Disable-component-selector-resolving-in-books-by-def.patch) | 0 | ||||
-rw-r--r-- | patches/server/0832-Prevent-entity-loading-causing-async-lookups.patch (renamed from patches/server/0834-Prevent-entity-loading-causing-async-lookups.patch) | 2 | ||||
-rw-r--r-- | patches/server/0833-Throw-exception-on-world-create-while-being-ticked.patch (renamed from patches/server/0835-Throw-exception-on-world-create-while-being-ticked.patch) | 16 | ||||
-rw-r--r-- | patches/server/0834-Add-Alternate-Current-redstone-implementation.patch (renamed from patches/server/0836-Add-Alternate-Current-redstone-implementation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0835-Dont-resent-entity-on-art-update.patch (renamed from patches/server/0837-Dont-resent-entity-on-art-update.patch) | 0 | ||||
-rw-r--r-- | patches/server/0836-Add-WardenAngerChangeEvent.patch (renamed from patches/server/0838-Add-WardenAngerChangeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0837-Add-option-for-strict-advancement-dimension-checks.patch (renamed from patches/server/0839-Add-option-for-strict-advancement-dimension-checks.patch) | 2 | ||||
-rw-r--r-- | patches/server/0838-Add-missing-important-BlockStateListPopulator-method.patch (renamed from patches/server/0840-Add-missing-important-BlockStateListPopulator-method.patch) | 0 | ||||
-rw-r--r-- | patches/server/0839-Nameable-Banner-API.patch (renamed from patches/server/0841-Nameable-Banner-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0840-Don-t-broadcast-messages-to-command-blocks.patch (renamed from patches/server/0842-Don-t-broadcast-messages-to-command-blocks.patch) | 4 | ||||
-rw-r--r-- | patches/server/0841-Prevent-empty-items-from-being-added-to-world.patch (renamed from patches/server/0843-Prevent-empty-items-from-being-added-to-world.patch) | 0 | ||||
-rw-r--r-- | patches/server/0842-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (renamed from patches/server/0844-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch) | 2 | ||||
-rw-r--r-- | patches/server/0843-Don-t-print-component-in-resource-pack-rejection-mes.patch (renamed from patches/server/0845-Don-t-print-component-in-resource-pack-rejection-mes.patch) | 4 | ||||
-rw-r--r-- | patches/server/0844-Add-Player-getFishHook.patch (renamed from patches/server/0846-Add-Player-getFishHook.patch) | 2 | ||||
-rw-r--r-- | patches/server/0845-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (renamed from patches/server/0847-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch) | 0 | ||||
-rw-r--r-- | patches/server/0846-Add-various-missing-EntityDropItemEvent-calls.patch (renamed from patches/server/0848-Add-various-missing-EntityDropItemEvent-calls.patch) | 2 | ||||
-rw-r--r-- | patches/server/0847-Add-some-minimal-debug-information-to-chat-packet-er.patch (renamed from patches/server/0849-Add-some-minimal-debug-information-to-chat-packet-er.patch) | 4 | ||||
-rw-r--r-- | patches/server/0848-Fix-Bee-flower-NPE.patch (renamed from patches/server/0850-Fix-Bee-flower-NPE.patch) | 0 | ||||
-rw-r--r-- | patches/server/0849-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (renamed from patches/server/0851-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch) | 4 | ||||
-rw-r--r-- | patches/server/0850-More-Teleport-API.patch (renamed from patches/server/0852-More-Teleport-API.patch) | 16 | ||||
-rw-r--r-- | patches/server/0851-Add-EntityPortalReadyEvent.patch (renamed from patches/server/0853-Add-EntityPortalReadyEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0852-Don-t-use-level-random-in-entity-constructors.patch (renamed from patches/server/0854-Don-t-use-level-random-in-entity-constructors.patch) | 0 | ||||
-rw-r--r-- | patches/server/0853-Send-block-entities-after-destroy-prediction.patch (renamed from patches/server/0855-Send-block-entities-after-destroy-prediction.patch) | 4 | ||||
-rw-r--r-- | patches/server/0854-Warn-on-plugins-accessing-faraway-chunks.patch (renamed from patches/server/0856-Warn-on-plugins-accessing-faraway-chunks.patch) | 16 | ||||
-rw-r--r-- | patches/server/0855-Custom-Chat-Completion-Suggestions-API.patch (renamed from patches/server/0857-Custom-Chat-Completion-Suggestions-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0856-Add-missing-BlockFadeEvents.patch (renamed from patches/server/0858-Add-missing-BlockFadeEvents.patch) | 0 | ||||
-rw-r--r-- | patches/server/0857-Collision-API.patch (renamed from patches/server/0859-Collision-API.patch) | 8 | ||||
-rw-r--r-- | patches/server/0858-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (renamed from patches/server/0860-Fix-suggest-command-message-for-brigadier-syntax-exc.patch) | 0 | ||||
-rw-r--r-- | patches/server/0859-Remove-invalid-signature-login-stacktrace.patch (renamed from patches/server/0861-Remove-invalid-signature-login-stacktrace.patch) | 4 | ||||
-rw-r--r-- | patches/server/0860-Block-Ticking-API.patch (renamed from patches/server/0862-Block-Ticking-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0861-Add-Velocity-IP-Forwarding-Support.patch (renamed from patches/server/0863-Add-Velocity-IP-Forwarding-Support.patch) | 2 | ||||
-rw-r--r-- | patches/server/0862-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch (renamed from patches/server/0864-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch) | 0 | ||||
-rw-r--r-- | patches/server/0863-Add-NamespacedKey-biome-methods.patch (renamed from patches/server/0865-Add-NamespacedKey-biome-methods.patch) | 4 | ||||
-rw-r--r-- | patches/server/0864-Fix-plugin-loggers-on-server-shutdown.patch (renamed from patches/server/0866-Fix-plugin-loggers-on-server-shutdown.patch) | 4 | ||||
-rw-r--r-- | patches/server/0865-Stop-large-look-changes-from-crashing-the-server.patch (renamed from patches/server/0867-Stop-large-look-changes-from-crashing-the-server.patch) | 0 | ||||
-rw-r--r-- | patches/server/0866-Fire-EntityChangeBlockEvent-in-more-places.patch (renamed from patches/server/0868-Fire-EntityChangeBlockEvent-in-more-places.patch) | 0 | ||||
-rw-r--r-- | patches/server/0867-Missing-eating-regain-reason.patch (renamed from patches/server/0869-Missing-eating-regain-reason.patch) | 0 | ||||
-rw-r--r-- | patches/server/0868-Missing-effect-cause.patch (renamed from patches/server/0870-Missing-effect-cause.patch) | 0 | ||||
-rw-r--r-- | patches/server/0869-Added-byte-array-serialization-deserialization-for-P.patch (renamed from patches/server/0871-Added-byte-array-serialization-deserialization-for-P.patch) | 2 | ||||
-rw-r--r-- | patches/server/0870-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch (renamed from patches/server/0872-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch) | 10 | ||||
-rw-r--r-- | patches/server/0871-Call-BlockPhysicsEvent-more-often.patch (renamed from patches/server/0873-Call-BlockPhysicsEvent-more-often.patch) | 0 | ||||
-rw-r--r-- | patches/server/0872-Configurable-chat-thread-limit.patch (renamed from patches/server/0874-Configurable-chat-thread-limit.patch) | 0 | ||||
-rw-r--r-- | patches/server/0873-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (renamed from patches/server/0875-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch) | 0 | ||||
-rw-r--r-- | patches/server/0874-fix-Jigsaw-block-kicking-user.patch (renamed from patches/server/0876-fix-Jigsaw-block-kicking-user.patch) | 0 | ||||
-rw-r--r-- | patches/server/0875-use-BlockFormEvent-for-mud-converting-into-clay.patch (renamed from patches/server/0877-use-BlockFormEvent-for-mud-converting-into-clay.patch) | 0 | ||||
-rw-r--r-- | patches/server/0876-Add-getDrops-to-BlockState.patch (renamed from patches/server/0878-Add-getDrops-to-BlockState.patch) | 4 | ||||
-rw-r--r-- | patches/server/0877-Fix-a-bunch-of-vanilla-bugs.patch (renamed from patches/server/0879-Fix-a-bunch-of-vanilla-bugs.patch) | 0 | ||||
-rw-r--r-- | patches/server/0878-Remove-unnecessary-onTrackingStart-during-navigation.patch (renamed from patches/server/0880-Remove-unnecessary-onTrackingStart-during-navigation.patch) | 0 | ||||
-rw-r--r-- | patches/server/0879-Fix-custom-piglin-loved-items.patch (renamed from patches/server/0881-Fix-custom-piglin-loved-items.patch) | 0 | ||||
-rw-r--r-- | patches/server/0880-EntityPickupItemEvent-fixes.patch (renamed from patches/server/0882-EntityPickupItemEvent-fixes.patch) | 0 | ||||
-rw-r--r-- | patches/server/0881-Correctly-handle-interactions-with-items-on-cooldown.patch (renamed from patches/server/0883-Correctly-handle-interactions-with-items-on-cooldown.patch) | 2 | ||||
-rw-r--r-- | patches/server/0882-Add-PlayerInventorySlotChangeEvent.patch (renamed from patches/server/0884-Add-PlayerInventorySlotChangeEvent.patch) | 2 | ||||
-rw-r--r-- | patches/server/0883-Elder-Guardian-appearance-API.patch (renamed from patches/server/0885-Elder-Guardian-appearance-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0884-Allow-changing-bed-s-occupied-property.patch (renamed from patches/server/0886-Allow-changing-bed-s-occupied-property.patch) | 0 | ||||
-rw-r--r-- | patches/server/0885-Add-entity-knockback-API.patch (renamed from patches/server/0887-Add-entity-knockback-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0886-Detect-headless-JREs.patch (renamed from patches/server/0888-Detect-headless-JREs.patch) | 0 | ||||
-rw-r--r-- | patches/server/0887-fixed-entity-vehicle-collision-event-not-called.patch (renamed from patches/server/0889-fixed-entity-vehicle-collision-event-not-called.patch) | 0 | ||||
-rw-r--r-- | patches/server/0888-optimized-dirt-and-snow-spreading.patch (renamed from patches/server/0890-optimized-dirt-and-snow-spreading.patch) | 0 | ||||
-rw-r--r-- | patches/server/0889-Added-EntityToggleSitEvent.patch (renamed from patches/server/0891-Added-EntityToggleSitEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0890-Add-fire-tick-delay-option.patch (renamed from patches/server/0892-Add-fire-tick-delay-option.patch) | 0 | ||||
-rw-r--r-- | patches/server/0891-Add-Moving-Piston-API.patch (renamed from patches/server/0893-Add-Moving-Piston-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0892-Ignore-impossible-spawn-tick.patch (renamed from patches/server/0894-Ignore-impossible-spawn-tick.patch) | 2 | ||||
-rw-r--r-- | patches/server/0893-Track-projectile-source-for-fireworks-from-dispenser.patch (renamed from patches/server/0895-Track-projectile-source-for-fireworks-from-dispenser.patch) | 0 | ||||
-rw-r--r-- | patches/server/0894-Fix-EntityArgument-suggestion-permissions-to-align-w.patch (renamed from patches/server/0896-Fix-EntityArgument-suggestion-permissions-to-align-w.patch) | 0 | ||||
-rw-r--r-- | patches/server/0895-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (renamed from patches/server/0897-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch) | 2 | ||||
-rw-r--r-- | patches/server/0896-Prevent-compass-from-loading-chunks.patch (renamed from patches/server/0898-Prevent-compass-from-loading-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0897-Add-PrePlayerAttackEntityEvent.patch (renamed from patches/server/0899-Add-PrePlayerAttackEntityEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0898-ensure-reset-EnderDragon-boss-event-name.patch (renamed from patches/server/0900-ensure-reset-EnderDragon-boss-event-name.patch) | 0 | ||||
-rw-r--r-- | patches/server/0899-fix-MC-252817-green-map-markers-do-not-disappear.patch (renamed from patches/server/0901-fix-MC-252817-green-map-markers-do-not-disappear.patch) | 0 | ||||
-rw-r--r-- | patches/server/0900-Add-Player-Warden-Warning-API.patch (renamed from patches/server/0902-Add-Player-Warden-Warning-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0901-More-vanilla-friendly-methods-to-update-trades.patch (renamed from patches/server/0903-More-vanilla-friendly-methods-to-update-trades.patch) | 4 | ||||
-rw-r--r-- | patches/server/0902-Add-paper-dumplisteners-command.patch (renamed from patches/server/0904-Add-paper-dumplisteners-command.patch) | 0 | ||||
-rw-r--r-- | patches/server/0903-check-global-player-list-where-appropriate.patch (renamed from patches/server/0905-check-global-player-list-where-appropriate.patch) | 0 | ||||
-rw-r--r-- | patches/server/0904-Fix-async-entity-add-due-to-fungus-trees.patch (renamed from patches/server/0906-Fix-async-entity-add-due-to-fungus-trees.patch) | 2 | ||||
-rw-r--r-- | patches/server/0905-ItemStack-damage-API.patch (renamed from patches/server/0907-ItemStack-damage-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0906-Friction-API.patch (renamed from patches/server/0908-Friction-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0907-Ability-to-control-player-s-insomnia-and-phantoms.patch (renamed from patches/server/0909-Ability-to-control-player-s-insomnia-and-phantoms.patch) | 0 | ||||
-rw-r--r-- | patches/server/0908-Fix-player-kick-on-shutdown.patch (renamed from patches/server/0910-Fix-player-kick-on-shutdown.patch) | 0 | ||||
-rw-r--r-- | patches/server/0909-Sync-offhand-slot-in-menus.patch (renamed from patches/server/0911-Sync-offhand-slot-in-menus.patch) | 2 | ||||
-rw-r--r-- | patches/server/0910-Player-Entity-Tracking-Events.patch (renamed from patches/server/0912-Player-Entity-Tracking-Events.patch) | 2 | ||||
-rw-r--r-- | patches/server/0911-Limit-pet-look-distance.patch (renamed from patches/server/0913-Limit-pet-look-distance.patch) | 0 | ||||
-rw-r--r-- | patches/server/0912-Properly-resend-entities.patch (renamed from patches/server/0914-Properly-resend-entities.patch) | 6 | ||||
-rw-r--r-- | patches/server/0913-Fixes-and-additions-to-the-SpawnReason-API.patch (renamed from patches/server/0915-Fixes-and-additions-to-the-SpawnReason-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0914-fix-Instruments.patch | 53 | ||||
-rw-r--r-- | patches/server/0915-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (renamed from patches/server/0917-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch) | 0 | ||||
-rw-r--r-- | patches/server/0916-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (renamed from patches/server/0918-Fix-inconsistencies-in-dispense-events-regarding-sta.patch) | 0 | ||||
-rw-r--r-- | patches/server/0916-fix-Instruments.patch | 85 | ||||
-rw-r--r-- | patches/server/0917-Improve-logging-and-errors.patch (renamed from patches/server/0919-Improve-logging-and-errors.patch) | 2 | ||||
-rw-r--r-- | patches/server/0918-Add-BlockLockCheckEvent.patch (renamed from patches/server/0920-Add-BlockLockCheckEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0919-Add-Sneaking-API-for-Entities.patch (renamed from patches/server/0921-Add-Sneaking-API-for-Entities.patch) | 4 | ||||
-rw-r--r-- | patches/server/0920-Improve-PortalEvents.patch (renamed from patches/server/0922-Improve-PortalEvents.patch) | 2 | ||||
-rw-r--r-- | patches/server/0921-Add-config-option-for-spider-worldborder-climbing.patch (renamed from patches/server/0923-Add-config-option-for-spider-worldborder-climbing.patch) | 2 | ||||
-rw-r--r-- | patches/server/0922-Add-missing-SpigotConfig-logCommands-check.patch (renamed from patches/server/0924-Add-missing-SpigotConfig-logCommands-check.patch) | 4 | ||||
-rw-r--r-- | patches/server/0923-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (renamed from patches/server/0925-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch) | 0 | ||||
-rw-r--r-- | patches/server/0924-Flying-Fall-Damage.patch (renamed from patches/server/0926-Flying-Fall-Damage.patch) | 4 | ||||
-rw-r--r-- | patches/server/0925-Add-exploded-block-state-to-BlockExplodeEvent.patch (renamed from patches/server/0927-Add-exploded-block-state-to-BlockExplodeEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0926-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (renamed from patches/server/0928-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch) | 2 | ||||
-rw-r--r-- | patches/server/0927-config-for-disabling-entity-tag-tags.patch (renamed from patches/server/0929-config-for-disabling-entity-tag-tags.patch) | 0 | ||||
-rw-r--r-- | patches/server/0928-Use-single-player-info-update-packet-on-join.patch (renamed from patches/server/0930-Use-single-player-info-update-packet-on-join.patch) | 6 | ||||
-rw-r--r-- | patches/server/0929-Correctly-shrink-items-during-EntityResurrectEvent.patch (renamed from patches/server/0931-Correctly-shrink-items-during-EntityResurrectEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0930-Win-Screen-API.patch (renamed from patches/server/0932-Win-Screen-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0931-Remove-CraftItemStack-setAmount-null-assignment.patch (renamed from patches/server/0933-Remove-CraftItemStack-setAmount-null-assignment.patch) | 4 | ||||
-rw-r--r-- | patches/server/0932-Fix-force-opening-enchantment-tables.patch (renamed from patches/server/0934-Fix-force-opening-enchantment-tables.patch) | 4 | ||||
-rw-r--r-- | patches/server/0933-Add-Entity-Body-Yaw-API.patch (renamed from patches/server/0935-Add-Entity-Body-Yaw-API.patch) | 4 | ||||
-rw-r--r-- | patches/server/0934-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (renamed from patches/server/0936-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch) | 0 | ||||
-rw-r--r-- | patches/server/0935-Update-the-flag-when-a-captured-block-state-is-outda.patch (renamed from patches/server/0937-Update-the-flag-when-a-captured-block-state-is-outda.patch) | 0 | ||||
-rw-r--r-- | patches/server/0936-Add-EntityFertilizeEggEvent.patch (renamed from patches/server/0938-Add-EntityFertilizeEggEvent.patch) | 4 | ||||
-rw-r--r-- | patches/server/0937-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (renamed from patches/server/0939-Fix-HumanEntity-drop-not-updating-the-client-inv.patch) | 4 | ||||
-rw-r--r-- | patches/server/0938-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (renamed from patches/server/0940-Add-CompostItemEvent-and-EntityCompostItemEvent.patch) | 0 | ||||
-rw-r--r-- | patches/server/0939-Correctly-handle-ArmorStand-invisibility.patch (renamed from patches/server/0941-Correctly-handle-ArmorStand-invisibility.patch) | 0 | ||||
-rw-r--r-- | patches/server/0940-Fix-advancement-triggers-for-entity-damage.patch (renamed from patches/server/0942-Fix-advancement-triggers-for-entity-damage.patch) | 0 | ||||
-rw-r--r-- | patches/server/0941-Fix-text-display-error-on-spawn.patch (renamed from patches/server/0943-Fix-text-display-error-on-spawn.patch) | 0 | ||||
-rw-r--r-- | patches/server/0942-Fix-certain-inventories-returning-null-Locations.patch (renamed from patches/server/0944-Fix-certain-inventories-returning-null-Locations.patch) | 0 | ||||
-rw-r--r-- | patches/server/0943-Add-Shearable-API.patch (renamed from patches/server/0945-Add-Shearable-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0944-Fix-SpawnEggMeta-get-setSpawnedType.patch (renamed from patches/server/0946-Fix-SpawnEggMeta-get-setSpawnedType.patch) | 0 | ||||
-rw-r--r-- | patches/server/0945-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch (renamed from patches/server/0947-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch) | 4 | ||||
-rw-r--r-- | patches/server/0946-Optimize-Hoppers.patch (renamed from patches/server/0948-Optimize-Hoppers.patch) | 4 | ||||
-rw-r--r-- | patches/server/0947-Fix-beehives-generating-from-using-bonemeal.patch (renamed from patches/server/0949-Fix-beehives-generating-from-using-bonemeal.patch) | 0 | ||||
-rw-r--r-- | patches/server/0948-Fix-api-checking-banned-ips.patch (renamed from patches/server/0950-Fix-api-checking-banned-ips.patch) | 4 | ||||
-rw-r--r-- | patches/server/0949-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (renamed from patches/server/0951-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch) | 0 | ||||
-rw-r--r-- | patches/server/0950-Treat-sequence-violations-like-they-should-be.patch (renamed from patches/server/0952-Treat-sequence-violations-like-they-should-be.patch) | 4 | ||||
-rw-r--r-- | patches/server/0951-remove-duplicate-animate-packet-for-records.patch (renamed from patches/server/0953-remove-duplicate-animate-packet-for-records.patch) | 0 | ||||
-rw-r--r-- | patches/server/0952-Prevent-causing-expired-keys-from-impacting-new-join.patch (renamed from patches/server/0954-Prevent-causing-expired-keys-from-impacting-new-join.patch) | 4 | ||||
-rw-r--r-- | patches/server/0953-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (renamed from patches/server/0955-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0954-Use-array-for-gamerule-storage.patch (renamed from patches/server/0956-Use-array-for-gamerule-storage.patch) | 0 | ||||
-rw-r--r-- | patches/server/0955-Fix-a-couple-of-upstream-bed-issues.patch (renamed from patches/server/0957-Fix-a-couple-of-upstream-bed-issues.patch) | 0 | ||||
-rw-r--r-- | patches/server/0956-Fix-demo-flag-not-enabling-demo-mode.patch (renamed from patches/server/0958-Fix-demo-flag-not-enabling-demo-mode.patch) | 0 | ||||
-rw-r--r-- | patches/server/0957-Add-Mob-Experience-reward-API.patch (renamed from patches/server/0959-Add-Mob-Experience-reward-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0958-Break-redstone-on-top-of-trap-doors-early.patch (renamed from patches/server/0960-Break-redstone-on-top-of-trap-doors-early.patch) | 0 | ||||
-rw-r--r-- | patches/server/0959-Fix-DamageCause-for-Falling-Blocks.patch (renamed from patches/server/0961-Fix-DamageCause-for-Falling-Blocks.patch) | 2 | ||||
-rw-r--r-- | patches/server/0960-Avoid-Lazy-Initialization-for-Enum-Fields.patch (renamed from patches/server/0962-Avoid-Lazy-Initialization-for-Enum-Fields.patch) | 0 | ||||
-rw-r--r-- | patches/server/0961-More-accurate-isInOpenWater-impl.patch (renamed from patches/server/0963-More-accurate-isInOpenWater-impl.patch) | 4 | ||||
-rw-r--r-- | patches/server/0962-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch (renamed from patches/server/0964-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch) | 0 | ||||
-rw-r--r-- | patches/server/0963-Optimise-recalcBlockCounts-for-empty-sections.patch (renamed from patches/server/0965-Optimise-recalcBlockCounts-for-empty-sections.patch) | 0 | ||||
-rw-r--r-- | patches/server/0964-Fix-destroying-beehive-without-any-players-nearby-th.patch (renamed from patches/server/0966-Fix-destroying-beehive-without-any-players-nearby-th.patch) | 0 | ||||
-rw-r--r-- | patches/server/0965-Expand-PlayerItemMendEvent.patch (renamed from patches/server/0967-Expand-PlayerItemMendEvent.patch) | 8 | ||||
-rw-r--r-- | patches/server/0966-Refresh-ProjectileSource-for-projectiles.patch (renamed from patches/server/0968-Refresh-ProjectileSource-for-projectiles.patch) | 2 | ||||
-rw-r--r-- | patches/server/0967-Add-transient-modifier-API.patch (renamed from patches/server/0969-Add-transient-modifier-API.patch) | 0 | ||||
-rw-r--r-- | patches/server/0968-Fix-block-place-logic.patch (renamed from patches/server/0970-Fix-block-place-logic.patch) | 0 | ||||
-rw-r--r-- | patches/server/0969-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (renamed from patches/server/0971-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch) | 0 | ||||
-rw-r--r-- | patches/server/0970-Ignore-inline-definitions-of-trim-material-pattern.patch (renamed from patches/server/0972-Ignore-inline-definitions-of-trim-material-pattern.patch) | 0 | ||||
-rw-r--r-- | patches/server/0971-Call-BlockGrowEvent-for-the-pitcher-crop.patch (renamed from patches/server/0973-Call-BlockGrowEvent-for-the-pitcher-crop.patch) | 0 | ||||
-rw-r--r-- | patches/server/0972-Add-API-for-waxed-signs.patch (renamed from patches/server/0974-Add-API-for-waxed-signs.patch) | 0 | ||||
-rw-r--r-- | patches/server/0973-Properly-remove-the-experimental-smithing-inventory-.patch (renamed from patches/server/0975-Properly-remove-the-experimental-smithing-inventory-.patch) | 2 | ||||
-rw-r--r-- | patches/server/0974-Fix-sendSignChange0-s-usage-of-SignText.patch (renamed from patches/server/0976-Fix-sendSignChange0-s-usage-of-SignText.patch) | 4 | ||||
m--------- | work/Bukkit | 0 | ||||
m--------- | work/CraftBukkit | 0 | ||||
m--------- | work/Spigot | 0 |
904 files changed, 1594 insertions, 1691 deletions
diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index 25d1c82bb2..1fa6ca4e57 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -753,10 +753,10 @@ index 0000000000000000000000000000000000000000..6e94562d79206d88b74b53814f9423f1 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad749c8579 100644 +index ff86f4f5d7f460e8986c4a4fa483f5b5a1d3a1b6..cd9566aeace9e2e1e01fb014b0c50ba93af305d7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -379,7 +379,9 @@ public final class Bukkit { +@@ -388,7 +388,9 @@ public final class Bukkit { * * @param message the message * @return the number of players @@ -766,7 +766,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static int broadcastMessage(@NotNull String message) { return server.broadcastMessage(message); } -@@ -1095,6 +1097,19 @@ public final class Bukkit { +@@ -1104,6 +1106,19 @@ public final class Bukkit { server.shutdown(); } @@ -786,7 +786,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Broadcasts the specified message to every user with the given * permission name. -@@ -1104,6 +1119,21 @@ public final class Bukkit { +@@ -1113,6 +1128,21 @@ public final class Bukkit { * permissibles} must have to receive the broadcast * @return number of message recipients */ @@ -808,7 +808,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static int broadcast(@NotNull String message, @NotNull String permission) { return server.broadcast(message, permission); } -@@ -1342,6 +1372,7 @@ public final class Bukkit { +@@ -1351,6 +1381,7 @@ public final class Bukkit { return server.createInventory(owner, type); } @@ -816,7 +816,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Creates an empty inventory with the specified type and title. If the type * is {@link InventoryType#CHEST}, the new inventory has a size of 27; -@@ -1367,6 +1398,38 @@ public final class Bukkit { +@@ -1376,6 +1407,38 @@ public final class Bukkit { * @see InventoryType#isCreatable() */ @NotNull @@ -855,7 +855,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) { return server.createInventory(owner, type, title); } -@@ -1385,6 +1448,7 @@ public final class Bukkit { +@@ -1394,6 +1457,7 @@ public final class Bukkit { return server.createInventory(owner, size); } @@ -863,7 +863,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1397,10 +1461,30 @@ public final class Bukkit { +@@ -1406,10 +1470,30 @@ public final class Bukkit { * @throws IllegalArgumentException if the size is not a multiple of 9 */ @NotNull @@ -894,7 +894,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad /** * Creates an empty merchant. * -@@ -1408,7 +1492,20 @@ public final class Bukkit { +@@ -1417,7 +1501,20 @@ public final class Bukkit { * when the merchant inventory is viewed * @return a new merchant */ @@ -915,7 +915,7 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static Merchant createMerchant(@Nullable String title) { return server.createMerchant(title); } -@@ -1525,22 +1622,47 @@ public final class Bukkit { +@@ -1534,12 +1631,43 @@ public final class Bukkit { return server.isPrimaryThread(); } @@ -928,6 +928,24 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad + @NotNull public static net.kyori.adventure.text.Component motd() { + return server.motd(); + } ++ ++ /** ++ * Set the message that is displayed on the server list. ++ * ++ * @param motd The message to be displayed ++ */ ++ public static void motd(final net.kyori.adventure.text.@NotNull Component motd) { ++ server.motd(motd); ++ } ++ ++ /** ++ * Gets the default message that is displayed when the server is stopped. ++ * ++ * @return the shutdown message ++ */ ++ public static net.kyori.adventure.text.@Nullable Component shutdownMessage() { ++ return server.shutdownMessage(); ++ } + // Paper end + /** @@ -941,18 +959,17 @@ index f8051479fbf0b63f671a343cdb375429a3f7bd2f..fe86d25bfc444ad7143fb60e88bc46ad public static String getMotd() { return server.getMotd(); } - -+ // Paper start -+ /** -+ * Gets the default message that is displayed when the server is stopped. -+ * -+ * @return the shutdown message -+ */ -+ public static net.kyori.adventure.text.@Nullable Component shutdownMessage() { -+ return server.shutdownMessage(); -+ } -+ // Paper end - /** +@@ -1548,7 +1676,9 @@ public final class Bukkit { + * Set the message that is displayed on the server list. + * + * @param motd The message to be displayed ++ * @deprecated in favour of {@link #motd(net.kyori.adventure.text.Component)} + */ ++ @Deprecated // Paper + public static void setMotd(@NotNull String motd) { + server.setMotd(motd); + } +@@ -1557,8 +1687,10 @@ public final class Bukkit { * Gets the default message that is displayed when the server is stopped. * * @return the shutdown message @@ -1132,7 +1149,7 @@ index c559f38fdb92cfee9f2e0ffb7088d1cf74a7f73d..a42f1d53340e4073038d46b7fabf5d44 + // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca7bfedba7 100644 +index d3684494b81d06b82eab72c6cfbd76d36dfc0e97..e359bc68007fbe62270ee62be762f844cbafe2d9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -60,13 +60,13 @@ import org.jetbrains.annotations.Nullable; @@ -1160,7 +1177,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca */ public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user"; -@@ -320,7 +320,9 @@ public interface Server extends PluginMessageRecipient { +@@ -327,7 +327,9 @@ public interface Server extends PluginMessageRecipient { * * @param message the message * @return the number of players @@ -1170,7 +1187,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca public int broadcastMessage(@NotNull String message); /** -@@ -938,8 +940,33 @@ public interface Server extends PluginMessageRecipient { +@@ -945,8 +947,33 @@ public interface Server extends PluginMessageRecipient { * @param permission the required permission {@link Permissible * permissibles} must have to receive the broadcast * @return number of message recipients @@ -1204,21 +1221,11 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca /** * Gets the player by the given name, regardless if they are offline or -@@ -1137,6 +1164,7 @@ public interface Server extends PluginMessageRecipient { +@@ -1144,6 +1171,35 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type); + // Paper start - /** - * Creates an empty inventory with the specified type and title. If the type - * is {@link InventoryType#CHEST}, the new inventory has a size of 27; -@@ -1162,6 +1190,36 @@ public interface Server extends PluginMessageRecipient { - * @see InventoryType#isCreatable() - */ - @NotNull -+ Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, net.kyori.adventure.text.@NotNull Component title); -+ // Paper end -+ + /** + * Creates an empty inventory with the specified type and title. If the type + * is {@link InventoryType#CHEST}, the new inventory has a size of 27; @@ -1240,16 +1247,29 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @return The new inventory. + * @throws IllegalArgumentException if the {@link InventoryType} cannot be + * viewed. -+ * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} + * + * @see InventoryType#isCreatable() + */ -+ @Deprecated // Paper + @NotNull ++ Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, net.kyori.adventure.text.@NotNull Component title); ++ // Paper end ++ + /** + * Creates an empty inventory with the specified type and title. If the type + * is {@link InventoryType#CHEST}, the new inventory has a size of 27; +@@ -1165,9 +1221,11 @@ public interface Server extends PluginMessageRecipient { + * @return The new inventory. + * @throws IllegalArgumentException if the {@link InventoryType} cannot be + * viewed. ++ * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} + * + * @see InventoryType#isCreatable() + */ ++ @Deprecated // Paper + @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title); - /** -@@ -1176,6 +1234,22 @@ public interface Server extends PluginMessageRecipient { +@@ -1183,6 +1241,22 @@ public interface Server extends PluginMessageRecipient { @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size) throws IllegalArgumentException; @@ -1272,7 +1292,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca /** * Creates an empty inventory of type {@link InventoryType#CHEST} with the * specified size and title. -@@ -1186,10 +1260,13 @@ public interface Server extends PluginMessageRecipient { +@@ -1193,18 +1267,32 @@ public interface Server extends PluginMessageRecipient { * viewed * @return a new inventory * @throws IllegalArgumentException if the size is not a multiple of 9 @@ -1283,29 +1303,29 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException; + // Paper start - /** - * Creates an empty merchant. - * -@@ -1197,7 +1274,18 @@ public interface Server extends PluginMessageRecipient { - * when the merchant inventory is viewed - * @return a new merchant - */ -+ @NotNull Merchant createMerchant(net.kyori.adventure.text.@Nullable Component title); -+ // Paper start + /** + * Creates an empty merchant. + * + * @param title the title of the corresponding merchant inventory, displayed + * when the merchant inventory is viewed + * @return a new merchant -+ * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} + */ ++ @NotNull Merchant createMerchant(net.kyori.adventure.text.@Nullable Component title); ++ // Paper start + /** + * Creates an empty merchant. + * + * @param title the title of the corresponding merchant inventory, displayed + * when the merchant inventory is viewed + * @return a new merchant ++ * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} + */ @NotNull + @Deprecated // Paper Merchant createMerchant(@Nullable String title); /** -@@ -1293,20 +1381,41 @@ public interface Server extends PluginMessageRecipient { +@@ -1300,27 +1388,56 @@ public interface Server extends PluginMessageRecipient { */ boolean isPrimaryThread(); @@ -1316,6 +1336,20 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @return the server's MOTD + */ + net.kyori.adventure.text.@NotNull Component motd(); ++ ++ /** ++ * Set the message that is displayed on the server list. ++ * ++ * @param motd The message to be displayed ++ */ ++ void motd(final net.kyori.adventure.text.@NotNull Component motd); ++ ++ /** ++ * Gets the default message that is displayed when the server is stopped. ++ * ++ * @return the shutdown message ++ */ ++ net.kyori.adventure.text.@Nullable Component shutdownMessage(); + // Paper end + /** @@ -1328,14 +1362,15 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + @Deprecated // Paper String getMotd(); -+ // Paper start -+ /** -+ * Gets the default message that is displayed when the server is stopped. -+ * -+ * @return the shutdown message -+ */ -+ net.kyori.adventure.text.@Nullable Component shutdownMessage(); -+ // Paper end + /** + * Set the message that is displayed on the server list. + * + * @param motd The message to be displayed ++ * @deprecated in favour of {@link #motd(net.kyori.adventure.text.Component)} + */ ++ @Deprecated // Paper + void setMotd(@NotNull String motd); + /** * Gets the default message that is displayed when the server is stopped. * @@ -1347,7 +1382,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca String getShutdownMessage(); /** -@@ -1688,7 +1797,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1702,7 +1819,9 @@ public interface Server extends PluginMessageRecipient { * Sends the component to the player * * @param component the components to send @@ -1357,7 +1392,7 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca public void broadcast(@NotNull net.md_5.bungee.api.chat.BaseComponent component) { throw new UnsupportedOperationException("Not supported yet."); } -@@ -1697,7 +1808,9 @@ public interface Server extends PluginMessageRecipient { +@@ -1711,7 +1830,9 @@ public interface Server extends PluginMessageRecipient { * Sends an array of components as a single message to the player * * @param components the components to send diff --git a/patches/api/0010-Timings-v2.patch b/patches/api/0010-Timings-v2.patch index f93edb3393..ac048d78e1 100644 --- a/patches/api/0010-Timings-v2.patch +++ b/patches/api/0010-Timings-v2.patch @@ -2854,10 +2854,10 @@ index 0000000000000000000000000000000000000000..3e61a926620a67daec3af54b72a1b911 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index fe86d25bfc444ad7143fb60e88bc46ad749c8579..ffacdd168e2b68663becfcfc5c917a41f8ec817d 100644 +index cd9566aeace9e2e1e01fb014b0c50ba93af305d7..1f4df6984a8b8bd3e72a5eb7fb1c66b6bfddfbf5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -823,7 +823,6 @@ public final class Bukkit { +@@ -832,7 +832,6 @@ public final class Bukkit { */ public static void reload() { server.reload(); @@ -2866,10 +2866,10 @@ index fe86d25bfc444ad7143fb60e88bc46ad749c8579..ffacdd168e2b68663becfcfc5c917a41 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b516021b6772d8266ed72b73170510ca7bfedba7..cadf590c7e597a503078892b3d5671642a80eb3f 100644 +index e359bc68007fbe62270ee62be762f844cbafe2d9..e773b40ff5fa9890c72e45e5c75a155bd7d02954 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1793,6 +1793,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1815,6 +1815,26 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi throw new UnsupportedOperationException("Not supported yet."); } diff --git a/patches/api/0013-Add-getTPS-method.patch b/patches/api/0013-Add-getTPS-method.patch index e49e4e2edf..f5bdf29597 100644 --- a/patches/api/0013-Add-getTPS-method.patch +++ b/patches/api/0013-Add-getTPS-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getTPS method diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 003d1613fb1b5a24146fb3eeba0be7bf5a4eb8b8..ad7ab68bb2cb4516217984c1c8c07f7a892734a0 100644 +index d77a7acb3ea82a331cb773bfda3e66d26a2bbd68..b2effed0281997a64dd0fdc965bce2a54af0cf4d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1912,6 +1912,17 @@ public final class Bukkit { +@@ -1940,6 +1940,17 @@ public final class Bukkit { return server.getEntity(uuid); } @@ -27,10 +27,10 @@ index 003d1613fb1b5a24146fb3eeba0be7bf5a4eb8b8..ad7ab68bb2cb4516217984c1c8c07f7a * Get the advancement specified by this key. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 15b07d05d948d5df21591dc9e1b0fc0232c984ec..1f09705726d9114821eeb8321805cac0f7966944 100644 +index 76d28815a51d73fc79ef8bb5abe8fc7758e6fd23..04f5191398dcfac02eb6553d549e77207c06e550 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1630,6 +1630,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1652,6 +1652,16 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable Entity getEntity(@NotNull UUID uuid); diff --git a/patches/api/0020-Expose-server-CommandMap.patch b/patches/api/0020-Expose-server-CommandMap.patch index 804b176eb2..f64662cba3 100644 --- a/patches/api/0020-Expose-server-CommandMap.patch +++ b/patches/api/0020-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ad7ab68bb2cb4516217984c1c8c07f7a892734a0..b28d196a810e121d0502e0035b16d2c6ed2efe2d 100644 +index b2effed0281997a64dd0fdc965bce2a54af0cf4d..f3a976ea2d7433623202c1d7cbf777608b0ba457 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2113,6 +2113,19 @@ public final class Bukkit { +@@ -2141,6 +2141,19 @@ public final class Bukkit { return server.getUnsafe(); } @@ -29,10 +29,10 @@ index ad7ab68bb2cb4516217984c1c8c07f7a892734a0..b28d196a810e121d0502e0035b16d2c6 public static Server.Spigot spigot() { return server.spigot(); diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1f09705726d9114821eeb8321805cac0f7966944..b6ff3a80fcb5c0e843caa1cfdb165cf2cadb8bd2 100644 +index 04f5191398dcfac02eb6553d549e77207c06e550..c0c67866014940a1331cd714d5c6eb50256ae143 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1640,6 +1640,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1662,6 +1662,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi public double[] getTPS(); // Paper end diff --git a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch index 4f056b16b8..d11eb796ca 100644 --- a/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch +++ b/patches/api/0021-Graduate-bungeecord-chat-API-from-spigot-subclasses.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Graduate bungeecord chat API from spigot subclasses Change Javadoc to be accurate diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b28d196a810e121d0502e0035b16d2c6ed2efe2d..61734532c341dcbc0565189b63fd05f53b041039 100644 +index f3a976ea2d7433623202c1d7cbf777608b0ba457..77b267c50523433eee0fa35c6c5b8a9e121c0862 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -400,6 +400,30 @@ public final class Bukkit { +@@ -409,6 +409,30 @@ public final class Bukkit { return server.broadcastMessage(message); } @@ -41,10 +41,10 @@ index b28d196a810e121d0502e0035b16d2c6ed2efe2d..61734532c341dcbc0565189b63fd05f5 * Gets the name of the update folder. The update folder is used to safely * update plugins at the right moment on a plugin load. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b6ff3a80fcb5c0e843caa1cfdb165cf2cadb8bd2..f24bb5b22975bcbdce1bf1e80cf7a1b338ad12a5 100644 +index c0c67866014940a1331cd714d5c6eb50256ae143..0e63d438a74b96075d7d8fb51ddbd21be3447377 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -337,6 +337,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -344,6 +344,30 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Deprecated // Paper public int broadcastMessage(@NotNull String message); diff --git a/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch b/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch index e73aa3393f..94d7e38e7d 100644 --- a/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch +++ b/patches/api/0030-Add-command-to-reload-permissions.yml-and-require-co.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add command to reload permissions.yml and require confirm to diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 61734532c341dcbc0565189b63fd05f53b041039..cb021ea553f7330473f8e8bcc47803f8c544971a 100644 +index 77b267c50523433eee0fa35c6c5b8a9e121c0862..0b9b28b7a07a8176142b18cfa767c81f5035d52d 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2148,6 +2148,13 @@ public final class Bukkit { +@@ -2176,6 +2176,13 @@ public final class Bukkit { public static org.bukkit.command.CommandMap getCommandMap() { return server.getCommandMap(); } @@ -24,10 +24,10 @@ index 61734532c341dcbc0565189b63fd05f53b041039..cb021ea553f7330473f8e8bcc47803f8 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index f24bb5b22975bcbdce1bf1e80cf7a1b338ad12a5..ecd0b92f487b9c2d1f7fed1e98e10c8c0946ab9e 100644 +index 0e63d438a74b96075d7d8fb51ddbd21be3447377..e76c11688760a24f8395f562108b4c5fd7139b42 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1901,4 +1901,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1923,4 +1923,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull Spigot spigot(); // Spigot end diff --git a/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch b/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch index 1b4a34b2e9..7e19f95ecf 100644 --- a/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/api/0043-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cb021ea553f7330473f8e8bcc47803f8c544971a..7f5da77075a8c180848312d85e554a0e309fa3e5 100644 +index 0b9b28b7a07a8176142b18cfa767c81f5035d52d..22d9538abe61ccb3e5d3ae407d54446fa172fa39 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2155,6 +2155,15 @@ public final class Bukkit { +@@ -2183,6 +2183,15 @@ public final class Bukkit { public static void reloadPermissions() { server.reloadPermissions(); } @@ -26,10 +26,10 @@ index cb021ea553f7330473f8e8bcc47803f8c544971a..7f5da77075a8c180848312d85e554a0e @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ecd0b92f487b9c2d1f7fed1e98e10c8c0946ab9e..b2d13b1e31a09aad903f0c24b14641f911cfaee5 100644 +index e76c11688760a24f8395f562108b4c5fd7139b42..26516ae5519675dac359b578d0f06ea2c0745ab3 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1903,4 +1903,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1925,4 +1925,6 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi // Spigot end void reloadPermissions(); // Paper diff --git a/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch index 6a08ac19e0..2013c6f360 100644 --- a/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/api/0054-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7f5da77075a8c180848312d85e554a0e309fa3e5..8bc4615fd1e227de53d18c3ad6172f62fd38893b 100644 +index 22d9538abe61ccb3e5d3ae407d54446fa172fa39..68a79316cec0c4ab83c6f986e3a9561440994319 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2164,6 +2164,16 @@ public final class Bukkit { +@@ -2192,6 +2192,16 @@ public final class Bukkit { public static boolean reloadCommandAliases() { return server.reloadCommandAliases(); } @@ -27,10 +27,10 @@ index 7f5da77075a8c180848312d85e554a0e309fa3e5..8bc4615fd1e227de53d18c3ad6172f62 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index b2d13b1e31a09aad903f0c24b14641f911cfaee5..3f307c4e1f9231164f146d7d44a7327aee0293bd 100644 +index 26516ae5519675dac359b578d0f06ea2c0745ab3..0cf214c45078d83d678f12f6cb350e50fc5f1e94 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1905,4 +1905,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1927,4 +1927,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi void reloadPermissions(); // Paper boolean reloadCommandAliases(); // Paper diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 525e38db78..13aa3bf13d 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -53,10 +53,10 @@ index 96ef22fe879c7be4f67bbb4d60c45ad11764dd5b..5dc9f9ede98d93925c99ee382e93f15f * @param target the target to remove from this list */ diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 8bc4615fd1e227de53d18c3ad6172f62fd38893b..a0faa4ef90086bfb7b49bd59e566c01fa9ec380d 100644 +index 68a79316cec0c4ab83c6f986e3a9561440994319..316fc8348445b99af7ffc7c4ad24948a1115dfe6 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1290,10 +1290,7 @@ public final class Bukkit { +@@ -1299,10 +1299,7 @@ public final class Bukkit { } /** @@ -68,7 +68,7 @@ index 8bc4615fd1e227de53d18c3ad6172f62fd38893b..a0faa4ef90086bfb7b49bd59e566c01f * * @param type the type of list to fetch, cannot be null * @return a ban list of the specified type -@@ -1355,6 +1352,8 @@ public final class Bukkit { +@@ -1364,6 +1361,8 @@ public final class Bukkit { /** * Gets every player that has ever played on this server. @@ -130,10 +130,10 @@ index 43f5aab2fe70af5f570de1f21eca83905f1e2f57..05c29cbd2ae1ca0434a90f8389479bd6 * @param statePredicate The predicate which should get used to test if a block should be set or not. * @return true if the tree was created successfully, otherwise false diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b8f71fd83 100644 +index 0cf214c45078d83d678f12f6cb350e50fc5f1e94..d7b081ac72d7d2aa3b675c6cbb8fb66f73facc99 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -535,13 +535,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -542,13 +542,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * </ul> * <p> * <b>Note:</b> If set to 0, {@link SpawnCategory} mobs spawning will be disabled. @@ -148,7 +148,7 @@ index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b */ public int getTicksPerSpawns(@NotNull SpawnCategory spawnCategory); -@@ -1101,10 +1098,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1108,10 +1105,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi public Set<OfflinePlayer> getBannedPlayers(); /** @@ -160,7 +160,7 @@ index 3f307c4e1f9231164f146d7d44a7327aee0293bd..8f64461f8c05143e8e8e10c0efbb6d6b * * @param type the type of list to fetch, cannot be null * @return a ban list of the specified type -@@ -1154,6 +1148,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1161,6 +1155,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi /** * Gets every player that has ever played on this server. diff --git a/patches/api/0059-Basic-PlayerProfile-API.patch b/patches/api/0059-Basic-PlayerProfile-API.patch index 4b1765e69f..13200b1ca2 100644 --- a/patches/api/0059-Basic-PlayerProfile-API.patch +++ b/patches/api/0059-Basic-PlayerProfile-API.patch @@ -321,10 +321,10 @@ index 0000000000000000000000000000000000000000..7b3b6ef533d32169fbeca389bd61cfc6 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a0faa4ef90086bfb7b49bd59e566c01fa9ec380d..cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2 100644 +index 316fc8348445b99af7ffc7c4ad24948a1115dfe6..10eeb288ef41dfc6bd70fc8f6ec218dabc60b2a4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2173,6 +2173,83 @@ public final class Bukkit { +@@ -2201,6 +2201,83 @@ public final class Bukkit { public static boolean suggestPlayerNamesWhenNullTabCompletions() { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -409,10 +409,10 @@ index a0faa4ef90086bfb7b49bd59e566c01fa9ec380d..cbd89729d1ba4866fdb9b72b7f0a4fbd @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 8f64461f8c05143e8e8e10c0efbb6d6b8f71fd83..7f6400c58530d4827c197f3d1fbabfa34554010f 100644 +index d7b081ac72d7d2aa3b675c6cbb8fb66f73facc99..1487b5de4fba5304b7e2105c6f88872923aa7974 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1910,5 +1910,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1932,5 +1932,74 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if player names should be suggested */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0091-Player.setPlayerProfile-API.patch b/patches/api/0091-Player.setPlayerProfile-API.patch index 0b50ab4d3c..9cb130248a 100644 --- a/patches/api/0091-Player.setPlayerProfile-API.patch +++ b/patches/api/0091-Player.setPlayerProfile-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bde05a5a1c 100644 +index 10eeb288ef41dfc6bd70fc8f6ec218dabc60b2a4..ace8904541fb4571cb03f14e6e3baa02ae460d1e 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1220,8 +1220,10 @@ public final class Bukkit { +@@ -1229,8 +1229,10 @@ public final class Bukkit { * @return the new PlayerProfile * @throws IllegalArgumentException if both the unique id is * <code>null</code> and the name is <code>null</code> or blank @@ -20,7 +20,7 @@ index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bd public static PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name) { return server.createPlayerProfile(uniqueId, name); } -@@ -1232,8 +1234,10 @@ public final class Bukkit { +@@ -1241,8 +1243,10 @@ public final class Bukkit { * @param uniqueId the unique id * @return the new PlayerProfile * @throws IllegalArgumentException if the unique id is <code>null</code> @@ -31,7 +31,7 @@ index cbd89729d1ba4866fdb9b72b7f0a4fbd4e161cd2..551948a83965b38bf29aeb8daafc25bd public static PlayerProfile createPlayerProfile(@NotNull UUID uniqueId) { return server.createPlayerProfile(uniqueId); } -@@ -1245,8 +1249,10 @@ public final class Bukkit { +@@ -1254,8 +1258,10 @@ public final class Bukkit { * @return the new PlayerProfile * @throws IllegalArgumentException if the name is <code>null</code> or * blank @@ -56,10 +56,10 @@ index 5acb0d36a008cf5ad332c867e9303d35235b4028..b1ded556a1ce4e1d3c873ab9d7f799b6 /** * Checks if this player is banned or not diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327e987a460 100644 +index 1487b5de4fba5304b7e2105c6f88872923aa7974..e4f8031ab979ba7e3fd7242b788e41974f490565 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1042,8 +1042,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1049,8 +1049,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return the new PlayerProfile * @throws IllegalArgumentException if both the unique id is * <code>null</code> and the name is <code>null</code> or blank @@ -70,7 +70,7 @@ index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327 PlayerProfile createPlayerProfile(@Nullable UUID uniqueId, @Nullable String name); /** -@@ -1052,8 +1054,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1059,8 +1061,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param uniqueId the unique id * @return the new PlayerProfile * @throws IllegalArgumentException if the unique id is <code>null</code> @@ -81,7 +81,7 @@ index 7f6400c58530d4827c197f3d1fbabfa34554010f..e4c85e67713c5ed4b8b1fcc3c4231327 PlayerProfile createPlayerProfile(@NotNull UUID uniqueId); /** -@@ -1063,8 +1067,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1070,8 +1074,10 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return the new PlayerProfile * @throws IllegalArgumentException if the name is <code>null</code> or * blank diff --git a/patches/api/0092-getPlayerUniqueId-API.patch b/patches/api/0092-getPlayerUniqueId-API.patch index 0cf3122de1..ad0e12f4d8 100644 --- a/patches/api/0092-getPlayerUniqueId-API.patch +++ b/patches/api/0092-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 551948a83965b38bf29aeb8daafc25bde05a5a1c..7113f38eac400bc86a427972e501b0ca5653dae6 100644 +index ace8904541fb4571cb03f14e6e3baa02ae460d1e..36c5294e6169c3aa4517cd2c945b5dfb7a2a0c51 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -678,6 +678,20 @@ public final class Bukkit { +@@ -687,6 +687,20 @@ public final class Bukkit { return server.getPlayer(id); } @@ -34,10 +34,10 @@ index 551948a83965b38bf29aeb8daafc25bde05a5a1c..7113f38eac400bc86a427972e501b0ca * Gets the plugin manager for interfacing with plugins. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e4c85e67713c5ed4b8b1fcc3c4231327e987a460..878b3ff92be8fcb977240824ae404fb5bed42d48 100644 +index e4f8031ab979ba7e3fd7242b788e41974f490565..2ac191185e4dabb2f39b05a56548b0d97daa2979 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -584,6 +584,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -591,6 +591,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public Player getPlayer(@NotNull UUID id); diff --git a/patches/api/0160-Make-the-default-permission-message-configurable.patch b/patches/api/0160-Make-the-default-permission-message-configurable.patch index 83e5645e29..fdedf8eed1 100644 --- a/patches/api/0160-Make-the-default-permission-message-configurable.patch +++ b/patches/api/0160-Make-the-default-permission-message-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make the default permission message configurable diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 733b537d4236e5cb06efc188183ad876db31c0ff..71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd 100644 +index 36a127864be2a75a38bcc6eacafde5109e5c6c69..8649a3453bd3c3ee5f2bf5b706b125cb70d3bb1b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2213,6 +2213,28 @@ public final class Bukkit { +@@ -2241,6 +2241,28 @@ public final class Bukkit { return server.suggestPlayerNamesWhenNullTabCompletions(); } @@ -38,10 +38,10 @@ index 733b537d4236e5cb06efc188183ad876db31c0ff..71cd6f405c35e1e1a02c1bac64b509ae * Creates a PlayerProfile for the specified uuid, with name as null. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 878b3ff92be8fcb977240824ae404fb5bed42d48..43c14b492879d56993586a7b64eb374654ca67a6 100644 +index 2ac191185e4dabb2f39b05a56548b0d97daa2979..771a504a6f64644f434e2a6d20d285d338b5dff4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1929,6 +1929,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1951,6 +1951,23 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ boolean suggestPlayerNamesWhenNullTabCompletions(); diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index 9ffda1d027..a7a3aec004 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -9,10 +9,10 @@ a ton of noise to plugin developers. These do not help plugin developers if they bring moise noise than value. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d00a0b4fa7 100644 +index 8649a3453bd3c3ee5f2bf5b706b125cb70d3bb1b..ef7445fc5c169e64a73dce4f71a2885fb976caf3 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -827,9 +827,8 @@ public final class Bukkit { +@@ -836,9 +836,8 @@ public final class Bukkit { * * @param id the id of the map to get * @return a map view if it exists, or null otherwise @@ -23,7 +23,7 @@ index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d0 @Nullable public static MapView getMap(int id) { return server.getMap(id); -@@ -1221,10 +1220,8 @@ public final class Bukkit { +@@ -1230,10 +1229,8 @@ public final class Bukkit { * @param name the name the player to retrieve * @return an offline player * @see #getOfflinePlayer(java.util.UUID) @@ -35,7 +35,7 @@ index 71cd6f405c35e1e1a02c1bac64b509ae6ba5c7cd..a5b792d94a2357f0536def00e80430d0 @NotNull public static OfflinePlayer getOfflinePlayer(@NotNull String name) { return server.getOfflinePlayer(name); -@@ -1770,7 +1767,7 @@ public final class Bukkit { +@@ -1798,7 +1795,7 @@ public final class Bukkit { * * @return the scoreboard manager or null if no worlds are loaded. */ @@ -203,10 +203,10 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..10f5cfb1885833a1d2c1027c03974da4 CRACKED(0x0), GLYPHED(0x1), diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c598bdb1000 100644 +index 771a504a6f64644f434e2a6d20d285d338b5dff4..5edef1114f1c94e921656972141d62a9d6338105 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -695,9 +695,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -702,9 +702,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @param id the id of the map to get * @return a map view if it exists, or null otherwise @@ -217,7 +217,7 @@ index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c59 @Nullable public MapView getMap(int id); -@@ -1026,10 +1025,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1033,10 +1032,8 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param name the name the player to retrieve * @return an offline player * @see #getOfflinePlayer(java.util.UUID) @@ -229,7 +229,7 @@ index 43c14b492879d56993586a7b64eb374654ca67a6..38eb76e9f0dc8dd377bb82990eea0c59 @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); -@@ -1492,7 +1489,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1514,7 +1511,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @return the scoreboard manager or null if no worlds are loaded. */ diff --git a/patches/api/0176-Mob-Spawner-API-Enhancements.patch b/patches/api/0176-Mob-Spawner-API-Enhancements.patch index 2bbe92cbe9..4928839428 100644 --- a/patches/api/0176-Mob-Spawner-API-Enhancements.patch +++ b/patches/api/0176-Mob-Spawner-API-Enhancements.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mob Spawner API Enhancements diff --git a/src/main/java/org/bukkit/block/CreatureSpawner.java b/src/main/java/org/bukkit/block/CreatureSpawner.java -index cb447a4ad5a9dce7c98999a5d7fcd6111fc9b10e..5bbae759ce39d42886994e500fd9454ec328f804 100644 +index 8dae9611e702d93b202563597c50752c5f5b77d4..3dcab76632c4f8646d7ae62bb8de287eb6ef55b5 100644 --- a/src/main/java/org/bukkit/block/CreatureSpawner.java +++ b/src/main/java/org/bukkit/block/CreatureSpawner.java @@ -199,4 +199,30 @@ public interface CreatureSpawner extends TileState { @@ -36,6 +36,6 @@ index cb447a4ad5a9dce7c98999a5d7fcd6111fc9b10e..5bbae759ce39d42886994e500fd9454e + * @param itemStack The item to spawn. Must not {@link org.bukkit.Material#isAir be air}. + * @see #setSpawnedType(EntityType) + */ -+ void setSpawnedItem(@NotNull org.bukkit.inventory.ItemStack itemStack); ++ void setSpawnedItem([email protected] ItemStack itemStack); + // Paper end } diff --git a/patches/api/0180-Expose-the-internal-current-tick.patch b/patches/api/0180-Expose-the-internal-current-tick.patch index 8966f3b1ca..401df320b5 100644 --- a/patches/api/0180-Expose-the-internal-current-tick.patch +++ b/patches/api/0180-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a5b792d94a2357f0536def00e80430d00a0b4fa7..e32094b8e7710158f75450c477c91110d83ba71b 100644 +index ef7445fc5c169e64a73dce4f71a2885fb976caf3..d39c6b5d3fef5fe9727868175cf266fd68c2efa4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2308,6 +2308,10 @@ public final class Bukkit { +@@ -2336,6 +2336,10 @@ public final class Bukkit { public static com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name) { return server.createProfileExact(uuid, name); } @@ -20,10 +20,10 @@ index a5b792d94a2357f0536def00e80430d00a0b4fa7..e32094b8e7710158f75450c477c91110 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 38eb76e9f0dc8dd377bb82990eea0c598bdb1000..fc8a6468c61a84a1fe719505adb274d48e24e8f4 100644 +index 5edef1114f1c94e921656972141d62a9d6338105..e02bd7323e117e9977275b3a5d3e070ff891fdbd 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2011,5 +2011,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2033,5 +2033,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.profile.PlayerProfile createProfileExact(@Nullable UUID uuid, @Nullable String name); diff --git a/patches/api/0186-Add-tick-times-API.patch b/patches/api/0186-Add-tick-times-API.patch index c6d8b2838a..491be377a9 100644 --- a/patches/api/0186-Add-tick-times-API.patch +++ b/patches/api/0186-Add-tick-times-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add tick times API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e32094b8e7710158f75450c477c91110d83ba71b..82940fa20f5f958e6473f318ee2c5da3647e0228 100644 +index d39c6b5d3fef5fe9727868175cf266fd68c2efa4..354fa01b30ec26f78f874a06e57a89f14ef13ef4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1980,6 +1980,25 @@ public final class Bukkit { +@@ -2008,6 +2008,25 @@ public final class Bukkit { public static double[] getTPS() { return server.getTPS(); } @@ -35,10 +35,10 @@ index e32094b8e7710158f75450c477c91110d83ba71b..82940fa20f5f958e6473f318ee2c5da3 /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index fc8a6468c61a84a1fe719505adb274d48e24e8f4..ffd1f47690083b40aa349ed0f92d6fc2fdc56609 100644 +index e02bd7323e117e9977275b3a5d3e070ff891fdbd..edceaefe5e46515300c819351aebe0fce576d599 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1673,6 +1673,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1695,6 +1695,21 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull public double[] getTPS(); diff --git a/patches/api/0187-Expose-MinecraftServer-isRunning.patch b/patches/api/0187-Expose-MinecraftServer-isRunning.patch index fa313e183e..5e8b1257f3 100644 --- a/patches/api/0187-Expose-MinecraftServer-isRunning.patch +++ b/patches/api/0187-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 82940fa20f5f958e6473f318ee2c5da3647e0228..39fdcada6aa98058491aa6b5e5b9943c8a57a59d 100644 +index 354fa01b30ec26f78f874a06e57a89f14ef13ef4..725de23dc102e3b63da5e49bb1eafca96e33fc4c 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2331,6 +2331,15 @@ public final class Bukkit { +@@ -2359,6 +2359,15 @@ public final class Bukkit { public static int getCurrentTick() { return server.getCurrentTick(); } @@ -26,10 +26,10 @@ index 82940fa20f5f958e6473f318ee2c5da3647e0228..39fdcada6aa98058491aa6b5e5b9943c @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index ffd1f47690083b40aa349ed0f92d6fc2fdc56609..65daa359f000cf1acc3067af62e3210ced378519 100644 +index edceaefe5e46515300c819351aebe0fce576d599..960fc19a04bc3475bd81301ec283c9bb32f62821 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2033,5 +2033,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2055,5 +2055,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return Current tick */ int getCurrentTick(); diff --git a/patches/api/0195-Add-Mob-Goal-API.patch b/patches/api/0195-Add-Mob-Goal-API.patch index a80c726ba2..a9605fb0bc 100644 --- a/patches/api/0195-Add-Mob-Goal-API.patch +++ b/patches/api/0195-Add-Mob-Goal-API.patch @@ -525,10 +525,10 @@ index 0000000000000000000000000000000000000000..c9837c7c47314b5bdf6c7973e6bc962d + @Deprecated(forRemoval = true) @ApiStatus.ScheduledForRemoval(inVersion = "1.21") GoalKey<Mob> UNIVERSAL_ANGER_RESET = GoalKey.of(Mob.class, NamespacedKey.minecraft("universal_anger_reset")); +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e1a9a0ec6036133aa8fb195d22611df221bf5661..ce409a88b1f7fc519b2d7795005752b4349e4176 100644 +index dfeaddc2d71f8569c349740c00c96868f9a56a12..4e5e29251b713885eee562091ea4f253f027bdbb 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2352,6 +2352,16 @@ public final class Bukkit { +@@ -2380,6 +2380,16 @@ public final class Bukkit { public static boolean isStopping() { return server.isStopping(); } @@ -546,10 +546,10 @@ index e1a9a0ec6036133aa8fb195d22611df221bf5661..ce409a88b1f7fc519b2d7795005752b4 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 357f59f07387d3de75a0792e7e883cb82aafa2e2..d080d535275b28400471265315e0d70bf806cbb8 100644 +index ccec37c00f8ab318d41350907b40a64118e4fab1..9634d82d603426979cab978f9474cc041e1cb701 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2050,5 +2050,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2072,5 +2072,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return true if server is in the process of being shutdown */ boolean isStopping(); diff --git a/patches/api/0208-Add-BellRingEvent.patch b/patches/api/0207-Add-BellRingEvent.patch index 33c564bdae..33c564bdae 100644 --- a/patches/api/0208-Add-BellRingEvent.patch +++ b/patches/api/0207-Add-BellRingEvent.patch diff --git a/patches/api/0207-Add-setMaxPlayers-API.patch b/patches/api/0207-Add-setMaxPlayers-API.patch deleted file mode 100644 index 5170c3b9a5..0000000000 --- a/patches/api/0207-Add-setMaxPlayers-API.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mariell Hoversholm <[email protected]> -Date: Sat, 22 Aug 2020 23:59:25 +0200 -Subject: [PATCH] Add #setMaxPlayers API - - -diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ce409a88b1f7fc519b2d7795005752b4349e4176..bae2ef297ba585c916ea06c4316e9511696000da 100644 ---- a/src/main/java/org/bukkit/Bukkit.java -+++ b/src/main/java/org/bukkit/Bukkit.java -@@ -209,6 +209,17 @@ public final class Bukkit { - return server.getMaxPlayers(); - } - -+ // Paper start -+ /** -+ * Set the maximum amount of players which can login to this server. -+ * -+ * @param maxPlayers the amount of players this server allows -+ */ -+ public static void setMaxPlayers(int maxPlayers) { -+ server.setMaxPlayers(maxPlayers); -+ } -+ // Paper end -+ - /** - * Get the game port that the server runs on. - * -diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d080d535275b28400471265315e0d70bf806cbb8..31e8a002f9b0641f16bc4cf330e6022b13942321 100644 ---- a/src/main/java/org/bukkit/Server.java -+++ b/src/main/java/org/bukkit/Server.java -@@ -161,6 +161,15 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi - */ - public int getMaxPlayers(); - -+ // Paper start -+ /** -+ * Set the maximum amount of players which can login to this server. -+ * -+ * @param maxPlayers the amount of players this server allows -+ */ -+ public void setMaxPlayers(int maxPlayers); -+ // Paper end -+ - /** - * Get the game port that the server runs on. - * diff --git a/patches/api/0209-Add-moon-phase-API.patch b/patches/api/0208-Add-moon-phase-API.patch index 68b36e3b64..68b36e3b64 100644 --- a/patches/api/0209-Add-moon-phase-API.patch +++ b/patches/api/0208-Add-moon-phase-API.patch diff --git a/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0209-Add-playPickupItemAnimation-to-LivingEntity.patch index 89bd0bb3fc..89bd0bb3fc 100644 --- a/patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/api/0209-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/api/0211-Add-more-Evoker-API.patch b/patches/api/0210-Add-more-Evoker-API.patch index 0d6f0f7328..0d6f0f7328 100644 --- a/patches/api/0211-Add-more-Evoker-API.patch +++ b/patches/api/0210-Add-more-Evoker-API.patch diff --git a/patches/api/0212-Add-methods-to-get-translation-keys.patch b/patches/api/0211-Add-methods-to-get-translation-keys.patch index 96b7bbb309..96b7bbb309 100644 --- a/patches/api/0212-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0211-Add-methods-to-get-translation-keys.patch diff --git a/patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch index 49e64dc27d..49e64dc27d 100644 --- a/patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/api/0212-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch b/patches/api/0213-Add-additional-open-container-api-to-HumanEntity.patch index 9512168843..9512168843 100644 --- a/patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch +++ b/patches/api/0213-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index f151559a94..f151559a94 100644 --- a/patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/api/0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/api/0216-Entity-isTicking.patch b/patches/api/0215-Entity-isTicking.patch index 625612008d..625612008d 100644 --- a/patches/api/0216-Entity-isTicking.patch +++ b/patches/api/0215-Entity-isTicking.patch diff --git a/patches/api/0217-Villager-resetOffers.patch b/patches/api/0216-Villager-resetOffers.patch index 60fedfba0f..60fedfba0f 100644 --- a/patches/api/0217-Villager-resetOffers.patch +++ b/patches/api/0216-Villager-resetOffers.patch diff --git a/patches/api/0218-Player-elytra-boost-API.patch b/patches/api/0217-Player-elytra-boost-API.patch index e34634af65..e34634af65 100644 --- a/patches/api/0218-Player-elytra-boost-API.patch +++ b/patches/api/0217-Player-elytra-boost-API.patch diff --git a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch b/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch index 4812d992db..6d5e161e24 100644 --- a/patches/api/0219-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/api/0218-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index bae2ef297ba585c916ea06c4316e9511696000da..0bc59cd1b27303dff7f13f79087b13097606ae65 100644 +index 4e5e29251b713885eee562091ea4f253f027bdbb..6d5423f6b6b1aa013a1f77d368058e4cdf2cbe84 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1250,6 +1250,27 @@ public final class Bukkit { +@@ -1248,6 +1248,27 @@ public final class Bukkit { return server.getOfflinePlayer(name); } @@ -37,10 +37,10 @@ index bae2ef297ba585c916ea06c4316e9511696000da..0bc59cd1b27303dff7f13f79087b1309 * Gets the player by the given UUID, regardless if they are offline or * online. diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 31e8a002f9b0641f16bc4cf330e6022b13942321..247bd6d2101d280a00727cacdeb8f40a7d7c4dcb 100644 +index 9634d82d603426979cab978f9474cc041e1cb701..f8ef98c9d266e12a3a3f69647cf4d7a9bc633419 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1049,6 +1049,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1047,6 +1047,25 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public OfflinePlayer getOfflinePlayer(@NotNull String name); diff --git a/patches/api/0220-Add-ignore-discounts-API.patch b/patches/api/0219-Add-ignore-discounts-API.patch index 89655ddef8..89655ddef8 100644 --- a/patches/api/0220-Add-ignore-discounts-API.patch +++ b/patches/api/0219-Add-ignore-discounts-API.patch diff --git a/patches/api/0221-Item-no-age-no-player-pickup.patch b/patches/api/0220-Item-no-age-no-player-pickup.patch index 5dd7572120..5dd7572120 100644 --- a/patches/api/0221-Item-no-age-no-player-pickup.patch +++ b/patches/api/0220-Item-no-age-no-player-pickup.patch diff --git a/patches/api/0222-Beacon-API-custom-effect-ranges.patch b/patches/api/0221-Beacon-API-custom-effect-ranges.patch index effd7b3ae9..effd7b3ae9 100644 --- a/patches/api/0222-Beacon-API-custom-effect-ranges.patch +++ b/patches/api/0221-Beacon-API-custom-effect-ranges.patch diff --git a/patches/api/0223-Add-API-for-quit-reason.patch b/patches/api/0222-Add-API-for-quit-reason.patch index 0350afaf92..0350afaf92 100644 --- a/patches/api/0223-Add-API-for-quit-reason.patch +++ b/patches/api/0222-Add-API-for-quit-reason.patch diff --git a/patches/api/0224-Add-Destroy-Speed-API.patch b/patches/api/0223-Add-Destroy-Speed-API.patch index 6e2512b8b7..6e2512b8b7 100644 --- a/patches/api/0224-Add-Destroy-Speed-API.patch +++ b/patches/api/0223-Add-Destroy-Speed-API.patch diff --git a/patches/api/0225-Add-LivingEntity-clearActiveItem.patch b/patches/api/0224-Add-LivingEntity-clearActiveItem.patch index 224ac62396..224ac62396 100644 --- a/patches/api/0225-Add-LivingEntity-clearActiveItem.patch +++ b/patches/api/0224-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/api/0226-Add-PlayerItemCooldownEvent.patch b/patches/api/0225-Add-PlayerItemCooldownEvent.patch index 378f88f6e6..378f88f6e6 100644 --- a/patches/api/0226-Add-PlayerItemCooldownEvent.patch +++ b/patches/api/0225-Add-PlayerItemCooldownEvent.patch diff --git a/patches/api/0227-More-lightning-API.patch b/patches/api/0226-More-lightning-API.patch index 3ff480a14c..3ff480a14c 100644 --- a/patches/api/0227-More-lightning-API.patch +++ b/patches/api/0226-More-lightning-API.patch diff --git a/patches/api/0228-Add-PlayerShearBlockEvent.patch b/patches/api/0227-Add-PlayerShearBlockEvent.patch index 051544b4a9..051544b4a9 100644 --- a/patches/api/0228-Add-PlayerShearBlockEvent.patch +++ b/patches/api/0227-Add-PlayerShearBlockEvent.patch diff --git a/patches/api/0229-Player-Chunk-Load-Unload-Events.patch b/patches/api/0228-Player-Chunk-Load-Unload-Events.patch index e2ce87ec9d..e2ce87ec9d 100644 --- a/patches/api/0229-Player-Chunk-Load-Unload-Events.patch +++ b/patches/api/0228-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/api/0230-Expose-LivingEntity-hurt-direction.patch b/patches/api/0229-Expose-LivingEntity-hurt-direction.patch index 717b97d228..717b97d228 100644 --- a/patches/api/0230-Expose-LivingEntity-hurt-direction.patch +++ b/patches/api/0229-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/api/0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index 00552e9137..00552e9137 100644 --- a/patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/api/0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/api/0232-Added-PlayerTradeEvent.patch b/patches/api/0231-Added-PlayerTradeEvent.patch index e09b088160..e09b088160 100644 --- a/patches/api/0232-Added-PlayerTradeEvent.patch +++ b/patches/api/0231-Added-PlayerTradeEvent.patch diff --git a/patches/api/0233-Add-TargetHitEvent-API.patch b/patches/api/0232-Add-TargetHitEvent-API.patch index 247421fb61..247421fb61 100644 --- a/patches/api/0233-Add-TargetHitEvent-API.patch +++ b/patches/api/0232-Add-TargetHitEvent-API.patch diff --git a/patches/api/0234-Additional-Block-Material-API-s.patch b/patches/api/0233-Additional-Block-Material-API-s.patch index 91196a2442..91196a2442 100644 --- a/patches/api/0234-Additional-Block-Material-API-s.patch +++ b/patches/api/0233-Additional-Block-Material-API-s.patch diff --git a/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/api/0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch index d297dd5c24..d297dd5c24 100644 --- a/patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch +++ b/patches/api/0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch b/patches/api/0235-Add-PlayerFlowerPotManipulateEvent.patch index d9cd5a9f01..d9cd5a9f01 100644 --- a/patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch +++ b/patches/api/0235-Add-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/api/0237-Zombie-API-breaking-doors.patch b/patches/api/0236-Zombie-API-breaking-doors.patch index cda09b776b..cda09b776b 100644 --- a/patches/api/0237-Zombie-API-breaking-doors.patch +++ b/patches/api/0236-Zombie-API-breaking-doors.patch diff --git a/patches/api/0238-Add-EntityLoadCrossbowEvent.patch b/patches/api/0237-Add-EntityLoadCrossbowEvent.patch index 1e0386a9aa..1e0386a9aa 100644 --- a/patches/api/0238-Add-EntityLoadCrossbowEvent.patch +++ b/patches/api/0237-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/api/0239-Added-WorldGameRuleChangeEvent.patch b/patches/api/0238-Added-WorldGameRuleChangeEvent.patch index 8ef5f7efcd..8ef5f7efcd 100644 --- a/patches/api/0239-Added-WorldGameRuleChangeEvent.patch +++ b/patches/api/0238-Added-WorldGameRuleChangeEvent.patch diff --git a/patches/api/0240-Added-ServerResourcesReloadedEvent.patch b/patches/api/0239-Added-ServerResourcesReloadedEvent.patch index de081bbae7..de081bbae7 100644 --- a/patches/api/0240-Added-ServerResourcesReloadedEvent.patch +++ b/patches/api/0239-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/api/0241-Add-BlockFailedDispenseEvent.patch b/patches/api/0240-Add-BlockFailedDispenseEvent.patch index 126714b965..126714b965 100644 --- a/patches/api/0241-Add-BlockFailedDispenseEvent.patch +++ b/patches/api/0240-Add-BlockFailedDispenseEvent.patch diff --git a/patches/api/0242-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0241-Added-PlayerLecternPageChangeEvent.patch index 2b65c3a245..2b65c3a245 100644 --- a/patches/api/0242-Added-PlayerLecternPageChangeEvent.patch +++ b/patches/api/0241-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch index 5677026956..5677026956 100644 --- a/patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch +++ b/patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch index afc3f45d28..afc3f45d28 100644 --- a/patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch +++ b/patches/api/0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch diff --git a/patches/api/0245-Add-sendOpLevel-API.patch b/patches/api/0244-Add-sendOpLevel-API.patch index a15a9cc2a8..a15a9cc2a8 100644 --- a/patches/api/0245-Add-sendOpLevel-API.patch +++ b/patches/api/0244-Add-sendOpLevel-API.patch diff --git a/patches/api/0246-Add-PaperRegistry.patch b/patches/api/0245-Add-PaperRegistry.patch index 8cc1e1b931..8cc1e1b931 100644 --- a/patches/api/0246-Add-PaperRegistry.patch +++ b/patches/api/0245-Add-PaperRegistry.patch diff --git a/patches/api/0247-Add-StructuresLocateEvent.patch b/patches/api/0246-Add-StructuresLocateEvent.patch index 51a892b911..51a892b911 100644 --- a/patches/api/0247-Add-StructuresLocateEvent.patch +++ b/patches/api/0246-Add-StructuresLocateEvent.patch diff --git a/patches/api/0248-Add-BlockPreDispenseEvent.patch b/patches/api/0247-Add-BlockPreDispenseEvent.patch index fb0b89a4ee..fb0b89a4ee 100644 --- a/patches/api/0248-Add-BlockPreDispenseEvent.patch +++ b/patches/api/0247-Add-BlockPreDispenseEvent.patch diff --git a/patches/api/0249-Added-missing-vanilla-tags.patch b/patches/api/0248-Added-missing-vanilla-tags.patch index 0b81d3e855..0b81d3e855 100644 --- a/patches/api/0249-Added-missing-vanilla-tags.patch +++ b/patches/api/0248-Added-missing-vanilla-tags.patch diff --git a/patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch index 336e7b1302..336e7b1302 100644 --- a/patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch +++ b/patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch index ce446c46fe..ce446c46fe 100644 --- a/patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch +++ b/patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/api/0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch index f85f2a4f26..f85f2a4f26 100644 --- a/patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/api/0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch diff --git a/patches/api/0253-add-DragonEggFormEvent.patch b/patches/api/0252-add-DragonEggFormEvent.patch index c465295e88..c465295e88 100644 --- a/patches/api/0253-add-DragonEggFormEvent.patch +++ b/patches/api/0252-add-DragonEggFormEvent.patch diff --git a/patches/api/0254-EntityMoveEvent.patch b/patches/api/0253-EntityMoveEvent.patch index 2855c3bdef..2855c3bdef 100644 --- a/patches/api/0254-EntityMoveEvent.patch +++ b/patches/api/0253-EntityMoveEvent.patch diff --git a/patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/api/0254-Allow-adding-items-to-BlockDropItemEvent.patch index 984da00f52..984da00f52 100644 --- a/patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/api/0254-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/api/0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch index bbb81fdcf6..bbb81fdcf6 100644 --- a/patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch +++ b/patches/api/0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/api/0257-living-entity-allow-attribute-registration.patch b/patches/api/0256-living-entity-allow-attribute-registration.patch index e7ded6dabb..e7ded6dabb 100644 --- a/patches/api/0257-living-entity-allow-attribute-registration.patch +++ b/patches/api/0256-living-entity-allow-attribute-registration.patch diff --git a/patches/api/0258-Add-missing-effects.patch b/patches/api/0257-Add-missing-effects.patch index 1a3589e272..1a3589e272 100644 --- a/patches/api/0258-Add-missing-effects.patch +++ b/patches/api/0257-Add-missing-effects.patch diff --git a/patches/api/0259-Expose-Tracked-Players.patch b/patches/api/0258-Expose-Tracked-Players.patch index c32bb8acf2..c32bb8acf2 100644 --- a/patches/api/0259-Expose-Tracked-Players.patch +++ b/patches/api/0258-Expose-Tracked-Players.patch diff --git a/patches/api/0260-Cache-the-result-of-Material-isBlock.patch b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch index 49dab657f2..49dab657f2 100644 --- a/patches/api/0260-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch diff --git a/patches/api/0261-Add-worldborder-events.patch b/patches/api/0260-Add-worldborder-events.patch index 2a1d4164b2..2a1d4164b2 100644 --- a/patches/api/0261-Add-worldborder-events.patch +++ b/patches/api/0260-Add-worldborder-events.patch diff --git a/patches/api/0262-added-PlayerNameEntityEvent.patch b/patches/api/0261-added-PlayerNameEntityEvent.patch index a38082f8e8..a38082f8e8 100644 --- a/patches/api/0262-added-PlayerNameEntityEvent.patch +++ b/patches/api/0261-added-PlayerNameEntityEvent.patch diff --git a/patches/api/0263-Add-recipe-to-cook-events.patch b/patches/api/0262-Add-recipe-to-cook-events.patch index b0b34773c0..b0b34773c0 100644 --- a/patches/api/0263-Add-recipe-to-cook-events.patch +++ b/patches/api/0262-Add-recipe-to-cook-events.patch diff --git a/patches/api/0264-Add-Block-isValidTool.patch b/patches/api/0263-Add-Block-isValidTool.patch index 182e364647..182e364647 100644 --- a/patches/api/0264-Add-Block-isValidTool.patch +++ b/patches/api/0263-Add-Block-isValidTool.patch diff --git a/patches/api/0265-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch index bfe79e8921..1908ecc58e 100644 --- a/patches/api/0265-Expand-world-key-API.patch +++ b/patches/api/0264-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 0bc59cd1b27303dff7f13f79087b13097606ae65..cda896b2278dfb71f1fac8665397a01abcc0d096 100644 +index 6d5423f6b6b1aa013a1f77d368058e4cdf2cbe84..be32ddb8ad5d6290b76cb520d159d456ed16f1b1 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -832,6 +832,18 @@ public final class Bukkit { +@@ -830,6 +830,18 @@ public final class Bukkit { public static World getWorld(@NotNull UUID uid) { return server.getWorld(uid); } @@ -56,10 +56,10 @@ index 501dd5a26c27294420821b3d75f8938596afb1a8..71ef9b479888aa83455757560b607455 // Paper end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 247bd6d2101d280a00727cacdeb8f40a7d7c4dcb..1044ffa10c12b645e2e82431ba809641048e757f 100644 +index f8ef98c9d266e12a3a3f69647cf4d7a9bc633419..d1d035ee86264b38b6bb50135d031946daf25a00 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -696,6 +696,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -694,6 +694,17 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @Nullable public World getWorld(@NotNull UUID uid); diff --git a/patches/api/0266-Item-Rarity-API.patch b/patches/api/0265-Item-Rarity-API.patch index 5c25c66d65..5c25c66d65 100644 --- a/patches/api/0266-Item-Rarity-API.patch +++ b/patches/api/0265-Item-Rarity-API.patch diff --git a/patches/api/0267-Expose-protocol-version.patch b/patches/api/0266-Expose-protocol-version.patch index 278855acb1..278855acb1 100644 --- a/patches/api/0267-Expose-protocol-version.patch +++ b/patches/api/0266-Expose-protocol-version.patch diff --git a/patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch b/patches/api/0267-add-isDeeplySleeping-to-HumanEntity.patch index fc6f6dcab3..fc6f6dcab3 100644 --- a/patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch +++ b/patches/api/0267-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/api/0268-add-consumeFuel-to-FurnaceBurnEvent.patch index 6c8b681cd9..6c8b681cd9 100644 --- a/patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch +++ b/patches/api/0268-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/api/0269-add-get-set-drop-chance-to-EntityEquipment.patch index a9a1c98000..a9a1c98000 100644 --- a/patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch +++ b/patches/api/0269-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/api/0271-Added-PlayerDeepSleepEvent.patch b/patches/api/0270-Added-PlayerDeepSleepEvent.patch index d8dccca755..d8dccca755 100644 --- a/patches/api/0271-Added-PlayerDeepSleepEvent.patch +++ b/patches/api/0270-Added-PlayerDeepSleepEvent.patch diff --git a/patches/api/0272-More-World-API.patch b/patches/api/0271-More-World-API.patch index 75e34c8b2b..75e34c8b2b 100644 --- a/patches/api/0272-More-World-API.patch +++ b/patches/api/0271-More-World-API.patch diff --git a/patches/api/0273-Added-PlayerBedFailEnterEvent.patch b/patches/api/0272-Added-PlayerBedFailEnterEvent.patch index a622f2b98f..a622f2b98f 100644 --- a/patches/api/0273-Added-PlayerBedFailEnterEvent.patch +++ b/patches/api/0272-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/api/0274-Introduce-beacon-activation-deactivation-events.patch b/patches/api/0273-Introduce-beacon-activation-deactivation-events.patch index c2f0577191..c2f0577191 100644 --- a/patches/api/0274-Introduce-beacon-activation-deactivation-events.patch +++ b/patches/api/0273-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/api/0275-PlayerMoveEvent-Improvements.patch b/patches/api/0274-PlayerMoveEvent-Improvements.patch index 33cf16e54b..33cf16e54b 100644 --- a/patches/api/0275-PlayerMoveEvent-Improvements.patch +++ b/patches/api/0274-PlayerMoveEvent-Improvements.patch diff --git a/patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/api/0275-add-RespawnFlags-to-PlayerRespawnEvent.patch index c596be8b98..c596be8b98 100644 --- a/patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/api/0275-add-RespawnFlags-to-PlayerRespawnEvent.patch diff --git a/patches/api/0277-Add-more-WanderingTrader-API.patch b/patches/api/0276-Add-more-WanderingTrader-API.patch index 99045d4949..99045d4949 100644 --- a/patches/api/0277-Add-more-WanderingTrader-API.patch +++ b/patches/api/0276-Add-more-WanderingTrader-API.patch diff --git a/patches/api/0278-Add-EntityBlockStorage-clearEntities.patch b/patches/api/0277-Add-EntityBlockStorage-clearEntities.patch index 7032ba6155..7032ba6155 100644 --- a/patches/api/0278-Add-EntityBlockStorage-clearEntities.patch +++ b/patches/api/0277-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/api/0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch index 16af3a7728..16af3a7728 100644 --- a/patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch +++ b/patches/api/0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch index f42f7eed00..f42f7eed00 100644 --- a/patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch +++ b/patches/api/0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/api/0281-Inventory-close.patch b/patches/api/0280-Inventory-close.patch index 87dfa1a083..87dfa1a083 100644 --- a/patches/api/0281-Inventory-close.patch +++ b/patches/api/0280-Inventory-close.patch diff --git a/patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/api/0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index 3103f1ce2c..3103f1ce2c 100644 --- a/patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/api/0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/api/0283-Add-basic-Datapack-API.patch b/patches/api/0282-Add-basic-Datapack-API.patch index 98cb3fedc1..0582d74ff9 100644 --- a/patches/api/0283-Add-basic-Datapack-API.patch +++ b/patches/api/0282-Add-basic-Datapack-API.patch @@ -70,10 +70,10 @@ index 0000000000000000000000000000000000000000..58f78d5e91beacaf710f62461cf869f7 + +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e219c7405 100644 +index be32ddb8ad5d6290b76cb520d159d456ed16f1b1..a6fef51a8435eced8c2981588ae98046c42d8ed4 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -318,9 +318,11 @@ public final class Bukkit { +@@ -316,9 +316,11 @@ public final class Bukkit { /** * Get the DataPack Manager. * @@ -85,7 +85,7 @@ index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e public static DataPackManager getDataPackManager() { return server.getDataPackManager(); } -@@ -2406,6 +2408,14 @@ public final class Bukkit { +@@ -2423,6 +2425,14 @@ public final class Bukkit { public static com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return server.getMobGoals(); } @@ -101,10 +101,10 @@ index cda896b2278dfb71f1fac8665397a01abcc0d096..ce47379dec112f204062092e2e056a2e @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1044ffa10c12b645e2e82431ba809641048e757f..7f289d358480806b6af3a02b88a0f632a5b5681c 100644 +index d1d035ee86264b38b6bb50135d031946daf25a00..529054834865813520ebe6784894e759c22ec4f4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -256,9 +256,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -254,9 +254,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi /** * Get the DataPack Manager. * @@ -116,7 +116,7 @@ index 1044ffa10c12b645e2e82431ba809641048e757f..7f289d358480806b6af3a02b88a0f632 public DataPackManager getDataPackManager(); /** -@@ -2097,5 +2099,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2110,5 +2112,11 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull com.destroystokyo.paper.entity.ai.MobGoals getMobGoals(); diff --git a/patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch b/patches/api/0283-additions-to-PlayerGameModeChangeEvent.patch index b2e65ae490..b2e65ae490 100644 --- a/patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/api/0283-additions-to-PlayerGameModeChangeEvent.patch diff --git a/patches/api/0285-ItemStack-repair-check-API.patch b/patches/api/0284-ItemStack-repair-check-API.patch index d35e2fa9ad..d35e2fa9ad 100644 --- a/patches/api/0285-ItemStack-repair-check-API.patch +++ b/patches/api/0284-ItemStack-repair-check-API.patch diff --git a/patches/api/0286-More-Enchantment-API.patch b/patches/api/0285-More-Enchantment-API.patch index 0ccfe049b4..0ccfe049b4 100644 --- a/patches/api/0286-More-Enchantment-API.patch +++ b/patches/api/0285-More-Enchantment-API.patch diff --git a/patches/api/0287-Add-Mob-lookAt-API.patch b/patches/api/0286-Add-Mob-lookAt-API.patch index 0dd5126905..0dd5126905 100644 --- a/patches/api/0287-Add-Mob-lookAt-API.patch +++ b/patches/api/0286-Add-Mob-lookAt-API.patch diff --git a/patches/api/0288-ItemStack-editMeta.patch b/patches/api/0287-ItemStack-editMeta.patch index 7893a035c9..7893a035c9 100644 --- a/patches/api/0288-ItemStack-editMeta.patch +++ b/patches/api/0287-ItemStack-editMeta.patch diff --git a/patches/api/0289-Add-EntityInsideBlockEvent.patch b/patches/api/0288-Add-EntityInsideBlockEvent.patch index 91451b592d..91451b592d 100644 --- a/patches/api/0289-Add-EntityInsideBlockEvent.patch +++ b/patches/api/0288-Add-EntityInsideBlockEvent.patch diff --git a/patches/api/0290-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch index abd3dd1e69..abd3dd1e69 100644 --- a/patches/api/0290-Attributes-API-for-item-defaults.patch +++ b/patches/api/0289-Attributes-API-for-item-defaults.patch diff --git a/patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/api/0290-Add-cause-to-Weather-ThunderChangeEvents.patch index 8e5d45d87b..8e5d45d87b 100644 --- a/patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/api/0290-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/api/0292-More-Lidded-Block-API.patch b/patches/api/0291-More-Lidded-Block-API.patch index a89f206f9a..a89f206f9a 100644 --- a/patches/api/0292-More-Lidded-Block-API.patch +++ b/patches/api/0291-More-Lidded-Block-API.patch diff --git a/patches/api/0293-Add-PlayerKickEvent-causes.patch b/patches/api/0292-Add-PlayerKickEvent-causes.patch index 739a6a6825..739a6a6825 100644 --- a/patches/api/0293-Add-PlayerKickEvent-causes.patch +++ b/patches/api/0292-Add-PlayerKickEvent-causes.patch diff --git a/patches/api/0294-Add-PufferFishStateChangeEvent.patch b/patches/api/0293-Add-PufferFishStateChangeEvent.patch index c3014534d3..c3014534d3 100644 --- a/patches/api/0294-Add-PufferFishStateChangeEvent.patch +++ b/patches/api/0293-Add-PufferFishStateChangeEvent.patch diff --git a/patches/api/0295-Add-BellRevealRaiderEvent.patch b/patches/api/0294-Add-BellRevealRaiderEvent.patch index b3b35c594f..b3b35c594f 100644 --- a/patches/api/0295-Add-BellRevealRaiderEvent.patch +++ b/patches/api/0294-Add-BellRevealRaiderEvent.patch diff --git a/patches/api/0296-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0295-Add-ElderGuardianAppearanceEvent.patch index 8d925d10ac..8d925d10ac 100644 --- a/patches/api/0296-Add-ElderGuardianAppearanceEvent.patch +++ b/patches/api/0295-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/api/0297-Add-more-line-of-sight-methods.patch b/patches/api/0296-Add-more-line-of-sight-methods.patch index f8182b74f7..f8182b74f7 100644 --- a/patches/api/0297-Add-more-line-of-sight-methods.patch +++ b/patches/api/0296-Add-more-line-of-sight-methods.patch diff --git a/patches/api/0298-Add-WaterBottleSplashEvent.patch b/patches/api/0297-Add-WaterBottleSplashEvent.patch index 198b488051..198b488051 100644 --- a/patches/api/0298-Add-WaterBottleSplashEvent.patch +++ b/patches/api/0297-Add-WaterBottleSplashEvent.patch diff --git a/patches/api/0299-Add-more-LimitedRegion-API.patch b/patches/api/0298-Add-more-LimitedRegion-API.patch index 292f95c890..292f95c890 100644 --- a/patches/api/0299-Add-more-LimitedRegion-API.patch +++ b/patches/api/0298-Add-more-LimitedRegion-API.patch diff --git a/patches/api/0300-Missing-Entity-Behavior-API.patch b/patches/api/0299-Missing-Entity-Behavior-API.patch index 5bcf3a9146..5bcf3a9146 100644 --- a/patches/api/0300-Missing-Entity-Behavior-API.patch +++ b/patches/api/0299-Missing-Entity-Behavior-API.patch diff --git a/patches/api/0301-Adds-PlayerArmSwingEvent.patch b/patches/api/0300-Adds-PlayerArmSwingEvent.patch index 0a501495fe..0a501495fe 100644 --- a/patches/api/0301-Adds-PlayerArmSwingEvent.patch +++ b/patches/api/0300-Adds-PlayerArmSwingEvent.patch diff --git a/patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch index 69d9053262..69d9053262 100644 --- a/patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch +++ b/patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch diff --git a/patches/api/0303-fix-empty-array-elements-in-command-arguments.patch b/patches/api/0302-fix-empty-array-elements-in-command-arguments.patch index 4b66990211..4b66990211 100644 --- a/patches/api/0303-fix-empty-array-elements-in-command-arguments.patch +++ b/patches/api/0302-fix-empty-array-elements-in-command-arguments.patch diff --git a/patches/api/0304-Stinger-API.patch b/patches/api/0303-Stinger-API.patch index 4011649092..4011649092 100644 --- a/patches/api/0304-Stinger-API.patch +++ b/patches/api/0303-Stinger-API.patch diff --git a/patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/api/0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch index 5ae9132b78..5ae9132b78 100644 --- a/patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch +++ b/patches/api/0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/api/0306-Add-PlayerSetSpawnEvent.patch b/patches/api/0305-Add-PlayerSetSpawnEvent.patch index 9229c768c6..9229c768c6 100644 --- a/patches/api/0306-Add-PlayerSetSpawnEvent.patch +++ b/patches/api/0305-Add-PlayerSetSpawnEvent.patch diff --git a/patches/api/0307-Added-EntityDamageItemEvent.patch b/patches/api/0306-Added-EntityDamageItemEvent.patch index 8bbe79f9f3..8bbe79f9f3 100644 --- a/patches/api/0307-Added-EntityDamageItemEvent.patch +++ b/patches/api/0306-Added-EntityDamageItemEvent.patch diff --git a/patches/api/0308-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0307-Make-EntityUnleashEvent-cancellable.patch index e99584c277..e99584c277 100644 --- a/patches/api/0308-Make-EntityUnleashEvent-cancellable.patch +++ b/patches/api/0307-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch b/patches/api/0308-Change-EnderEye-target-without-changing-other-things.patch index d8e53593ae..d8e53593ae 100644 --- a/patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/api/0308-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/api/0310-Add-BlockBreakBlockEvent.patch b/patches/api/0309-Add-BlockBreakBlockEvent.patch index dfd13b1355..dfd13b1355 100644 --- a/patches/api/0310-Add-BlockBreakBlockEvent.patch +++ b/patches/api/0309-Add-BlockBreakBlockEvent.patch diff --git a/patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch b/patches/api/0310-Add-helpers-for-left-right-click-to-Action.patch index 9dac2fe612..9dac2fe612 100644 --- a/patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch +++ b/patches/api/0310-Add-helpers-for-left-right-click-to-Action.patch diff --git a/patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/api/0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index a37dea550d..a37dea550d 100644 --- a/patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/api/0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/api/0313-More-CommandBlock-API.patch b/patches/api/0312-More-CommandBlock-API.patch index 46ea583f90..46ea583f90 100644 --- a/patches/api/0313-More-CommandBlock-API.patch +++ b/patches/api/0312-More-CommandBlock-API.patch diff --git a/patches/api/0314-Add-missing-team-sidebar-display-slots.patch b/patches/api/0313-Add-missing-team-sidebar-display-slots.patch index 1d9b731fb4..1d9b731fb4 100644 --- a/patches/api/0314-Add-missing-team-sidebar-display-slots.patch +++ b/patches/api/0313-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/api/0315-add-back-EntityPortalExitEvent.patch b/patches/api/0314-add-back-EntityPortalExitEvent.patch index 5a153e2345..5a153e2345 100644 --- a/patches/api/0315-add-back-EntityPortalExitEvent.patch +++ b/patches/api/0314-add-back-EntityPortalExitEvent.patch diff --git a/patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch index f8c58e9869..f8c58e9869 100644 --- a/patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/api/0317-Get-entity-default-attributes.patch b/patches/api/0316-Get-entity-default-attributes.patch index 32c28f3adf..32c28f3adf 100644 --- a/patches/api/0317-Get-entity-default-attributes.patch +++ b/patches/api/0316-Get-entity-default-attributes.patch diff --git a/patches/api/0318-Left-handed-API.patch b/patches/api/0317-Left-handed-API.patch index 6b5d42a329..6b5d42a329 100644 --- a/patches/api/0318-Left-handed-API.patch +++ b/patches/api/0317-Left-handed-API.patch diff --git a/patches/api/0319-Add-more-advancement-API.patch b/patches/api/0318-Add-more-advancement-API.patch index 179dbdc225..179dbdc225 100644 --- a/patches/api/0319-Add-more-advancement-API.patch +++ b/patches/api/0318-Add-more-advancement-API.patch diff --git a/patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch b/patches/api/0319-Add-ItemFactory-getSpawnEgg-API.patch index bf76f634c7..bf76f634c7 100644 --- a/patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/api/0319-Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/api/0321-Add-critical-damage-API.patch b/patches/api/0320-Add-critical-damage-API.patch index 3a9d1f8070..3a9d1f8070 100644 --- a/patches/api/0321-Add-critical-damage-API.patch +++ b/patches/api/0320-Add-critical-damage-API.patch diff --git a/patches/api/0322-Fix-issues-with-mob-conversion.patch b/patches/api/0321-Fix-issues-with-mob-conversion.patch index f451d967b6..f451d967b6 100644 --- a/patches/api/0322-Fix-issues-with-mob-conversion.patch +++ b/patches/api/0321-Fix-issues-with-mob-conversion.patch diff --git a/patches/api/0323-Add-isCollidable-methods-to-various-places.patch b/patches/api/0322-Add-isCollidable-methods-to-various-places.patch index 62fba2ca0e..62fba2ca0e 100644 --- a/patches/api/0323-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0322-Add-isCollidable-methods-to-various-places.patch diff --git a/patches/api/0324-Goat-ram-API.patch b/patches/api/0323-Goat-ram-API.patch index 06d426a786..06d426a786 100644 --- a/patches/api/0324-Goat-ram-API.patch +++ b/patches/api/0323-Goat-ram-API.patch diff --git a/patches/api/0325-Add-API-for-resetting-a-single-score.patch b/patches/api/0324-Add-API-for-resetting-a-single-score.patch index 997ebf42f6..997ebf42f6 100644 --- a/patches/api/0325-Add-API-for-resetting-a-single-score.patch +++ b/patches/api/0324-Add-API-for-resetting-a-single-score.patch diff --git a/patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch b/patches/api/0325-Add-Raw-Byte-Entity-Serialization.patch index f824dd3957..f824dd3957 100644 --- a/patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/api/0325-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/api/0327-Add-PlayerItemFrameChangeEvent.patch b/patches/api/0326-Add-PlayerItemFrameChangeEvent.patch index a62e452bb4..a62e452bb4 100644 --- a/patches/api/0327-Add-PlayerItemFrameChangeEvent.patch +++ b/patches/api/0326-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/api/0328-Add-player-health-update-API.patch b/patches/api/0327-Add-player-health-update-API.patch index c810b7ddae..c810b7ddae 100644 --- a/patches/api/0328-Add-player-health-update-API.patch +++ b/patches/api/0327-Add-player-health-update-API.patch diff --git a/patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch index 23ce352ffc..f31c8284f6 100644 --- a/patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/api/0328-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ce47379dec112f204062092e2e056a2e219c7405..d4b522ee3d44ec755046cc406708086b5f5cf625 100644 +index a6fef51a8435eced8c2981588ae98046c42d8ed4..e75da4494582594dfa8f21e6abd36fb345558127 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1926,6 +1926,24 @@ public final class Bukkit { +@@ -1943,6 +1943,24 @@ public final class Bukkit { return server.createChunkData(world); } @@ -34,10 +34,10 @@ index ce47379dec112f204062092e2e056a2e219c7405..d4b522ee3d44ec755046cc406708086b * Creates a boss bar instance to display to players. The progress * defaults to 1.0 diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7f289d358480806b6af3a02b88a0f632a5b5681c..feb2c76bd20c1146d22ec1988943e5b94a982de9 100644 +index 529054834865813520ebe6784894e759c22ec4f4..b6e8dd95cc58f53e3e6ca64dd796ed6633630cf4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1625,6 +1625,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1638,6 +1638,22 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ChunkGenerator.ChunkData createChunkData(@NotNull World world); diff --git a/patches/api/0330-Add-more-Campfire-API.patch b/patches/api/0329-Add-more-Campfire-API.patch index 80cdc0bb39..80cdc0bb39 100644 --- a/patches/api/0330-Add-more-Campfire-API.patch +++ b/patches/api/0329-Add-more-Campfire-API.patch diff --git a/patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch b/patches/api/0330-Move-VehicleCollisionEvent-HandlerList-up.patch index 4be8907b49..4be8907b49 100644 --- a/patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch +++ b/patches/api/0330-Move-VehicleCollisionEvent-HandlerList-up.patch diff --git a/patches/api/0332-Improve-scoreboard-entries.patch b/patches/api/0331-Improve-scoreboard-entries.patch index bb288528e5..bb288528e5 100644 --- a/patches/api/0332-Improve-scoreboard-entries.patch +++ b/patches/api/0331-Improve-scoreboard-entries.patch diff --git a/patches/api/0333-Entity-powdered-snow-API.patch b/patches/api/0332-Entity-powdered-snow-API.patch index 3ed79d314d..3ed79d314d 100644 --- a/patches/api/0333-Entity-powdered-snow-API.patch +++ b/patches/api/0332-Entity-powdered-snow-API.patch diff --git a/patches/api/0334-Add-API-for-item-entity-health.patch b/patches/api/0333-Add-API-for-item-entity-health.patch index 94373dbdf2..94373dbdf2 100644 --- a/patches/api/0334-Add-API-for-item-entity-health.patch +++ b/patches/api/0333-Add-API-for-item-entity-health.patch diff --git a/patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/api/0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch index f094cdc255..f094cdc255 100644 --- a/patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch +++ b/patches/api/0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/api/0336-Bucketable-API.patch b/patches/api/0335-Bucketable-API.patch index 26dbdc9f5d..26dbdc9f5d 100644 --- a/patches/api/0336-Bucketable-API.patch +++ b/patches/api/0335-Bucketable-API.patch diff --git a/patches/api/0337-System-prop-for-default-config-comment-parsing.patch b/patches/api/0336-System-prop-for-default-config-comment-parsing.patch index 632f71e519..632f71e519 100644 --- a/patches/api/0337-System-prop-for-default-config-comment-parsing.patch +++ b/patches/api/0336-System-prop-for-default-config-comment-parsing.patch diff --git a/patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/api/0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 9b189fc918..9b189fc918 100644 --- a/patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/api/0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/api/0338-Add-new-overload-to-PersistentDataContainer-has.patch index 73c49a2fc8..73c49a2fc8 100644 --- a/patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch +++ b/patches/api/0338-Add-new-overload-to-PersistentDataContainer-has.patch diff --git a/patches/api/0340-Multiple-Entries-with-Scoreboards.patch b/patches/api/0339-Multiple-Entries-with-Scoreboards.patch index 0a4fbab3a7..0a4fbab3a7 100644 --- a/patches/api/0340-Multiple-Entries-with-Scoreboards.patch +++ b/patches/api/0339-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/api/0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch index 2d133482d3..2d133482d3 100644 --- a/patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch +++ b/patches/api/0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/api/0342-Warn-on-strange-EventHandler-return-types.patch b/patches/api/0341-Warn-on-strange-EventHandler-return-types.patch index c7807b823b..c7807b823b 100644 --- a/patches/api/0342-Warn-on-strange-EventHandler-return-types.patch +++ b/patches/api/0341-Warn-on-strange-EventHandler-return-types.patch diff --git a/patches/api/0343-Multi-Block-Change-API.patch b/patches/api/0342-Multi-Block-Change-API.patch index 70e9276737..70e9276737 100644 --- a/patches/api/0343-Multi-Block-Change-API.patch +++ b/patches/api/0342-Multi-Block-Change-API.patch diff --git a/patches/api/0344-Fix-NotePlayEvent.patch b/patches/api/0343-Fix-NotePlayEvent.patch index d3f827bfd8..d3f827bfd8 100644 --- a/patches/api/0344-Fix-NotePlayEvent.patch +++ b/patches/api/0343-Fix-NotePlayEvent.patch diff --git a/patches/api/0345-Freeze-Tick-Lock-API.patch b/patches/api/0344-Freeze-Tick-Lock-API.patch index fdf81b1a62..fdf81b1a62 100644 --- a/patches/api/0345-Freeze-Tick-Lock-API.patch +++ b/patches/api/0344-Freeze-Tick-Lock-API.patch diff --git a/patches/api/0346-Dolphin-API.patch b/patches/api/0345-Dolphin-API.patch index 73beed437b..73beed437b 100644 --- a/patches/api/0346-Dolphin-API.patch +++ b/patches/api/0345-Dolphin-API.patch diff --git a/patches/api/0347-More-PotionEffectType-API.patch b/patches/api/0346-More-PotionEffectType-API.patch index 5cd5753a92..5cd5753a92 100644 --- a/patches/api/0347-More-PotionEffectType-API.patch +++ b/patches/api/0346-More-PotionEffectType-API.patch diff --git a/patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch index 967c5e198e..d9bb4574b2 100644 --- a/patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/api/0347-API-for-creating-command-sender-which-forwards-feedb.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for creating command sender which forwards feedback diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index d4b522ee3d44ec755046cc406708086b5f5cf625..3c7cedf0f2654d68fc7fa9fb32a17d362bba459e 100644 +index e75da4494582594dfa8f21e6abd36fb345558127..43f93aa0efc35488fab44cb55081cfc486c319f5 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -1434,6 +1434,20 @@ public final class Bukkit { +@@ -1432,6 +1432,20 @@ public final class Bukkit { return server.getConsoleSender(); } @@ -30,10 +30,10 @@ index d4b522ee3d44ec755046cc406708086b5f5cf625..3c7cedf0f2654d68fc7fa9fb32a17d36 * Gets the folder that contains all of the various {@link World}s. * diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index feb2c76bd20c1146d22ec1988943e5b94a982de9..57e117583ba6d562e2ffd308e058e5ea7de90b24 100644 +index b6e8dd95cc58f53e3e6ca64dd796ed6633630cf4..693e07b7e4aeef2ebc7fba5d20d6c6071762896c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1204,6 +1204,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1202,6 +1202,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public ConsoleCommandSender getConsoleSender(); diff --git a/patches/api/0349-Implement-regenerateChunk.patch b/patches/api/0348-Implement-regenerateChunk.patch index ee4594616d..ee4594616d 100644 --- a/patches/api/0349-Implement-regenerateChunk.patch +++ b/patches/api/0348-Implement-regenerateChunk.patch diff --git a/patches/api/0350-Add-GameEvent-tags.patch b/patches/api/0349-Add-GameEvent-tags.patch index 1aabdd065a..1aabdd065a 100644 --- a/patches/api/0350-Add-GameEvent-tags.patch +++ b/patches/api/0349-Add-GameEvent-tags.patch diff --git a/patches/api/0351-Furnace-RecipesUsed-API.patch b/patches/api/0350-Furnace-RecipesUsed-API.patch index 7fed82db21..7fed82db21 100644 --- a/patches/api/0351-Furnace-RecipesUsed-API.patch +++ b/patches/api/0350-Furnace-RecipesUsed-API.patch diff --git a/patches/api/0352-Configurable-sculk-sensor-listener-range.patch b/patches/api/0351-Configurable-sculk-sensor-listener-range.patch index b1ad0cdb5b..b1ad0cdb5b 100644 --- a/patches/api/0352-Configurable-sculk-sensor-listener-range.patch +++ b/patches/api/0351-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/api/0353-Add-missing-block-data-mins-and-maxes.patch b/patches/api/0352-Add-missing-block-data-mins-and-maxes.patch index 600497b952..600497b952 100644 --- a/patches/api/0353-Add-missing-block-data-mins-and-maxes.patch +++ b/patches/api/0352-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/api/0354-Custom-Potion-Mixes.patch b/patches/api/0353-Custom-Potion-Mixes.patch index ddea78ba36..a8c7167526 100644 --- a/patches/api/0354-Custom-Potion-Mixes.patch +++ b/patches/api/0353-Custom-Potion-Mixes.patch @@ -102,10 +102,10 @@ index 0000000000000000000000000000000000000000..cb6d93526b637946aec311bef103ad30 + } +} diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 3c7cedf0f2654d68fc7fa9fb32a17d362bba459e..7c2f5f1e3ce496d55471027cc069d7f1863dc7e6 100644 +index 43f93aa0efc35488fab44cb55081cfc486c319f5..ac6a49e39790aa9f12c7d98990f4cac297200cb0 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2448,6 +2448,15 @@ public final class Bukkit { +@@ -2465,6 +2465,15 @@ public final class Bukkit { public static io.papermc.paper.datapack.DatapackManager getDatapackManager() { return server.getDatapackManager(); } @@ -122,10 +122,10 @@ index 3c7cedf0f2654d68fc7fa9fb32a17d362bba459e..7c2f5f1e3ce496d55471027cc069d7f1 @NotNull diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 57e117583ba6d562e2ffd308e058e5ea7de90b24..474835e0a0d174a97ad25406d4a13a43d7a3644e 100644 +index 693e07b7e4aeef2ebc7fba5d20d6c6071762896c..18f4ae463f0e1406842c451b91f333a1bfabae69 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2133,5 +2133,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2146,5 +2146,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); diff --git a/patches/api/0355-Expose-furnace-minecart-push-values.patch b/patches/api/0354-Expose-furnace-minecart-push-values.patch index 3d8c2336e7..3d8c2336e7 100644 --- a/patches/api/0355-Expose-furnace-minecart-push-values.patch +++ b/patches/api/0354-Expose-furnace-minecart-push-values.patch diff --git a/patches/api/0356-More-Projectile-API.patch b/patches/api/0355-More-Projectile-API.patch index fac92210c3..fac92210c3 100644 --- a/patches/api/0356-More-Projectile-API.patch +++ b/patches/api/0355-More-Projectile-API.patch diff --git a/patches/api/0357-Add-getComputedBiome-API.patch b/patches/api/0356-Add-getComputedBiome-API.patch index a1ec54fe08..a1ec54fe08 100644 --- a/patches/api/0357-Add-getComputedBiome-API.patch +++ b/patches/api/0356-Add-getComputedBiome-API.patch diff --git a/patches/api/0358-Add-enchantWithLevels-API.patch b/patches/api/0357-Add-enchantWithLevels-API.patch index fe08c8a617..fe08c8a617 100644 --- a/patches/api/0358-Add-enchantWithLevels-API.patch +++ b/patches/api/0357-Add-enchantWithLevels-API.patch diff --git a/patches/api/0359-Add-TameableDeathMessageEvent.patch b/patches/api/0358-Add-TameableDeathMessageEvent.patch index 6152eacbe6..6152eacbe6 100644 --- a/patches/api/0359-Add-TameableDeathMessageEvent.patch +++ b/patches/api/0358-Add-TameableDeathMessageEvent.patch diff --git a/patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch b/patches/api/0359-Allow-to-change-the-podium-of-the-EnderDragon.patch index c2f08b9adc..c2f08b9adc 100644 --- a/patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch +++ b/patches/api/0359-Allow-to-change-the-podium-of-the-EnderDragon.patch diff --git a/patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/api/0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch index 5775b6f33c..5775b6f33c 100644 --- a/patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch +++ b/patches/api/0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/api/0362-WorldCreator-keepSpawnLoaded.patch b/patches/api/0361-WorldCreator-keepSpawnLoaded.patch index c148a391f4..c148a391f4 100644 --- a/patches/api/0362-WorldCreator-keepSpawnLoaded.patch +++ b/patches/api/0361-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/api/0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch index 032a0872d1..032a0872d1 100644 --- a/patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch +++ b/patches/api/0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/api/0364-Add-PlayerStopUsingItemEvent.patch b/patches/api/0363-Add-PlayerStopUsingItemEvent.patch index 0743d44ae1..0743d44ae1 100644 --- a/patches/api/0364-Add-PlayerStopUsingItemEvent.patch +++ b/patches/api/0363-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/api/0365-FallingBlock-auto-expire-setting.patch b/patches/api/0364-FallingBlock-auto-expire-setting.patch index 82ddf953e9..82ddf953e9 100644 --- a/patches/api/0365-FallingBlock-auto-expire-setting.patch +++ b/patches/api/0364-FallingBlock-auto-expire-setting.patch diff --git a/patches/api/0366-Keyed-Cat-Type.patch b/patches/api/0365-Keyed-Cat-Type.patch index b0797d78b7..b0797d78b7 100644 --- a/patches/api/0366-Keyed-Cat-Type.patch +++ b/patches/api/0365-Keyed-Cat-Type.patch diff --git a/patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch b/patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch index a1c72f1d3f..57225f80c3 100644 --- a/patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch +++ b/patches/api/0366-Add-method-isTickingWorlds-to-Bukkit.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add method isTickingWorlds() to Bukkit. diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53f003eda1 100644 +index ac6a49e39790aa9f12c7d98990f4cac297200cb0..ef36d793ab77c7b7208f8f5994815599cff470d1 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -776,12 +776,26 @@ public final class Bukkit { +@@ -774,12 +774,26 @@ public final class Bukkit { return server.getWorlds(); } @@ -35,7 +35,7 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * * @param creator the options to use when creating the world * @return newly created or loaded world -@@ -793,6 +807,9 @@ public final class Bukkit { +@@ -791,6 +805,9 @@ public final class Bukkit { /** * Unloads a world with the given name. @@ -45,7 +45,7 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * * @param name Name of the world to unload * @param save whether to save the chunks before unloading -@@ -804,6 +821,9 @@ public final class Bukkit { +@@ -802,6 +819,9 @@ public final class Bukkit { /** * Unloads the given world. @@ -56,10 +56,10 @@ index 7c2f5f1e3ce496d55471027cc069d7f1863dc7e6..b0bc2df41506770e2854a287813f1c53 * @param world the world to unload * @param save whether to save the chunks before unloading diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 474835e0a0d174a97ad25406d4a13a43d7a3644e..1d1a1d087dabc9794e0062a064da2cced4062309 100644 +index 18f4ae463f0e1406842c451b91f333a1bfabae69..5b225bbb128893d67251a96ab318035802a0cf76 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -649,34 +649,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -647,34 +647,55 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull public List<World> getWorlds(); diff --git a/patches/api/0368-Add-WardenAngerChangeEvent.patch b/patches/api/0367-Add-WardenAngerChangeEvent.patch index acf45b5314..acf45b5314 100644 --- a/patches/api/0368-Add-WardenAngerChangeEvent.patch +++ b/patches/api/0367-Add-WardenAngerChangeEvent.patch diff --git a/patches/api/0369-Nameable-Banner-API.patch b/patches/api/0368-Nameable-Banner-API.patch index eba196daaf..eba196daaf 100644 --- a/patches/api/0369-Nameable-Banner-API.patch +++ b/patches/api/0368-Nameable-Banner-API.patch diff --git a/patches/api/0370-Add-Player-getFishHook.patch b/patches/api/0369-Add-Player-getFishHook.patch index 291eac5db5..291eac5db5 100644 --- a/patches/api/0370-Add-Player-getFishHook.patch +++ b/patches/api/0369-Add-Player-getFishHook.patch diff --git a/patches/api/0371-More-Teleport-API.patch b/patches/api/0370-More-Teleport-API.patch index 2727bab492..2727bab492 100644 --- a/patches/api/0371-More-Teleport-API.patch +++ b/patches/api/0370-More-Teleport-API.patch diff --git a/patches/api/0372-Add-EntityPortalReadyEvent.patch b/patches/api/0371-Add-EntityPortalReadyEvent.patch index 4b1b1f1e1f..4b1b1f1e1f 100644 --- a/patches/api/0372-Add-EntityPortalReadyEvent.patch +++ b/patches/api/0371-Add-EntityPortalReadyEvent.patch diff --git a/patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch b/patches/api/0372-Custom-Chat-Completion-Suggestions-API.patch index 6b068b9325..6b068b9325 100644 --- a/patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/api/0372-Custom-Chat-Completion-Suggestions-API.patch diff --git a/patches/api/0374-Collision-API.patch b/patches/api/0373-Collision-API.patch index 24bcebc503..24bcebc503 100644 --- a/patches/api/0374-Collision-API.patch +++ b/patches/api/0373-Collision-API.patch diff --git a/patches/api/0375-Block-Ticking-API.patch b/patches/api/0374-Block-Ticking-API.patch index 20b123e5f9..20b123e5f9 100644 --- a/patches/api/0375-Block-Ticking-API.patch +++ b/patches/api/0374-Block-Ticking-API.patch diff --git a/patches/api/0376-Add-NamespacedKey-biome-methods.patch b/patches/api/0375-Add-NamespacedKey-biome-methods.patch index 24cd2b9867..24cd2b9867 100644 --- a/patches/api/0376-Add-NamespacedKey-biome-methods.patch +++ b/patches/api/0375-Add-NamespacedKey-biome-methods.patch diff --git a/patches/api/0377-Also-load-resources-from-LibraryLoader.patch b/patches/api/0376-Also-load-resources-from-LibraryLoader.patch index ee5785d8cb..ee5785d8cb 100644 --- a/patches/api/0377-Also-load-resources-from-LibraryLoader.patch +++ b/patches/api/0376-Also-load-resources-from-LibraryLoader.patch diff --git a/patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch b/patches/api/0377-Added-byte-array-serialization-deserialization-for-P.patch index 161c82afe3..161c82afe3 100644 --- a/patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch +++ b/patches/api/0377-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/api/0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch index bec7a5d015..bec7a5d015 100644 --- a/patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch +++ b/patches/api/0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch diff --git a/patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch b/patches/api/0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch index 9b5ef25cf4..9b5ef25cf4 100644 --- a/patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch +++ b/patches/api/0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch diff --git a/patches/api/0381-Add-getDrops-to-BlockState.patch b/patches/api/0380-Add-getDrops-to-BlockState.patch index 48f3a99f04..48f3a99f04 100644 --- a/patches/api/0381-Add-getDrops-to-BlockState.patch +++ b/patches/api/0380-Add-getDrops-to-BlockState.patch diff --git a/patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch index f094f9dbc9..f094f9dbc9 100644 --- a/patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/api/0383-Elder-Guardian-appearance-API.patch b/patches/api/0382-Elder-Guardian-appearance-API.patch index 7bd14b5041..7bd14b5041 100644 --- a/patches/api/0383-Elder-Guardian-appearance-API.patch +++ b/patches/api/0382-Elder-Guardian-appearance-API.patch diff --git a/patches/api/0384-Allow-changing-bed-s-occupied-property.patch b/patches/api/0383-Allow-changing-bed-s-occupied-property.patch index 8dfafd6d33..8dfafd6d33 100644 --- a/patches/api/0384-Allow-changing-bed-s-occupied-property.patch +++ b/patches/api/0383-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/api/0385-Add-EquipmentSlot-convenience-methods.patch b/patches/api/0384-Add-EquipmentSlot-convenience-methods.patch index 0ef6b4c9b0..0ef6b4c9b0 100644 --- a/patches/api/0385-Add-EquipmentSlot-convenience-methods.patch +++ b/patches/api/0384-Add-EquipmentSlot-convenience-methods.patch diff --git a/patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch index 1a53a5fcc5..1a53a5fcc5 100644 --- a/patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch +++ b/patches/api/0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch diff --git a/patches/api/0387-Add-entity-knockback-API.patch b/patches/api/0386-Add-entity-knockback-API.patch index f53aa9c293..f53aa9c293 100644 --- a/patches/api/0387-Add-entity-knockback-API.patch +++ b/patches/api/0386-Add-entity-knockback-API.patch diff --git a/patches/api/0388-Added-EntityToggleSitEvent.patch b/patches/api/0387-Added-EntityToggleSitEvent.patch index af2476123b..af2476123b 100644 --- a/patches/api/0388-Added-EntityToggleSitEvent.patch +++ b/patches/api/0387-Added-EntityToggleSitEvent.patch diff --git a/patches/api/0389-Add-Moving-Piston-API.patch b/patches/api/0388-Add-Moving-Piston-API.patch index 8f889f1e3d..8f889f1e3d 100644 --- a/patches/api/0389-Add-Moving-Piston-API.patch +++ b/patches/api/0388-Add-Moving-Piston-API.patch diff --git a/patches/api/0390-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0389-Add-PrePlayerAttackEntityEvent.patch index 507b313e56..507b313e56 100644 --- a/patches/api/0390-Add-PrePlayerAttackEntityEvent.patch +++ b/patches/api/0389-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/api/0391-Add-Player-Warden-Warning-API.patch b/patches/api/0390-Add-Player-Warden-Warning-API.patch index f7a13abbca..f7a13abbca 100644 --- a/patches/api/0391-Add-Player-Warden-Warning-API.patch +++ b/patches/api/0390-Add-Player-Warden-Warning-API.patch diff --git a/patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch b/patches/api/0391-More-vanilla-friendly-methods-to-update-trades.patch index f13fdb5601..f13fdb5601 100644 --- a/patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/api/0391-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/api/0393-Add-paper-dumplisteners-command.patch b/patches/api/0392-Add-paper-dumplisteners-command.patch index 8053dc2c4f..8053dc2c4f 100644 --- a/patches/api/0393-Add-paper-dumplisteners-command.patch +++ b/patches/api/0392-Add-paper-dumplisteners-command.patch diff --git a/patches/api/0394-ItemStack-damage-API.patch b/patches/api/0393-ItemStack-damage-API.patch index 12c1e68439..12c1e68439 100644 --- a/patches/api/0394-ItemStack-damage-API.patch +++ b/patches/api/0393-ItemStack-damage-API.patch diff --git a/patches/api/0395-Add-Tick-TemporalUnit.patch b/patches/api/0394-Add-Tick-TemporalUnit.patch index 96c1dddab8..96c1dddab8 100644 --- a/patches/api/0395-Add-Tick-TemporalUnit.patch +++ b/patches/api/0394-Add-Tick-TemporalUnit.patch diff --git a/patches/api/0396-Friction-API.patch b/patches/api/0395-Friction-API.patch index f4d3031506..f4d3031506 100644 --- a/patches/api/0396-Friction-API.patch +++ b/patches/api/0395-Friction-API.patch diff --git a/patches/api/0397-Player-Entity-Tracking-Events.patch b/patches/api/0396-Player-Entity-Tracking-Events.patch index a824ae278f..a824ae278f 100644 --- a/patches/api/0397-Player-Entity-Tracking-Events.patch +++ b/patches/api/0396-Player-Entity-Tracking-Events.patch diff --git a/patches/api/0398-Add-missing-Fluid-type.patch b/patches/api/0397-Add-missing-Fluid-type.patch index c260bf8497..c260bf8497 100644 --- a/patches/api/0398-Add-missing-Fluid-type.patch +++ b/patches/api/0397-Add-missing-Fluid-type.patch diff --git a/patches/api/0399-fix-Instruments.patch b/patches/api/0398-fix-Instruments.patch index 6895bc81f1..6895bc81f1 100644 --- a/patches/api/0399-fix-Instruments.patch +++ b/patches/api/0398-fix-Instruments.patch diff --git a/patches/api/0400-Add-BlockLockCheckEvent.patch b/patches/api/0399-Add-BlockLockCheckEvent.patch index 55a23307b1..55a23307b1 100644 --- a/patches/api/0400-Add-BlockLockCheckEvent.patch +++ b/patches/api/0399-Add-BlockLockCheckEvent.patch diff --git a/patches/api/0401-Add-Sneaking-API-for-Entities.patch b/patches/api/0400-Add-Sneaking-API-for-Entities.patch index 3417aa7f9c..3417aa7f9c 100644 --- a/patches/api/0401-Add-Sneaking-API-for-Entities.patch +++ b/patches/api/0400-Add-Sneaking-API-for-Entities.patch diff --git a/patches/api/0402-Improve-PortalEvents.patch b/patches/api/0401-Improve-PortalEvents.patch index f7f53b19fc..f7f53b19fc 100644 --- a/patches/api/0402-Improve-PortalEvents.patch +++ b/patches/api/0401-Improve-PortalEvents.patch diff --git a/patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch b/patches/api/0402-Add-exploded-block-state-to-BlockExplodeEvent.patch index bdc2de6d23..bdc2de6d23 100644 --- a/patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch +++ b/patches/api/0402-Add-exploded-block-state-to-BlockExplodeEvent.patch diff --git a/patches/api/0404-Flying-Fall-Damage-API.patch b/patches/api/0403-Flying-Fall-Damage-API.patch index de4b34833e..de4b34833e 100644 --- a/patches/api/0404-Flying-Fall-Damage-API.patch +++ b/patches/api/0403-Flying-Fall-Damage-API.patch diff --git a/patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/api/0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index 25fa280b26..25fa280b26 100644 --- a/patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/api/0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch b/patches/api/0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch index 3936bb4a92..3936bb4a92 100644 --- a/patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch +++ b/patches/api/0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch diff --git a/patches/api/0407-Win-Screen-API.patch b/patches/api/0406-Win-Screen-API.patch index 6bc0c47e1f..6bc0c47e1f 100644 --- a/patches/api/0407-Win-Screen-API.patch +++ b/patches/api/0406-Win-Screen-API.patch diff --git a/patches/api/0408-Add-Entity-Body-Yaw-API.patch b/patches/api/0407-Add-Entity-Body-Yaw-API.patch index 1d6aba7a15..1d6aba7a15 100644 --- a/patches/api/0408-Add-Entity-Body-Yaw-API.patch +++ b/patches/api/0407-Add-Entity-Body-Yaw-API.patch diff --git a/patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch b/patches/api/0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch index 98799cd97d..98799cd97d 100644 --- a/patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch +++ b/patches/api/0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch diff --git a/patches/api/0410-Add-EntityFertilizeEggEvent.patch b/patches/api/0409-Add-EntityFertilizeEggEvent.patch index 52283a9df2..52283a9df2 100644 --- a/patches/api/0410-Add-EntityFertilizeEggEvent.patch +++ b/patches/api/0409-Add-EntityFertilizeEggEvent.patch diff --git a/patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/api/0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch index f720032bf2..f720032bf2 100644 --- a/patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch +++ b/patches/api/0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/api/0412-Add-Shearable-API.patch b/patches/api/0411-Add-Shearable-API.patch index 96049cfd38..96049cfd38 100644 --- a/patches/api/0412-Add-Shearable-API.patch +++ b/patches/api/0411-Add-Shearable-API.patch diff --git a/patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/api/0412-Fix-SpawnEggMeta-get-setSpawnedType.patch index 4014e17083..4014e17083 100644 --- a/patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch +++ b/patches/api/0412-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/api/0414-Add-Mob-Experience-reward-API.patch b/patches/api/0413-Add-Mob-Experience-reward-API.patch index e399177aeb..e399177aeb 100644 --- a/patches/api/0414-Add-Mob-Experience-reward-API.patch +++ b/patches/api/0413-Add-Mob-Experience-reward-API.patch diff --git a/patches/api/0415-Expand-PlayerItemMendEvent.patch b/patches/api/0414-Expand-PlayerItemMendEvent.patch index 223922e05e..223922e05e 100644 --- a/patches/api/0415-Expand-PlayerItemMendEvent.patch +++ b/patches/api/0414-Expand-PlayerItemMendEvent.patch diff --git a/patches/api/0416-Add-transient-modifier-API.patch b/patches/api/0415-Add-transient-modifier-API.patch index a32e4c86a9..a32e4c86a9 100644 --- a/patches/api/0416-Add-transient-modifier-API.patch +++ b/patches/api/0415-Add-transient-modifier-API.patch diff --git a/patches/api/0417-Add-API-for-waxed-signs.patch b/patches/api/0416-Add-API-for-waxed-signs.patch index 38a844fdb2..38a844fdb2 100644 --- a/patches/api/0417-Add-API-for-waxed-signs.patch +++ b/patches/api/0416-Add-API-for-waxed-signs.patch diff --git a/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/api/0417-Properly-remove-the-experimental-smithing-inventory-.patch index 58275cea90..58275cea90 100644 --- a/patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch +++ b/patches/api/0417-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/server/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch index 22510b7636..dc9145fd2d 100644 --- a/patches/server/0002-Remap-fixes.patch +++ b/patches/server/0002-Remap-fixes.patch @@ -103,6 +103,31 @@ index ad52c3fc6210939a39ef77a382c640a24ee44838..6b7dd01778f0a5d3a96d2d04af4b525d assertThat(color, is(Color.fromRGB(nmsColor))); } } +diff --git a/src/test/java/org/bukkit/RegistryConstantsTest.java b/src/test/java/org/bukkit/RegistryConstantsTest.java +index 34e6b84c63e50972c650c0e4bc17bc0749e1b7c3..cd96cbba4d495c18f984dec6f861f75baf4300cc 100644 +--- a/src/test/java/org/bukkit/RegistryConstantsTest.java ++++ b/src/test/java/org/bukkit/RegistryConstantsTest.java +@@ -19,17 +19,17 @@ public class RegistryConstantsTest extends AbstractTestingBase { + + @Test + public void testTrimMaterial() { +- this.testExcessConstants(TrimMaterial.class, Registry.TRIM_MATERIAL); ++ this.testExcessConstants(TrimMaterial.class, org.bukkit.Registry.TRIM_MATERIAL); // Paper - remap fix + this.testMissingConstants(TrimMaterial.class, Registries.TRIM_MATERIAL); + } + + @Test + public void testTrimPattern() { +- this.testExcessConstants(TrimPattern.class, Registry.TRIM_PATTERN); ++ this.testExcessConstants(TrimPattern.class, org.bukkit.Registry.TRIM_PATTERN); // Paper - remap fix + this.testMissingConstants(TrimPattern.class, Registries.TRIM_PATTERN); + } + +- private <T extends Keyed> void testExcessConstants(Class<T> clazz, Registry<T> registry) { ++ private <T extends Keyed> void testExcessConstants(Class<T> clazz, org.bukkit.Registry<T> registry) { // Paper - remap fix + List<NamespacedKey> excessKeys = new ArrayList<>(); + + for (Field field : clazz.getFields()) { diff --git a/src/test/java/org/bukkit/entity/EntityTypesTest.java b/src/test/java/org/bukkit/entity/EntityTypesTest.java index b1de312e902c83a2f95d80040abb9255e64431a9..aafa6f472c82f851fe7f5ae3111488bb732d0bcc 100644 --- a/src/test/java/org/bukkit/entity/EntityTypesTest.java diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 0c3c77d746..7fbde73ffb 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -4571,10 +4571,10 @@ index cda55e481ddbcc1de5478125c5db20ebba168e7d..bacd4d875642cd93c3185f788745dd73 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c1c575593b2470aeaf73ce6f9f45f4f7f9b16c04..9c82e4d2f5676808bb57c5e7dd19d0e7615ca884 100644 +index 56ad43d30f5dfec7564edab364328d32313501db..84c9a7f5ecb47f6a95ca89ecfcdba663fef803ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -903,6 +903,7 @@ public final class CraftServer implements Server { +@@ -910,6 +910,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 66aad2fa8a..013b5023df 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -83,11 +83,11 @@ index 161ad6ab1443b2ce33a2d7d91d189c855db0453b..15a9736a870055d639d03063c7cf67fd this.registryAccess = registryManager; this.structureTemplateManager = structureTemplateManager; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c82e4d2f5676808bb57c5e7dd19d0e7615ca884..9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0 100644 +index 84c9a7f5ecb47f6a95ca89ecfcdba663fef803ae..c3c30cbb74062fc25c1daf9b17c8956857766306 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2324,7 +2324,13 @@ public final class CraftServer implements Server { - Validate.notNull(key, "NamespacedKey cannot be null"); +@@ -2340,7 +2340,13 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); LootDataManager registry = this.getServer().getLootData(); - return new CraftLootTable(key, registry.getLootTable(CraftNamespacedKey.toMinecraft(key))); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index f729fe9a55..27baee9eca 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -6530,7 +6530,7 @@ index ebae711991a3ae35e35c2cffa8d928677c205492..7be97441aed66fa3a21d13ad2211b3e0 public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey<Level> resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List<CustomSpawner> list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e1a8dc23249c04de66289fbf157d349e7fae606d..931955a7f5b20f04350ec91b3bc95146e8e219a3 100644 +index 4a2205fca9b9487b92b120ece69f1548bf764056..ba89c0d7ae99e53350249365d0e035e6f14e1c5f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -255,6 +255,8 @@ public class ServerPlayer extends Player { @@ -6595,7 +6595,7 @@ index a63d5ba706a5b8e430aedc045bdeb3a410bd0eef..e96a0ca47e4701ba187555bd92c96834 public BlockState getBlockState(BlockPos pos) { return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1413df83d5dad892a505850fd863d49148c185f0..5d572a56d7926a849af73f5335a749f30f250026 100644 +index d1a94a7de19b0c46454040f7459a492e30265e9c..edf629f2e810eebf014b1565021888f96def92a1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -185,6 +185,7 @@ public abstract class PlayerList { @@ -6625,7 +6625,7 @@ index 337e0a7b3c14e1b1a28744920e0dc0a69e0c5a87..f5829ae484d93b547a5437b85a962134 @Override public void tell(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cb3354c5ec73ef7c2c2b4af5dbaf994836d6ef7d..18b019aa5908bbc02caa162accbf088abcefc2e2 100644 +index ff52a7319c6d80528a44389178b947cf4d8f48dc..a4e5961991a6debff959d63d70b71b1ded76e72a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -323,6 +323,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -7291,10 +7291,10 @@ index 25156be63f91a1c41ef41154f675d04eb97459a8..47bab513feec217d875192afef61f3af return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337846c75ac 100644 +index ee22b5419098834c3b388bbf78d6bd6d7951964a..379b8a7d94c784db54ada01ad6bd04a54f8a089f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -243,8 +243,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -242,8 +242,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk[] getLoadedChunks() { @@ -7305,7 +7305,7 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 } @Override -@@ -319,7 +319,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -318,7 +318,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { @@ -7314,7 +7314,7 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 if (playerChunk == null) return false; playerChunk.getTickingChunkFuture().thenAccept(either -> { -@@ -1963,4 +1963,32 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1970,4 +1970,32 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end @@ -7348,10 +7348,10 @@ index 46d6f5b9f31e15ab286df344bc436b2762d329e5..29ef66be12ec2a2765a76eb3d419c337 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2c824ead41389bc7d2085536ecb8d0d2b6515ddb..6807507017bbb171657ba230223f281b083da28a 100644 +index bcf8d0316386cbf4d90b73f7530acbcf554be55d..61304b316985462e898a1b80f872b716a33207c6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1182,4 +1182,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1175,4 +1175,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.spigot; } // Spigot end @@ -7390,7 +7390,7 @@ index 2c824ead41389bc7d2085536ecb8d0d2b6515ddb..6807507017bbb171657ba230223f281b + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 2f52148f36e56c503e619634eedd3d46d9f44938..054fcc3713f02e358dfe049491c8d1689ccc750b 100644 +index 07249989e6f0f76f8408363d7f20e7335b7a8e06..4d94c3a19f98f78476ecc403f410d75a6ea57c2d 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -44,6 +44,7 @@ import org.bukkit.scheduler.BukkitWorker; @@ -7612,7 +7612,7 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 141f7c287252ae319e88d8c279e5661524baa1bf..381cfd86fc1158dc9a7c1e76c3ada962b0964373 100644 +index 9026e98b6b03de7a51e853d6ca4a3d20584740d4..fee5c6809ea3d4ebe1b17fb8da580f3b058d7363 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -104,8 +104,17 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -7677,10 +7677,10 @@ index d2026d218405a40a6949c5f491c04704811b72b5..629178347039893fb9de710810fe8112 public WorldBorder getWorldBorder() { throw new UnsupportedOperationException("Not supported yet."); diff --git a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java -index d40c0d8be1b0153d62021b8bcb6e8b37fd0acb4e..e38e57b1f9ef27020de35d7ddcb36a663140f880 100644 +index aced43492a32d603690e75d0d9877667770fc6db..40d6bf127d288340e9c2500732d1e0963c186ebd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java +++ b/src/main/java/org/bukkit/craftbukkit/util/UnsafeList.java -@@ -119,6 +119,32 @@ public class UnsafeList<E> extends AbstractList<E> implements List<E>, RandomAcc +@@ -120,6 +120,32 @@ public class UnsafeList<E> extends AbstractList<E> implements List<E>, RandomAcc return this.indexOf(o) >= 0; } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index 0a667b0dd0..c1a071f638 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2169,7 +2169,7 @@ index 5f051cb22ae77f4d8994b07ac5b963bd0ff05673..7952635a963e28cb670c8f4869664103 list.forEach((loader) -> { Registry<?> registry = loader.getFirst(); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7adecde96e 100644 +index 9b34e401040a45393afbb9e984ff421a89f744a0..3250a9310b57351d6d832a8ef42837d990cf6c99 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -194,6 +194,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot @@ -2180,15 +2180,26 @@ index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7a public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; private static final int TICK_STATS_SPAN = 100; -@@ -244,6 +245,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -242,8 +243,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa + private boolean preventProxyConnections; + private boolean pvp; private boolean allowFlight; - @Nullable - private String motd; -+ @Nullable private net.kyori.adventure.text.Component cachedMotd; // Paper +- @Nullable +- private String motd; ++ private net.kyori.adventure.text.Component motd; // Paper - Adventure private int playerIdleTimeout; public final long[] tickTimes; @Nullable -@@ -1261,6 +1263,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1232,7 +1232,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa + private ServerStatus buildServerStatus() { + ServerStatus.Players serverping_serverpingplayersample = this.buildPlayerStatus(); + +- return new ServerStatus(Component.nullToEmpty(this.motd), Optional.of(serverping_serverpingplayersample), Optional.of(ServerStatus.Version.current()), Optional.ofNullable(this.statusIcon), this.enforceSecureProfile()); ++ return new ServerStatus(io.papermc.paper.adventure.PaperAdventure.asVanilla(this.motd), Optional.of(serverping_serverpingplayersample), Optional.of(ServerStatus.Version.current()), Optional.ofNullable(this.statusIcon), this.enforceSecureProfile()); // Paper - Adventure + } + + private ServerStatus.Players buildPlayerStatus() { +@@ -1261,6 +1261,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa SpigotTimings.schedulerTimer.startTiming(); // Spigot this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit SpigotTimings.schedulerTimer.stopTiming(); // Spigot @@ -2196,26 +2207,29 @@ index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7a this.profiler.push("commandFunctions"); SpigotTimings.commandFunctionsTimer.startTiming(); // Spigot this.getFunctions().tick(); -@@ -1629,8 +1632,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa - return this.motd; +@@ -1626,10 +1627,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa + public abstract boolean isCommandBlockEnabled(); + + public String getMotd() { +- return this.motd; ++ return net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(this.motd); // Paper - Adventure } -+ public net.kyori.adventure.text.Component getComponentMotd() { -+ net.kyori.adventure.text.Component component = cachedMotd; -+ if (this.motd != null && this.cachedMotd == null) { -+ component = cachedMotd = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(this.motd); -+ } + public void setMotd(String motd) { ++ // Paper start - Adventure ++ this.motd = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserializeOr(motd, net.kyori.adventure.text.Component.empty()); ++ } + -+ return component != null ? component : net.kyori.adventure.text.Component.empty(); ++ public net.kyori.adventure.text.Component motd() { ++ return this.motd; + } + - public void setMotd(String motd) { ++ public void motd(net.kyori.adventure.text.Component motd) { ++ // Paper end - Adventure this.motd = motd; -+ this.cachedMotd = null; // Paper } - public boolean isStopped() { -@@ -2343,39 +2356,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2343,39 +2354,29 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } public void logChatMessage(Component message, ChatType.Bound params, @Nullable String prefix) { @@ -2268,7 +2282,7 @@ index 9b34e401040a45393afbb9e984ff421a89f744a0..2d35572157b28f2e637d9b47a82c5e7a } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 931955a7f5b20f04350ec91b3bc95146e8e219a3..5872ead2fe3a64f02f8bc36603fbb856728fd255 100644 +index ba89c0d7ae99e53350249365d0e035e6f14e1c5f..dc87e56cfcd59bc1505f5b3c0363038e790271a0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -161,6 +161,7 @@ import net.minecraft.world.scores.Score; @@ -2373,7 +2387,7 @@ index 931955a7f5b20f04350ec91b3bc95146e8e219a3..5872ead2fe3a64f02f8bc36603fbb856 // CraftBukkit end this.chatVisibility = packet.chatVisibility(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea99829210dbe1 100644 +index a7b85cf4fbdb04747e46f49293a2e63c744cdc5e..fa3d02895d57c17416e742d2ea1e51253bce4fad 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -187,6 +187,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; @@ -2448,7 +2462,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 // CraftBukkit end this.connection.send(new ClientboundDisconnectPacket(ichatbasecomponent), PacketSendListener.thenRun(() -> { -@@ -1783,9 +1788,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1786,9 +1791,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic */ this.player.disconnect(); @@ -2463,7 +2477,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1882,11 +1889,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1885,11 +1892,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } CompletableFuture<FilteredText> completablefuture = this.filterTextPacket(playerchatmessage.signedContent()); @@ -2477,7 +2491,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 this.broadcastChatMessage(playerchatmessage1); }, this.server.chatExecutor); // CraftBukkit - async chat -@@ -1992,7 +1999,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1995,7 +2002,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(acknowledgment); if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales @@ -2486,7 +2500,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 return Optional.empty(); } else { this.player.resetLastActionTime(); -@@ -2050,7 +2057,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2053,7 +2060,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -2500,7 +2514,7 @@ index eebd9792338f912e60a9b0ab4de0660888b841f6..a1b9a2eeba2febef1b568a4c5aea9982 Player player = this.getCraftPlayer(); AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server)); String originalFormat = event.getFormat(), originalMessage = event.getMessage(); -@@ -2180,7 +2192,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2183,7 +2195,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } }); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Re-add "Command Only" flag check @@ -2551,7 +2565,7 @@ index 1cb95db25a20d38faacd99a5805630c1598e9db3..d99b2235038eb1aba8cda474c4aa51e2 @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5d572a56d7926a849af73f5335a749f30f250026..645bee9a926d71c3730a23391d21d48418444e9a 100644 +index edf629f2e810eebf014b1565021888f96def92a1..d3dc7752aadf36985660d04dcb4377a69dfeddff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -8,6 +8,7 @@ import com.mojang.logging.LogUtils; @@ -2862,7 +2876,7 @@ index 614e567eb1ef10ac7514909a8425e29ac3627d3d..60596c4ac2ebb8caf19d65591624275b } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c163c5065ec 100644 +index c3c30cbb74062fc25c1daf9b17c8956857766306..85867893da6bb4f24e86c32ea9fd5ff5b5684dbb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -608,8 +608,10 @@ public final class CraftServer implements Server { @@ -2876,7 +2890,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 } @Override -@@ -1460,7 +1462,15 @@ public final class CraftServer implements Server { +@@ -1465,7 +1467,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -2892,7 +2906,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1628,7 +1638,20 @@ public final class CraftServer implements Server { +@@ -1633,7 +1643,20 @@ public final class CraftServer implements Server { } @Override @@ -2913,7 +2927,7 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 Set<CommandSender> recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1636,14 +1659,14 @@ public final class CraftServer implements Server { +@@ -1641,14 +1664,14 @@ public final class CraftServer implements Server { } } @@ -2930,36 +2944,36 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1894,6 +1917,14 @@ public final class CraftServer implements Server { +@@ -1900,6 +1923,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } + // Paper start + @Override + public Inventory createInventory(InventoryHolder owner, InventoryType type, net.kyori.adventure.text.Component title) { -+ Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); ++ Preconditions.checkArgument(type.isCreatable(), "Cannot open an inventory of type ", type); + return CraftInventoryCreator.INSTANCE.createInventory(owner, type, title); + } + // Paper end + @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { - Validate.isTrue(type.isCreatable(), "Cannot open an inventory of type ", type); -@@ -1906,13 +1937,28 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(type != null, "InventoryType cannot be null"); +@@ -1914,13 +1945,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } + // Paper start + @Override + public Inventory createInventory(InventoryHolder owner, int size, net.kyori.adventure.text.Component title) throws IllegalArgumentException { -+ Validate.isTrue(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); ++ Preconditions.checkArgument(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); + return CraftInventoryCreator.INSTANCE.createInventory(owner, size, title); + } + // Paper end + @Override public Inventory createInventory(InventoryHolder owner, int size, String title) throws IllegalArgumentException { - Validate.isTrue(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got " + size + ")"); + Preconditions.checkArgument(9 <= size && size <= 54 && size % 9 == 0, "Size for custom inventory must be a multiple of 9 between 9 and 54 slots (got %s)", size); return CraftInventoryCreator.INSTANCE.createInventory(owner, size, title); } @@ -2974,20 +2988,25 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -1977,6 +2023,12 @@ public final class CraftServer implements Server { +@@ -1985,6 +2031,17 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } -+ // Paper start ++ // Paper start - Adventure + @Override + public net.kyori.adventure.text.Component motd() { -+ return console.getComponentMotd(); ++ return this.console.motd(); ++ } ++ @Override ++ public void motd(final net.kyori.adventure.text.Component motd) { ++ this.console.motd(motd); + } + // Paper end ++ @Override public String getMotd() { return this.console.getMotd(); -@@ -2403,4 +2455,53 @@ public final class CraftServer implements Server { +@@ -2419,4 +2476,53 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -3042,10 +3061,10 @@ index 9874d0d3ae16e79f2598d9c1f93a9b7cc40f56b0..7d95f4e919f46fd415a3cf88b1bb7c16 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f13711683a61e 100644 +index 379b8a7d94c784db54ada01ad6bd04a54f8a089f..73f61f2b0c0aeefabb7b7bba7ca37914751dcc42 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -153,6 +153,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -152,6 +152,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this); private final Object2IntOpenHashMap<SpawnCategory> spawnCategoryLimit = new Object2IntOpenHashMap<>(); private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); @@ -3053,7 +3072,7 @@ index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f1371 private static final Random rand = new Random(); -@@ -1597,6 +1598,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1603,6 +1604,39 @@ public class CraftWorld extends CraftRegionAccessor implements World { entityTracker.broadcastAndSend(packet); } } @@ -3093,7 +3112,7 @@ index 29ef66be12ec2a2765a76eb3d419c337846c75ac..711dbf6e5cf9b4ffabaab2bcf10f1371 private static Map<String, GameRules.Key<?>> gamerules; public static synchronized Map<String, GameRules.Key<?>> getGameRulesNMS() { -@@ -1990,5 +2024,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1997,5 +2031,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { return ret; } @@ -3517,7 +3536,7 @@ index f6c614bb1184f9c79121f64a2a030bf3f094b671..e8334e2264510f5101e80b4f130e7ae1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229bd43485d 100644 +index 61304b316985462e898a1b80f872b716a33207c6..11645e01924b4a66aa4f425c8962a000be761912 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -202,6 +202,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -3528,7 +3547,7 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -860,6 +861,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -853,6 +854,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -3561,7 +3580,7 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 @Override public void setCustomName(String name) { // sane limit for name length -@@ -939,6 +966,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -932,6 +959,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public String getName() { return CraftChatMessage.fromComponent(this.getHandle().getName()); } @@ -3580,10 +3599,10 @@ index 6807507017bbb171657ba230223f281b083da28a..db585082251005e2d2f861a0b292f229 @Override public boolean isPermissionSet(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 32e1b60876482035c9fbd0dfc5d1a47947eabb38..d39869056d0ac57279e0e9e479ace4a7d402a941 100644 +index 3421498e8e5fe2e22d6b31d9cf6b3337553e1c5f..abe978078270a45f7e77eb2b8a99309f12ca51ee 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -322,9 +322,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -320,9 +320,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { container = CraftEventFactory.callInventoryOpenEvent(player, container); if (container == null) return; @@ -3598,7 +3617,7 @@ index 32e1b60876482035c9fbd0dfc5d1a47947eabb38..d39869056d0ac57279e0e9e479ace4a7 player.containerMenu = container; player.initMenu(container); } -@@ -393,8 +396,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -391,8 +394,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Now open the window MenuType<?> windowType = CraftContainer.getNotchInventoryType(inventory.getTopInventory()); @@ -3632,10 +3651,10 @@ index 446fdca49a5a6999626a7ee3a1d5c168b15a09dd..f9863e138994f6c7a7975a852f106faa public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac792ebb8d19 100644 +index bab41176551656947be4bea4fec3ec82e51146e2..e37f69880c4b439245d7edb4c35418ed3da27a5f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -285,14 +285,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -282,14 +282,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -3675,7 +3694,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public String getPlayerListName() { return this.getHandle().listName == null ? getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -311,42 +336,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -308,42 +333,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -3727,7 +3746,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 this.getHandle().connection.send(packet); } -@@ -378,6 +403,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -375,6 +400,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.disconnect(message == null ? "" : message); } @@ -3750,8 +3769,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 + @Override public void setCompassTarget(Location loc) { - if (this.getHandle().connection == null) return; -@@ -711,6 +753,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + Preconditions.checkArgument(loc != null, "Location cannot be null"); +@@ -669,6 +711,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -3764,8 +3783,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 + if (lines == null) { + lines = new java.util.ArrayList<>(4); + } -+ Validate.notNull(loc, "Location cannot be null"); -+ Validate.notNull(dyeColor, "DyeColor cannot be null"); ++ Preconditions.checkArgument(loc != null, "Location cannot be null"); ++ Preconditions.checkArgument(dyeColor != null, "DyeColor cannot be null"); + if (lines.size() < 4) { + throw new IllegalArgumentException("Must have at least 4 lines"); + } @@ -3776,8 +3795,8 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -738,6 +798,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - } +@@ -692,6 +752,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + if (this.getHandle().connection == null) return; Component[] components = CraftSign.sanitizeLines(lines); + // Paper start - adventure @@ -3788,7 +3807,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); SignText text = sign.getFrontText(); text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData())); -@@ -746,7 +811,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -700,7 +765,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { text.setMessage(i, components[i]); } @@ -3798,7 +3817,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1639,7 +1705,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1590,7 +1656,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -3807,7 +3826,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1654,7 +1720,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1605,7 +1671,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -3816,17 +3835,17 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 } @Override -@@ -1670,6 +1736,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1621,6 +1687,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } + // Paper start + @Override + public void setResourcePack(String url, byte[] hashBytes, net.kyori.adventure.text.Component prompt, boolean force) { -+ Validate.notNull(url, "Resource pack URL cannot be null"); ++ Preconditions.checkArgument(url != null, "Resource pack URL cannot be null"); + final String hash; + if (hashBytes != null) { -+ Validate.isTrue(hashBytes.length == 20, "Resource pack hash should be 20 bytes long but was " + hashBytes.length); ++ Preconditions.checkArgument(hashBytes.length == 20, "Resource pack hash should be 20 bytes long but was " + hashBytes.length); + hash = BaseEncoding.base16().lowerCase().encode(hashBytes); + } else { + hash = ""; @@ -3838,7 +3857,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 public void addChannel(String channel) { Preconditions.checkState(this.channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel); -@@ -2074,6 +2155,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2012,6 +2093,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().clientViewDistance == null) ? Bukkit.getViewDistance() : this.getHandle().clientViewDistance; } @@ -3851,7 +3870,7 @@ index 242b6cb2ac775b4fc687a5a62011b53ab7bde7f6..e087ec1f456a8eff1071700fb98eac79 @Override public int getPing() { return this.getHandle().latency; -@@ -2124,6 +2211,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2062,6 +2149,252 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -4127,7 +4146,7 @@ index 2becf197a5c2d94f23f72a9b20cb2cd05a0807df..99096c1e3f045e4a99335faedfb8e77e @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3c3d5a527604d6f14abb1815816153747fcc0839..1b9a08098199f305606289724ee047e8075ffcea 100644 +index 5f994a64bf29545a528b91604c1f2e19bcfd9b2f..e0bb58d92e47516138261a673b56c5f8ce68a59c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -838,9 +838,9 @@ public class CraftEventFactory { @@ -4170,7 +4189,7 @@ index 7cd70d53e5816938beab9019db40cd7faedba745..8ea031537c27b219c22316bff191670c public String getTitle() { return title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java -index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c632cc782f7 100644 +index c9cc23757a9fcc58d30b2915d4c5cfbc7d1c767a..fc0e1212022d1aa3506699b60ef338196eb54eba 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryCustom.java @@ -19,6 +19,12 @@ public class CraftInventoryCustom extends CraftInventory { @@ -4218,7 +4237,7 @@ index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c63 this(owner, type.getDefaultSize(), type.getDefaultTitle()); this.type = type; @@ -57,11 +77,24 @@ public class CraftInventoryCustom extends CraftInventory { - Validate.notNull(title, "Title cannot be null"); + Preconditions.checkArgument(title != null, "title cannot be null"); this.items = NonNullList.withSize(size, ItemStack.EMPTY); this.title = title; + this.adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(title); @@ -4229,7 +4248,7 @@ index 6486a76466691f958349a4706d7c9caff9cb8f64..f3ebaefd949ae73afad3dcb69b8d9c63 + // Paper start + public MinecraftInventory(final InventoryHolder owner, final int size, final net.kyori.adventure.text.Component title) { -+ Validate.notNull(title, "Title cannot be null"); ++ Preconditions.checkArgument(title != null, "Title cannot be null"); + this.items = NonNullList.withSize(size, ItemStack.EMPTY); + this.title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().serialize(title); + this.adventure$title = title; @@ -4274,10 +4293,10 @@ index 4dd9a80af9901287ab6740b072f2b89678c3d0cb..b2586684295b295a3196a2a9cf724cec public String getTitle() { return this.title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 4f9be48ebe8ec71272b19c9ab43c293cc069011f..6e050a5cbb877c85595fc97a569c2aafb272ad41 100644 +index fb58cfd68c8ababbf9486c9a5a1795b1ac9d5817..b187c4f436ac44a529675869dbf5bfddc4fac86f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -442,4 +442,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -437,4 +437,17 @@ public final class CraftItemFactory implements ItemFactory { public Material updateMaterial(ItemMeta meta, Material material) throws IllegalArgumentException { return ((CraftMetaItem) meta).updateMaterial(material); } @@ -4296,7 +4315,7 @@ index 4f9be48ebe8ec71272b19c9ab43c293cc069011f..6e050a5cbb877c85595fc97a569c2aaf + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa012fd687 100644 +index 9e05a8515c5f6f340182e91150fcad8bbf80a22b..adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java @@ -13,10 +13,17 @@ import org.bukkit.craftbukkit.util.CraftChatMessage; @@ -4323,12 +4342,12 @@ index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa + @Deprecated // Paper - Adventure public MinecraftMerchant(String title) { - Validate.notNull(title, "Title cannot be null"); + Preconditions.checkArgument(title != null, "Title cannot be null"); this.title = CraftChatMessage.fromString(title)[0]; } + // Paper start + public MinecraftMerchant(net.kyori.adventure.text.Component title) { -+ Validate.notNull(title, "Title cannot be null"); ++ Preconditions.checkArgument(title != null, "Title cannot be null"); + this.title = io.papermc.paper.adventure.PaperAdventure.asVanilla(title); + } + // Paper end @@ -4336,12 +4355,12 @@ index a0334ec0a80dfc4f1e68c2e338aa486faaefb29e..257776a12ca26c1e75be22a67c94b0aa @Override public CraftMerchant getCraftMerchant() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e7e64bce2 100644 +index bd4524fd987877a287680cfa5744ce12045ebfbd..cf928745c36af0e6fa0a95e177395c5fb1aa821a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -@@ -1,8 +1,9 @@ - package org.bukkit.craftbukkit.inventory; +@@ -2,8 +2,9 @@ package org.bukkit.craftbukkit.inventory; + import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap.Builder; import com.google.common.collect.Lists; @@ -4379,7 +4398,7 @@ index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e + + @Override + public net.kyori.adventure.text.Component page(final int page) { -+ Validate.isTrue(isValidPage(page), "Invalid page number"); ++ Preconditions.checkArgument(isValidPage(page), "Invalid page number"); + return this instanceof CraftMetaBookSigned ? net.kyori.adventure.text.serializer.gson.GsonComponentSerializer.gson().deserialize(pages.get(page - 1)) : net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(pages.get(page - 1)); + } + @@ -4495,8 +4514,8 @@ index 4154b4489be172f1ef1693b54368b7ffc8629c31..e8413ad360e9b6c4eef13edf9dd0095e + // Paper end @Override public String getPage(final int page) { - Validate.isTrue(this.isValidPage(page), "Invalid page number"); -@@ -405,7 +545,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { + Preconditions.checkArgument(this.isValidPage(page), "Invalid page number (%s)", page); +@@ -402,7 +542,7 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { } @Override @@ -4549,10 +4568,10 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..abb9e88abc74135284b941e040d40586 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5fab8014b0ae3d56610aeaaa21a8c1ba6f7f1bfd..16dd61b832d7b6519786072e41cdde9df3ab8e7f 100644 +index 02856de529023f4d63440e2f2cef28e41f2103a7..b01c268d179591a0113e4bfb46f3d6d22933efaf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -749,6 +749,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isUnbreakable() || this.hasDamage() || this.hasAttributeModifiers()); } @@ -4571,7 +4590,7 @@ index 5fab8014b0ae3d56610aeaaa21a8c1ba6f7f1bfd..16dd61b832d7b6519786072e41cdde9d @Override public String getDisplayName() { return CraftChatMessage.fromJSONComponent(displayName); -@@ -785,6 +797,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -784,6 +796,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } @@ -4734,7 +4753,7 @@ index b47f18b1e448807a17ca9f2ae9609680233da837..9683d7d103af66fffd68c11abc38fb4f } diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java -index 0d25c7c03f7ac21a4b21bb95b5bd921c43430cf9..b7f0277b50a0f45c32b818bf9fe1218874aa8533 100644 +index b49cc2880fbecfd48d07c2e390c9e2aa2e09b848..de5f382656f9fd08f6ae1795c69743c604d62d5c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java @@ -31,6 +31,21 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective @@ -4758,12 +4777,12 @@ index 0d25c7c03f7ac21a4b21bb95b5bd921c43430cf9..b7f0277b50a0f45c32b818bf9fe12188 + // Paper end @Override public String getDisplayName() throws IllegalStateException { - CraftScoreboard scoreboard = this.checkState(); + this.checkState(); diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce481c6effbb 100644 +index f978617eaa74ff1fa0ab0acec3b6ccd14e2db55d..2471a6d0b7a8086cf4c0a41b10c05ed50d790d11 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -@@ -28,6 +28,34 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -27,6 +27,33 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { public CraftObjective registerNewObjective(String name, String criteria) throws IllegalArgumentException { return this.registerNewObjective(name, criteria, name); } @@ -4785,12 +4804,11 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 + if (displayName == null) { + displayName = net.kyori.adventure.text.Component.empty(); + } -+ Validate.notNull(name, "Objective name cannot be null"); -+ Validate.notNull(criteria, "Criteria cannot be null"); -+ Validate.notNull(displayName, "Display name cannot be null"); -+ Validate.notNull(renderType, "RenderType cannot be null"); -+ Validate.isTrue(name.length() <= Short.MAX_VALUE, "The name '" + name + "' is longer than the limit of 32767 characters"); -+ Validate.isTrue(board.getObjective(name) == null, "An objective of name '" + name + "' already exists"); ++ Preconditions.checkArgument(name != null, "Objective name cannot be null"); ++ Preconditions.checkArgument(criteria != null, "Criteria cannot be null"); ++ Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); ++ Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); ++ Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); + net.minecraft.world.scores.Objective objective = board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); + return new CraftObjective(this, objective); + } @@ -4798,17 +4816,17 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 @Override public CraftObjective registerNewObjective(String name, String criteria, String displayName) throws IllegalArgumentException { -@@ -46,16 +74,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -45,16 +72,7 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { @Override public CraftObjective registerNewObjective(String name, Criteria criteria, String displayName, RenderType renderType) throws IllegalArgumentException { -- Validate.notNull(name, "Objective name cannot be null"); -- Validate.notNull(criteria, "Criteria cannot be null"); -- Validate.notNull(displayName, "Display name cannot be null"); -- Validate.notNull(renderType, "RenderType cannot be null"); -- Validate.isTrue(name.length() <= Short.MAX_VALUE, "The name '" + name + "' is longer than the limit of 32767 characters"); -- Validate.isTrue(displayName.length() <= 128, "The display name '" + displayName + "' is longer than the limit of 128 characters"); -- Validate.isTrue(this.board.getObjective(name) == null, "An objective of name '" + name + "' already exists"); +- Preconditions.checkArgument(name != null, "Objective name cannot be null"); +- Preconditions.checkArgument(criteria != null, "Criteria cannot be null"); +- Preconditions.checkArgument(displayName != null, "Display name cannot be null"); +- Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); +- Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); +- Preconditions.checkArgument(displayName.length() <= 128, "The display name '%s' is longer than the limit of 128 characters (%s)", displayName, displayName.length()); +- Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); - - net.minecraft.world.scores.Objective objective = this.board.addObjective(name, ((CraftCriteria) criteria).criteria, CraftChatMessage.fromStringOrNull(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); - return new CraftObjective(this, objective); @@ -4817,10 +4835,10 @@ index c624867e28dd5187d58a6bcb9067b0c10ff7e733..f367261b119ab48c1d17b2b6552cce48 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 81f16dc1ed6e102af298600db75cab21a09bc00f..18d5a26c34c848241c306241b3ad9825b5a0b9a9 100644 +index 4de9d57559e3787089a542fd912e5b28973fe73e..772206a43950db2726bd79911438e2aec2d7189c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -@@ -28,6 +28,63 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { +@@ -26,6 +26,63 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { return this.team.getName(); } @@ -4897,7 +4915,7 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 381cfd86fc1158dc9a7c1e76c3ada962b0964373..0137b414a75894cb8b8413f96eba4f591453f61b 100644 +index fee5c6809ea3d4ebe1b17fb8da580f3b058d7363..a3cb26b4ba108b3c621f74034480a522492fdf2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -74,6 +74,43 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -4958,18 +4976,16 @@ index 62c66e3179b9557cdba46242df0fb15bce7e7710..73a37638abacdffbff8274291a64ea6c public boolean isLazy() { return this.reference == null; diff --git a/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java b/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java -index 838d5b877c01be3ef353f434d98e27b46c0a3fb4..5c4c0ba05f10d2d83b22d3e86805cfa85c3b50a9 100644 +index 75bc9ea10d80270217e4c75da98257a217b20097..673ab940fb53d42f6b6dbfe048d0281c4f508b0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java +++ b/src/main/java/org/bukkit/craftbukkit/util/LazyPlayerSet.java -@@ -15,11 +15,17 @@ public class LazyPlayerSet extends LazyHashSet<Player> { +@@ -16,9 +16,15 @@ public class LazyPlayerSet extends LazyHashSet<Player> { } @Override - HashSet<Player> makeReference() { + protected HashSet<Player> makeReference() { // Paper - protected - if (reference != null) { - throw new IllegalStateException("Reference already created!"); - } + Preconditions.checkState(reference == null, "Reference already created!"); List<ServerPlayer> players = this.server.getPlayerList().players; + // Paper start + return makePlayerSet(this.server); diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch index 8bd8dd2e52..145c4b9074 100644 --- a/patches/server/0011-Paper-command.patch +++ b/patches/server/0011-Paper-command.patch @@ -615,10 +615,10 @@ index 2ac30ef2dd72582f2b7f6a05b1f94b12b44fafc9..a01d423f44b3e547b4fa4d6654f9df63 this.setPvpAllowed(dedicatedserverproperties.pvp); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7d95f4e919f46fd415a3cf88b1bb7c163c5065ec..182c3a3852726172dfe97f2b989323001c6efad8 100644 +index 85867893da6bb4f24e86c32ea9fd5ff5b5684dbb..de9e4fd6a11b06e685804e43657d8b6589c6ca1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -927,6 +927,7 @@ public final class CraftServer implements Server { +@@ -934,6 +934,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -626,7 +626,7 @@ index 7d95f4e919f46fd415a3cf88b1bb7c163c5065ec..182c3a3852726172dfe97f2b98932300 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2495,6 +2496,34 @@ public final class CraftServer implements Server { +@@ -2516,6 +2517,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch index 263bebcb9a..f2fac081cc 100644 --- a/patches/server/0013-Paper-Plugins.patch +++ b/patches/server/0013-Paper-Plugins.patch @@ -6973,10 +6973,10 @@ index 35e7f8e7b19c217fa5f3f55abb0f8b9cd6b16f18..72c2f0bf9434e09a0dd51294d3a2200f Bootstrap.validate(); Util.startTimerHackThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea7228aa59 100644 +index de9e4fd6a11b06e685804e43657d8b6589c6ca1c..5efe98cbcb44727fbbb195ff7007d01c823372b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -269,7 +269,8 @@ public final class CraftServer implements Server { +@@ -268,7 +268,8 @@ public final class CraftServer implements Server { private final CraftCommandMap commandMap = new CraftCommandMap(this); private final SimpleHelpMap helpMap = new SimpleHelpMap(this); private final StandardMessenger messenger = new StandardMessenger(); @@ -6986,7 +6986,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea private final StructureManager structureManager; protected final DedicatedServer console; protected final DedicatedPlayerList playerList; -@@ -419,24 +420,7 @@ public final class CraftServer implements Server { +@@ -418,24 +419,7 @@ public final class CraftServer implements Server { } public void loadPlugins() { @@ -7012,7 +7012,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea } public void enablePlugins(PluginLoadOrder type) { -@@ -525,15 +509,17 @@ public final class CraftServer implements Server { +@@ -524,15 +508,17 @@ public final class CraftServer implements Server { private void enablePlugin(Plugin plugin) { try { List<Permission> perms = plugin.getDescription().getPermissions(); @@ -7036,7 +7036,7 @@ index 182c3a3852726172dfe97f2b989323001c6efad8..1dc5dc35830437a8511b6fbaf96201ea this.pluginManager.enablePlugin(plugin); } catch (Throwable ex) { -@@ -951,6 +937,7 @@ public final class CraftServer implements Server { +@@ -958,6 +944,7 @@ public final class CraftServer implements Server { "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); } @@ -7062,10 +7062,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7 @Override public FileConfiguration getConfig() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0137b414a75894cb8b8413f96eba4f591453f61b..39a9a47ce7150445e1b00a32152c0429b3114302 100644 +index a3cb26b4ba108b3c621f74034480a522492fdf2f..23d594d7e24389e99f7c589d4cd7d6f3987d42c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -439,6 +439,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -437,6 +437,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index c3a9827a13..ac01109fe4 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -732,7 +732,7 @@ index fc4dcd801480fe6d89a985de411baa9a3a66f6ef..4a1148a76020089caf01f888f87afdbb } catch (Exception exception) { if (listener.shouldPropagateHandlingExceptions()) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af205e309c 100644 +index 3250a9310b57351d6d832a8ef42837d990cf6c99..f0cd94f877a83485ab8e96e1c4e00bf658f227b7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -189,7 +189,7 @@ import org.bukkit.event.player.AsyncPlayerChatPreviewEvent; @@ -744,7 +744,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTask> implements CommandSource, AutoCloseable { -@@ -863,6 +863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -861,6 +861,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } MinecraftServer.LOGGER.info("Stopping server"); @@ -752,7 +752,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af // CraftBukkit start if (this.server != null) { this.server.disablePlugins(); -@@ -1101,9 +1102,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1099,9 +1100,21 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa private boolean haveTime() { // CraftBukkit start @@ -774,7 +774,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af private void executeModerately() { this.runAllTasks(); java.util.concurrent.locks.LockSupport.parkNanos("executing tasks", 1000L); -@@ -1111,9 +1124,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1109,9 +1122,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit end protected void waitUntilNextTick() { @@ -786,7 +786,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af }); } -@@ -1198,9 +1211,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1196,9 +1209,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public void onServerExit() {} public void tickServer(BooleanSupplier shouldKeepTicking) { @@ -805,7 +805,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af ++this.tickCount; this.tickChildren(shouldKeepTicking); if (i - this.lastServerStatus >= 5000000000L) { -@@ -1209,15 +1230,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1207,15 +1228,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } if (this.autosavePeriod > 0 && this.tickCount % this.autosavePeriod == 0) { // CraftBukkit @@ -826,7 +826,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af this.profiler.push("tallying"); long j = this.tickTimes[this.tickCount % 100] = Util.getNanos() - i; -@@ -1227,8 +1251,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1225,8 +1249,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.frameTimer.logFrameDuration(k - i); this.profiler.pop(); org.spigotmc.WatchdogThread.tick(); // Spigot @@ -836,7 +836,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af } private ServerStatus buildServerStatus() { -@@ -1260,26 +1283,26 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1258,26 +1281,26 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } public void tickChildren(BooleanSupplier shouldKeepTicking) { @@ -870,7 +870,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af // Send time updates to everyone, it will get the right time from the world the player is in. if (this.tickCount % 20 == 0) { for (int i = 0; i < this.getPlayerList().players.size(); ++i) { -@@ -1287,7 +1310,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1285,7 +1308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa entityplayer.connection.send(new ClientboundSetTimePacket(entityplayer.level().getGameTime(), entityplayer.getPlayerTime(), entityplayer.level().getGameRules().getBoolean(GameRules.RULE_DAYLIGHT))); // Add support for per player time } } @@ -879,7 +879,7 @@ index 2d35572157b28f2e637d9b47a82c5e7adecde96e..96897d883671e018bae5f71545c5f7af while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); -@@ -1333,24 +1356,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1331,24 +1354,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } this.profiler.popPush("connection"); @@ -1270,7 +1270,7 @@ index 7be97441aed66fa3a21d13ad2211b3e0e08120c0..7cb5abfa89f842194325d26c6e95b494 this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a1b9a2eeba2febef1b568a4c5aea99829210dbe1..403f7c7f31e0072b0cad0706bc981ece24733a1d 100644 +index fa3d02895d57c17416e742d2ea1e51253bce4fad..527654df6628b70fd380ccfd3890c27c7a490ef0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -339,7 +339,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -1289,7 +1289,7 @@ index a1b9a2eeba2febef1b568a4c5aea99829210dbe1..403f7c7f31e0072b0cad0706bc981ece } -@@ -2144,7 +2142,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2147,7 +2145,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } private void handleCommand(String s) { @@ -1298,7 +1298,7 @@ index a1b9a2eeba2febef1b568a4c5aea99829210dbe1..403f7c7f31e0072b0cad0706bc981ece if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2154,7 +2152,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2157,7 +2155,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1307,7 +1307,7 @@ index a1b9a2eeba2febef1b568a4c5aea99829210dbe1..403f7c7f31e0072b0cad0706bc981ece return; } -@@ -2167,7 +2165,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2170,7 +2168,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1317,7 +1317,7 @@ index a1b9a2eeba2febef1b568a4c5aea99829210dbe1..403f7c7f31e0072b0cad0706bc981ece } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 645bee9a926d71c3730a23391d21d48418444e9a..ec414e72a36ae330a3a4c6a4c7d879f3350ecb86 100644 +index d3dc7752aadf36985660d04dcb4377a69dfeddff..b922654c0b0b1b0d03beb20bb1944b817907f929 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1,5 +1,6 @@ @@ -1341,7 +1341,7 @@ index 645bee9a926d71c3730a23391d21d48418444e9a..ec414e72a36ae330a3a4c6a4c7d879f3 public UserWhiteList getWhiteList() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 18b019aa5908bbc02caa162accbf088abcefc2e2..3eb5659714158a371e8f922c47edd3f9e792c5a5 100644 +index a4e5961991a6debff959d63d70b71b1ded76e72a..fd81979963c3a7e2e03a53d6493ec4e48cad3e70 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -134,7 +134,6 @@ import org.bukkit.craftbukkit.event.CraftPortalEvent; @@ -1632,10 +1632,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1dc5dc35830437a8511b6fbaf96201ea7228aa59..e982442204972e140f0e5ebac777a931ea7394e2 100644 +index 5efe98cbcb44727fbbb195ff7007d01c823372b6..3338b424ca228693c199d022c01a81f9e2f9af0b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -369,7 +369,7 @@ public final class CraftServer implements Server { +@@ -368,7 +368,7 @@ public final class CraftServer implements Server { this.saveCommandsConfig(); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); @@ -1644,7 +1644,7 @@ index 1dc5dc35830437a8511b6fbaf96201ea7228aa59..e982442204972e140f0e5ebac777a931 this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); -@@ -2412,12 +2412,31 @@ public final class CraftServer implements Server { +@@ -2433,12 +2433,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1846,10 +1846,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e087ec1f456a8eff1071700fb98eac792ebb8d19..c53b2c452d8e42dca202c5fc7e8dcca4ccf8e4ba 100644 +index e37f69880c4b439245d7edb4c35418ed3da27a5f..3c6617170c618800940d5826c7e73a3ac7f32e19 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2532,6 +2532,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2470,6 +2470,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR)); } @@ -1865,16 +1865,16 @@ index e087ec1f456a8eff1071700fb98eac792ebb8d19..c53b2c452d8e42dca202c5fc7e8dcca4 public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 054fcc3713f02e358dfe049491c8d1689ccc750b..07c4d9cd5081378e1b903518f7174fca959cd9e3 100644 +index 4d94c3a19f98f78476ecc403f410d75a6ea57c2d..fcbf32a233c240dd45f75ee736bd102ce9f79332 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -1,5 +1,6 @@ package org.bukkit.craftbukkit.scheduler; +import co.aikar.timings.MinecraftTimings; // Paper + import com.google.common.base.Preconditions; import com.google.common.util.concurrent.ThreadFactoryBuilder; import java.util.ArrayList; - import java.util.Comparator; @@ -194,7 +195,8 @@ public class CraftScheduler implements BukkitScheduler { } @@ -1924,7 +1924,7 @@ index 054fcc3713f02e358dfe049491c8d1689ccc750b..07c4d9cd5081378e1b903518f7174fca this.debugHead = this.debugHead.getNextHead(currentTick); } -@@ -492,6 +494,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -491,6 +493,7 @@ public class CraftScheduler implements BukkitScheduler { } private void parsePending() { @@ -1932,7 +1932,7 @@ index 054fcc3713f02e358dfe049491c8d1689ccc750b..07c4d9cd5081378e1b903518f7174fca CraftTask head = this.head; CraftTask task = head.getNext(); CraftTask lastTask = head; -@@ -510,6 +513,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -509,6 +512,7 @@ public class CraftScheduler implements BukkitScheduler { task.setNext(null); } this.head = lastTask; @@ -2046,7 +2046,7 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222 + } // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 39a9a47ce7150445e1b00a32152c0429b3114302..24319441ea6655c5cbd760c77cdde1e05c1877c4 100644 +index 23d594d7e24389e99f7c589d4cd7d6f3987d42c4..fda157258a5c96c8ef82dbad31b3a3da257f2fd2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -224,6 +224,12 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -2062,7 +2062,7 @@ index 39a9a47ce7150445e1b00a32152c0429b3114302..24319441ea6655c5cbd760c77cdde1e0 public static byte toLegacyData(BlockState data) { return CraftLegacy.toLegacyData(data); -@@ -452,6 +458,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -450,6 +456,13 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftFeatureFlag.getFromNMS(namespacedKey); } @@ -2077,7 +2077,7 @@ index 39a9a47ce7150445e1b00a32152c0429b3114302..24319441ea6655c5cbd760c77cdde1e0 * This helper class represents the different NBT Tags. * <p> diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index b7abac39ea685db1672dc7ba527bce8bfe025f8b..3e5d541d3d7fc3956b2fc68da9f22a0ab0367ce9 100644 +index 7cdfd82fdef19d5732ebc2126e2c377b441de596..ebd48f9977553174b14bdc7429c07d8352f5a297 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -27,7 +27,7 @@ import net.minecraft.world.entity.projectile.ThrownTrident; diff --git a/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch index dbe45b6367..61c2c430d5 100644 --- a/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0018-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e982442204972e140f0e5ebac777a931ea7394e2..7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac 100644 +index 3338b424ca228693c199d022c01a81f9e2f9af0b..e9c2d5fad36e38ff1f0b34cacb9ea32516667948 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -423,6 +423,35 @@ public final class CraftServer implements Server { +@@ -422,6 +422,35 @@ public final class CraftServer implements Server { io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation } diff --git a/patches/server/0019-Rewrite-chunk-system.patch b/patches/server/0019-Rewrite-chunk-system.patch index 8821599536..68ccf237b6 100644 --- a/patches/server/0019-Rewrite-chunk-system.patch +++ b/patches/server/0019-Rewrite-chunk-system.patch @@ -16798,10 +16798,10 @@ index 72c2f0bf9434e09a0dd51294d3a2200f1e0ed1b1..5d56c35d6d3478dbc53e4f5c3547d4dc DedicatedServer dedicatedserver1 = new DedicatedServer(optionset, worldLoader.get(), thread, convertable_conversionsession, resourcepackrepository, worldstem, dedicatedserversettings, DataFixers.getDataFixer(), services, LoggerChunkProgressListener::new); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e856464589 100644 +index f0cd94f877a83485ab8e96e1c4e00bf658f227b7..bea4e947577ee2f5fd680eb932409283f8504ee7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -302,7 +302,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -300,7 +300,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { AtomicReference<S> atomicreference = new AtomicReference(); @@ -16810,7 +16810,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 ((MinecraftServer) atomicreference.get()).runServer(); }, "Server thread"); -@@ -585,7 +585,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -583,7 +583,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.forceDifficulty(); for (ServerLevel worldserver : this.getAllLevels()) { this.prepareLevels(worldserver.getChunkSource().chunkMap.progressListener, worldserver); @@ -16819,7 +16819,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld())); } -@@ -785,6 +785,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -783,6 +783,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public abstract boolean shouldRconBroadcast(); public boolean saveAllChunks(boolean suppressLogs, boolean flush, boolean force) { @@ -16832,7 +16832,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 boolean flag3 = false; for (Iterator iterator = this.getAllLevels().iterator(); iterator.hasNext(); flag3 = true) { -@@ -793,8 +799,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -791,8 +797,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (!suppressLogs) { MinecraftServer.LOGGER.info("Saving chunks for level '{}'/{}", worldserver, worldserver.dimension().location()); } @@ -16847,7 +16847,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 } // CraftBukkit start - moved to WorldServer.save -@@ -813,7 +823,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -811,7 +821,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa while (iterator1.hasNext()) { ServerLevel worldserver2 = (ServerLevel) iterator1.next(); @@ -16856,7 +16856,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 } MinecraftServer.LOGGER.info("ThreadedAnvilChunkStorage: All dimensions are saved"); -@@ -893,36 +903,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -891,36 +901,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } } @@ -16894,7 +16894,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 this.isSaving = false; this.resources.close(); -@@ -941,7 +922,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -939,7 +920,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.getProfileCache().save(); } // Spigot end @@ -16903,7 +16903,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 } public String getLocalIp() { -@@ -975,6 +956,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -973,6 +954,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } // Spigot End @@ -16912,7 +16912,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 protected void runServer() { try { if (!this.initServer()) { -@@ -989,6 +972,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -987,6 +970,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa Arrays.fill( recentTps, 20 ); long curTime, tickSection = Util.getMillis(), tickCount = 1; while (this.running) { @@ -16925,7 +16925,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 long i = (curTime = Util.getMillis()) - this.nextTickTime; if (i > 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit -@@ -1101,6 +1090,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1099,6 +1088,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } private boolean haveTime() { @@ -16937,7 +16937,7 @@ index 96897d883671e018bae5f71545c5f7af205e309c..164ce278f2696d4be6b57404648cb0e8 // CraftBukkit start if (isOversleep) return canOversleep();// Paper - because of our changes, this logic is broken return this.forceTicks || this.runningTask() || Util.getMillis() < (this.mayHaveDelayedTasks ? this.delayedTasksMaxNextTickTime : this.nextTickTime); -@@ -2250,7 +2244,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2248,7 +2242,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit start @Override public boolean isSameThread() { @@ -20149,7 +20149,7 @@ index 7cb5abfa89f842194325d26c6e95b49460c5968f..995be2fd84ce343d7430d9658f91868e @Override diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5872ead2fe3a64f02f8bc36603fbb856728fd255..32ef9f1ae0c35e927133572ebb6fbf50b0729a63 100644 +index dc87e56cfcd59bc1505f5b3c0363038e790271a0..172ea32dfc93b2a2f28b5cdd520c07f8a04f2665 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -260,6 +260,48 @@ public class ServerPlayer extends Player { @@ -20454,7 +20454,7 @@ index e96a0ca47e4701ba187555bd92c968345bc85677..73b96f804079288e9c5fcc11da54e61e + // Paper end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 403f7c7f31e0072b0cad0706bc981ece24733a1d..d72e8df4f99b6219ea305742f0cf8d1c1985ffd6 100644 +index 527654df6628b70fd380ccfd3890c27c7a490ef0..023482c1662e42305cc4ca12ffdff1e36397ed15 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -788,6 +788,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -20472,7 +20472,7 @@ index 403f7c7f31e0072b0cad0706bc981ece24733a1d..d72e8df4f99b6219ea305742f0cf8d1c StringReader stringreader = new StringReader(packet.getCommand()); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ec414e72a36ae330a3a4c6a4c7d879f3350ecb86..0363ad83af48ddcec37b5bd2fee49c3b1350576c 100644 +index b922654c0b0b1b0d03beb20bb1944b817907f929..b40ddd8fb3e2d2bafaa2ece46714815d0d6d5f75 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -262,7 +262,7 @@ public abstract class PlayerList { @@ -20623,7 +20623,7 @@ index 12e72ad737b1219fcdf88d344d41621d9fd5feec..e0bfeebeaac1aaea64bc07cdfdf7790e if (flag1) { ++this.converted; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3eb5659714158a371e8f922c47edd3f9e792c5a5..f4f88f9be570cb3743ea77a7b77d165bc88ee154 100644 +index fd81979963c3a7e2e03a53d6493ec4e48cad3e70..5d3b3db5967cbc01fa73f9cc18c427e2d7be6ee2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -327,6 +327,58 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -22615,10 +22615,10 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac..0a4b2529034b85609b2f8d3f3f633e8f6adbe34f 100644 +index e9c2d5fad36e38ff1f0b34cacb9ea32516667948..211e40fdd44f6a19ec6e0e98540ca963a2534995 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1176,7 +1176,7 @@ public final class CraftServer implements Server { +@@ -1181,7 +1181,7 @@ public final class CraftServer implements Server { this.console.addLevel(internal); this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal); @@ -22627,7 +22627,7 @@ index 7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac..0a4b2529034b85609b2f8d3f3f633e8f this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld())); return internal.getWorld(); -@@ -1220,7 +1220,7 @@ public final class CraftServer implements Server { +@@ -1225,7 +1225,7 @@ public final class CraftServer implements Server { } handle.getChunkSource().close(save); @@ -22636,7 +22636,7 @@ index 7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac..0a4b2529034b85609b2f8d3f3f633e8f handle.convertable.close(); } catch (Exception ex) { this.getLogger().log(Level.SEVERE, null, ex); -@@ -2037,7 +2037,7 @@ public final class CraftServer implements Server { +@@ -2045,7 +2045,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { @@ -22644,12 +22644,12 @@ index 7912cf0e4cab7d6c99106d43b2cdc4f4e80aebac..0a4b2529034b85609b2f8d3f3f633e8f + return io.papermc.paper.util.TickThread.isTickThread(); // Paper - rewrite chunk system } - // Paper start + // Paper start - Adventure diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73bf8261658 100644 +index 73f61f2b0c0aeefabb7b7bba7ca37914751dcc42..4a3593f24fc844a6a8b1b6c28ad2dc9c609c29ad 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -323,10 +323,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -322,10 +322,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { ChunkHolder playerChunk = this.world.getChunkSource().chunkMap.getVisibleChunkIfPresent(ChunkPos.asLong(x, z)); if (playerChunk == null) return false; @@ -22667,7 +22667,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b ClientboundLevelChunkWithLightPacket refreshPacket = new ClientboundLevelChunkWithLightPacket(chunk, this.world.getLightEngine(), null, null); for (ServerPlayer player : playersInRange) { -@@ -334,8 +338,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -333,8 +337,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { player.connection.send(refreshPacket); } @@ -22677,7 +22677,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b return true; } -@@ -412,20 +415,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -411,20 +414,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Collection<Plugin> getPluginChunkTickets(int x, int z) { DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager; @@ -22699,7 +22699,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b } @Override -@@ -433,7 +423,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -432,7 +422,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { Map<Plugin, ImmutableList.Builder<Chunk>> ret = new HashMap<>(); DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager; @@ -22708,7 +22708,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b long chunkKey = chunkTickets.getLongKey(); SortedArraySet<Ticket<?>> tickets = chunkTickets.getValue(); -@@ -1957,14 +1947,53 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1964,14 +1954,53 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot start @Override public int getViewDistance() { @@ -22765,10 +22765,10 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 11aebe27875a30dfc6bd82d486d0d79bfe2e77a1..977011bd42a5b2ffe4cd6567c058860a7f3fd48b 100644 +index 3c6617170c618800940d5826c7e73a3ac7f32e19..6894e5b29b4c59cdb46cfd8862709087cb97b923 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -184,6 +184,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -183,6 +183,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = System.currentTimeMillis(); } @@ -22856,7 +22856,7 @@ index 629178347039893fb9de710810fe8112499bb91c..d5861dfa771c4eb217e082e3c832c3a6 + // Paper end } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 3e5d541d3d7fc3956b2fc68da9f22a0ab0367ce9..b47b740186c200c420dcb4d1537a93c743a887c1 100644 +index ebd48f9977553174b14bdc7429c07d8352f5a297..6606a118e7bff01aa51440aea7540ec9feec6cc5 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -132,7 +132,13 @@ public class ActivationRange diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index b97c0d5e4c..7b02cfa772 100644 --- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Show 'Paper' in client crashes, server lists, and Mojang diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 164ce278f2696d4be6b57404648cb0e856464589..4d5a8c051ab7746ed40d5b79558e86238618827c 100644 +index bea4e947577ee2f5fd680eb932409283f8504ee7..b9a49f92e38daf4f80b6d3bf465eb9d249606976 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1460,7 +1460,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1458,7 +1458,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @DontObfuscate public String getServerModName() { @@ -19,10 +19,10 @@ index 164ce278f2696d4be6b57404648cb0e856464589..4d5a8c051ab7746ed40d5b79558e8623 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0a4b2529034b85609b2f8d3f3f633e8f6adbe34f..31085570f31a5de308cb1d767472ea130193e3cf 100644 +index 211e40fdd44f6a19ec6e0e98540ca963a2534995..858b2d4557ec67a4818fcb389f6fa6053e638e61 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -260,7 +260,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -259,7 +259,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot public final class CraftServer implements Server { diff --git a/patches/server/0028-Implement-Paper-VersionChecker.patch b/patches/server/0028-Implement-Paper-VersionChecker.patch index 78fead6bfd..e72b095594 100644 --- a/patches/server/0028-Implement-Paper-VersionChecker.patch +++ b/patches/server/0028-Implement-Paper-VersionChecker.patch @@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..22a55be34fde453fedd987173d95b8b3 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 24319441ea6655c5cbd760c77cdde1e05c1877c4..f5f528e4520c5e52e1e9dae5228525f29e4eee92 100644 +index fda157258a5c96c8ef82dbad31b3a3da257f2fd2..e608b7542f6de7b3f2d7af25bb28f2705f6a9688 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -463,6 +463,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -461,6 +461,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getTimingsServerName() { return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName; } diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch index d1da9f1a88..74fe1cd32f 100644 --- a/patches/server/0030-Player-affects-spawning-API.patch +++ b/patches/server/0030-Player-affects-spawning-API.patch @@ -87,7 +87,7 @@ index a76f1ed7b8dc1aacda987931772cb3bf8f29be42..c20753645585143421eb544a03884f07 // CraftBukkit start public boolean fauxSleeping; diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 8d60b430357a1b761de325a21e1c52639a049403..213fed3a2b32226fc128d213ee3e9fa3ae76e88e 100644 +index ad5d8db9fb44f8e47edc82f9ba62872802bfa380..124703a7c043b6c3b651fa1a81c5ba3e99e47938 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java @@ -54,7 +54,7 @@ public abstract class BaseSpawner { @@ -137,10 +137,10 @@ index be6e3e21ad62da01e5e2dd78e300cbc8efdbeb42..ea98625fe7c00743b8df74a24e6d4b75 for(Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 977011bd42a5b2ffe4cd6567c058860a7f3fd48b..5a013bb490b4948efd12dc2a52c4bed43508ceb8 100644 +index 6894e5b29b4c59cdb46cfd8862709087cb97b923..a0e67f97ac0b8bd1419187b61b957cf8f4457f5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2211,8 +2211,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2149,8 +2149,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { return this.getHandle().locale; diff --git a/patches/server/0031-Further-improve-server-tick-loop.patch b/patches/server/0031-Further-improve-server-tick-loop.patch index be0233164a..3805802cb5 100644 --- a/patches/server/0031-Further-improve-server-tick-loop.patch +++ b/patches/server/0031-Further-improve-server-tick-loop.patch @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338c89ea60e 100644 +index b9a49f92e38daf4f80b6d3bf465eb9d249606976..71c8bb318b2e99b7d0b91196ac0b1b5bfbc8bc79 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -285,7 +285,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -283,7 +283,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; public ConsoleReader reader; @@ -24,7 +24,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public int autosavePeriod; public Commands vanillaCommandDispatcher; -@@ -294,7 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -292,7 +292,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // Spigot start public static final int TPS = 20; public static final int TICK_TIME = 1000000000 / MinecraftServer.TPS; @@ -33,7 +33,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 public final double[] recentTps = new double[ 3 ]; // Spigot end public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; -@@ -954,6 +954,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -952,6 +952,57 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa { return ( avg * exp ) + ( tps * ( 1 - exp ) ); } @@ -91,7 +91,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 // Spigot End public static volatile RuntimeException chunkSystemCrash; // Paper - rewrite chunk system -@@ -970,7 +1021,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -968,7 +1019,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // Spigot start Arrays.fill( recentTps, 20 ); @@ -101,7 +101,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 while (this.running) { // Paper start - rewrite chunk system // guarantee that nothing can stop the server from halting if it can at least still tick -@@ -978,7 +1030,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -976,7 +1028,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa throw this.chunkSystemCrash; } // Paper end - rewrite chunk system @@ -110,7 +110,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 if (i > 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit long j = i / 50L; -@@ -990,12 +1042,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -988,12 +1040,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } ++MinecraftServer.currentTickLong; // Paper @@ -134,7 +134,7 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 tickSection = curTime; } // Spigot end -@@ -1005,7 +1063,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1003,7 +1061,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.debugCommandProfiler = new MinecraftServer.TimeProfiler(Util.getNanos(), this.tickCount); } @@ -145,10 +145,10 @@ index 4d5a8c051ab7746ed40d5b79558e86238618827c..92eb6e80e3b6f74dd32a878e5436d338 this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 31085570f31a5de308cb1d767472ea130193e3cf..fb6ea46609489d802ed4b76b4074734dd3e3886f 100644 +index 858b2d4557ec67a4818fcb389f6fa6053e638e61..9da9b5b4b92996240cc93be2db82bf3a931e76c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2437,6 +2437,17 @@ public final class CraftServer implements Server { +@@ -2458,6 +2458,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0032-Only-refresh-abilities-if-needed.patch b/patches/server/0032-Only-refresh-abilities-if-needed.patch index 33487acc93..36506c6f35 100644 --- a/patches/server/0032-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0032-Only-refresh-abilities-if-needed.patch @@ -5,16 +5,16 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5a013bb490b4948efd12dc2a52c4bed43508ceb8..9255127fdf9cad0f44002064d0a28bcfe59f6a0a 100644 +index a0e67f97ac0b8bd1419187b61b957cf8f4457f5e..9423535cc7828e4f5286214ceffe3c481a922d9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1880,12 +1880,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1831,12 +1831,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setFlying(boolean value) { + boolean needsUpdate = getHandle().getAbilities().flying != value; // Paper - Only refresh abilities if needed - if (!this.getAllowFlight() && value) { - throw new IllegalArgumentException("Cannot make player fly if getAllowFlight() is false"); + if (!this.getAllowFlight()) { + Preconditions.checkArgument(!value, "Player is not allowed to fly (check #getAllowFlight())"); } this.getHandle().getAbilities().flying = value; diff --git a/patches/server/0033-Entity-Origin-API.patch b/patches/server/0033-Entity-Origin-API.patch index 2543d8a36b..294e046813 100644 --- a/patches/server/0033-Entity-Origin-API.patch +++ b/patches/server/0033-Entity-Origin-API.patch @@ -25,7 +25,7 @@ index 995be2fd84ce343d7430d9658f91868e653da43d..4af495424d60632b770cd1cb02157bbc public void onTrackingEnd(Entity entity) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f4f88f9be570cb3743ea77a7b77d165bc88ee154..c0d19d31aece8abab310b4c7bffa2ffe7a8ac845 100644 +index 5d3b3db5967cbc01fa73f9cc18c427e2d7be6ee2..b3e239df3528d149bf950a2c8a64df3444b0e013 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -312,7 +312,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -132,10 +132,10 @@ index 221ce518464332a27c43850c8bc25cd2fe0a9921..50fa14b045a1f75d43d90741245cc450 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index db585082251005e2d2f861a0b292f229bd43485d..0a6926f9b6be67d4d710d2fbc6bd2b1fcb0677a0 100644 +index 11645e01924b4a66aa4f425c8962a000be761912..003690e2f347821d28517b816115cc92ea5d0bd6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1252,5 +1252,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1245,5 +1245,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return ret; } diff --git a/patches/server/0040-Optimize-explosions.patch b/patches/server/0040-Optimize-explosions.patch index 1a71c81043..2e4e74b96a 100644 --- a/patches/server/0040-Optimize-explosions.patch +++ b/patches/server/0040-Optimize-explosions.patch @@ -10,10 +10,10 @@ This patch adds a per-tick cache that is used for storing and retrieving an entity's exposure during an explosion. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 92eb6e80e3b6f74dd32a878e5436d338c89ea60e..821725460b62ebadedb789f4408ef172416c2092 100644 +index 71c8bb318b2e99b7d0b91196ac0b1b5bfbc8bc79..3ff9a5a8f4b9a91958f6d846a7a5337a01dbb803 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1406,6 +1406,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1404,6 +1404,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.profiler.pop(); this.profiler.pop(); diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch index 39a5e23d2f..98def197f5 100644 --- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement PlayerLocaleChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e42c07dfba3c18464f1f8e35fbd764812d8c4e50..ee422a97a63749172f9f9643513ae9ab111c2400 100644 +index 1ef48b8415242942f00c6a76faa1de2865e11358..bcf0d4cfbfbae254bc74ad6389af372a8aa319be 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1853,7 +1853,7 @@ public class ServerPlayer extends Player { @@ -30,10 +30,10 @@ index e42c07dfba3c18464f1f8e35fbd764812d8c4e50..ee422a97a63749172f9f9643513ae9ab this.locale = packet.language; // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9255127fdf9cad0f44002064d0a28bcfe59f6a0a..f18fa546bf9a045f7b10e8eb898339b2adf8d4a0 100644 +index 9423535cc7828e4f5286214ceffe3c481a922d9e..e67b8e85ae8ad7aba8eabcbcbef0b59b2837e60a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2211,8 +2211,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2149,8 +2149,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getLocale() { diff --git a/patches/server/0052-Ensure-commands-are-not-ran-async.patch b/patches/server/0052-Ensure-commands-are-not-ran-async.patch index 5269aa8eea..55b7bb443c 100644 --- a/patches/server/0052-Ensure-commands-are-not-ran-async.patch +++ b/patches/server/0052-Ensure-commands-are-not-ran-async.patch @@ -21,10 +21,10 @@ character. Co-authored-by: Jake Potrebic <[email protected]> diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f6846cc11cbc 100644 +index 023482c1662e42305cc4ca12ffdff1e36397ed15..95d84f9a524ef0705875987c3781a0d73189dfbb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2041,7 +2041,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2044,7 +2044,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return true; } @@ -33,7 +33,7 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 for (int i = 0; i < message.length(); ++i) { if (!SharedConstants.isAllowedChatCharacter(message.charAt(i))) { return true; -@@ -2058,7 +2058,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2061,7 +2061,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } OutgoingChatMessage outgoing = OutgoingChatMessage.create(original); @@ -42,7 +42,7 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin -@@ -2148,7 +2148,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2151,7 +2151,29 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } @@ -74,11 +74,11 @@ index d72e8df4f99b6219ea305742f0cf8d1c1985ffd6..ddd437906801973e11386294e7e3f684 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fb6ea46609489d802ed4b76b4074734dd3e3886f..dd3935eeceba456b37a5fbcb874c1073bb76d473 100644 +index 9da9b5b4b92996240cc93be2db82bf3a931e76c1..c84e32f53783b2e00b829ce839894c0a3a73325e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -875,6 +875,28 @@ public final class CraftServer implements Server { - Validate.notNull(commandLine, "CommandLine cannot be null"); +@@ -882,6 +882,28 @@ public final class CraftServer implements Server { + Preconditions.checkArgument(commandLine != null, "commandLine cannot be null"); org.spigotmc.AsyncCatcher.catchOp("command dispatch"); // Spigot + // Paper Start @@ -107,11 +107,11 @@ index fb6ea46609489d802ed4b76b4074734dd3e3886f..dd3935eeceba456b37a5fbcb874c1073 return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f18fa546bf9a045f7b10e8eb898339b2adf8d4a0..15c6c3a6e9d4e371425604667af7cc2b24fae021 100644 +index e67b8e85ae8ad7aba8eabcbcbef0b59b2837e60a..3290e6197e60ed2e9a667ce22a14127bc1ba3f97 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -479,7 +479,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void chat(String msg) { +@@ -480,7 +480,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + if (this.getHandle().connection == null) return; - this.getHandle().connection.chat(msg, PlayerChatMessage.system(msg), false); diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0054-Expose-server-CommandMap.patch index b64c141857..a937de8515 100644 --- a/patches/server/0054-Expose-server-CommandMap.patch +++ b/patches/server/0054-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd3935eeceba456b37a5fbcb874c1073bb76d473..9c80c55e8c15aa847aea134dd8121ee9d0c24d1c 100644 +index c84e32f53783b2e00b829ce839894c0a3a73325e..3d47994c861f70fc560a42dc524a773d9c15cfe0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2012,6 +2012,7 @@ public final class CraftServer implements Server { +@@ -2020,6 +2020,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch index 59b0315e79..1d2852b0ba 100644 --- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -5,18 +5,20 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f6b795ad57aec40231e262549839fa049458c634..1f67ac4484e3ee2e0a25030e0080a671f34e1a58 100644 +index 92831e64cc5f93a13dfede82d44172b3b34a57e3..a112ee18b272e2d5a61ddbb2c884169b6c6d0aec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -102,7 +102,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -100,7 +100,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { + @Override public void setHealth(double health) { health = (float) health; - if ((health < 0) || (health > this.getMaxHealth())) { -- throw new IllegalArgumentException("Health must be between 0 and " + this.getMaxHealth() + "(" + health + ")"); -+ // Paper - Be more informative -+ throw new IllegalArgumentException("Health must be between 0 and " + getMaxHealth() + ", but was " + health -+ + ". (attribute base value: " + this.getHandle().getAttribute(Attributes.MAX_HEALTH).getBaseValue() -+ + (this instanceof CraftPlayer ? ", player: " + this.getName() + ')' : ')')); - } +- Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(), "Health value (%s) must be between 0 and %s", health, this.getMaxHealth()); ++ // Paper start - Be more informative ++ Preconditions.checkArgument(health >= 0 && health <= this.getMaxHealth(), ++ "Health value (%s) must be between 0 and %s. (attribute base value: %s%s)", ++ health, this.getMaxHealth(), this.getHandle().getAttribute(Attributes.MAX_HEALTH).getBaseValue(), this instanceof CraftPlayer ? ", player: " + this.getName() : "" ++ ); ++ // Paper end // during world generation, we don't want to run logic for dropping items and xp + if (this.getHandle().generation && health == 0) { diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch index 48800a1b12..b223c5106e 100644 --- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 15c6c3a6e9d4e371425604667af7cc2b24fae021..73dfea8999a0536e9319a9bfe8d5940dad760709 100644 +index 3290e6197e60ed2e9a667ce22a14127bc1ba3f97..0d8337e5b591cd4d7ba946f01990d7c562bba72a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ @@ -73,7 +73,7 @@ index 15c6c3a6e9d4e371425604667af7cc2b24fae021..73dfea8999a0536e9319a9bfe8d5940d import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.io.BaseEncoding; -@@ -325,6 +326,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -322,6 +323,100 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0058-Add-velocity-warnings.patch index 604f376234..1440922180 100644 --- a/patches/server/0058-Add-velocity-warnings.patch +++ b/patches/server/0058-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9c80c55e8c15aa847aea134dd8121ee9d0c24d1c..1cca43506306994e740278a581b0d33924d08491 100644 +index 3d47994c861f70fc560a42dc524a773d9c15cfe0..bf9d7ae4366e44938306e3f8e94376796284a263 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -296,6 +296,7 @@ public final class CraftServer implements Server { +@@ -295,6 +295,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List<CraftPlayer> playerView; public int reloadCount; @@ -17,7 +17,7 @@ index 9c80c55e8c15aa847aea134dd8121ee9d0c24d1c..1cca43506306994e740278a581b0d339 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0a6926f9b6be67d4d710d2fbc6bd2b1fcb0677a0..c9275f73be7332f79312037954f9685f6c1f800f 100644 +index 003690e2f347821d28517b816115cc92ea5d0bd6..fa2a6f44a1c25fb6c9a19e83e7eddb2c8d28a320 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -465,10 +465,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index b68e131508..55a718bc60 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,10 +16,10 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 73dfea8999a0536e9319a9bfe8d5940dad760709..2a7a7c5e1490c2922c01c5c397793aa03364bbaf 100644 +index 0d8337e5b591cd4d7ba946f01990d7c562bba72a..5b7ac9efd45009142dd5da6987e2e9dad5cbba7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1182,7 +1182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1136,7 +1136,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { entity.connection.teleport(to); } else { // The respawn reason should never be used if the passed location is non null. diff --git a/patches/server/0060-Add-exception-reporting-event.patch b/patches/server/0060-Add-exception-reporting-event.patch index 3e5da0abe4..9fa56529a0 100644 --- a/patches/server/0060-Add-exception-reporting-event.patch +++ b/patches/server/0060-Add-exception-reporting-event.patch @@ -192,34 +192,24 @@ index e68205fe7169c7c5b7c6fdada2ee97d86107ca97..aa8972fd1a1fade05d60ab69efb8ff24 try { filechannel.close(); diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 07c4d9cd5081378e1b903518f7174fca959cd9e3..dfc2789009fcaa08baa8054bdac915590b8701d6 100644 +index fcbf32a233c240dd45f75ee736bd102ce9f79332..833240d2a4936343710a60876a66d01112e15a2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -17,6 +17,9 @@ import java.util.concurrent.atomic.AtomicReference; - import java.util.function.Consumer; - import java.util.function.IntUnaryOperator; - import java.util.logging.Level; -+import com.destroystokyo.paper.ServerSchedulerReportingWrapper; -+import com.destroystokyo.paper.event.server.ServerExceptionEvent; -+import com.destroystokyo.paper.exception.ServerSchedulerException; - import org.apache.commons.lang.Validate; - import org.bukkit.plugin.IllegalPluginAccessException; - import org.bukkit.plugin.Plugin; -@@ -434,6 +437,8 @@ public class CraftScheduler implements BukkitScheduler { +@@ -434,6 +434,8 @@ public class CraftScheduler implements BukkitScheduler { msg, throwable); } + org.bukkit.Bukkit.getServer().getPluginManager().callEvent( -+ new ServerExceptionEvent(new ServerSchedulerException(msg, throwable, task))); ++ new com.destroystokyo.paper.event.server.ServerExceptionEvent(new com.destroystokyo.paper.exception.ServerSchedulerException(msg, throwable, task))); // Paper end } finally { this.currentTask = null; -@@ -441,7 +446,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -441,7 +443,7 @@ public class CraftScheduler implements BukkitScheduler { this.parsePending(); } else { this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); - this.executor.execute(task); -+ this.executor.execute(new ServerSchedulerReportingWrapper(task)); // Paper ++ this.executor.execute(new com.destroystokyo.paper.ServerSchedulerReportingWrapper(task)); // Paper // We don't need to parse pending // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } diff --git a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch index ea0e8d4bb9..99be07e3cc 100644 --- a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,10 +7,10 @@ Upstream added methods for this, original methods are now deprecated diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1f67ac4484e3ee2e0a25030e0080a671f34e1a58..3084fa8000b36f06e8d432bff124a5af4ea675ea 100644 +index a112ee18b272e2d5a61ddbb2c884169b6c6d0aec..fcb07a5f8cac994b731e3345ba9e971faa482fa1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -266,9 +266,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -265,9 +265,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } @Override @@ -27,7 +27,7 @@ index 1f67ac4484e3ee2e0a25030e0080a671f34e1a58..3084fa8000b36f06e8d432bff124a5af } @Override -@@ -764,4 +770,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -761,4 +767,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().persistentInvisibility = invisible; this.getHandle().setSharedFlag(5, invisible); } diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index 30a9942957..58a10f7d75 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Complete resource pack API diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ddd437906801973e11386294e7e3f6846cc11cbc..a91cc53f9d601bbc51988b2b7855c6ebcc68d780 100644 +index 95d84f9a524ef0705875987c3781a0d73189dfbb..e60d8689e7bec90cb4b8787ff252eb7da39d6a8f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1755,8 +1755,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1758,8 +1758,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -23,10 +23,10 @@ index ddd437906801973e11386294e7e3f6846cc11cbc..a91cc53f9d601bbc51988b2b7855c6eb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c8c1339f9 100644 +index 5b7ac9efd45009142dd5da6987e2e9dad5cbba7f..c1ad517b8925ee19b3e251a45816e8a7ecc5e3b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -178,6 +178,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -177,6 +177,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private double healthScale = 20; private CraftWorldBorder clientWorldBorder = null; private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); @@ -37,7 +37,7 @@ index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -2334,6 +2338,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2272,6 +2276,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean getAffectsSpawning() { return this.getHandle().affectsSpawning; } @@ -54,8 +54,8 @@ index 2a7a7c5e1490c2922c01c5c397793aa03364bbaf..0fdc0ecbaeff775359fd192f4be7e20c + + @Override + public void setResourcePack(@NotNull String url, @NotNull String hash, boolean required, net.kyori.adventure.text.Component resourcePackPrompt) { -+ Validate.notNull(url, "Resource pack URL cannot be null"); -+ Validate.notNull(hash, "Hash cannot be null"); ++ Preconditions.checkArgument(url != null, "Resource pack URL cannot be null"); ++ Preconditions.checkArgument(hash != null, "Hash cannot be null"); + net.minecraft.network.chat.Component promptComponent = resourcePackPrompt != null ? + io.papermc.paper.adventure.PaperAdventure.asVanilla(resourcePackPrompt) : + null; diff --git a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch index 2e6260b395..ca99eb9d9e 100644 --- a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch @@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1cca43506306994e740278a581b0d33924d08491..e509ab35bf8ffba3c1e04f1236f98c24c1e010f4 100644 +index bf9d7ae4366e44938306e3f8e94376796284a263..43c2e3f0db683022179ae4c85703390be5bdb759 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -457,6 +457,7 @@ public final class CraftServer implements Server { +@@ -456,6 +456,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -27,7 +27,7 @@ index 1cca43506306994e740278a581b0d33924d08491..e509ab35bf8ffba3c1e04f1236f98c24 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -476,7 +477,7 @@ public final class CraftServer implements Server { +@@ -475,7 +476,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch index 2c35743bdb..a30ddc19c4 100644 --- a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e509ab35bf8ffba3c1e04f1236f98c24c1e010f4..dea53897919d46b90c99577fbb1985b2d0c65b5e 100644 +index 43c2e3f0db683022179ae4c85703390be5bdb759..22d11ee1d782ba1218357ee16b05de3414924aeb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2603,5 +2603,23 @@ public final class CraftServer implements Server { +@@ -2624,5 +2624,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0068-Remove-Metadata-on-reload.patch b/patches/server/0068-Remove-Metadata-on-reload.patch index 6bff5918c0..2f5734a37c 100644 --- a/patches/server/0068-Remove-Metadata-on-reload.patch +++ b/patches/server/0068-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dea53897919d46b90c99577fbb1985b2d0c65b5e..dbad9e72121562d22f8476bade4032661e280066 100644 +index 22d11ee1d782ba1218357ee16b05de3414924aeb..83119de3ae3e38ba4bb77abf005043cfa82c4670 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -962,8 +962,16 @@ public final class CraftServer implements Server { +@@ -969,8 +969,16 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot } diff --git a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch index 8e3b84a6df..b52904d516 100644 --- a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch @@ -70,20 +70,12 @@ index 2e948330c4951e3df7091fa870573f163d2af286..4b19057fba6c6645dc79f6572a3fb01c public boolean isEnchanted() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038f44027fb 100644 +index 34a54a99e7484b2934e1d174c1b55f0472ff3812..7fd9a3a7f4cb98d89b7c4cbfda756d581963e5bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -6,7 +6,6 @@ import java.util.Map; - import net.minecraft.nbt.CompoundTag; - import net.minecraft.nbt.ListTag; - import net.minecraft.world.item.Item; --import net.minecraft.world.item.enchantment.EnchantmentHelper; - import org.apache.commons.lang.Validate; - import org.bukkit.Material; - import org.bukkit.NamespacedKey; -@@ -178,28 +177,11 @@ public final class CraftItemStack extends ItemStack { +@@ -178,28 +178,11 @@ public final class CraftItemStack extends ItemStack { public void addUnsafeEnchantment(Enchantment ench, int level) { - Validate.notNull(ench, "Cannot add null enchantment"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); - if (!CraftItemStack.makeTag(this.handle)) { - return; @@ -115,17 +107,9 @@ index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038 } static boolean makeTag(net.minecraft.world.item.ItemStack item) { -@@ -225,57 +207,29 @@ public final class CraftItemStack extends ItemStack { - if (this.handle == null) { - return 0; - } -- return EnchantmentHelper.getItemEnchantmentLevel(CraftEnchantment.getRaw(ench), handle); -+ return net.minecraft.world.item.enchantment.EnchantmentHelper.getItemEnchantmentLevel(CraftEnchantment.getRaw(ench), handle); // Paper - } - - @Override +@@ -232,50 +215,22 @@ public final class CraftItemStack extends ItemStack { public int removeEnchantment(Enchantment ench) { - Validate.notNull(ench, "Cannot remove null enchantment"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); - ListTag list = CraftItemStack.getEnchantmentList(this.handle), listCopy; - if (list == null) { @@ -184,7 +168,7 @@ index ae55364f6c33687361c053d90ad47c6192a1e62b..bdfce4a49cc6fed46de5864d1c443038 static Map<Enchantment, Integer> getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f02693fee 100644 +index b01c268d179591a0113e4bfb46f3d6d22933efaf..bfd5661d55a6ed767cb3bed2d9bb24535c1f7335 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -211,7 +195,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -276,7 +279,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -275,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List<String> lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -220,7 +204,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f private Multimap<Attribute, AttributeModifier> attributeModifiers; private int repairCost; private int hideFlag; -@@ -287,7 +290,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -286,7 +289,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -229,7 +213,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -308,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -307,7 +310,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -238,7 +222,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f } if (meta.hasAttributeModifiers()) { -@@ -391,13 +394,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -390,13 +393,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -254,7 +238,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f for (int i = 0; i < ench.size(); i++) { String id = ((CompoundTag) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -550,13 +553,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -549,13 +552,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -270,7 +254,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f for (Map.Entry<?, ?> entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -832,14 +835,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -831,14 +834,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map<Enchantment, Integer> getEnchants() { @@ -280,14 +264,14 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f @Override public boolean addEnchant(Enchantment ench, int level, boolean ignoreRestrictions) { - Validate.notNull(ench, "Enchantment cannot be null"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); if (this.enchantments == null) { - this.enchantments = new LinkedHashMap<Enchantment, Integer>(4); + this.enchantments = new EnchantmentMap(); // Paper } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1228,7 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1227,7 +1230,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -296,7 +280,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1467,4 +1470,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1464,4 +1467,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftMetaItem.HANDLED_TAGS; } } diff --git a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 3fc589185e..c3861ff441 100644 --- a/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0073-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,10 +44,10 @@ index 1238da8b035a0b0dd3d00557ca0de7a82f5fdf53..5e40ee2695b7ed50fddc0e8226f0b1b4 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0fdc0ecbaeff775359fd192f4be7e20c8c1339f9..a47334fbef1056f644b588453666039f4daa3e33 100644 +index c1ad517b8925ee19b3e251a45816e8a7ecc5e3b8..10a42c5c69ea99bc90d08b51bc9f342504d1da7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2138,6 +2138,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2076,6 +2076,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 42404327c2..d2397e8813 100644 --- a/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 821725460b62ebadedb789f4408ef172416c2092..81abb732e2bb3bca683028d505e7485052c0ec8d 100644 +index 3ff9a5a8f4b9a91958f6d846a7a5337a01dbb803..1af6a1ed4111e5e1feaede68be2783070ed90c76 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1367,6 +1367,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1365,6 +1365,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); diff --git a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch index 1171770f13..a82e313e3c 100644 --- a/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0083-Add-PlayerUseUnknownEntityEvent.patch @@ -22,10 +22,10 @@ index a5d57cc862036012d83b090bb1b3ccf4115a88b3..21068f766b75c414d5818073b7dca083 static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() { @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a91cc53f9d601bbc51988b2b7855c6ebcc68d780..2b1311185bb08592038e256d860a722fbd4d9ffc 100644 +index e60d8689e7bec90cb4b8787ff252eb7da39d6a8f..f275e00149f3d727b15627cf9acfd19eb5b0e21a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2541,8 +2541,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2544,8 +2544,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic }); } } diff --git a/patches/server/0088-Configurable-Player-Collision.patch b/patches/server/0088-Configurable-Player-Collision.patch index 0b119834f9..39f2157ed5 100644 --- a/patches/server/0088-Configurable-Player-Collision.patch +++ b/patches/server/0088-Configurable-Player-Collision.patch @@ -18,10 +18,10 @@ index 1294b38262505b0d54089e428df9b363219de1f0..ee37ec0de1ca969144824427ae42b0c8 buf.writeComponent(this.playerPrefix); buf.writeComponent(this.playerSuffix); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 81abb732e2bb3bca683028d505e7485052c0ec8d..d2b07b5f0ff7466f22f2c25c7e0cb9a00b25f4f0 100644 +index 1af6a1ed4111e5e1feaede68be2783070ed90c76..010d0192da65e4dfe5516126b522d30b776394c0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -589,6 +589,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -587,6 +587,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.server.getPluginManager().callEvent(new org.bukkit.event.world.WorldLoadEvent(worldserver.getWorld())); } @@ -43,7 +43,7 @@ index 81abb732e2bb3bca683028d505e7485052c0ec8d..d2b07b5f0ff7466f22f2c25c7e0cb9a0 this.server.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.STARTUP)); this.connection.acceptConnections(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d9c45fb7a97797de2af2811f816110cc6c3681f6..66b1a4593f9c96dbf7e098411f89dbacd6baf4ba 100644 +index 9e835d63e1592fc064b73c51eecd8b84cbedfa33..7901a8e3659be05d901fd5140e025392ffa0c27c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -99,6 +99,7 @@ import net.minecraft.world.level.storage.PlayerDataStorage; diff --git a/patches/server/0093-remove-null-possibility-for-getServer-singleton.patch b/patches/server/0093-remove-null-possibility-for-getServer-singleton.patch index c937ced457..6bb6d8878f 100644 --- a/patches/server/0093-remove-null-possibility-for-getServer-singleton.patch +++ b/patches/server/0093-remove-null-possibility-for-getServer-singleton.patch @@ -6,7 +6,7 @@ Subject: [PATCH] remove null possibility for getServer singleton to stop IDE complaining about potential NPE diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d2b07b5f0ff7466f22f2c25c7e0cb9a00b25f4f0..8e3ff6870daff6dee7e38f72d1e37e9aa58dab35 100644 +index 010d0192da65e4dfe5516126b522d30b776394c0..c09ac4ef459c8df6c8623de7fbb63f8c2558bd2d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -193,6 +193,7 @@ import co.aikar.timings.MinecraftTimings; // Paper @@ -17,7 +17,7 @@ index d2b07b5f0ff7466f22f2c25c7e0cb9a00b25f4f0..8e3ff6870daff6dee7e38f72d1e37e9a public static final Logger LOGGER = LogUtils.getLogger(); public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger COMPONENT_LOGGER = net.kyori.adventure.text.logger.slf4j.ComponentLogger.logger(LOGGER.getName()); // Paper public static final String VANILLA_BRAND = "vanilla"; -@@ -322,6 +323,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -320,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { super("Server"); @@ -25,7 +25,7 @@ index d2b07b5f0ff7466f22f2c25c7e0cb9a00b25f4f0..8e3ff6870daff6dee7e38f72d1e37e9a this.metricsRecorder = InactiveMetricsRecorder.INSTANCE; this.profiler = this.metricsRecorder.getProfiler(); this.onMetricsRecordingStopped = (methodprofilerresults) -> { -@@ -2326,9 +2328,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2324,9 +2326,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa return false; } diff --git a/patches/server/0098-Async-GameProfileCache-saving.patch b/patches/server/0098-Async-GameProfileCache-saving.patch index d0b94a9698..f199705495 100644 --- a/patches/server/0098-Async-GameProfileCache-saving.patch +++ b/patches/server/0098-Async-GameProfileCache-saving.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Async GameProfileCache saving diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8e3ff6870daff6dee7e38f72d1e37e9aa58dab35..14edacfd5cc77cc85dc84e3fdad94be8c8932dc6 100644 +index c09ac4ef459c8df6c8623de7fbb63f8c2558bd2d..006289473c03c8484b26264c61eaf6a5e73658c0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -935,7 +935,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -933,7 +933,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } catch (java.lang.InterruptedException ignored) {} // Paper if (org.spigotmc.SpigotConfig.saveUserCacheOnStopOnly) { MinecraftServer.LOGGER.info("Saving usercache.json"); diff --git a/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch index fa985e276c..4a8d18d1b8 100644 --- a/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch @@ -43,10 +43,10 @@ index da98f074ccd5a40c635824112c97fd174c393cb1..6599f874d9f97e9ef4862039ecad7277 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dbad9e72121562d22f8476bade4032661e280066..d83942d7f7260073e1c60e125eed6312ff89e434 100644 +index 83119de3ae3e38ba4bb77abf005043cfa82c4670..a392be8dee7eccc5f6a55edf02ec207bcb65b0a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1735,7 +1735,7 @@ public final class CraftServer implements Server { +@@ -1740,7 +1740,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0107-Configurable-packet-in-spam-threshold.patch b/patches/server/0107-Configurable-packet-in-spam-threshold.patch index fd7d119231..6d93602984 100644 --- a/patches/server/0107-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0107-Configurable-packet-in-spam-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2b1311185bb08592038e256d860a722fbd4d9ffc..3ac549815895e6cbb43cbfc04377337f8b7ebd43 100644 +index f275e00149f3d727b15627cf9acfd19eb5b0e21a..7c48f10be178186886a2f497c162c87c35369053 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1595,13 +1595,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1598,13 +1598,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/patches/server/0109-Add-EntityZapEvent.patch b/patches/server/0109-Add-EntityZapEvent.patch index 2f10f3924c..83e60f2e1a 100644 --- a/patches/server/0109-Add-EntityZapEvent.patch +++ b/patches/server/0109-Add-EntityZapEvent.patch @@ -28,10 +28,10 @@ index f9704b20e71564ac721a24655b2792c689edf6ba..e04f3f1159c5d5fa2e3956a36e95f8af entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 1b9a08098199f305606289724ee047e8075ffcea..8d9b25f3c8c840baf9c203f80d46201434920aa5 100644 +index e0bb58d92e47516138261a673b56c5f8ce68a59c..d3584001c92593d4471eeb473b345d30d4dc960e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1189,6 +1189,14 @@ public class CraftEventFactory { +@@ -1193,6 +1193,14 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch index 137f32a6a8..79b175b053 100644 --- a/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d83942d7f7260073e1c60e125eed6312ff89e434..1889db501bb91671eac8b8672531427d7325f35e 100644 +index a392be8dee7eccc5f6a55edf02ec207bcb65b0a5..9b45eed05bebc3957f54291fe59c87994bfdf00d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2629,5 +2629,24 @@ public final class CraftServer implements Server { +@@ -2650,5 +2650,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch index b85cdb8ac7..7b01ee8998 100644 --- a/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch @@ -18,10 +18,10 @@ index 93c83cfedc7d3a169ad0504aa6e63f600873501b..9dffdfe5bbd0517e9a2c6a6770eea07b --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8d9b25f3c8c840baf9c203f80d46201434920aa5..09d11ea7905a5760ab5ee63e5976d67fb6392bed 100644 +index d3584001c92593d4471eeb473b345d30d4dc960e..192d48ed576b2918d7cce9a4969bcf2db17da9d7 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1148,6 +1148,17 @@ public class CraftEventFactory { +@@ -1152,6 +1152,17 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0114-Add-ProjectileCollideEvent.patch b/patches/server/0114-Add-ProjectileCollideEvent.patch index 5de3c13ece..c2c4d8c42a 100644 --- a/patches/server/0114-Add-ProjectileCollideEvent.patch +++ b/patches/server/0114-Add-ProjectileCollideEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add ProjectileCollideEvent Deprecated now and replaced with ProjectileHitEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 09d11ea7905a5760ab5ee63e5976d67fb6392bed..beacc9af36eface8cf855ee15fb7bcf7e08f9439 100644 +index 192d48ed576b2918d7cce9a4969bcf2db17da9d7..f882b007756edc2f25e913393b7e8b400ccbe50e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1292,6 +1292,17 @@ public class CraftEventFactory { +@@ -1296,6 +1296,17 @@ public class CraftEventFactory { return CraftItemStack.asNMSCopy(bitem); } @@ -27,7 +27,7 @@ index 09d11ea7905a5760ab5ee63e5976d67fb6392bed..beacc9af36eface8cf855ee15fb7bcf7 public static ProjectileLaunchEvent callProjectileLaunchEvent(Entity entity) { Projectile bukkitEntity = (Projectile) entity.getBukkitEntity(); ProjectileLaunchEvent event = new ProjectileLaunchEvent(bukkitEntity); -@@ -1316,8 +1327,15 @@ public class CraftEventFactory { +@@ -1320,8 +1331,15 @@ public class CraftEventFactory { if (position.getType() == HitResult.Type.ENTITY) { hitEntity = ((EntityHitResult) position).getEntity().getBukkitEntity(); } diff --git a/patches/server/0120-String-based-Action-Bar-API.patch b/patches/server/0120-String-based-Action-Bar-API.patch index 1f3b7876cf..ff29503919 100644 --- a/patches/server/0120-String-based-Action-Bar-API.patch +++ b/patches/server/0120-String-based-Action-Bar-API.patch @@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a47334fbef1056f644b588453666039f4daa3e33..6de07ae1c6d2130eb7feef6f169a288d0fdfd77b 100644 +index 10a42c5c69ea99bc90d08b51bc9f342504d1da7d..79d061d07569207fde3bb4b959589ba3f0cba981 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -331,6 +331,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -328,6 +328,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0121-Properly-fix-item-duplication-bug.patch b/patches/server/0121-Properly-fix-item-duplication-bug.patch index e842326b2d..bd3a28efb3 100644 --- a/patches/server/0121-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0121-Properly-fix-item-duplication-bug.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 321d14f241df1246061ba73b2488f5ab5326a734..0cb86afa3732eaf04dd6369d7499bd628df7e12f 100644 +index b4ea4c63a6cd767684d6c3c68a192a90c82d2e91..6051ad00973c80ad3478e2ff9063c268489f358b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2392,7 +2392,7 @@ public class ServerPlayer extends Player { @@ -19,10 +19,10 @@ index 321d14f241df1246061ba73b2488f5ab5326a734..0cb86afa3732eaf04dd6369d7499bd62 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c33b94701a8c4f3198671405d32467d9645bf87f..188c1506fe219e778da273478b0c581f48ca9ef2 100644 +index 949b192a2b25920fcc6fc8192685f2c6bca64fda..67a9203df4fa9fc7f497eb7f4afce67fc5a6c320 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3149,7 +3149,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3152,7 +3152,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public final boolean isDisconnected() { diff --git a/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch index 169a5c7b52..b44c7c10aa 100644 --- a/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0124-Provide-E-TE-Chunk-count-stat-methods.patch @@ -20,10 +20,10 @@ index 0a419c98db5f6bb6935e88b640f74c6ec0c5503c..92aa1428e723b377c12bfd20cd1e6b42 private final List<TickingBlockEntity> pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7b6673c18d77dc03038924008775f73bf8261658..f7938024605e61cdeee5668190abbf336611f425 100644 +index 4a3593f24fc844a6a8b1b6c28ad2dc9c609c29ad..04a12be27ea3f7b8c0dd2bb2c8f4f0a4b90de1b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -155,6 +155,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -154,6 +154,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers diff --git a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index c1fa57b321..ce55e169ff 100644 --- a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -324,10 +324,10 @@ index 9113fd7070596ecf504837f335022d5eb4ef9a77..d56a64b058d8848e405e33d9884a61ea @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e6eb4a903a43572cfda72db52a1d9c6a6fd46dee..101dac0fcabc5fd696f58ec52ad1fc93a2d0afeb 100644 +index 6a4e30365f015b6aaf7ca18d7b31ff1523ebdf0c..002875dc5ee549c5d192d90c6e4daf59c1f7c0ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -946,7 +946,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -942,7 +942,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch index eacad1fb97..bec7645bbb 100644 --- a/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch +++ b/patches/server/0129-Remove-CraftScheduler-Async-Task-Debugger.patch @@ -9,19 +9,19 @@ One report of a suspected memory leak with the system. This adds additional overhead to asynchronous task dispatching diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index dfc2789009fcaa08baa8054bdac915590b8701d6..d96292052633941102c052894bef747817b2998f 100644 +index 833240d2a4936343710a60876a66d01112e15a2c..ef4fdfa3fbe8216a0a020949347bc992cd5c0c60 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -445,7 +445,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -442,7 +442,7 @@ public class CraftScheduler implements BukkitScheduler { } this.parsePending(); } else { - this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); -+ //this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper - this.executor.execute(new ServerSchedulerReportingWrapper(task)); // Paper ++ // this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper + this.executor.execute(new com.destroystokyo.paper.ServerSchedulerReportingWrapper(task)); // Paper // We don't need to parse pending // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) -@@ -462,7 +462,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -459,7 +459,7 @@ public class CraftScheduler implements BukkitScheduler { this.pending.addAll(temp); temp.clear(); MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper @@ -30,7 +30,7 @@ index dfc2789009fcaa08baa8054bdac915590b8701d6..d96292052633941102c052894bef7478 } private void addTask(final CraftTask task) { -@@ -527,10 +527,15 @@ public class CraftScheduler implements BukkitScheduler { +@@ -523,10 +523,15 @@ public class CraftScheduler implements BukkitScheduler { @Override public String toString() { diff --git a/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch index 4d422108dd..737dc557e9 100644 --- a/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0131-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,7 +30,7 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 14edacfd5cc77cc85dc84e3fdad94be8c8932dc6..79b4139b653a09142e1b624849ad7c529c35450d 100644 +index 006289473c03c8484b26264c61eaf6a5e73658c0..72161fef4ff8a469e028d136f71dda86e6220d0a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -237,6 +237,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @@ -41,7 +41,7 @@ index 14edacfd5cc77cc85dc84e3fdad94be8c8932dc6..79b4139b653a09142e1b624849ad7c52 private boolean stopped; private int tickCount; protected final Proxy proxy; -@@ -903,7 +904,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -901,7 +902,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (this.playerList != null) { MinecraftServer.LOGGER.info("Saving players"); this.playerList.saveAll(); @@ -50,7 +50,7 @@ index 14edacfd5cc77cc85dc84e3fdad94be8c8932dc6..79b4139b653a09142e1b624849ad7c52 try { Thread.sleep(100); } catch (InterruptedException ex) {} // CraftBukkit - SPIGOT-625 - give server at least a chance to send packets } -@@ -954,6 +955,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -952,6 +953,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } public void halt(boolean waitForShutdown) { @@ -64,7 +64,7 @@ index 14edacfd5cc77cc85dc84e3fdad94be8c8932dc6..79b4139b653a09142e1b624849ad7c52 if (waitForShutdown) { try { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0eceacb8b58339820a515c59d978239bc5be0731..a9cab02b97f85fec31ad636f7a340066d409be36 100644 +index cf110171ba47051eab94c0195eb155b685a25dca..bc96f426d488d2a206b763dccdc4034fe24f269d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1181,8 +1181,15 @@ public abstract class PlayerList { diff --git a/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch index 750df1a66f..4224f0cc06 100644 --- a/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch +++ b/patches/server/0132-Add-option-to-make-parrots-stay-on-shoulders-despite.patch @@ -14,10 +14,10 @@ To be converted into a Paper-API event at some point in the future? public net.minecraft.world.entity.player.Player removeEntitiesOnShoulder()V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 188c1506fe219e778da273478b0c581f48ca9ef2..054776624f6df25b69d1e3c480e8b7effbb592a7 100644 +index 67a9203df4fa9fc7f497eb7f4afce67fc5a6c320..316607ca41ee4973c8dbc1ea806b18dff483bbff 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2329,6 +2329,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2332,6 +2332,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic switch (packet.getAction()) { case PRESS_SHIFT_KEY: this.player.setShiftKeyDown(true); diff --git a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch index 7742df8698..fe41683266 100644 --- a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1889db501bb91671eac8b8672531427d7325f35e..a147ca79e6c4a5c8d4aeb6a76c82eaae3491f51d 100644 +index 9b45eed05bebc3957f54291fe59c87994bfdf00d..85b8ae9b40d0f631c91e00a59ce6347fd915bcb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2648,5 +2648,10 @@ public final class CraftServer implements Server { +@@ -2669,5 +2669,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch index 7813163961..87d2eb89d0 100644 --- a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -232,7 +232,7 @@ index 0000000000000000000000000000000000000000..91547f6e6fe90006713beb2818da6343 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3ebf009fcb 100644 +index 72161fef4ff8a469e028d136f71dda86e6220d0a..a6d6652fab0dcb490b4229cbf6a7a63112cbfa26 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -165,7 +165,7 @@ import com.mojang.datafixers.util.Pair; @@ -244,7 +244,7 @@ index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3e import joptsimple.OptionSet; import net.minecraft.core.HolderLookup; import net.minecraft.resources.RegistryOps; -@@ -286,7 +286,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -284,7 +284,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public OptionSet options; public org.bukkit.command.ConsoleCommandSender console; public org.bukkit.command.RemoteConsoleCommandSender remoteConsole; @@ -253,7 +253,7 @@ index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3e public static int currentTick = 0; // Paper - Further improve tick loop public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public int autosavePeriod; -@@ -370,7 +370,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -368,7 +368,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.options = options; this.worldLoader = worldLoader; this.vanillaCommandDispatcher = worldstem.dataPackResources().commands; // CraftBukkit @@ -263,7 +263,7 @@ index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3e if (System.console() == null && System.getProperty("jline.terminal") == null) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); Main.useJline = false; -@@ -391,6 +393,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -389,6 +391,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa MinecraftServer.LOGGER.warn((String) null, ex); } } @@ -272,7 +272,7 @@ index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3e Runtime.getRuntime().addShutdownHook(new org.bukkit.craftbukkit.util.ServerShutdownThread(this)); this.paperConfigurations = services.paperConfigurations(); // Paper } -@@ -1135,7 +1139,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1133,7 +1137,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa org.spigotmc.WatchdogThread.doStop(); // Spigot // CraftBukkit start - Restore terminal to original settings try { @@ -281,7 +281,7 @@ index 79b4139b653a09142e1b624849ad7c529c35450d..54108afdf1f88f8d9056b744ee9b0d3e } catch (Exception ignored) { } // CraftBukkit end -@@ -1589,7 +1593,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1587,7 +1591,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @Override public void sendSystemMessage(Component message) { @@ -355,7 +355,7 @@ index 75083eeb9b413e6dd5375007360dce6857a08fff..d292fdb165436f0b9b46b32110f5e09a if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(() -> { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a9cab02b97f85fec31ad636f7a340066d409be36..03ea44619bc3445956f3e4539fc0e2923a29a92d 100644 +index bc96f426d488d2a206b763dccdc4034fe24f269d..82db70c548336ada2af556251b8ae8d189417024 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -169,8 +169,7 @@ public abstract class PlayerList { @@ -369,7 +369,7 @@ index a9cab02b97f85fec31ad636f7a340066d409be36..03ea44619bc3445956f3e4539fc0e292 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a147ca79e6c4a5c8d4aeb6a76c82eaae3491f51d..50ed2032d2cb285f24e93d246f6c42207e1213ad 100644 +index 85b8ae9b40d0f631c91e00a59ce6347fd915bcb5..b91a06359b163b49c506d64b3da2e616e3d9fa40 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -42,7 +42,6 @@ import java.util.logging.Level; @@ -380,7 +380,7 @@ index a147ca79e6c4a5c8d4aeb6a76c82eaae3491f51d..50ed2032d2cb285f24e93d246f6c4220 import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -1303,9 +1302,13 @@ public final class CraftServer implements Server { +@@ -1308,9 +1307,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0140-Add-UnknownCommandEvent.patch b/patches/server/0140-Add-UnknownCommandEvent.patch index 4d4669d657..489953e61a 100644 --- a/patches/server/0140-Add-UnknownCommandEvent.patch +++ b/patches/server/0140-Add-UnknownCommandEvent.patch @@ -83,10 +83,10 @@ index 2fdfc17ef3daf9fb5cc32c807292c71e256d5356..e3394864e29357fec036f9e616472aea b1 = 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 50ed2032d2cb285f24e93d246f6c42207e1213ad..c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd 100644 +index b91a06359b163b49c506d64b3da2e616e3d9fa40..2e076affd9ee7e407e86586536d02cb8f6f20805 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -523,6 +523,7 @@ public final class CraftServer implements Server { +@@ -522,6 +522,7 @@ public final class CraftServer implements Server { } node = clone; } @@ -94,7 +94,7 @@ index 50ed2032d2cb285f24e93d246f6c42207e1213ad..c3e273b7d2f7d0c059f8efbf95e4234c dispatcher.getDispatcher().getRoot().addChild(node); } else { -@@ -904,7 +905,13 @@ public final class CraftServer implements Server { +@@ -911,7 +912,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0141-Basic-PlayerProfile-API.patch b/patches/server/0141-Basic-PlayerProfile-API.patch index bffd309f82..79e093ddea 100644 --- a/patches/server/0141-Basic-PlayerProfile-API.patch +++ b/patches/server/0141-Basic-PlayerProfile-API.patch @@ -631,10 +631,10 @@ index 4038bb76339d43f18770624bd7fecc79b8d7f2a9..2456edc11b29a92b1648937cd3dd6a9a String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0ad8b5ec64 100644 +index 2e076affd9ee7e407e86586536d02cb8f6f20805..bdee52f1bd2bb34fd0292d35b8b1e7194d7df716 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -258,6 +258,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -257,6 +257,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -644,7 +644,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -300,6 +303,7 @@ public final class CraftServer implements Server { +@@ -299,6 +302,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -652,7 +652,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a CraftItemFactory.instance(); } -@@ -2663,5 +2667,37 @@ public final class CraftServer implements Server { +@@ -2684,5 +2688,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } @@ -691,7 +691,7 @@ index c3e273b7d2f7d0c059f8efbf95e4234c684d0ccd..c29973de83e827a2f372590a43948b0a // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 3e40d47f504248cd7caeef6b841a8aa6f1976170..6ca6467a47c6658d3a2e2029821aa727599a6f74 100644 +index 2375b0bac17dd73d6ee12a94b9e4a4143a2e1c65..d1aab4742b605e8807b0e4ca148abe0ed95039f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -27,7 +27,7 @@ import org.bukkit.profile.PlayerProfile; @@ -737,7 +737,7 @@ index 3e40d47f504248cd7caeef6b841a8aa6f1976170..6ca6467a47c6658d3a2e2029821aa727 UUID uniqueId = ConfigSerializationUtil.getUuid(map, "uniqueId", true); String name = ConfigSerializationUtil.getString(map, "name", true); -@@ -270,7 +275,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -268,7 +273,7 @@ public final class CraftPlayerProfile implements PlayerProfile { profile.properties.put(property.getName(), property); } } diff --git a/patches/server/0142-Shoulder-Entities-Release-API.patch b/patches/server/0142-Shoulder-Entities-Release-API.patch index b3bbf8aa8a..6795e8e96d 100644 --- a/patches/server/0142-Shoulder-Entities-Release-API.patch +++ b/patches/server/0142-Shoulder-Entities-Release-API.patch @@ -59,10 +59,10 @@ index 8ef1798fe9dc42d9f09449ecc7578f4bddff1ed8..85488adc9c822c89ab5778bc1d48c58e @Override public abstract boolean isSpectator(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index d39869056d0ac57279e0e9e479ace4a7d402a941..c6b2f1b90735ec75492daf64031d9d33226cdac6 100644 +index abe978078270a45f7e77eb2b8a99309f12ca51ee..2f5704b19148f390402c0823030806ba96860286 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -518,6 +518,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -516,6 +516,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { this.getHandle().getCooldowns().addCooldown(CraftMagicNumbers.getItem(material), ticks); } diff --git a/patches/server/0145-Entity-fromMobSpawner.patch b/patches/server/0145-Entity-fromMobSpawner.patch index b377025343..ca0e39dd5e 100644 --- a/patches/server/0145-Entity-fromMobSpawner.patch +++ b/patches/server/0145-Entity-fromMobSpawner.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5c616afddc9a0403787fd2ea2467220d81253541..7232c22ca7f0ed995934db3937861e562525e906 100644 +index 875516b17452968e53efda9d777676ec4bee0f79..16658764ddced4c8e5af6b9f86ad6e99a2b1adee 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -388,6 +388,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -37,22 +37,22 @@ index 5c616afddc9a0403787fd2ea2467220d81253541..7232c22ca7f0ed995934db3937861e56 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 64bd7d265a45575ce46c1a792f90cadc76763871..0f5a5168d168b39f0da3ed12389b11b586d168e6 100644 +index 7ae0465091db8e8061737bf93884afa3db49feeb..5d6403fa27521860a69a707dc4358b013adfafd7 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -164,6 +164,7 @@ public abstract class BaseSpawner { - } +@@ -165,6 +165,7 @@ public abstract class BaseSpawner { // Spigot End } + + entity.spawnedViaMobSpawner = true; // Paper - // Spigot Start + // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { - Entity vehicle = entity.getVehicle(); + continue; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c9275f73be7332f79312037954f9685f6c1f800f..f1a382d26f6a64b1c3f81fd2f2d5a35c51a63fdb 100644 +index fa2a6f44a1c25fb6c9a19e83e7eddb2c8d28a320..83bde3f87e0861fdfd01f843ccae285b1748619a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1297,5 +1297,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1290,5 +1290,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { //noinspection ConstantConditions return originVector.toLocation(world); } diff --git a/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch b/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch index ccd3b7baf4..dc38a3b16d 100644 --- a/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch +++ b/patches/server/0146-Improve-the-Saddle-API-for-Horses.patch @@ -7,18 +7,18 @@ Not all horses with Saddles have armor. This lets us break up the horses with sa and access their saddle state separately from an interface shared with Armor. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index d74c9eeb7f622f0a7265fec51d851ffd3de1c69b..a5202ee012034678efbbd5ca1eccf2fd72a315bd 100644 +index 349bc3becee3f878fe8f6bc589cc9fbecf7dd17a..4bb5e953ec0ad6a2e068cb26237bc59e68c13699 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -@@ -5,6 +5,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; - import org.apache.commons.lang.Validate; +@@ -5,6 +5,7 @@ import java.util.UUID; + import net.minecraft.world.entity.ai.attributes.Attributes; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.inventory.CraftInventoryAbstractHorse; +import org.bukkit.craftbukkit.inventory.CraftSaddledInventory; import org.bukkit.entity.AbstractHorse; import org.bukkit.entity.AnimalTamer; import org.bukkit.entity.Horse; -@@ -108,6 +109,6 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac +@@ -107,6 +108,6 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac @Override public AbstractHorseInventory getInventory() { diff --git a/patches/server/0147-Implement-ensureServerConversions-API.patch b/patches/server/0147-Implement-ensureServerConversions-API.patch index f34ea3e72b..439122668f 100644 --- a/patches/server/0147-Implement-ensureServerConversions-API.patch +++ b/patches/server/0147-Implement-ensureServerConversions-API.patch @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 6e050a5cbb877c85595fc97a569c2aafb272ad41..ed9a956b0d88ddcf6c453757bf72287616b81fe2 100644 +index b187c4f436ac44a529675869dbf5bfddc4fac86f..878f69460aed825d5d3204030af2aaa731a99875 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -454,5 +454,11 @@ public final class CraftItemFactory implements ItemFactory { +@@ -449,5 +449,11 @@ public final class CraftItemFactory implements ItemFactory { public [email protected] Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) { return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName()); } diff --git a/patches/server/0148-Implement-getI18NDisplayName.patch b/patches/server/0148-Implement-getI18NDisplayName.patch index ddbf2ab85c..4f1cfccf20 100644 --- a/patches/server/0148-Implement-getI18NDisplayName.patch +++ b/patches/server/0148-Implement-getI18NDisplayName.patch @@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index ed9a956b0d88ddcf6c453757bf72287616b81fe2..f81ed24f624ff6f99ccad8361209cc409c6b9187 100644 +index 878f69460aed825d5d3204030af2aaa731a99875..f8475390d69bef6f3eca5a57d5f44021fabf4942 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -460,5 +460,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -455,5 +455,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } diff --git a/patches/server/0151-LivingEntity-setKiller.patch b/patches/server/0151-LivingEntity-setKiller.patch index 0612bec621..e6e7fff121 100644 --- a/patches/server/0151-LivingEntity-setKiller.patch +++ b/patches/server/0151-LivingEntity-setKiller.patch @@ -7,10 +7,10 @@ Subject: [PATCH] LivingEntity#setKiller public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3084fa8000b36f06e8d432bff124a5af4ea675ea..31f31f0a3dcd5764fffb710111b47359f793b9a2 100644 +index fcb07a5f8cac994b731e3345ba9e971faa482fa1..0fb61f37da9ef3e33803b41bd72e0bda5425eceb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -353,6 +353,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -352,6 +352,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().lastHurtByPlayer == null ? null : (Player) this.getHandle().lastHurtByPlayer.getBukkitEntity(); } diff --git a/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index 65092a2a40..71cdedc8fa 100644 --- a/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/patches/server/0153-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Reset spawner timer when spawner event is cancelled diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 0f5a5168d168b39f0da3ed12389b11b586d168e6..8540905242fc84ab8a26cf0a8e875ef252bc3d5d 100644 +index 5d6403fa27521860a69a707dc4358b013adfafd7..20c39481bcf05e0d43c97b7e841ec9f5f6a0d45d 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -165,6 +165,7 @@ public abstract class BaseSpawner { - // Spigot End +@@ -166,6 +166,7 @@ public abstract class BaseSpawner { } + entity.spawnedViaMobSpawner = true; // Paper + flag = true; // Paper - // Spigot Start + // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { - Entity vehicle = entity.getVehicle(); -@@ -189,7 +190,7 @@ public abstract class BaseSpawner { + continue; +@@ -182,7 +183,7 @@ public abstract class BaseSpawner { ((Mob) entity).spawnAnim(); } diff --git a/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch index df49cf655e..55f6c51623 100644 --- a/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0158-handle-ServerboundKeepAlivePacket-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6928d2fb7493206ab84bedc39434285f45d9dc38..95256c095626f429315b80df86876b18112989bc 100644 +index 38227e58773a4e47b2bd71daec7ce479892a19f3..cb8b31c34fe4d3ee6f383ff9d32cf13552879332 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3108,14 +3108,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3111,14 +3111,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch index c50124bbc4..1e8e7329f9 100644 --- a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 77d7f070cce1a47e41b5d4f5a1cc8c778352a126..a3b610cb1ed97a635677bc46ccdf0463 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6de07ae1c6d2130eb7feef6f169a288d0fdfd77b..bc920ff2bfcdb7ecad3b57ebca6d3ed94771a55a 100644 +index 79d061d07569207fde3bb4b959589ba3f0cba981..55a934e2fc4facd47eede4c95fe76a61105e7582 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -275,6 +275,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -274,6 +274,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch index 9257eaaacf..aeae614ac2 100644 --- a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch @@ -51,10 +51,10 @@ index 63acd109a79ed752a05df3d4f1b99309297c2055..d156f7cc71050f13b2feca00c52ca6b6 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 0c2a2b69eed7022f6636ced634a1d31d1fa99ad7..d6b44134781007d29f4042d5ab707188c965331b 100644 +index e5750b2459e5a7513b34d644f672f3e06181172d..3205d86a63f8fcf3ccd13c6be0e0eefc27beb62a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -333,6 +333,13 @@ public class CraftBlock implements Block { +@@ -332,6 +332,13 @@ public class CraftBlock implements Block { return CraftBlockStates.getBlockState(this); } @@ -149,7 +149,7 @@ index a69a03a7954b03a0aeca7a74d89756dd38ca6faf..17e1131c79ad140c0803a914621ce792 public static BlockState getBlockState(Material material, @Nullable CompoundTag blockEntityTag) { diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -index 3fc3907172f12ee24ea70bd6a1ffbbc6084ed971..2c59f09a9261a1690951161fd856a5848d9885b7 100644 +index 6c559b0d7b3d8b95276d16a6af4975fd44de3334..a94389eebe51bb368f759b3f99f0b9ed08ae2bdd 100644 --- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java @@ -156,4 +156,10 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { diff --git a/patches/server/0167-AsyncTabCompleteEvent.patch b/patches/server/0167-AsyncTabCompleteEvent.patch index a8c75391d6..5986f9ed82 100644 --- a/patches/server/0167-AsyncTabCompleteEvent.patch +++ b/patches/server/0167-AsyncTabCompleteEvent.patch @@ -16,7 +16,7 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar <[email protected]> diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 575ecae47633e7a30c8bca57d686dcfc0b31a0df..5d1875b11d4768afc184416e38a0bd3e3334a9ce 100644 +index b4c0e41b1d6e6c9411e1bbf6af07533b8dbb68f7..c66209a33d6bdfda559e16cbc59c66e7a9f4c4de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -788,12 +788,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -91,10 +91,10 @@ index 575ecae47633e7a30c8bca57d686dcfc0b31a0df..5d1875b11d4768afc184416e38a0bd3e @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c29973de83e827a2f372590a43948b0ad8b5ec64..141bba5e92044437b199b5aa701ded049737c509 100644 +index bdee52f1bd2bb34fd0292d35b8b1e7194d7df716..40090372a983b7064530e982a8ee1a9bc4913dfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2116,7 +2116,7 @@ public final class CraftServer implements Server { +@@ -2134,7 +2134,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch index 8adaef1d34..99231f6ac8 100644 --- a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch @@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bc920ff2bfcdb7ecad3b57ebca6d3ed94771a55a..fd7e9909875961a1a7288f235ef73de518467f25 100644 +index 55a934e2fc4facd47eede4c95fe76a61105e7582..77e5c017cef9809bf60c5aa77b245d76a1982a9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1509,7 +1509,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1460,7 +1460,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0175-Add-ArmorStand-Item-Meta.patch b/patches/server/0175-Add-ArmorStand-Item-Meta.patch index 3745b7372a..382ebbe746 100644 --- a/patches/server/0175-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0175-Add-ArmorStand-Item-Meta.patch @@ -255,10 +255,10 @@ index 4017933f2244fca32cf9d39444f3a4f550e8af01..e721517ce7b52a1aa10d039aa9f309eb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 5d892f76f42486ce1890fe0507b19b2f02693fee..134c91f69f5b532ed67428c097d93b38a83df01a 100644 +index bfd5661d55a6ed767cb3bed2d9bb24535c1f7335..01e09dfc00b2ae9ecd39bea37f229ad826de121c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1460,6 +1460,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1457,6 +1457,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, CraftMetaSuspiciousStew.EFFECTS.NBT, diff --git a/patches/server/0177-Tameable-getOwnerUniqueId-API.patch b/patches/server/0177-Tameable-getOwnerUniqueId-API.patch index 7fca628e8a..3cdc82d136 100644 --- a/patches/server/0177-Tameable-getOwnerUniqueId-API.patch +++ b/patches/server/0177-Tameable-getOwnerUniqueId-API.patch @@ -7,10 +7,10 @@ This is faster if all you need is the UUID, as .getOwner() will cause an OfflinePlayer to be loaded from disk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index a5202ee012034678efbbd5ca1eccf2fd72a315bd..254d4f2e45d7c8f572a4368eccd84560d4d0d836 100644 +index 4bb5e953ec0ad6a2e068cb26237bc59e68c13699..3f1f4d65525562b3117fdc21c8a7f535b12c3c46 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -@@ -89,6 +89,10 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac +@@ -88,6 +88,10 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac } } diff --git a/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch index 335ada6c02..da614a11a7 100644 --- a/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/0180-Implement-extended-PaperServerListPingEvent.patch @@ -181,7 +181,7 @@ index 0000000000000000000000000000000000000000..6b0bdc266109cdfb874f08bf74323603 + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index bc96a5c546c01b092f513f202e833b7b5f320e72..a003144fb74c9e7314b24216bc0e506e3d2bde0f 100644 +index a6d6652fab0dcb490b4229cbf6a7a63112cbfa26..010318abbb6fadbadade8926793786eced6775d3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -3,6 +3,9 @@ package net.minecraft.server; @@ -194,7 +194,7 @@ index bc96a5c546c01b092f513f202e833b7b5f320e72..a003144fb74c9e7314b24216bc0e506e import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1347,7 +1350,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1345,7 +1348,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (this.hidesOnlinePlayers()) { return new ServerStatus.Players(i, list.size(), List.of()); } else { diff --git a/patches/server/0182-Player.setPlayerProfile-API.patch b/patches/server/0182-Player.setPlayerProfile-API.patch index 14a0d76079..5263e85403 100644 --- a/patches/server/0182-Player.setPlayerProfile-API.patch +++ b/patches/server/0182-Player.setPlayerProfile-API.patch @@ -9,10 +9,10 @@ This can be useful for changing name or skins after a player has logged in. public-f net.minecraft.world.entity.player.Player gameProfile diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5d1875b11d4768afc184416e38a0bd3e3334a9ce..e7d2bd1b2ee80c5cc68048f2d90dcf21e50f04d2 100644 +index c66209a33d6bdfda559e16cbc59c66e7a9f4c4de..391295bf6898320421272ad5dfb14e4c5e2d2be0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1535,7 +1535,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1538,7 +1538,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.internalTeleport(dest.getX(), dest.getY(), dest.getZ(), dest.getYaw(), dest.getPitch(), Collections.emptySet()); } @@ -55,7 +55,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..69a1852905dd4724c30ac8ab88c14251 public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da8503122f100a9f 100644 +index 77e5c017cef9809bf60c5aa77b245d76a1982a9f..a8930679d566fcbd0557b3023248ded393754c8d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -82,6 +82,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; @@ -66,7 +66,7 @@ index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da850312 import net.minecraft.world.level.block.entity.SignBlockEntity; import net.minecraft.world.level.block.entity.SignText; import net.minecraft.world.level.border.BorderChangeListener; -@@ -258,11 +259,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -257,11 +258,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return server.getPlayer(getUniqueId()) != null; } @@ -78,7 +78,7 @@ index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da850312 @Override public InetSocketAddress getAddress() { if (this.getHandle().connection == null) return null; -@@ -1659,8 +1655,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1610,8 +1606,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private void untrackAndHideEntity(org.bukkit.entity.Entity entity) { // Remove this entity from the hidden player's EntityTrackerEntry @@ -95,7 +95,7 @@ index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da850312 ChunkMap.TrackedEntity entry = tracker.entityMap.get(other.getId()); if (entry != null) { entry.removePlayer(this.getHandle()); -@@ -1673,8 +1676,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1624,8 +1627,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID()))); } } @@ -104,7 +104,7 @@ index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da850312 } void resetAndHideEntity(org.bukkit.entity.Entity entity) { -@@ -1751,8 +1752,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1702,8 +1703,38 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (entry != null && !entry.seenBy.contains(this.getHandle().connection)) { entry.updatePlayer(this.getHandle()); } @@ -144,7 +144,7 @@ index fd7e9909875961a1a7288f235ef73de518467f25..26e89e7c9d648b9b1ce33714da850312 } void resetAndShowEntity(org.bukkit.entity.Entity entity) { -@@ -1765,6 +1796,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1716,6 +1747,36 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.trackAndShowEntity(entity); } } diff --git a/patches/server/0183-getPlayerUniqueId-API.patch b/patches/server/0183-getPlayerUniqueId-API.patch index 030e5fdb41..fd7b2501e2 100644 --- a/patches/server/0183-getPlayerUniqueId-API.patch +++ b/patches/server/0183-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 141bba5e92044437b199b5aa701ded049737c509..85711eb6660db5961bb2362b8bc3e8aeeccb9dd1 100644 +index 40090372a983b7064530e982a8ee1a9bc4913dfd..23407ccc0482f67db46947cbcc56c5488c42cf93 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1738,6 +1738,25 @@ public final class CraftServer implements Server { +@@ -1743,6 +1743,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0184-Improved-Async-Task-Scheduler.patch b/patches/server/0184-Improved-Async-Task-Scheduler.patch index b62fddc7b9..adf1ccd429 100644 --- a/patches/server/0184-Improved-Async-Task-Scheduler.patch +++ b/patches/server/0184-Improved-Async-Task-Scheduler.patch @@ -159,10 +159,10 @@ index 0000000000000000000000000000000000000000..3c1992e212a6d6f1db4d5b807b38d719 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee083b8800 100644 +index ef4fdfa3fbe8216a0a020949347bc992cd5c0c60..918e11422854d7301c84b466533770c2a429a682 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -78,7 +78,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -75,7 +75,7 @@ public class CraftScheduler implements BukkitScheduler { /** * Main thread logic only */ @@ -171,7 +171,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee new Comparator<CraftTask>() { @Override public int compare(final CraftTask o1, final CraftTask o2) { -@@ -95,12 +95,13 @@ public class CraftScheduler implements BukkitScheduler { +@@ -92,12 +92,13 @@ public class CraftScheduler implements BukkitScheduler { /** * These are tasks that are currently active. It's provided for 'viewing' the current state. */ @@ -187,7 +187,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee private final Executor executor = Executors.newCachedThreadPool(new ThreadFactoryBuilder().setNameFormat("Craft Scheduler Thread - %d").build()); private CraftAsyncDebugger debugHead = new CraftAsyncDebugger(-1, null, null) { @Override -@@ -109,12 +110,31 @@ public class CraftScheduler implements BukkitScheduler { +@@ -106,12 +107,31 @@ public class CraftScheduler implements BukkitScheduler { } }; private CraftAsyncDebugger debugTail = this.debugHead; @@ -219,7 +219,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee @Override public int scheduleSyncDelayedTask(final Plugin plugin, final Runnable task) { return this.scheduleSyncDelayedTask(plugin, task, 0L); -@@ -237,7 +257,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -234,7 +254,7 @@ public class CraftScheduler implements BukkitScheduler { } else if (period < CraftTask.NO_REPEATING) { period = CraftTask.NO_REPEATING; } @@ -228,7 +228,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee } @Override -@@ -253,6 +273,11 @@ public class CraftScheduler implements BukkitScheduler { +@@ -250,6 +270,11 @@ public class CraftScheduler implements BukkitScheduler { if (taskId <= 0) { return; } @@ -240,10 +240,10 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee CraftTask task = this.runners.get(taskId); if (task != null) { task.cancel0(); -@@ -295,6 +320,11 @@ public class CraftScheduler implements BukkitScheduler { +@@ -292,6 +317,11 @@ public class CraftScheduler implements BukkitScheduler { @Override public void cancelTasks(final Plugin plugin) { - Validate.notNull(plugin, "Cannot cancel tasks of null plugin"); + Preconditions.checkArgument(plugin != null, "Cannot cancel tasks of null plugin"); + // Paper start + if (!this.isAsyncScheduler) { + this.asyncScheduler.cancelTasks(plugin); @@ -252,7 +252,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee final CraftTask task = new CraftTask( new Runnable() { @Override -@@ -334,6 +364,13 @@ public class CraftScheduler implements BukkitScheduler { +@@ -331,6 +361,13 @@ public class CraftScheduler implements BukkitScheduler { @Override public boolean isCurrentlyRunning(final int taskId) { @@ -266,7 +266,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee final CraftTask task = this.runners.get(taskId); if (task == null) { return false; -@@ -352,6 +389,11 @@ public class CraftScheduler implements BukkitScheduler { +@@ -349,6 +386,11 @@ public class CraftScheduler implements BukkitScheduler { if (taskId <= 0) { return false; } @@ -278,7 +278,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee for (CraftTask task = this.head.getNext(); task != null; task = task.getNext()) { if (task.getTaskId() == taskId) { return task.getPeriod() >= CraftTask.NO_REPEATING; // The task will run -@@ -363,6 +405,12 @@ public class CraftScheduler implements BukkitScheduler { +@@ -360,6 +402,12 @@ public class CraftScheduler implements BukkitScheduler { @Override public List<BukkitWorker> getActiveWorkers() { @@ -291,7 +291,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee final ArrayList<BukkitWorker> workers = new ArrayList<BukkitWorker>(); for (final CraftTask taskObj : this.runners.values()) { // Iterator will be a best-effort (may fail to grab very new values) if called from an async thread -@@ -400,6 +448,11 @@ public class CraftScheduler implements BukkitScheduler { +@@ -397,6 +445,11 @@ public class CraftScheduler implements BukkitScheduler { pending.add(task); } } @@ -303,7 +303,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee return pending; } -@@ -407,6 +460,11 @@ public class CraftScheduler implements BukkitScheduler { +@@ -404,6 +457,11 @@ public class CraftScheduler implements BukkitScheduler { * This method is designed to never block or wait for locks; an immediate execution of all current tasks. */ public void mainThreadHeartbeat(final int currentTick) { @@ -315,16 +315,16 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee this.currentTick = currentTick; final List<CraftTask> temp = this.temp; this.parsePending(); -@@ -446,7 +504,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -443,7 +501,7 @@ public class CraftScheduler implements BukkitScheduler { this.parsePending(); } else { - //this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper -- this.executor.execute(new ServerSchedulerReportingWrapper(task)); // Paper + // this.debugTail = this.debugTail.setNext(new CraftAsyncDebugger(currentTick + CraftScheduler.RECENT_TICKS, task.getOwner(), task.getTaskClass())); // Paper +- this.executor.execute(new com.destroystokyo.paper.ServerSchedulerReportingWrapper(task)); // Paper + task.getOwner().getLogger().log(Level.SEVERE, "Unexpected Async Task in the Sync Scheduler. Report this to Paper"); // Paper // We don't need to parse pending // (async tasks must live with race-conditions if they attempt to cancel between these few lines of code) } -@@ -465,7 +523,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -462,7 +520,7 @@ public class CraftScheduler implements BukkitScheduler { //this.debugHead = this.debugHead.getNextHead(currentTick); // Paper } @@ -333,7 +333,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee final AtomicReference<CraftTask> tail = this.tail; CraftTask tailTask = tail.get(); while (!tail.compareAndSet(tailTask, task)) { -@@ -474,7 +532,13 @@ public class CraftScheduler implements BukkitScheduler { +@@ -471,7 +529,13 @@ public class CraftScheduler implements BukkitScheduler { tailTask.setNext(task); } @@ -348,7 +348,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee task.setNextRun(this.currentTick + delay); this.addTask(task); return task; -@@ -498,8 +562,8 @@ public class CraftScheduler implements BukkitScheduler { +@@ -494,8 +558,8 @@ public class CraftScheduler implements BukkitScheduler { return id; } @@ -359,7 +359,7 @@ index d96292052633941102c052894bef747817b2998f..ea7ebbc2674df727cf44856f172731ee CraftTask head = this.head; CraftTask task = head.getNext(); CraftTask lastTask = head; -@@ -518,7 +582,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -514,7 +578,7 @@ public class CraftScheduler implements BukkitScheduler { task.setNext(null); } this.head = lastTask; diff --git a/patches/server/0187-Flag-to-disable-the-channel-limit.patch b/patches/server/0187-Flag-to-disable-the-channel-limit.patch index a46d383e60..890c01d404 100644 --- a/patches/server/0187-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0187-Flag-to-disable-the-channel-limit.patch @@ -9,10 +9,10 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 26e89e7c9d648b9b1ce33714da8503122f100a9f..529812295ee99b4425ef95d0c5a972ba27c6f2b1 100644 +index a8930679d566fcbd0557b3023248ded393754c8d..62d04140dec79c108e38754e69b60ecaf36dc3c5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -182,6 +182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -181,6 +181,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; @@ -20,7 +20,7 @@ index 26e89e7c9d648b9b1ce33714da8503122f100a9f..529812295ee99b4425ef95d0c5a972ba // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -2034,7 +2035,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1985,7 +1986,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end public void addChannel(String channel) { diff --git a/patches/server/0188-Add-openSign-method-to-HumanEntity.patch b/patches/server/0188-Add-openSign-method-to-HumanEntity.patch index b91d3c8b72..45ac3fe3c6 100644 --- a/patches/server/0188-Add-openSign-method-to-HumanEntity.patch +++ b/patches/server/0188-Add-openSign-method-to-HumanEntity.patch @@ -28,10 +28,10 @@ index cc6aab5341365f9b4ec3cb23e2a4f5006aa75cd7..78b57aa3120f8526b4bff2ca90d77358 // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index c6b2f1b90735ec75492daf64031d9d33226cdac6..4f2a15ff2d4381765c608260c54494f6a11a66cf 100644 +index 2f5704b19148f390402c0823030806ba96860286..f59733b6918dcbbb2190f76d8b8841a2d8818cdf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -628,6 +628,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -626,6 +626,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } } diff --git a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch index 39416db812..cd8a1df970 100644 --- a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,20 +34,21 @@ index f2eefdeab44ad4f7c0abd0e55e688e74a83abfff..68257f257dd3b167e237482c8d149590 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f7938024605e61cdeee5668190abbf336611f425..fbbabae86ebca984c975b64a78a05354697b658f 100644 +index 04a12be27ea3f7b8c0dd2bb2c8f4f0a4b90de1b2..5f8ce418d0a906f576622c3387d15c3969812611 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1856,11 +1856,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1863,11 +1863,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public <T> void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { +- if (data != null) { + // Paper start - Particle API Expansion + spawnParticle(particle, null, null, x, y, z, count, offsetX, offsetY, offsetZ, extra, data, force); + } + public <T> void spawnParticle(Particle particle, List<Player> receivers, Player sender, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { + // Paper end - if (data != null && !particle.getDataType().isInstance(data)) { - throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); ++ if (data != null && !particle.getDataType().isInstance(data)) { + Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); } this.getHandle().sendParticles( - null, // Sender diff --git a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 154d72d6fe..5d2bb7facd 100644 --- a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 101dac0fcabc5fd696f58ec52ad1fc93a2d0afeb..cb6f5fc352aff449173825d4e7fad9fccb9df915 100644 +index 002875dc5ee549c5d192d90c6e4daf59c1f7c0ff..bdc752631136a4abe903e7a8f182e9eda480fcb6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -593,6 +593,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -592,6 +592,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity = net.minecraft.world.entity.EntityType.BOAT.create(world); } entity.moveTo(x, y, z, yaw, pitch); diff --git a/patches/server/0201-ItemStack-getMaxItemUseDuration.patch b/patches/server/0201-ItemStack-getMaxItemUseDuration.patch index 7248ef4436..3dc9b55c1f 100644 --- a/patches/server/0201-ItemStack-getMaxItemUseDuration.patch +++ b/patches/server/0201-ItemStack-getMaxItemUseDuration.patch @@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration Allows you to determine how long it takes to use a usable/consumable item diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index bdfce4a49cc6fed46de5864d1c443038f44027fb..e9ea9c85544a895dcf4220d907744996e6e077d4 100644 +index 7fd9a3a7f4cb98d89b7c4cbfda756d581963e5bf..0ac686e880f0f87ab3f6dbed77e553d7568b3305 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -173,6 +173,13 @@ public final class CraftItemStack extends ItemStack { +@@ -174,6 +174,13 @@ public final class CraftItemStack extends ItemStack { return (this.handle == null) ? Material.AIR.getMaxStackSize() : this.handle.getItem().getMaxStackSize(); } @@ -22,4 +22,4 @@ index bdfce4a49cc6fed46de5864d1c443038f44027fb..e9ea9c85544a895dcf4220d907744996 + @Override public void addUnsafeEnchantment(Enchantment ench, int level) { - Validate.notNull(ench, "Cannot add null enchantment"); + Preconditions.checkArgument(ench != null, "Enchantment cannot be null"); diff --git a/patches/server/0204-Fix-CraftEntity-hashCode.patch b/patches/server/0204-Fix-CraftEntity-hashCode.patch index 71ae889ef4..a1ed33d54c 100644 --- a/patches/server/0204-Fix-CraftEntity-hashCode.patch +++ b/patches/server/0204-Fix-CraftEntity-hashCode.patch @@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f1a382d26f6a64b1c3f81fd2f2d5a35c51a63fdb..18967257c5c217868a5356369e3e3b200044aa39 100644 +index 83bde3f87e0861fdfd01f843ccae285b1748619a..9614a0bd83139e8d62f60fe04f017e0cb0f828c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -837,14 +837,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -830,14 +830,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; diff --git a/patches/server/0207-Make-shield-blocking-delay-configurable.patch b/patches/server/0207-Make-shield-blocking-delay-configurable.patch index 690f9ca964..5d4a6a2ef0 100644 --- a/patches/server/0207-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0207-Make-shield-blocking-delay-configurable.patch @@ -35,10 +35,10 @@ index c3ad63e1882d53f4207f4f08b55088d175360e8d..f894ffb7c9575d7337353ab8aaaf0b96 return this.isShiftKeyDown(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 31f31f0a3dcd5764fffb710111b47359f793b9a2..104be41126252f9cdde3b961f2593b1348a38799 100644 +index 0fb61f37da9ef3e33803b41bd72e0bda5425eceb..b02d668243478c2cdc3d0212cec6f2e12a80414f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -791,5 +791,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -788,5 +788,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setArrowsStuck(final int arrows) { this.getHandle().setArrowCount(arrows); } diff --git a/patches/server/0211-Expand-Explosions-API.patch b/patches/server/0211-Expand-Explosions-API.patch index 77911f2f86..98ca885cf2 100644 --- a/patches/server/0211-Expand-Explosions-API.patch +++ b/patches/server/0211-Expand-Explosions-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fbbabae86ebca984c975b64a78a05354697b658f..1e4c89c1e0a01650711986310314ef342a2afbb4 100644 +index 5f8ce418d0a906f576622c3387d15c3969812611..4a64fda12ef5e5d07fe0b28c755a5b9fd96358e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -711,6 +711,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -716,6 +716,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean createExplosion(double x, double y, double z, float power, boolean setFire, boolean breakBlocks, Entity source) { return !this.world.explode(source == null ? null : ((CraftEntity) source).getHandle(), x, y, z, power, setFire, breakBlocks ? net.minecraft.world.level.Level.ExplosionInteraction.MOB : net.minecraft.world.level.Level.ExplosionInteraction.NONE).wasCanceled; } diff --git a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch index aaaa299a9a..4d12e9763e 100644 --- a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 104be41126252f9cdde3b961f2593b1348a38799..a9642e95cde4dc1c3cb9da50c921171c47665536 100644 +index b02d668243478c2cdc3d0212cec6f2e12a80414f..6c4ff1acbf09987f8d6a4b4b2c62fce264430706 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -801,5 +801,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -798,5 +798,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setShieldBlockingDelay(int delay) { getHandle().setShieldBlockingDelay(delay); } diff --git a/patches/server/0215-Implement-World.getEntity-UUID-API.patch b/patches/server/0215-Implement-World.getEntity-UUID-API.patch index f13d5bbabe..91b154cf4e 100644 --- a/patches/server/0215-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0215-Implement-World.getEntity-UUID-API.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 1e4c89c1e0a01650711986310314ef342a2afbb4..3e14eb63d57d8a9801185549deeafc6c5e09b50c 100644 +index 4a64fda12ef5e5d07fe0b28c755a5b9fd96358e6..b003de51df51bbe31c76289dcdf1f52051b20d35 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1035,6 +1035,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1040,6 +1040,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { return list; } + // Paper start - getEntity by UUID API + @Override + public Entity getEntity(UUID uuid) { -+ Validate.notNull(uuid, "UUID cannot be null"); ++ Preconditions.checkArgument(uuid != null, "UUID cannot be null"); + net.minecraft.world.entity.Entity entity = world.getEntity(uuid); + return entity == null ? null : entity.getBukkitEntity(); + } diff --git a/patches/server/0216-InventoryCloseEvent-Reason-API.patch b/patches/server/0216-InventoryCloseEvent-Reason-API.patch index 82678d216b..3d1f8d1b17 100644 --- a/patches/server/0216-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0216-InventoryCloseEvent-Reason-API.patch @@ -29,7 +29,7 @@ index 68257f257dd3b167e237482c8d149590103896b2..33ce550ea68d4862e0966ed827200cf4 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8b5b66c8f55660085ff3af824b8bf0c455be79bc..0578d72681a0d45b6c8d1d6d04208eb14fb60083 100644 +index dda3b911fcaa294ec7b8e9d696880fcb8325f69c..8e2340ca473c8cacfe9d888091834986bad101ce 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -682,7 +682,7 @@ public class ServerPlayer extends Player { @@ -75,7 +75,7 @@ index 8b5b66c8f55660085ff3af824b8bf0c455be79bc..0578d72681a0d45b6c8d1d6d04208eb1 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e7d2bd1b2ee80c5cc68048f2d90dcf21e50f04d2..3a3c21132b2a843de642490c7a256e53e2e90453 100644 +index 391295bf6898320421272ad5dfb14e4c5e2d2be0..92d359cfbe6fc5ae6be4931754cdf48ccd92ba13 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -220,6 +220,7 @@ import org.bukkit.event.inventory.ClickType; @@ -86,7 +86,7 @@ index e7d2bd1b2ee80c5cc68048f2d90dcf21e50f04d2..3a3c21132b2a843de642490c7a256e53 import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.inventory.SmithItemEvent; -@@ -2679,10 +2680,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2682,10 +2683,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { @@ -104,7 +104,7 @@ index e7d2bd1b2ee80c5cc68048f2d90dcf21e50f04d2..3a3c21132b2a843de642490c7a256e53 this.player.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 493099d1a1df085ec909ed6cd65a250c24f28bd1..233e79c71e2c46f4220dd7423ac421be9742f53e 100644 +index 875b08503fbbac256fad1b3f3d9c742bf1cdced2..e00c1916202a4e0550cc19c9cb279448a9fcdd1e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -533,7 +533,7 @@ public abstract class PlayerList { @@ -144,10 +144,10 @@ index 734d00e84ec0bcef91a12546873de64e33e14d0c..c7bcbc3f0542a74c30e29bded3bfc0e9 this.containerMenu = this.inventoryMenu; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 4f2a15ff2d4381765c608260c54494f6a11a66cf..16381beba53725651a92748f9521bdcb078a489e 100644 +index f59733b6918dcbbb2190f76d8b8841a2d8818cdf..ba6105a970381d642cd7955754cc47135207027a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -378,7 +378,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -376,7 +376,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { if (((ServerPlayer) this.getHandle()).connection == null) return; if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -156,7 +156,7 @@ index 4f2a15ff2d4381765c608260c54494f6a11a66cf..16381beba53725651a92748f9521bdcb } ServerPlayer player = (ServerPlayer) this.getHandle(); AbstractContainerMenu container; -@@ -448,8 +448,14 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -446,8 +446,14 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void closeInventory() { @@ -173,10 +173,10 @@ index 4f2a15ff2d4381765c608260c54494f6a11a66cf..16381beba53725651a92748f9521bdcb @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 529812295ee99b4425ef95d0c5a972ba27c6f2b1..8c31faad675edffedf8abfa0bc383ecb2fe6ddad 100644 +index 62d04140dec79c108e38754e69b60ecaf36dc3c5..42a1592e6f5a0d60718cb1f8682025bc4be48708 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1212,7 +1212,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1166,7 +1166,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Close any foreign inventory if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { @@ -186,10 +186,10 @@ index 529812295ee99b4425ef95d0c5a972ba27c6f2b1..8c31faad675edffedf8abfa0bc383ecb // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index beacc9af36eface8cf855ee15fb7bcf7e08f9439..116d3af618351cfec7dc172ba8e5170453b7226d 100644 +index f882b007756edc2f25e913393b7e8b400ccbe50e..1a0a4f2d94b65179426d7b5715847e5ed19489b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1261,7 +1261,7 @@ public class CraftEventFactory { +@@ -1265,7 +1265,7 @@ public class CraftEventFactory { public static AbstractContainerMenu callInventoryOpenEvent(ServerPlayer player, AbstractContainerMenu container, boolean cancelled) { if (player.containerMenu != player.inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -198,7 +198,7 @@ index beacc9af36eface8cf855ee15fb7bcf7e08f9439..116d3af618351cfec7dc172ba8e51704 } CraftServer server = player.level().getCraftServer(); -@@ -1435,8 +1435,18 @@ public class CraftEventFactory { +@@ -1439,8 +1439,18 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch index eec31863d4..4057901dbd 100644 --- a/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0218-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3a3c21132b2a843de642490c7a256e53e2e90453..8a2f8b48b23ddfc86746696021e62b96016afa2f 100644 +index 92d359cfbe6fc5ae6be4931754cdf48ccd92ba13..bd608e7ad27fd409442b524600c7a290320c40a7 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2561,6 +2561,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2564,6 +2564,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (event.isCancelled()) { diff --git a/patches/server/0226-Vanished-players-don-t-have-rights.patch b/patches/server/0226-Vanished-players-don-t-have-rights.patch index c75ae55f78..957e9557c2 100644 --- a/patches/server/0226-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0226-Vanished-players-don-t-have-rights.patch @@ -89,10 +89,10 @@ index 1beff41c02fb4c22b5474da7c514be2f50f16055..8a53284a5846b25864352e18a5e6b2de public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 116d3af618351cfec7dc172ba8e5170453b7226d..b77fefc9cf30fd438f557e5b56efb4c0251cb17a 100644 +index 1a0a4f2d94b65179426d7b5715847e5ed19489b5..2bb2c3ae7584d45ab9e32f1b9d0fa848e8667fc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1298,6 +1298,14 @@ public class CraftEventFactory { +@@ -1302,6 +1302,14 @@ public class CraftEventFactory { Projectile projectile = (Projectile) entity.getBukkitEntity(); org.bukkit.entity.Entity collided = position.getEntity().getBukkitEntity(); com.destroystokyo.paper.event.entity.ProjectileCollideEvent event = new com.destroystokyo.paper.event.entity.ProjectileCollideEvent(projectile, collided); diff --git a/patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch b/patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch index 840fa83aff..ce7d42bc7a 100644 --- a/patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch +++ b/patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch @@ -11,10 +11,10 @@ Returns true if getDamage() == 0 or has damage tag or other tag is set. Check the `ItemMetaTest#testTaggedButNotMeta` method to see how this method behaves. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index e9ea9c85544a895dcf4220d907744996e6e077d4..5388a07fd8b5c8a4ea604996fb41e526e0d7c16c 100644 +index 0ac686e880f0f87ab3f6dbed77e553d7568b3305..6775b432e17b09aaa21af5713fa0ffdf7fdbf8a9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -656,7 +656,7 @@ public final class CraftItemStack extends ItemStack { +@@ -657,7 +657,7 @@ public final class CraftItemStack extends ItemStack { @Override public boolean hasItemMeta() { diff --git a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch index 4954cf36ff..dff466e366 100644 --- a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch @@ -9,10 +9,10 @@ thread dumps at an interval until the point of crash. This will help diagnose what was going on in that time before the crash. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a003144fb74c9e7314b24216bc0e506e3d2bde0f..c7f665cd6879603ee58c85f04c7ae85737e3fc35 100644 +index 010318abbb6fadbadade8926793786eced6775d3..9cd0e389deda8d0bc7a551ff9e8b6bcd51184476 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1050,6 +1050,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1048,6 +1048,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.status = this.buildServerStatus(); // Spigot start @@ -33,10 +33,10 @@ index 24f62f9c4d288297d7a324e806745cc1449d7b4c..29eadf85e11c2261218fa406b29455da com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 85711eb6660db5961bb2362b8bc3e8aeeccb9dd1..8a6e457d20fad65023a182acd50bfb17f7f24017 100644 +index 23407ccc0482f67db46947cbcc56c5488c42cf93..537a5e19c9566dfbefa913a66183ec4ef31844c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -924,6 +924,7 @@ public final class CraftServer implements Server { +@@ -931,6 +931,7 @@ public final class CraftServer implements Server { @Override public void reload() { @@ -44,7 +44,7 @@ index 85711eb6660db5961bb2362b8bc3e8aeeccb9dd1..8a6e457d20fad65023a182acd50bfb17 this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -1013,6 +1014,7 @@ public final class CraftServer implements Server { +@@ -1020,6 +1021,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0249-Inventory-removeItemAnySlot.patch b/patches/server/0249-Inventory-removeItemAnySlot.patch index a8ba3ecb62..f8c275581d 100644 --- a/patches/server/0249-Inventory-removeItemAnySlot.patch +++ b/patches/server/0249-Inventory-removeItemAnySlot.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Inventory#removeItemAnySlot diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 82bc5e0c8d31e07bd48a729ca937367876be0a37..41c6bb644749b350c2e3552bbd0913b10fcb0abd 100644 +index 41a15ecba33c40c01f0ffdcfae687b96c03731da..287b17ba34f1261a708b9fbf41f6422d92d9c37b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -@@ -225,10 +225,16 @@ public class CraftInventory implements Inventory { +@@ -223,10 +223,16 @@ public class CraftInventory implements Inventory { } private int first(ItemStack item, boolean withAmount) { @@ -26,7 +26,7 @@ index 82bc5e0c8d31e07bd48a729ca937367876be0a37..41c6bb644749b350c2e3552bbd0913b1 for (int i = 0; i < inventory.length; i++) { if (inventory[i] == null) continue; -@@ -351,6 +357,17 @@ public class CraftInventory implements Inventory { +@@ -350,6 +356,17 @@ public class CraftInventory implements Inventory { @Override public HashMap<Integer, ItemStack> removeItem(ItemStack... items) { @@ -41,7 +41,7 @@ index 82bc5e0c8d31e07bd48a729ca937367876be0a37..41c6bb644749b350c2e3552bbd0913b1 + + private HashMap<Integer, ItemStack> removeItem(boolean searchEntire, ItemStack... items) { + // Paper end - Validate.notNull(items, "Items cannot be null"); + Preconditions.checkArgument(items != null, "items cannot be null"); HashMap<Integer, ItemStack> leftover = new HashMap<Integer, ItemStack>(); @@ -361,7 +378,10 @@ public class CraftInventory implements Inventory { diff --git a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 3f1c15ddd6..1f243711dc 100644 --- a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3e14eb63d57d8a9801185549deeafc6c5e09b50c..c5209c25602d32003b0681d55f9b2a428e1a8e2e 100644 +index b003de51df51bbe31c76289dcdf1f52051b20d35..e7aa0e6d78765836a31965ef9c518bfef17e2b03 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -401,7 +401,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -400,7 +400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch index 9d64c920f0..dc6af195b8 100644 --- a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch @@ -30,10 +30,10 @@ index 221fa0ca2f1c6e099da5b47ba42548262132d6de..f3af1c540b59819375f70ffbda613560 public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a9642e95cde4dc1c3cb9da50c921171c47665536..8601639fd5dfb7ce68d6bd7803efd10438338483 100644 +index 6c4ff1acbf09987f8d6a4b4b2c62fce264430706..bc40c64f8c9ace7dec8f966193f41c626ac14e22 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -200,6 +200,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -199,6 +199,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return blocks.get(0); } diff --git a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch index 3a3432b77e..118752835b 100644 --- a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 755aa5e3840f2b8b513351954ae035ad56f23cbb..875ac85307b3a1515aa101892010532a2f9cf4e1 100644 +index 42a1592e6f5a0d60718cb1f8682025bc4be48708..42c0012633f25b432ba2df0db412287bd00a5f5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2794,6 +2794,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2732,6 +2732,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.adventure$pointers; } diff --git a/patches/server/0253-Improve-death-events.patch b/patches/server/0253-Improve-death-events.patch index 229f8c261b..ea8c552270 100644 --- a/patches/server/0253-Improve-death-events.patch +++ b/patches/server/0253-Improve-death-events.patch @@ -19,7 +19,7 @@ public net.minecraft.world.entity.LivingEntity getDeathSound()Lnet/minecraft/sou public net.minecraft.world.entity.LivingEntity getSoundVolume()F diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0578d72681a0d45b6c8d1d6d04208eb14fb60083..2b4c0042b1971a9d922c8d32aa74c7f2e4c43341 100644 +index 8e2340ca473c8cacfe9d888091834986bad101ce..0282a467268564c55d9d6e10b0602f952b2ca7ae 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -243,6 +243,10 @@ public class ServerPlayer extends Player { @@ -357,10 +357,10 @@ index 719f68f96e58ddcdd3592131c691d21263c81915..4413b609f1250cf9477fcb3fecd7b67a this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a825805c4c1506628550864b8d1566727b15a10c..d5631eaed68b6745d8ee43751f6953094adc2c5e 100644 +index 42c0012633f25b432ba2df0db412287bd00a5f5b..cce52883b3ddb9bbf007ed701b291ee548225339 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2294,7 +2294,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2232,7 +2232,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void sendHealthUpdate() { @@ -377,7 +377,7 @@ index a825805c4c1506628550864b8d1566727b15a10c..d5631eaed68b6745d8ee43751f695309 public void injectScaledMaxHealth(Collection<AttributeInstance> collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b77fefc9cf30fd438f557e5b56efb4c0251cb17a..68b1e24a497c052c8e20b946b5b5dabc59e7f539 100644 +index 2bb2c3ae7584d45ab9e32f1b9d0fa848e8667fc0..e8783b2c7083c847770e9f08e796b58e9f8ea6ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -824,9 +824,16 @@ public class CraftEventFactory { diff --git a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index 826206d16e..5b6a8a9f46 100644 --- a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c078852b251d3 100644 +index 01e09dfc00b2ae9ecd39bea37f229ad826de121c..7c803a928f41938c03b0239cf04e2ee765ecefb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -84,6 +84,12 @@ import org.bukkit.persistence.PersistentDataContainer; +@@ -83,6 +83,12 @@ import org.bukkit.persistence.PersistentDataContainer; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -21,7 +21,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 /** * Children must include the following: * -@@ -272,6 +278,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -271,6 +277,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -32,7 +32,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 // We store the raw original JSON representation of all text data. See SPIGOT-5063, SPIGOT-5656, SPIGOT-5304 private String displayName; -@@ -285,6 +295,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -284,6 +294,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -43,7 +43,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 private static final Set<String> HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -322,6 +336,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -321,6 +335,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -59,7 +59,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -385,6 +408,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -384,6 +407,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.persistentDataContainer.put(key, compound.get(key).copy()); } } @@ -91,7 +91,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 Set<String> keys = tag.getAllKeys(); for (String key : keys) { -@@ -523,6 +571,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -522,6 +570,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.setDamage(damage); } @@ -126,7 +126,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(internal)); -@@ -651,6 +727,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -650,6 +726,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasDamage()) { itemTag.putInt(DAMAGE.NBT, damage); } @@ -150,7 +150,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 for (Map.Entry<String, Tag> e : this.unhandledTags.entrySet()) { itemTag.put(e.getKey(), e.getValue()); -@@ -667,6 +760,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -666,6 +759,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -172,7 +172,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 ListTag createStringList(List<String> list) { if (list == null) { return null; -@@ -750,7 +858,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -749,7 +857,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -181,7 +181,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 } // Paper start -@@ -1182,7 +1290,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1181,7 +1289,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) @@ -194,7 +194,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 } /** -@@ -1217,6 +1329,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1216,6 +1328,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); hash = 61 * hash + this.version; @@ -205,7 +205,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 return hash; } -@@ -1241,6 +1357,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1240,6 +1356,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.unbreakable = this.unbreakable; clone.damage = this.damage; clone.version = this.version; @@ -220,7 +220,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1298,6 +1422,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1297,6 +1421,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -244,7 +244,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 final Map<String, Tag> internalTags = new HashMap<String, Tag>(this.unhandledTags); this.serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1467,6 +1608,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1464,6 +1605,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, CraftMetaArmorStand.MARKER.NBT, @@ -253,7 +253,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 // Paper end CraftMetaCompass.LODESTONE_DIMENSION.NBT, CraftMetaCompass.LODESTONE_POS.NBT, -@@ -1496,4 +1639,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1493,4 +1636,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end @@ -267,7 +267,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 + @Override + @SuppressWarnings("deprecation") + public void setCanDestroy(Set<Material> canDestroy) { -+ Validate.notNull(canDestroy, "Cannot replace with null set!"); ++ Preconditions.checkArgument(canDestroy != null, "Cannot replace with null set!"); + legacyClearAndReplaceKeys(this.destroyableKeys, canDestroy); + } + @@ -280,7 +280,7 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 + @Override + @SuppressWarnings("deprecation") + public void setCanPlaceOn(Set<Material> canPlaceOn) { -+ Validate.notNull(canPlaceOn, "Cannot replace with null set!"); ++ Preconditions.checkArgument(canPlaceOn != null, "Cannot replace with null set!"); + legacyClearAndReplaceKeys(this.placeableKeys, canPlaceOn); + } + @@ -291,8 +291,8 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 + + @Override + public void setDestroyableKeys(Collection<Namespaced> canDestroy) { -+ Validate.notNull(canDestroy, "Cannot replace with null collection!"); -+ Validate.isTrue(ofAcceptableType(canDestroy), "Can only use NamespacedKey or NamespacedTag objects!"); ++ Preconditions.checkArgument(canDestroy != null, "Cannot replace with null collection!"); ++ Preconditions.checkArgument(ofAcceptableType(canDestroy), "Can only use NamespacedKey or NamespacedTag objects!"); + this.destroyableKeys.clear(); + this.destroyableKeys.addAll(canDestroy); + } @@ -304,8 +304,8 @@ index 134c91f69f5b532ed67428c097d93b38a83df01a..7dfe2e229dd8498a32a74dbfca5c0788 + + @Override + public void setPlaceableKeys(Collection<Namespaced> canPlaceOn) { -+ Validate.notNull(canPlaceOn, "Cannot replace with null collection!"); -+ Validate.isTrue(ofAcceptableType(canPlaceOn), "Can only use NamespacedKey or NamespacedTag objects!"); ++ Preconditions.checkArgument(canPlaceOn != null, "Cannot replace with null collection!"); ++ Preconditions.checkArgument(ofAcceptableType(canPlaceOn), "Can only use NamespacedKey or NamespacedTag objects!"); + this.placeableKeys.clear(); + this.placeableKeys.addAll(canPlaceOn); + } diff --git a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch index 8fb810f286..e82a8ec813 100644 --- a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch @@ -56,7 +56,7 @@ index b712f505fd092e0366ffc74ff59345a7f8c701be..6718b4159b1c670e0a15020ee5dba675 public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 8601639fd5dfb7ce68d6bd7803efd10438338483..b19185c16f8fecbefef697017e8dcfd249306fe3 100644 +index bc40c64f8c9ace7dec8f966193f41c626ac14e22..0c3ac380b9092ff961bce761ddfc835f4bd66544 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1,5 +1,6 @@ @@ -66,7 +66,7 @@ index 8601639fd5dfb7ce68d6bd7803efd10438338483..b19185c16f8fecbefef697017e8dcfd2 import com.google.common.base.Preconditions; import com.google.common.collect.Sets; import java.util.ArrayList; -@@ -225,6 +226,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -224,6 +225,39 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } return null; } diff --git a/patches/server/0266-Add-sun-related-API.patch b/patches/server/0266-Add-sun-related-API.patch index da9ff3dfbd..c1cdee93e6 100644 --- a/patches/server/0266-Add-sun-related-API.patch +++ b/patches/server/0266-Add-sun-related-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add sun related API public net.minecraft.world.entity.Mob isSunBurnTick()Z diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index c5209c25602d32003b0681d55f9b2a428e1a8e2e..81a2f407673eba0943bd7c514561d452197ec85f 100644 +index e7aa0e6d78765836a31965ef9c518bfef17e2b03..b005c956311612bc16b57e0ec9a4f832d9243dce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -687,6 +687,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -692,6 +692,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { } } diff --git a/patches/server/0274-Reset-players-airTicks-on-respawn.patch b/patches/server/0274-Reset-players-airTicks-on-respawn.patch index 398dc5e797..7c1b5965f6 100644 --- a/patches/server/0274-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0274-Reset-players-airTicks-on-respawn.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 323ed570882a3cd9b7e8bfdc1390f02e155c2448..698c28b425b82ec024cbdf9e00b15b02b3cab860 100644 +index c151777af839ef237c004a1dd1cd0e849e402f5b..56a9cfdb9dc24bd5bda2818b9f59d1a31dfe9265 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2454,6 +2454,7 @@ public class ServerPlayer extends Player { @@ -13,6 +13,6 @@ index 323ed570882a3cd9b7e8bfdc1390f02e155c2448..698c28b425b82ec024cbdf9e00b15b02 this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset + this.setAirSupply(this.getMaxAirSupply()); // Paper - this.remainingFireTicks = 0; + this.setRemainingFireTicks(0); this.fallDistance = 0; this.foodData = new FoodData(this); diff --git a/patches/server/0276-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0276-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index d3cd6525a9..9afa6988bd 100644 --- a/patches/server/0276-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/patches/server/0276-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -79,10 +79,10 @@ index 0f05d26248d8c999048a88796df227a6a1e3755f..7354711e194ab58b11b68f447c1fc795 return executorService; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c7f665cd6879603ee58c85f04c7ae85737e3fc35..fb9bc736bddcc992677b8dff5295a4df843f50c4 100644 +index 9cd0e389deda8d0bc7a551ff9e8b6bcd51184476..ed66f20b38fb6cea0dab020d8ffdde894da86113 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -321,6 +321,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -319,6 +319,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa S s0 = serverFactory.apply(thread); // CraftBukkit - decompile error atomicreference.set(s0); diff --git a/patches/server/0277-Optimize-World-Time-Updates.patch b/patches/server/0277-Optimize-World-Time-Updates.patch index bce0edaa34..66909f687a 100644 --- a/patches/server/0277-Optimize-World-Time-Updates.patch +++ b/patches/server/0277-Optimize-World-Time-Updates.patch @@ -8,10 +8,10 @@ the updates per world, so that we can re-use the same packet object for every player unless they have per-player time enabled. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb9bc736bddcc992677b8dff5295a4df843f50c4..b6535f3a4d1e7c3d009d14b151fc06c8811678bd 100644 +index ed66f20b38fb6cea0dab020d8ffdde894da86113..41181620a9fb8f9e5a8d5211d88fcb0c3063f42c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1389,12 +1389,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1387,12 +1387,24 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa MinecraftTimings.timeUpdateTimer.startTiming(); // Spigot // Paper // Send time updates to everyone, it will get the right time from the world the player is in. diff --git a/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch index 91e8ebc05b..b9c715a0a6 100644 --- a/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch +++ b/patches/server/0281-Don-t-allow-digging-into-unloaded-chunks.patch @@ -59,10 +59,10 @@ index 0d72be376615f84934b031243ef283b6efc0bd13..562534d15f6f70ff286be90fb512b807 this.level.destroyBlockProgress(this.player.getId(), pos, -1); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d05d088a5294f092f921961ec38053c8ccd6b6bd..024b5fe3eb90c447522141454d3f733e5381bb24 100644 +index 6da3c9d0947c022e5565302221db0d3d71f8ddcd..e6e34e5464c77dc9d349865690fa15bab0252aef 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1659,6 +1659,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1662,6 +1662,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic case START_DESTROY_BLOCK: case ABORT_DESTROY_BLOCK: case STOP_DESTROY_BLOCK: diff --git a/patches/server/0282-Make-the-default-permission-message-configurable.patch b/patches/server/0282-Make-the-default-permission-message-configurable.patch index 03086fc4ba..6dbccd2fed 100644 --- a/patches/server/0282-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0282-Make-the-default-permission-message-configurable.patch @@ -18,10 +18,10 @@ index e3467aaf6d0c8d486b84362e3c20b3fe631b50ff..8f16640fc2f1233c10392d7e32a54d78 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8a6e457d20fad65023a182acd50bfb17f7f24017..17d731fe40506c6a5768e0b49a9f9bafc98e4a82 100644 +index 537a5e19c9566dfbefa913a66183ec4ef31844c1..bf5e68463882f59d16550313b698156404ae90c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2689,6 +2689,16 @@ public final class CraftServer implements Server { +@@ -2710,6 +2710,16 @@ public final class CraftServer implements Server { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 4b23514320..f0b85247fd 100644 --- a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -16,7 +16,7 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 698c28b425b82ec024cbdf9e00b15b02b3cab860..47b3a068e1e8759648b24b362a34a0454f21c42d 100644 +index 56a9cfdb9dc24bd5bda2818b9f59d1a31dfe9265..7cb4f05a8d23a60a89dd4934ccb99bb89bb44141 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -243,6 +243,7 @@ public class ServerPlayer extends Player { @@ -28,7 +28,7 @@ index 698c28b425b82ec024cbdf9e00b15b02b3cab860..47b3a068e1e8759648b24b362a34a045 public boolean queueHealthUpdatePacket = false; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a9930382c39e20f30a3d613eb3c27144637c033b..d3a4de9d140440eb9dda9138bd73e8bd481d0139 100644 +index 2bccba03bb12cf17a82c1e54c2bb10535b7c8964..5657493e215a17f3132f9d411424875160fda6d9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -189,6 +189,7 @@ public abstract class PlayerList { @@ -106,10 +106,10 @@ index 69a1852905dd4724c30ac8ab88c14251eee2c371..17b3d5de58a9ef3acc67624c46cd6bbd public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d5631eaed68b6745d8ee43751f6953094adc2c5e..30047bdd26f642279f7d438d1e5f4758726b785c 100644 +index cce52883b3ddb9bbf007ed701b291ee548225339..dc71264669366dd4e08792f827287467dfcb63f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -183,6 +183,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -182,6 +182,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; private String resourcePackHash; private static final boolean DISABLE_CHANNEL_LIMIT = System.getProperty("paper.disableChannelLimit") != null; // Paper - add a flag to disable the channel limit @@ -117,7 +117,7 @@ index d5631eaed68b6745d8ee43751f6953094adc2c5e..30047bdd26f642279f7d438d1e5f4758 // Paper end public CraftPlayer(CraftServer server, ServerPlayer entity) { -@@ -1906,6 +1907,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1857,6 +1858,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.firstPlayed = firstPlayed; } @@ -136,7 +136,7 @@ index d5631eaed68b6745d8ee43751f6953094adc2c5e..30047bdd26f642279f7d438d1e5f4758 public void readExtraData(CompoundTag nbttagcompound) { this.hasPlayedBefore = true; if (nbttagcompound.contains("bukkit")) { -@@ -1928,6 +1941,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1879,6 +1892,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setExtraData(CompoundTag nbttagcompound) { @@ -145,7 +145,7 @@ index d5631eaed68b6745d8ee43751f6953094adc2c5e..30047bdd26f642279f7d438d1e5f4758 if (!nbttagcompound.contains("bukkit")) { nbttagcompound.put("bukkit", new CompoundTag()); } -@@ -1942,6 +1957,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1893,6 +1908,16 @@ public class CraftPlayer extends CraftHumanEntity implements Player { data.putLong("firstPlayed", this.getFirstPlayed()); data.putLong("lastPlayed", System.currentTimeMillis()); data.putString("lastKnownName", handle.getScoreboardName()); diff --git a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch index 385efabde8..00fa6fcd5e 100644 --- a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,10 +12,10 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2de1d3a69176ee5ce9792ccbdaa9900b8acbdd3b..4c7fa43293840781ee59ec0a387cf960e23dba51 100644 +index dc71264669366dd4e08792f827287467dfcb63f6..dd99a5ad2212fb228e766a0e0a90a68a3f4b515e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2841,6 +2841,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2779,6 +2779,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetCooldown() { getHandle().resetAttackStrengthTicker(); } diff --git a/patches/server/0294-Async-command-map-building.patch b/patches/server/0294-Async-command-map-building.patch index 8dd362548a..326a92278b 100644 --- a/patches/server/0294-Async-command-map-building.patch +++ b/patches/server/0294-Async-command-map-building.patch @@ -53,10 +53,10 @@ index e3394864e29357fec036f9e616472aeab95d035e..b7f1569c662df13f278fc704cabec040 event.getPlayer().getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b6535f3a4d1e7c3d009d14b151fc06c8811678bd..b29d5da64bfb05455abb4b012d17e4113b5b6f12 100644 +index 41181620a9fb8f9e5a8d5211d88fcb0c3063f42c..ef74bacd74cfef198c404293f9a13073fe3d5c66 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -898,6 +898,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -896,6 +896,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } MinecraftServer.LOGGER.info("Stopping server"); diff --git a/patches/server/0297-Limit-Client-Sign-length-more.patch b/patches/server/0297-Limit-Client-Sign-length-more.patch index c982114af7..7c04a4b68a 100644 --- a/patches/server/0297-Limit-Client-Sign-length-more.patch +++ b/patches/server/0297-Limit-Client-Sign-length-more.patch @@ -22,7 +22,7 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0222181b0dddffc3b0e91dc53b5424317bb191c7..ebd48880cd7256c8f26b9a2565a756efd0188746 100644 +index ce163795ff4385800800e2850bcfe44e2a97c141..c227373a0fcd6c365b766973fa1ce3d8bf16ee42 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -300,6 +300,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -33,7 +33,7 @@ index 0222181b0dddffc3b0e91dc53b5424317bb191c7..ebd48880cd7256c8f26b9a2565a756ef public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); -@@ -3198,7 +3199,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3201,7 +3202,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleSignUpdate(ServerboundSignUpdatePacket packet) { diff --git a/patches/server/0301-Entity-getEntitySpawnReason.patch b/patches/server/0301-Entity-getEntitySpawnReason.patch index e8c0df46a5..f6ea5a4b86 100644 --- a/patches/server/0301-Entity-getEntitySpawnReason.patch +++ b/patches/server/0301-Entity-getEntitySpawnReason.patch @@ -22,7 +22,7 @@ index 6b157b362cffedae26133fc0f0af1094655ee11f..986a509998d217228eb1dc2b58157875 // Paper start if (DEBUG_ENTITIES) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 888547c662b99193af8f803817bc830ab3cc9378..6151563936d5863bd44487da6fc6c0341e25df14 100644 +index e038240042366e1c491c04016982c91c91ee86cd..cccaf594392a0283f00986f182cc89d56181bc40 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -233,6 +233,11 @@ public abstract class PlayerList { @@ -47,7 +47,7 @@ index 888547c662b99193af8f803817bc830ab3cc9378..6151563936d5863bd44487da6fc6c034 }); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9db5795009389c3ca9ba70486dcd7225c3a83296..7f9c701e46088abd244cbe3a72042b9d580361ca 100644 +index 9780ebabd27def10b09deebc5be2043d063de9f3..7be82f903e5f65d00b68dc7ee7c1cb4b2be1dc8d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -234,6 +234,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -96,22 +96,22 @@ index 9db5795009389c3ca9ba70486dcd7225c3a83296..7f9c701e46088abd244cbe3a72042b9d } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index b5d605feff68181269f23d95d60a3ed555133d85..44b5b5cadad39cb20a44d7b1b73764568ac72f98 100644 +index a9be524edb03c51300bc45d424fcf87c7491a8c0..a08c2dee792da1a54005f0a65a9eefabc7bc7c60 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -186,6 +186,7 @@ public abstract class BaseSpawner { - // Spigot End +@@ -187,6 +187,7 @@ public abstract class BaseSpawner { } + entity.spawnedViaMobSpawner = true; // Paper + entity.spawnReason = org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.SPAWNER; // Paper flag = true; // Paper - // Spigot Start + // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 18967257c5c217868a5356369e3e3b200044aa39..5d8532bc2c4253aa3941ff8c4d48cc8c3860b3b0 100644 +index 9614a0bd83139e8d62f60fe04f017e0cb0f828c9..e237320b2703a1281fab47f24516e8b7d83677be 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1303,5 +1303,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1296,5 +1296,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean fromMobSpawner() { return getHandle().spawnedViaMobSpawner; } diff --git a/patches/server/0305-Server-Tick-Events.patch b/patches/server/0305-Server-Tick-Events.patch index 7ff482263a..b98bced041 100644 --- a/patches/server/0305-Server-Tick-Events.patch +++ b/patches/server/0305-Server-Tick-Events.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Server Tick Events Fires event at start and end of a server tick diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b29d5da64bfb05455abb4b012d17e4113b5b6f12..ac0c25ec9a06163f0f7290f9813fd5177b7ff87d 100644 +index ef74bacd74cfef198c404293f9a13073fe3d5c66..95c2be1ee4bca53c9ea78e3a32aaf3a6395381a7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1307,6 +1307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1305,6 +1305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa }); isOversleep = false;MinecraftTimings.serverOversleep.stopTiming(); // Paper end @@ -17,7 +17,7 @@ index b29d5da64bfb05455abb4b012d17e4113b5b6f12..ac0c25ec9a06163f0f7290f9813fd517 ++this.tickCount; this.tickChildren(shouldKeepTicking); -@@ -1328,6 +1329,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1326,6 +1327,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.runAllTasks(); } // Paper end diff --git a/patches/server/0308-Add-Heightmap-API.patch b/patches/server/0308-Add-Heightmap-API.patch index 278d8bae25..3e482f7785 100644 --- a/patches/server/0308-Add-Heightmap-API.patch +++ b/patches/server/0308-Add-Heightmap-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 81a2f407673eba0943bd7c514561d452197ec85f..b4875061e0165957a7d436550f9a74df6a08c9f8 100644 +index b005c956311612bc16b57e0ec9a4f832d9243dce..944f673c4537a44afbdf43e7540835a25b4dece7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -220,6 +220,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -219,6 +219,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { return CraftBlock.at(world, new BlockPos(x, y, z)); } diff --git a/patches/server/0309-Mob-Spawner-API-Enhancements.patch b/patches/server/0309-Mob-Spawner-API-Enhancements.patch index 1e57ceec67..3ad0d3508d 100644 --- a/patches/server/0309-Mob-Spawner-API-Enhancements.patch +++ b/patches/server/0309-Mob-Spawner-API-Enhancements.patch @@ -9,10 +9,10 @@ public net.minecraft.world.level.BaseSpawner delay(Lnet/minecraft/world/level/Le public net.minecraft.world.level.BaseSpawner setNextSpawnData(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/SpawnData;)V diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 44b5b5cadad39cb20a44d7b1b73764568ac72f98..65d78f1c93c98695e9a4369693f54751d3a69b25 100644 +index a08c2dee792da1a54005f0a65a9eefabc7bc7c60..369298dfd437c1c83801f3d4ba63484ee1b969fe 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -240,7 +240,13 @@ public abstract class BaseSpawner { +@@ -233,7 +233,13 @@ public abstract class BaseSpawner { } public void load(@Nullable Level world, BlockPos pos, CompoundTag nbt) { @@ -26,7 +26,7 @@ index 44b5b5cadad39cb20a44d7b1b73764568ac72f98..65d78f1c93c98695e9a4369693f54751 boolean flag = nbt.contains("SpawnData", 10); if (flag) { -@@ -263,9 +269,15 @@ public abstract class BaseSpawner { +@@ -256,9 +262,15 @@ public abstract class BaseSpawner { this.spawnPotentials = SimpleWeightedRandomList.single(this.nextSpawnData != null ? this.nextSpawnData : new SpawnData()); } @@ -44,7 +44,7 @@ index 44b5b5cadad39cb20a44d7b1b73764568ac72f98..65d78f1c93c98695e9a4369693f54751 this.spawnCount = nbt.getShort("SpawnCount"); } -@@ -282,9 +294,20 @@ public abstract class BaseSpawner { +@@ -275,9 +287,20 @@ public abstract class BaseSpawner { } public CompoundTag save(CompoundTag nbt) { @@ -69,10 +69,10 @@ index 44b5b5cadad39cb20a44d7b1b73764568ac72f98..65d78f1c93c98695e9a4369693f54751 nbt.putShort("MaxNearbyEntities", (short) this.maxNearbyEntities); nbt.putShort("RequiredPlayerRange", (short) this.requiredPlayerRange); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -index e8f888b9e37454d9863fbaf0f0c3dc982d582f1e..95b01ddddb1ba90da495927099147e775fb4f7aa 100644 +index ecafc548c96f01763f4f189c11de04636fb3968e..cc4c9c2db57d0727a898a90951d6d7e39fc5b190 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -@@ -129,4 +129,28 @@ public class CraftCreatureSpawner extends CraftBlockEntityState<SpawnerBlockEnti +@@ -134,4 +134,28 @@ public class CraftCreatureSpawner extends CraftBlockEntityState<SpawnerBlockEnti public void setSpawnRange(int spawnRange) { this.getSnapshot().getSpawner().spawnRange = spawnRange; } diff --git a/patches/server/0312-Implement-CraftBlockSoundGroup.patch b/patches/server/0312-Implement-CraftBlockSoundGroup.patch index 4a9ca1fe64..aa1e2c4994 100644 --- a/patches/server/0312-Implement-CraftBlockSoundGroup.patch +++ b/patches/server/0312-Implement-CraftBlockSoundGroup.patch @@ -50,10 +50,10 @@ index 0000000000000000000000000000000000000000..c5b07ec346105d1b95c1c938ffca12a2 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index d6b44134781007d29f4042d5ab707188c965331b..90ec90acd6cfe0dcc677c7f26493fc8184cacca8 100644 +index 3205d86a63f8fcf3ccd13c6be0e0eefc27beb62a..93bf6b8e30e5e28fa9261b8b927081d85547e400 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -649,4 +649,16 @@ public class CraftBlock implements Block { +@@ -647,4 +647,16 @@ public class CraftBlock implements Block { public String getTranslationKey() { return this.getNMS().getBlock().getDescriptionId(); } diff --git a/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch b/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch index 12b4b9b421..45e2ade11a 100644 --- a/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch +++ b/patches/server/0313-Configurable-Keep-Spawn-Loaded-range-per-world.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Keep Spawn Loaded range per world This lets you disable it for some worlds and lower it for others. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ac0c25ec9a06163f0f7290f9813fd5177b7ff87d..798a9083d78d49bc7c9e1d3dfb70c30e63e79a48 100644 +index 95c2be1ee4bca53c9ea78e3a32aaf3a6395381a7..cd57953e31c1f0f51553be113d84760f24b061b0 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -740,30 +740,33 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -738,30 +738,33 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit start public void prepareLevels(ChunkProgressListener worldloadlistener, ServerLevel worldserver) { @@ -53,7 +53,7 @@ index ac0c25ec9a06163f0f7290f9813fd5177b7ff87d..798a9083d78d49bc7c9e1d3dfb70c30e if (true) { ServerLevel worldserver1 = worldserver; -@@ -786,7 +789,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -784,7 +787,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // this.nextTickTime = SystemUtils.getMillis() + 10L; this.executeModerately(); // CraftBukkit end @@ -191,10 +191,10 @@ index 4d2348df25410a0b5364eec066880326d6667dad..286aad3205ef8a9e21a47ef07893844f this.maxCount = i * i; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b4875061e0165957a7d436550f9a74df6a08c9f8..a248b738de3936d73b80600687a9b88b425a494c 100644 +index 944f673c4537a44afbdf43e7540835a25b4dece7..66eabbe916994e96f67e2039e6b291447753900f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1344,15 +1344,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1350,15 +1350,21 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setKeepSpawnInMemory(boolean keepLoaded) { diff --git a/patches/server/0315-Expose-the-internal-current-tick.patch b/patches/server/0315-Expose-the-internal-current-tick.patch index 996eb252de..55a6b69199 100644 --- a/patches/server/0315-Expose-the-internal-current-tick.patch +++ b/patches/server/0315-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 17d731fe40506c6a5768e0b49a9f9bafc98e4a82..a0976fd1b142ac7f26da71720ce40b303e1daabe 100644 +index bf5e68463882f59d16550313b698156404ae90c1..9d477eaa1015b6337a644f1baafd7cba67bb0e4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2730,5 +2730,10 @@ public final class CraftServer implements Server { +@@ -2751,5 +2751,10 @@ public final class CraftServer implements Server { profile.getProperties().putAll(((CraftPlayer)player).getHandle().getGameProfile().getProperties()); return new com.destroystokyo.paper.profile.CraftPlayerProfile(profile); } diff --git a/patches/server/0316-Fix-World-isChunkGenerated-calls.patch b/patches/server/0316-Fix-World-isChunkGenerated-calls.patch index bae56ed1ed..ceb1869c90 100644 --- a/patches/server/0316-Fix-World-isChunkGenerated-calls.patch +++ b/patches/server/0316-Fix-World-isChunkGenerated-calls.patch @@ -156,10 +156,10 @@ index 96f129cb13642dc9667464b58c025fa0ed700cfd..29da08c58200c24fd03003937d30eb41 } catch (Throwable throwable) { if (dataoutputstream != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a248b738de3936d73b80600687a9b88b425a494c..f16ab24c0ff5b51432a8cbf9b5e7274c6b99ede6 100644 +index 66eabbe916994e96f67e2039e6b291447753900f..ad272693251141f60ef68c50cf27f3f005b0acbd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -308,9 +308,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -307,9 +307,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean isChunkGenerated(int x, int z) { @@ -185,7 +185,7 @@ index a248b738de3936d73b80600687a9b88b425a494c..f16ab24c0ff5b51432a8cbf9b5e7274c throw new RuntimeException(ex); } } -@@ -424,20 +438,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -423,20 +437,48 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot diff --git a/patches/server/0337-Entity-Activation-Range-2.0.patch b/patches/server/0337-Entity-Activation-Range-2.0.patch index 03914ad08e..6c4d053816 100644 --- a/patches/server/0337-Entity-Activation-Range-2.0.patch +++ b/patches/server/0337-Entity-Activation-Range-2.0.patch @@ -112,7 +112,7 @@ index 0efc377743e93a0120843cab192753d037e88a73..b12e9da3eebda396769b30f4b7e37a78 } else { passenger.stopRiding(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7f9c701e46088abd244cbe3a72042b9d580361ca..948ea6e93170902a771950a56f0ce1a41e2bffd7 100644 +index 7be82f903e5f65d00b68dc7ee7c1cb4b2be1dc8d..e35a8e118db04143b29b4c8e56b6fae277e18ca3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -390,6 +390,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -380,7 +380,7 @@ index 45f55c79a9d105f732054d61c4cf83eb5db49762..17a6327ab7b26dfab38881bbc0689b0b } } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 0bdd57e214a8652c2ce7c923c28fc17e52624fb5..d0092fa0595bcf3876dec4ef58516089ac99bb26 100644 +index 305d9772f2af22e8bdf73235cdb15ea01ac2c3b3..50ddcd7ee9c3ffe7549361f942df01b8ef078932 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -1,39 +1,52 @@ @@ -579,7 +579,7 @@ index 0bdd57e214a8652c2ce7c923c28fc17e52624fb5..d0092fa0595bcf3876dec4ef58516089 + if (inactiveWakeUpImmunity > -1) { + return inactiveWakeUpImmunity; + } -+ if (entity.remainingFireTicks > 0) { ++ if (entity.getRemainingFireTicks() > 0) { + return 2; + } + if (entity.activatedImmunityTick >= MinecraftServer.currentTick) { @@ -588,7 +588,7 @@ index 0bdd57e214a8652c2ce7c923c28fc17e52624fb5..d0092fa0595bcf3876dec4ef58516089 + long inactiveFor = MinecraftServer.currentTick - entity.activatedTick; + // Paper end // quick checks. -- if ( entity.wasTouchingWater || entity.remainingFireTicks > 0 ) +- if ( entity.wasTouchingWater || entity.getRemainingFireTicks() > 0 ) + if ( (entity.activationType != ActivationType.WATER && entity.wasTouchingWater && entity.isPushedByFluid()) ) // Paper { - return true; diff --git a/patches/server/0343-Anti-Xray.patch b/patches/server/0343-Anti-Xray.patch index 0b0c374f76..266d228c20 100644 --- a/patches/server/0343-Anti-Xray.patch +++ b/patches/server/0343-Anti-Xray.patch @@ -1573,12 +1573,12 @@ index b738e1f7debac7d70910d5ac908ca9d4f60640d5..269ebe8e8826a0c89e471cb59b503900 public CraftChunk(net.minecraft.world.level.chunk.LevelChunk chunk) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a0976fd1b142ac7f26da71720ce40b303e1daabe..d7fe84932e25a76105aa7637247fd4d034985efe 100644 +index 9d477eaa1015b6337a644f1baafd7cba67bb0e4a..f7d2193f7e182e64cd51d3f909e4f0505a388f48 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2264,7 +2264,7 @@ public final class CraftServer implements Server { +@@ -2280,7 +2280,7 @@ public final class CraftServer implements Server { public ChunkGenerator.ChunkData createChunkData(World world) { - Validate.notNull(world, "World cannot be null"); + Preconditions.checkArgument(world != null, "World cannot be null"); ServerLevel handle = ((CraftWorld) world).getHandle(); - return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME)); + return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME), world); // Paper - Anti-Xray - Add parameters @@ -1586,10 +1586,10 @@ index a0976fd1b142ac7f26da71720ce40b303e1daabe..d7fe84932e25a76105aa7637247fd4d0 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f16ab24c0ff5b51432a8cbf9b5e7274c6b99ede6..62a3e2819510a056707dadf79a8e4fc5a9772fd9 100644 +index ad272693251141f60ef68c50cf27f3f005b0acbd..e3308c3e93abf80022a16166c3cc522da8221f34 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -419,11 +419,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -418,11 +418,16 @@ public class CraftWorld extends CraftRegionAccessor implements World { List<ServerPlayer> playersInRange = playerChunk.playerProvider.getPlayers(playerChunk.getPos(), false); if (playersInRange.isEmpty()) return true; // Paper - rewrite player chunk loader diff --git a/patches/server/0345-Improve-Block-breakNaturally-API.patch b/patches/server/0345-Improve-Block-breakNaturally-API.patch index 6750acb88f..4de6b7c5eb 100644 --- a/patches/server/0345-Improve-Block-breakNaturally-API.patch +++ b/patches/server/0345-Improve-Block-breakNaturally-API.patch @@ -34,10 +34,10 @@ index 6f9cb55491da718cd6564425748ab3852fda9b68..5fbdc96f29e29dfc092b9e84a988032d if (world.dimensionType().ultraWarm()) { world.removeBlock(pos, false); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 90ec90acd6cfe0dcc677c7f26493fc8184cacca8..c67de2f3bb8b048b8432add4adcb9e6042fb65ad 100644 +index 93bf6b8e30e5e28fa9261b8b927081d85547e400..5534348ddb3ac42b6b8a687816c2c8c1858e3b3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -479,6 +479,18 @@ public class CraftBlock implements Block { +@@ -477,6 +477,18 @@ public class CraftBlock implements Block { @Override public boolean breakNaturally(ItemStack item) { @@ -56,7 +56,7 @@ index 90ec90acd6cfe0dcc677c7f26493fc8184cacca8..c67de2f3bb8b048b8432add4adcb9e60 // Order matters here, need to drop before setting to air so skulls can get their data net.minecraft.world.level.block.state.BlockState iblockdata = this.getNMS(); net.minecraft.world.level.block.Block block = iblockdata.getBlock(); -@@ -488,11 +500,35 @@ public class CraftBlock implements Block { +@@ -486,11 +498,35 @@ public class CraftBlock implements Block { // Modelled off EntityHuman#hasBlock if (block != Blocks.AIR && (item == null || !iblockdata.requiresCorrectToolForDrops() || nmsItem.isCorrectToolForDrops(iblockdata))) { net.minecraft.world.level.block.Block.dropResources(iblockdata, this.world.getMinecraftWorld(), position, this.world.getBlockEntity(position), null, nmsItem); diff --git a/patches/server/0350-Entity-Jump-API.patch b/patches/server/0350-Entity-Jump-API.patch index 29fd5fcc9a..4c1f5f0426 100644 --- a/patches/server/0350-Entity-Jump-API.patch +++ b/patches/server/0350-Entity-Jump-API.patch @@ -48,10 +48,10 @@ index 243397de3b0a843ec95c6b721d7fc654bfc78448..aad1fb5cf231b400dc8c192871aa4429 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index b19185c16f8fecbefef697017e8dcfd249306fe3..c5784574f584a5588020b16776f01faf6902cbe8 100644 +index 0c3ac380b9092ff961bce761ddfc835f4bd66544..6bf1b3a9ee029feafa054f40291078c79f28c5f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -887,5 +887,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -884,5 +884,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public org.bukkit.inventory.EquipmentSlot getHandRaised() { return getHandle().getUsedItemHand() == net.minecraft.world.InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND; } diff --git a/patches/server/0359-Add-tick-times-API-and-mspt-command.patch b/patches/server/0359-Add-tick-times-API-and-mspt-command.patch index ee4a71dad9..80ac508d51 100644 --- a/patches/server/0359-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0359-Add-tick-times-API-and-mspt-command.patch @@ -125,11 +125,11 @@ index d44d0074446c1c54e87dc8078dff7fef1d92f343..bbb8b1933ef33a3b91f69545f69dd3cf public static void registerCommands(final MinecraftServer server) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 798a9083d78d49bc7c9e1d3dfb70c30e63e79a48..b2b7f5f30b3967a9f8a32e27557639da7d408152 100644 +index cd57953e31c1f0f51553be113d84760f24b061b0..36112a1ab7306deb3cc38b103f22f7c1b8f89206 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -253,6 +253,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa - @Nullable private net.kyori.adventure.text.Component cachedMotd; // Paper +@@ -251,6 +251,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa + private net.kyori.adventure.text.Component motd; // Paper - Adventure private int playerIdleTimeout; public final long[] tickTimes; + // Paper start @@ -140,7 +140,7 @@ index 798a9083d78d49bc7c9e1d3dfb70c30e63e79a48..b2b7f5f30b3967a9f8a32e27557639da @Nullable private KeyPair keyPair; @Nullable -@@ -1343,6 +1348,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1341,6 +1346,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.averageTickTime = this.averageTickTime * 0.8F + (float) j / 1000000.0F * 0.19999999F; long k = Util.getNanos(); @@ -152,7 +152,7 @@ index 798a9083d78d49bc7c9e1d3dfb70c30e63e79a48..b2b7f5f30b3967a9f8a32e27557639da this.frameTimer.logFrameDuration(k - i); this.profiler.pop(); org.spigotmc.WatchdogThread.tick(); // Spigot -@@ -2573,4 +2583,30 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2571,4 +2581,30 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public static record ServerResourcePackInfo(String url, String hash, boolean isRequired, @Nullable Component prompt) { } @@ -184,10 +184,10 @@ index 798a9083d78d49bc7c9e1d3dfb70c30e63e79a48..b2b7f5f30b3967a9f8a32e27557639da + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d7fe84932e25a76105aa7637247fd4d034985efe..fb422d7f6639aa66cc6bd2d458eb3797d3dba702 100644 +index f7d2193f7e182e64cd51d3f909e4f0505a388f48..6e1618f32f1b5a896fa647d857eed4356115dcdd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2514,6 +2514,16 @@ public final class CraftServer implements Server { +@@ -2535,6 +2535,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0360-Expose-MinecraftServer-isRunning.patch b/patches/server/0360-Expose-MinecraftServer-isRunning.patch index 920fa2794b..5dec3ef5cf 100644 --- a/patches/server/0360-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0360-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fb422d7f6639aa66cc6bd2d458eb3797d3dba702..db67c80e5e42a71aee4a53ba7486031a7b1e6498 100644 +index 6e1618f32f1b5a896fa647d857eed4356115dcdd..f87a6248a9e920d0e64d7971b0f056d06bc222e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2745,5 +2745,10 @@ public final class CraftServer implements Server { +@@ -2766,5 +2766,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0361-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0361-Add-Raw-Byte-ItemStack-Serialization.patch index 019631e54b..6fece81d45 100644 --- a/patches/server/0361-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0361-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index f5f528e4520c5e52e1e9dae5228525f29e4eee92..447df549a0d371389b086327b06b74aa1d6647cd 100644 +index e608b7542f6de7b3f2d7af25bb28f2705f6a9688..00dc3da665c295133931b80f92c19333d18b5f9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -468,6 +468,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -466,6 +466,52 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0371-Improved-Watchdog-Support.patch b/patches/server/0371-Improved-Watchdog-Support.patch index b1c421f1e8..680307abd1 100644 --- a/patches/server/0371-Improved-Watchdog-Support.patch +++ b/patches/server/0371-Improved-Watchdog-Support.patch @@ -71,10 +71,10 @@ index 336795dff742b7c6957fbd3476aff31d25a5e659..30a58229aa6dac5039511d0c0df5f291 cause = cause.getCause(); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2a2c11678 100644 +index 36112a1ab7306deb3cc38b103f22f7c1b8f89206..e658f17f04f0e4e541353bf59411788f9da9a780 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -299,7 +299,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -297,7 +297,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public java.util.Queue<Runnable> processQueue = new java.util.concurrent.ConcurrentLinkedQueue<Runnable>(); public int autosavePeriod; public Commands vanillaCommandDispatcher; @@ -83,7 +83,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 // CraftBukkit end // Spigot start public static final int TPS = 20; -@@ -310,6 +310,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -308,6 +308,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public final io.papermc.paper.configuration.PaperConfigurations paperConfigurations; public static long currentTickLong = 0L; // Paper @@ -93,7 +93,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { AtomicReference<S> atomicreference = new AtomicReference(); Thread thread = new io.papermc.paper.util.TickThread(() -> { // Paper - rewrite chunk system -@@ -886,6 +889,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -884,6 +887,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit start private boolean hasStopped = false; @@ -101,7 +101,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 private final Object stopLock = new Object(); public final boolean hasStopped() { synchronized (this.stopLock) { -@@ -900,6 +904,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -898,6 +902,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (this.hasStopped) return; this.hasStopped = true; } @@ -121,7 +121,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 // CraftBukkit end if (this.metricsRecorder.isRecording()) { this.cancelRecordingMetrics(); -@@ -956,7 +973,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -954,7 +971,19 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.getProfileCache().save(false); // Paper } // Spigot end @@ -141,7 +141,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 } public String getLocalIp() { -@@ -1051,6 +1080,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1049,6 +1078,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa protected void runServer() { try { @@ -149,7 +149,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 if (!this.initServer()) { throw new IllegalStateException("Failed to initialize server"); } -@@ -1060,6 +1090,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1058,6 +1088,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.status = this.buildServerStatus(); // Spigot start @@ -168,7 +168,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 org.spigotmc.WatchdogThread.hasStarted = true; // Paper Arrays.fill( recentTps, 20 ); long start = System.nanoTime(), curTime, tickSection = start; // Paper - Further improve server tick loop -@@ -1120,6 +1162,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1118,6 +1160,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa JvmProfiler.INSTANCE.onServerTick(this.averageTickTime); } } catch (Throwable throwable) { @@ -181,7 +181,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 MinecraftServer.LOGGER.error("Encountered an unexpected exception", throwable); // Spigot Start if ( throwable.getCause() != null ) -@@ -1150,14 +1198,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1148,14 +1196,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.services.profileCache().clearExecutor(); } @@ -199,7 +199,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 } } -@@ -1226,6 +1274,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1224,6 +1272,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa @Override public TickTask wrapRunnable(Runnable runnable) { @@ -212,7 +212,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 return new TickTask(this.tickCount, runnable); } -@@ -1461,6 +1515,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1459,6 +1513,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa try { crashreport = CrashReport.forThrowable(throwable, "Exception ticking world"); } catch (Throwable t) { @@ -220,7 +220,7 @@ index b2b7f5f30b3967a9f8a32e27557639da7d408152..8fc669ec3b6afa4ed9447878604ba2b2 throw new RuntimeException("Error generating crash report", t); } // Spigot End -@@ -1961,7 +2016,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1959,7 +2014,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.worldData.setDataConfiguration(worlddataconfiguration); this.resources.managers.updateRegistryTags(this.registryAccess()); @@ -270,7 +270,7 @@ index aa1622fb3ea1f349b539e09c811de0f297a86076..aaad6b0de19872c6e54591adf90c30d2 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5b3e8adde28d11aec4ea526ebba61d561ec06cb6..95356cfb36f2103889a21d6c360d29a318c871dd 100644 +index 5b8b345ade30012371bdda744ba82c585f74db07..0d100788312a234616c1401656f09835458e79f6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -547,7 +547,7 @@ public abstract class PlayerList { @@ -537,7 +537,7 @@ index b47d043144c499b1499f6b4be5a16a3f75c9fcb8..383c52c62f49b17db2fbf58009d6ea13 break; } // Paper end diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 3dc317e466e1b93dff030794dd7f29ca1b266778..d285dbec16272db6b8a71865e05924ad66087407 100644 +index ea4e2161c0bd43884055cc6b8d70b2139f70e720..266b4e6fb3988b5848021c83fdc68e342c70b188 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -1,5 +1,5 @@ diff --git a/patches/server/0375-Prevent-opening-inventories-when-frozen.patch b/patches/server/0375-Prevent-opening-inventories-when-frozen.patch index 972c09486b..93a9721f23 100644 --- a/patches/server/0375-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0375-Prevent-opening-inventories-when-frozen.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent opening inventories when frozen diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e8a1aff3ddd94925e1c0f554cc8e7ff9e9864242..0a9e30d64a9e8007b12da6611fde017d5c53fa05 100644 +index 6ad3b7e7c7808cb40697e2eb6185f431fc431a20..65d17836785774d0f196321ba741ffd05a9db36e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -693,7 +693,7 @@ public class ServerPlayer extends Player { @@ -27,10 +27,10 @@ index e8a1aff3ddd94925e1c0f554cc8e7ff9e9864242..0a9e30d64a9e8007b12da6611fde017d this.initMenu(container); return OptionalInt.of(this.containerCounter); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 16381beba53725651a92748f9521bdcb078a489e..c31c9ccbefb1f6ed1e3f56c7ca445813ec635a12 100644 +index ba6105a970381d642cd7955754cc47135207027a..82314358220b064a0f8a29cc1d663cc266c13916 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -327,7 +327,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -325,7 +325,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { if (adventure$title == null) adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(container.getBukkitView().getTitle()); // Paper //player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, CraftChatMessage.fromString(title)[0])); // Paper - comment @@ -39,7 +39,7 @@ index 16381beba53725651a92748f9521bdcb078a489e..c31c9ccbefb1f6ed1e3f56c7ca445813 player.containerMenu = container; player.initMenu(container); } -@@ -401,7 +401,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -399,7 +399,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { net.kyori.adventure.text.Component adventure$title = inventory.title(); // Paper if (adventure$title == null) adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(inventory.getTitle()); // Paper //player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, CraftChatMessage.fromString(title)[0])); // Paper - comment diff --git a/patches/server/0377-Implement-Player-Client-Options-API.patch b/patches/server/0377-Implement-Player-Client-Options-API.patch index a3cf730863..a6433deeff 100644 --- a/patches/server/0377-Implement-Player-Client-Options-API.patch +++ b/patches/server/0377-Implement-Player-Client-Options-API.patch @@ -87,7 +87,7 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0a9e30d64a9e8007b12da6611fde017d5c53fa05..cc3ebc15e25e132870bbc336e68216459a4545da 100644 +index 65d17836785774d0f196321ba741ffd05a9db36e..fd34a2ace2efc819b06674ceab44ff78ec11f805 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1949,9 +1949,24 @@ public class ServerPlayer extends Player { @@ -116,10 +116,10 @@ index 0a9e30d64a9e8007b12da6611fde017d5c53fa05..cc3ebc15e25e132870bbc336e6821645 if (getMainArm() != packet.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 062d2c8e7c28e221fd6cccdef49d8bdce10c3c59..7bed46c9bc305cbb67e145c9ea62de06708a1f00 100644 +index dd99a5ad2212fb228e766a0e0a90a68a3f4b515e..ef2476afc452c83be28c97d9860e27368ded5254 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -594,6 +594,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -591,6 +591,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } diff --git a/patches/server/0385-Villager-Restocks-API.patch b/patches/server/0385-Villager-Restocks-API.patch index 2629910b56..c424a6d1fe 100644 --- a/patches/server/0385-Villager-Restocks-API.patch +++ b/patches/server/0385-Villager-Restocks-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Villager Restocks API public net.minecraft.world.entity.npc.Villager numberOfRestocksToday diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 87d9cd989be932cf3eb9e777cbc2d2246ccf9d9a..350cfc1526894f4dac56832a6d1dfbbc9b25123c 100644 +index de8eec8d0294f2eb5ae73e060df9805758b9881d..0c92bbe9900a9d598ad90f2ba12808c776ba8f04 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -92,6 +92,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -91,6 +91,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { this.getHandle().setVillagerXp(experience); } diff --git a/patches/server/0387-Expose-game-version.patch b/patches/server/0387-Expose-game-version.patch index 5c1a5c2389..5fd69af924 100644 --- a/patches/server/0387-Expose-game-version.patch +++ b/patches/server/0387-Expose-game-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index db67c80e5e42a71aee4a53ba7486031a7b1e6498..387dd679057b4968a3b6288e52d812ba9eefd1eb 100644 +index f87a6248a9e920d0e64d7971b0f056d06bc222e8..af3c77a26a054c65f2f17037879fc54ada478848 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -577,6 +577,13 @@ public final class CraftServer implements Server { +@@ -576,6 +576,13 @@ public final class CraftServer implements Server { return this.bukkitVersion; } diff --git a/patches/server/0390-misc-debugging-dumps.patch b/patches/server/0390-misc-debugging-dumps.patch index 1a8bb916a1..8a66975bcd 100644 --- a/patches/server/0390-misc-debugging-dumps.patch +++ b/patches/server/0390-misc-debugging-dumps.patch @@ -29,10 +29,10 @@ index 0000000000000000000000000000000000000000..2d5494d2813b773e60ddba6790b750a9 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8fc669ec3b6afa4ed9447878604ba2b2a2c11678..56574a625fb4378997bcc79915dbb083e2c59f70 100644 +index e658f17f04f0e4e541353bf59411788f9da9a780..f4ad35b55cacd5c1c3e4d81d4a9cf9675349ce79 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -890,6 +890,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -888,6 +888,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit start private boolean hasStopped = false; public volatile boolean hasFullyShutdown = false; // Paper @@ -40,7 +40,7 @@ index 8fc669ec3b6afa4ed9447878604ba2b2a2c11678..56574a625fb4378997bcc79915dbb083 private final Object stopLock = new Object(); public final boolean hasStopped() { synchronized (this.stopLock) { -@@ -904,6 +905,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -902,6 +903,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (this.hasStopped) return; this.hasStopped = true; } @@ -48,7 +48,7 @@ index 8fc669ec3b6afa4ed9447878604ba2b2a2c11678..56574a625fb4378997bcc79915dbb083 // Paper start - kill main thread, and kill it hard shutdownThread = Thread.currentThread(); org.spigotmc.WatchdogThread.doStop(); // Paper -@@ -1006,6 +1008,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1004,6 +1006,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } public void safeShutdown(boolean waitForShutdown, boolean isRestarting) { this.isRestarting = isRestarting; @@ -74,10 +74,10 @@ index 0c7f280bae81bbb492d5780a43e5ffda0f58756a..238a7bc87ab49da1f0fa3c733dd512fd this.connection.send(new ClientboundDisconnectPacket(ichatmutablecomponent)); this.connection.disconnect(ichatmutablecomponent); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 387dd679057b4968a3b6288e52d812ba9eefd1eb..ec0d03aedac540f67552a5a8371518d673519d87 100644 +index af3c77a26a054c65f2f17037879fc54ada478848..1b5197752992ed7c7a8ea6d01e5efa90347e8ddd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1015,6 +1015,7 @@ public final class CraftServer implements Server { +@@ -1022,6 +1022,7 @@ public final class CraftServer implements Server { plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); diff --git a/patches/server/0391-Prevent-teleporting-dead-entities.patch b/patches/server/0391-Prevent-teleporting-dead-entities.patch index 6e59e14462..fc07c39e1c 100644 --- a/patches/server/0391-Prevent-teleporting-dead-entities.patch +++ b/patches/server/0391-Prevent-teleporting-dead-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent teleporting dead entities diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1bf4ed4878f900730f66e2245106e66bd1927a5f..817db930347b0a83f3cea8cbcbd823622c1be7c0 100644 +index ee7c9f1efcc0de58bb2bf7126a589e5ca8f3c409..9788b50ca86be8cf8412b5c53ad75bda5d8615e3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1612,6 +1612,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1615,6 +1615,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper diff --git a/patches/server/0393-Implement-Mob-Goal-API.patch b/patches/server/0393-Implement-Mob-Goal-API.patch index 5781049a4c..591df060da 100644 --- a/patches/server/0393-Implement-Mob-Goal-API.patch +++ b/patches/server/0393-Implement-Mob-Goal-API.patch @@ -792,10 +792,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ec0d03aedac540f67552a5a8371518d673519d87..095ee082f73c24a8b1d311e15eed49048c6646d9 100644 +index 1b5197752992ed7c7a8ea6d01e5efa90347e8ddd..057a7df7daba35debe470116c28a5984e4e8132f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2758,5 +2758,11 @@ public final class CraftServer implements Server { +@@ -2779,5 +2779,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0394-Add-villager-reputation-API.patch b/patches/server/0394-Add-villager-reputation-API.patch index a84e9e01ee..0b402ed019 100644 --- a/patches/server/0394-Add-villager-reputation-API.patch +++ b/patches/server/0394-Add-villager-reputation-API.patch @@ -57,10 +57,10 @@ index a28f359202e6502c6ea5e9c918ec0b3e9a3fca61..76dffb2705e5207db96895f82f1c7c56 static record GossipEntry(UUID target, GossipType type, int value) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 350cfc1526894f4dac56832a6d1dfbbc9b25123c..e6fcdbabde66f4707627fc8c3012aa20de8e34e3 100644 +index 0c92bbe9900a9d598ad90f2ba12808c776ba8f04..6f7977b492ce01e7cda7872c42bd7f2386d3e745 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -18,6 +18,13 @@ import org.bukkit.entity.Villager; +@@ -17,6 +17,13 @@ import org.bukkit.entity.Villager; import org.bukkit.entity.ZombieVillager; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -74,7 +74,7 @@ index 350cfc1526894f4dac56832a6d1dfbbc9b25123c..e6fcdbabde66f4707627fc8c3012aa20 public class CraftVillager extends CraftAbstractVillager implements Villager { public CraftVillager(CraftServer server, net.minecraft.world.entity.npc.Villager entity) { -@@ -147,4 +154,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -146,4 +153,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { public static VillagerProfession bukkitToNmsProfession(Profession bukkit) { return BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey())); } diff --git a/patches/server/0397-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0397-Fix-PotionEffect-ignores-icon-flag.patch index cd3de7681e..296215abfc 100644 --- a/patches/server/0397-Fix-PotionEffect-ignores-icon-flag.patch +++ b/patches/server/0397-Fix-PotionEffect-ignores-icon-flag.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c5784574f584a5588020b16776f01faf6902cbe8..658d4dbb45d17e7064f69b10af8fbfa473a8dffe 100644 +index 6bf1b3a9ee029feafa054f40291078c79f28c5f4..2f6ba5525a014dfb3ce2efae765e501e8cd1c1c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -431,7 +431,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -430,7 +430,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public boolean addPotionEffect(PotionEffect effect, boolean force) { diff --git a/patches/server/0400-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0400-Wait-for-Async-Tasks-during-shutdown.patch index 59a602c961..fe1354b419 100644 --- a/patches/server/0400-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0400-Wait-for-Async-Tasks-during-shutdown.patch @@ -10,10 +10,10 @@ Adds a 5 second grace period for any async tasks to finish and warns if any are still running after that delay just as reload does. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 56574a625fb4378997bcc79915dbb083e2c59f70..f6b8426ddc50363991c78ae731898d1a323ef5a1 100644 +index f4ad35b55cacd5c1c3e4d81d4a9cf9675349ce79..53876c0d957e2d151e93744eff60606096f02e66 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -930,6 +930,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -928,6 +928,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // CraftBukkit start if (this.server != null) { this.server.disablePlugins(); @@ -22,10 +22,10 @@ index 56574a625fb4378997bcc79915dbb083e2c59f70..f6b8426ddc50363991c78ae731898d1a // CraftBukkit end if (this.getConnection() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 095ee082f73c24a8b1d311e15eed49048c6646d9..4971e0d7254807a27123721dad24a7985b32cf87 100644 +index 057a7df7daba35debe470116c28a5984e4e8132f..3062d9bc3582d7468000ec3b51bf47acfc628e71 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1025,6 +1025,31 @@ public final class CraftServer implements Server { +@@ -1032,6 +1032,31 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0409-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/server/0409-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch index 1cafad18f3..b8e4ac5d6c 100644 --- a/patches/server/0409-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch +++ b/patches/server/0409-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix CraftScheduler#runTaskTimerAsynchronously(Plugin, diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index ea7ebbc2674df727cf44856f172731ee083b8800..a423970cf7c927ea8a1bf842aaa236d3cf2d54c2 100644 +index 918e11422854d7301c84b466533770c2a429a682..addf3c442a085281a7ac06245ccd741f08ed7ccb 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -199,7 +199,7 @@ public class CraftScheduler implements BukkitScheduler { +@@ -196,7 +196,7 @@ public class CraftScheduler implements BukkitScheduler { @Override public void runTaskTimerAsynchronously(Plugin plugin, Consumer<BukkitTask> task, long delay, long period) throws IllegalArgumentException { diff --git a/patches/server/0415-Inventory-getHolder-method-without-block-snapshot.patch b/patches/server/0415-Inventory-getHolder-method-without-block-snapshot.patch index 3e77f8a1c6..a15244c105 100644 --- a/patches/server/0415-Inventory-getHolder-method-without-block-snapshot.patch +++ b/patches/server/0415-Inventory-getHolder-method-without-block-snapshot.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Inventory getHolder method without block snapshot diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 8018ad8e5952c714f1bd445c91b4d5c846b9ba7a..015fc140db9162865f33cd6577cf758091a663c7 100644 +index 7bdb2e52d36feb9e0ce517ae95f5edb28ddc67d6..01b38b5a515c7dd0f0c79141c270d618bf3c56eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -540,6 +540,13 @@ public class CraftInventory implements Inventory { @@ -23,10 +23,10 @@ index 8018ad8e5952c714f1bd445c91b4d5c846b9ba7a..015fc140db9162865f33cd6577cf7580 public int getMaxStackSize() { return this.inventory.getMaxStackSize(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java -index 01d425d359f2d6d87b6c01b435a9cfcfe11caa20..4707a651dc80086efa852bcfba38a534e7f1f3d0 100644 +index d5defc82aec2279463e14029e213cfb8c3a40ce1..83712cc8da9751b6d4cc1f34a1cc0798bf848ae1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryDoubleChest.java -@@ -64,6 +64,13 @@ public class CraftInventoryDoubleChest extends CraftInventory implements DoubleC +@@ -63,6 +63,13 @@ public class CraftInventoryDoubleChest extends CraftInventory implements DoubleC return new DoubleChest(this); } diff --git a/patches/server/0416-Improve-Arrow-API.patch b/patches/server/0416-Improve-Arrow-API.patch index 47bb897a5a..b2c31e3793 100644 --- a/patches/server/0416-Improve-Arrow-API.patch +++ b/patches/server/0416-Improve-Arrow-API.patch @@ -9,10 +9,10 @@ to set the arrow's "noclip" status Co-authored-by: Jake Potrebic <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -index 376885c8148da619a3b203145d315ebaf44994fb..15abd085eeb0a31a925c1a8d6de903c9d4625a29 100644 +index ce6291f2ccfb1ea3c069dd9f053446413894d743..d443b171191d150eed62d000a1079ede6bcf9052 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -@@ -102,6 +102,23 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { +@@ -100,6 +100,23 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { this.getHandle().pickup = net.minecraft.world.entity.projectile.AbstractArrow.Pickup.byOrdinal(status.ordinal()); } diff --git a/patches/server/0417-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/server/0417-Add-and-implement-PlayerRecipeBookClickEvent.patch index e5980d0369..0891d484ac 100644 --- a/patches/server/0417-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0417-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 23d576cebf10bc0f35b9fb99df7b323a744dd111..4f43f6ff06ab3b68631b8e9c8dd1e9d4a5e76880 100644 +index bc05121fcda77b1672901fa9bf05ba68af51c77c..4181eaef05589eb1f54c6a3cf76ca98a71bcfed3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3114,9 +3114,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3117,9 +3117,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!this.player.containerMenu.stillValid(this.player)) { ServerGamePacketListenerImpl.LOGGER.debug("Player {} interacted with invalid menu {}", this.player, this.player.containerMenu); } else { diff --git a/patches/server/0421-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0421-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index 0b50c2a29f..1ac808bf27 100644 --- a/patches/server/0421-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0421-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -8,10 +8,10 @@ makes it so that the server keeps the last difficulty used instead of restoring the server.properties every single load. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f6b8426ddc50363991c78ae731898d1a323ef5a1..2a55f9e0ab6fa07ba913203bb62acd54add450a0 100644 +index 53876c0d957e2d151e93744eff60606096f02e66..53c0246acda9fe1242710260e250429ae51eceb8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -800,7 +800,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -798,7 +798,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (worldserver.getWorld().getKeepSpawnInMemory()) worldloadlistener.stop(); // Paper // CraftBukkit start // this.updateMobSpawningFlags(); @@ -20,7 +20,7 @@ index f6b8426ddc50363991c78ae731898d1a323ef5a1..2a55f9e0ab6fa07ba913203bb62acd54 this.forceTicks = false; // CraftBukkit end -@@ -1728,11 +1728,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1726,11 +1726,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } } @@ -40,7 +40,7 @@ index f6b8426ddc50363991c78ae731898d1a323ef5a1..2a55f9e0ab6fa07ba913203bb62acd54 } } -@@ -1746,7 +1749,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1744,7 +1747,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); @@ -63,7 +63,7 @@ index 89be3991ef4fb2deb7276c5409cb571a7fb1f821..9c272f7cf8cbd2bbe147e57f7fabe135 return Component.translatable("commands.difficulty.success", difficulty.getDisplayName()); }, true); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 072888f891c8e25a2b4daaf561e124930df2be1e..6c1db5d6bf11184205073a4ce755e7f4e987643a 100644 +index 6a4c7783146ff6b6703e9ae814134a8d1086cf7f..1ffd3854239862414e6ceecf2764ba3d6bd7942a 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -326,7 +326,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -76,7 +76,7 @@ index 072888f891c8e25a2b4daaf561e124930df2be1e..6c1db5d6bf11184205073a4ce755e7f4 @Override diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index af6b92056d924f7cb9a7a583fd089025c95f88ad..6fe74d96659029efb6fe798fb3b3b02b619cb1f1 100644 +index 6dcac005b57234983d0ed05fe825a16c98eb4557..2040b2defecb484ee7b46a885e924483387ee8fe 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1203,7 +1203,7 @@ public class ServerPlayer extends Player { @@ -89,10 +89,10 @@ index af6b92056d924f7cb9a7a583fd089025c95f88ad..6fe74d96659029efb6fe798fb3b3b02b playerlist.sendPlayerPermissionLevel(this); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 04a9cef0a80aaa401ce0ed560a16f3ada6e6a953..391eed0b5631732d799c858d35f0c31b88f05123 100644 +index e6b53060aaf7c2b7ed8b24240be2bbe7cc962f67..a7429a2efb6100033552d5bf2d7731d1d5c6c7df 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3352,7 +3352,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3355,7 +3355,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleChangeDifficulty(ServerboundChangeDifficultyPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (this.player.hasPermissions(2) || this.isSingleplayerOwner()) { @@ -102,10 +102,10 @@ index 04a9cef0a80aaa401ce0ed560a16f3ada6e6a953..391eed0b5631732d799c858d35f0c31b } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4971e0d7254807a27123721dad24a7985b32cf87..07368f2156c46654b72205cea27c20fd5e0a105b 100644 +index 3062d9bc3582d7468000ec3b51bf47acfc628e71..7d6e44ca0a373ad1ee46bc1fc3162585cfa0d747 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -964,8 +964,8 @@ public final class CraftServer implements Server { +@@ -971,8 +971,8 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { @@ -117,10 +117,10 @@ index 4971e0d7254807a27123721dad24a7985b32cf87..07368f2156c46654b72205cea27c20fd for (SpawnCategory spawnCategory : SpawnCategory.values()) { if (CraftSpawnCategory.isValidForLimits(spawnCategory)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 62a3e2819510a056707dadf79a8e4fc5a9772fd9..6fc18bdcaa181b72f4b73041a4eb71757413a204 100644 +index e3308c3e93abf80022a16166c3cc522da8221f34..f186be0b65808247077f075c2a2d3af6daa40711 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1145,7 +1145,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1150,7 +1150,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setDifficulty(Difficulty difficulty) { diff --git a/patches/server/0425-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0425-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 6b1cf57dd0..e01eace066 100644 --- a/patches/server/0425-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0425-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 07368f2156c46654b72205cea27c20fd5e0a105b..5cb5b71894597eb59201cfd1d5489d516cb7dbd0 100644 +index 7d6e44ca0a373ad1ee46bc1fc3162585cfa0d747..925079abb26fc658770c97961fb247e12b3bb216 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -377,7 +377,7 @@ public final class CraftServer implements Server { +@@ -376,7 +376,7 @@ public final class CraftServer implements Server { this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -34,7 +34,7 @@ index 07368f2156c46654b72205cea27c20fd5e0a105b..5cb5b71894597eb59201cfd1d5489d51 this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); -@@ -944,7 +944,7 @@ public final class CraftServer implements Server { +@@ -951,7 +951,7 @@ public final class CraftServer implements Server { this.console.setMotd(config.motd); this.overrideSpawnLimits(); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -44,10 +44,10 @@ index 07368f2156c46654b72205cea27c20fd5e0a105b..5cb5b71894597eb59201cfd1d5489d51 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca13193acee 100644 +index f186be0b65808247077f075c2a2d3af6daa40711..c00a76408b6c800bf81b2de9565c95111940c365 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -280,7 +280,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -279,7 +279,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk getChunkAt(int x, int z) { @@ -62,7 +62,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 return new CraftChunk(chunk); } -@@ -294,6 +300,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -293,6 +299,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return new CraftChunk(this.getHandle(), x, z); } @@ -75,7 +75,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 @Override public Chunk getChunkAt(Block block) { Preconditions.checkArgument(block != null, "null block"); -@@ -359,7 +371,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -358,7 +370,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean unloadChunkRequest(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk unload"); // Spigot if (this.isChunkLoaded(x, z)) { @@ -84,7 +84,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 } return true; -@@ -445,9 +457,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -444,9 +456,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); @@ -98,7 +98,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 if (immediate == null) { immediate = world.getChunkSource().chunkMap.getUnloadingChunk(x, z); } -@@ -455,7 +470,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -454,7 +469,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!(immediate instanceof ImposterProtoChunk) && !(immediate instanceof net.minecraft.world.level.chunk.LevelChunk)) { return false; // not full status } @@ -107,7 +107,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 world.getChunk(x, z); // make sure we're at ticket level 32 or lower return true; } -@@ -481,7 +496,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -480,7 +495,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // we do this so we do not re-read the chunk data on disk } @@ -116,7 +116,7 @@ index 6fc18bdcaa181b72f4b73041a4eb71757413a204..a70ba15318f70798e5c3d1c458d52ca1 world.getChunkSource().getChunk(x, z, ChunkStatus.FULL, true); return true; // Paper end -@@ -2201,6 +2216,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2208,6 +2223,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { io.papermc.paper.chunk.system.ChunkSystem.scheduleChunkLoad(this.getHandle(), x, z, gen, ChunkStatus.FULL, true, priority, (c) -> { net.minecraft.server.MinecraftServer.getServer().scheduleOnMain(() -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk)c; diff --git a/patches/server/0426-incremental-chunk-and-player-saving.patch b/patches/server/0426-incremental-chunk-and-player-saving.patch index e6627af798..391666870e 100644 --- a/patches/server/0426-incremental-chunk-and-player-saving.patch +++ b/patches/server/0426-incremental-chunk-and-player-saving.patch @@ -5,10 +5,10 @@ Subject: [PATCH] incremental chunk and player saving diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2a55f9e0ab6fa07ba913203bb62acd54add450a0..7bd02abf039f7e047b6b6b1de0bc478884f5afa4 100644 +index 53c0246acda9fe1242710260e250429ae51eceb8..56e98ea2964c2779537ac607b7c4677bc695d92a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -873,7 +873,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -871,7 +871,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa try { this.isSaving = true; @@ -17,7 +17,7 @@ index 2a55f9e0ab6fa07ba913203bb62acd54add450a0..7bd02abf039f7e047b6b6b1de0bc4788 flag3 = this.saveAllChunks(suppressLogs, flush, force); } finally { this.isSaving = false; -@@ -1383,13 +1383,28 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1381,13 +1381,28 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.status = this.buildServerStatus(); } @@ -115,7 +115,7 @@ index e96890be7f03b7cc846fe850d4169e09b5d40eab..02ba7e25c649832aba2e742cb76be9d2 // Paper start - rewrite chunk system - add close param this.save(progressListener, flush, savingDisabled, false); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6fe74d96659029efb6fe798fb3b3b02b619cb1f1..bdc7b67b4302a217071c2087732bbd789309fea3 100644 +index 2040b2defecb484ee7b46a885e924483387ee8fe..c22acc5e6333f8cc9b734bff48bb9ff7a00bfd4d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -189,6 +189,7 @@ import org.bukkit.inventory.MainHand; @@ -127,7 +127,7 @@ index 6fe74d96659029efb6fe798fb3b3b02b619cb1f1..bdc7b67b4302a217071c2087732bbd78 private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; public ServerGamePacketListenerImpl connection; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8a67971d67230b30b769eea5745919946d868bd8..3c98a55a1b9eee854d8c48af449b876d3a46501f 100644 +index 97199ae30edfaaacb9ea9d29846ee131395815e6..a8dcd1a07b835f665c74a8a531fef84435716b13 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -535,6 +535,7 @@ public abstract class PlayerList { diff --git a/patches/server/0429-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0429-Convert-legacy-attributes-in-Item-Meta.patch index 88a4ffd540..c8376d2ce9 100644 --- a/patches/server/0429-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0429-Convert-legacy-attributes-in-Item-Meta.patch @@ -30,10 +30,10 @@ index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395b public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 7dfe2e229dd8498a32a74dbfca5c078852b251d3..bad63f59d9082ef9e50f0b43a4cce9bba19018f2 100644 +index 7c803a928f41938c03b0239cf04e2ee765ecefb8..3d500e8be2478840669b236421c6908f8d288014 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -484,7 +484,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -483,7 +483,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/server/0432-Support-components-in-ItemMeta.patch b/patches/server/0432-Support-components-in-ItemMeta.patch index 17d8cae3d6..45ae7502c3 100644 --- a/patches/server/0432-Support-components-in-ItemMeta.patch +++ b/patches/server/0432-Support-components-in-ItemMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Support components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index bad63f59d9082ef9e50f0b43a4cce9bba19018f2..93d40df438a0d95b32def9a6c206b98ca6168cb3 100644 +index 3d500e8be2478840669b236421c6908f8d288014..fa94030ac80c8c68ee429e6b7350395208e4348f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -878,11 +878,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -877,11 +877,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromJSONComponent(displayName); } @@ -32,7 +32,7 @@ index bad63f59d9082ef9e50f0b43a4cce9bba19018f2..93d40df438a0d95b32def9a6c206b98c @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1025,6 +1037,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1024,6 +1036,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList<String>(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent)); } @@ -47,7 +47,7 @@ index bad63f59d9082ef9e50f0b43a4cce9bba19018f2..93d40df438a0d95b32def9a6c206b98c @Override public void setLore(List<String> lore) { if (lore == null || lore.isEmpty()) { -@@ -1039,6 +1059,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1038,6 +1058,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index bad63f59d9082ef9e50f0b43a4cce9bba19018f2..93d40df438a0d95b32def9a6c206b98c @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1507,6 +1542,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1506,6 +1541,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { @@ -79,5 +79,5 @@ index bad63f59d9082ef9e50f0b43a4cce9bba19018f2..93d40df438a0d95b32def9a6c206b98c + } else + // Paper end if (!(object instanceof String)) { - if (object != null) { - throw new IllegalArgumentException(addFrom + " cannot contain non-string " + object.getClass().getName()); + Preconditions.checkArgument(object == null, "%s cannot contain non-string %s", addFrom, object.getClass().getName()); + diff --git a/patches/server/0434-Add-entity-liquid-API.patch b/patches/server/0434-Add-entity-liquid-API.patch index 471592096c..b9499300da 100644 --- a/patches/server/0434-Add-entity-liquid-API.patch +++ b/patches/server/0434-Add-entity-liquid-API.patch @@ -8,10 +8,10 @@ public net.minecraft.world.entity.Entity isInRain()Z public net.minecraft.world.entity.Entity isInBubbleColumn()Z diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5d8532bc2c4253aa3941ff8c4d48cc8c3860b3b0..5d01b33df41ecc51e2c2b44bad34a65e823d69ce 100644 +index e237320b2703a1281fab47f24516e8b7d83677be..c480cddf693ec9f42b0e8a8aec3cc7828e337312 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1308,5 +1308,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1301,5 +1301,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason() { return getHandle().spawnReason; } diff --git a/patches/server/0437-Add-PrepareResultEvent.patch b/patches/server/0437-Add-PrepareResultEvent.patch index 2d660c5c5e..b01a35ac4d 100644 --- a/patches/server/0437-Add-PrepareResultEvent.patch +++ b/patches/server/0437-Add-PrepareResultEvent.patch @@ -94,10 +94,10 @@ index 8734a129244271b370f965fcbf488a14ce04684a..00f01ab2eff69c18b50ec07b7623af66 private void setupRecipeList(Container input, ItemStack stack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7af0710c40c1453bd0bd8ecb4ea7606bbe76c20f..2502da6e68f97a7c37f1756d6845e531da1663c3 100644 +index f35cba8f45f96cd9504ccce73fea592532c36702..019a486f40256771341358509a5abe0b1284d248 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1624,26 +1624,53 @@ public class CraftEventFactory { +@@ -1628,26 +1628,53 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0449-Brand-support.patch b/patches/server/0449-Brand-support.patch index b8829974eb..f67a62f7fe 100644 --- a/patches/server/0449-Brand-support.patch +++ b/patches/server/0449-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 391eed0b5631732d799c858d35f0c31b88f05123..3376cf61fdb06292ed02735990f84b00647dfc66 100644 +index a7429a2efb6100033552d5bf2d7731d1d5c6c7df..5fb375ac652029441147ffefd3305683288ee058 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -302,6 +302,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -17,7 +17,7 @@ index 391eed0b5631732d799c858d35f0c31b88f05123..3376cf61fdb06292ed02735990f84b00 public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); this.lastSeenMessages = new LastSeenMessagesValidator(20); -@@ -3307,6 +3309,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3310,6 +3312,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_REGISTER = new ResourceLocation("register"); private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); @@ -26,7 +26,7 @@ index 391eed0b5631732d799c858d35f0c31b88f05123..3376cf61fdb06292ed02735990f84b00 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); -@@ -3334,6 +3338,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3337,6 +3341,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic try { byte[] data = new byte[packet.data.readableBytes()]; packet.data.readBytes(data); @@ -42,7 +42,7 @@ index 391eed0b5631732d799c858d35f0c31b88f05123..3376cf61fdb06292ed02735990f84b00 this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); -@@ -3343,6 +3356,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3346,6 +3359,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } @@ -56,10 +56,10 @@ index 391eed0b5631732d799c858d35f0c31b88f05123..3376cf61fdb06292ed02735990f84b00 return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 60ae0913501dd9c2d28685c7b50709a5e572dfec..fec01a106a6210db04600c29737294370baa04d1 100644 +index ef2476afc452c83be28c97d9860e27368ded5254..9cfd26baef0fa878e8e0420750cd512bdff12ac5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2958,6 +2958,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2896,6 +2896,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0451-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0450-Add-playPickupItemAnimation-to-LivingEntity.patch index 7b471758ee..c2a653b423 100644 --- a/patches/server/0451-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0450-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 658d4dbb45d17e7064f69b10af8fbfa473a8dffe..fb783efc63e8c782e34380ff98d92b644ea2665c 100644 +index 2f6ba5525a014dfb3ce2efae765e501e8cd1c1c1..97286605e33436f3e4a7b7ad319d2b2870d7029a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -901,5 +901,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -898,5 +898,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { ((Mob) getHandle()).getJumpControl().jump(); } } diff --git a/patches/server/0450-Add-setMaxPlayers-API.patch b/patches/server/0450-Add-setMaxPlayers-API.patch deleted file mode 100644 index d9d32089c2..0000000000 --- a/patches/server/0450-Add-setMaxPlayers-API.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Mariell Hoversholm <[email protected]> -Date: Sat, 22 Aug 2020 23:59:30 +0200 -Subject: [PATCH] Add #setMaxPlayers API - - -diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 36715e8bc9047962a2ced70d6838672159665771..b810ae5536cc1a64d44266f2158db0f6930429ff 100644 ---- a/src/main/java/net/minecraft/server/players/PlayerList.java -+++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -155,7 +155,7 @@ public abstract class PlayerList { - private boolean doWhiteList; - private final LayeredRegistryAccess<RegistryLayer> registries; - private final RegistryAccess.Frozen synchronizedRegistries; -- protected final int maxPlayers; -+ protected int maxPlayers; public final void setMaxPlayers(int maxPlayers) { this.maxPlayers = maxPlayers; } // Paper - remove final and add setter - private int viewDistance; - private int simulationDistance; - private boolean allowCheatsForAllPlayers; -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5cb5b71894597eb59201cfd1d5489d516cb7dbd0..371b3af8cb76b9fffecf0a38dbf3687ac1bdf826 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -672,6 +672,13 @@ public final class CraftServer implements Server { - return this.playerList.getMaxPlayers(); - } - -+ // Paper start -+ @Override -+ public void setMaxPlayers(int maxPlayers) { -+ this.playerList.setMaxPlayers(maxPlayers); -+ } -+ // Paper end -+ - // NOTE: These are dependent on the corresponding call in MinecraftServer - // so if that changes this will need to as well - @Override diff --git a/patches/server/0452-Don-t-require-FACING-data.patch b/patches/server/0451-Don-t-require-FACING-data.patch index fd2ab14906..fd2ab14906 100644 --- a/patches/server/0452-Don-t-require-FACING-data.patch +++ b/patches/server/0451-Don-t-require-FACING-data.patch diff --git a/patches/server/0453-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0452-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index 92c638424c..f2e60fe1de 100644 --- a/patches/server/0453-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0452-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -21,10 +21,10 @@ index 02ba7e25c649832aba2e742cb76be9d2b6b6f954..babc90ed1a85756545ac2b7631853d09 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a70ba15318f70798e5c3d1c458d52ca13193acee..7fc85b00fa2c9caa832247e2e95de231e8377ec2 100644 +index c00a76408b6c800bf81b2de9565c95111940c365..133a5b30b4cdca091f7eae9fccc5bb7d03ace432 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -260,12 +260,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -259,12 +259,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean setSpawnLocation(int x, int y, int z, float angle) { try { diff --git a/patches/server/0454-Add-moon-phase-API.patch b/patches/server/0453-Add-moon-phase-API.patch index 0ed4a4e540..4fb9522173 100644 --- a/patches/server/0454-Add-moon-phase-API.patch +++ b/patches/server/0453-Add-moon-phase-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index cb6f5fc352aff449173825d4e7fad9fccb9df915..5f9c3c237b65986f8c425bbc691ac301f8fdebbc 100644 +index bdc752631136a4abe903e7a8f182e9eda480fcb6..a9cad569f9c71f9818d1b831983f71aae367d98e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -984,4 +984,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -980,4 +980,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName()); } diff --git a/patches/server/0455-Prevent-headless-pistons-from-being-created.patch b/patches/server/0454-Prevent-headless-pistons-from-being-created.patch index a995521d2b..a995521d2b 100644 --- a/patches/server/0455-Prevent-headless-pistons-from-being-created.patch +++ b/patches/server/0454-Prevent-headless-pistons-from-being-created.patch diff --git a/patches/server/0456-Add-BellRingEvent.patch b/patches/server/0455-Add-BellRingEvent.patch index ca9b774a3d..f9865e6e0b 100644 --- a/patches/server/0456-Add-BellRingEvent.patch +++ b/patches/server/0455-Add-BellRingEvent.patch @@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a village bell. Passes along the bell block and the player who rang it. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2502da6e68f97a7c37f1756d6845e531da1663c3..6528757c99c55c1d9926da89efed468def758af3 100644 +index 019a486f40256771341358509a5abe0b1284d248..9761302bb1ca66242ae46d26001837dd881cb9fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -332,10 +332,11 @@ public class CraftEventFactory { diff --git a/patches/server/0457-Add-zombie-targets-turtle-egg-config.patch b/patches/server/0456-Add-zombie-targets-turtle-egg-config.patch index e07acc412d..e07acc412d 100644 --- a/patches/server/0457-Add-zombie-targets-turtle-egg-config.patch +++ b/patches/server/0456-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/server/0458-Buffer-joins-to-world.patch b/patches/server/0457-Buffer-joins-to-world.patch index 8c45d682cf..8c45d682cf 100644 --- a/patches/server/0458-Buffer-joins-to-world.patch +++ b/patches/server/0457-Buffer-joins-to-world.patch diff --git a/patches/server/0459-Eigencraft-redstone-implementation.patch b/patches/server/0458-Eigencraft-redstone-implementation.patch index 983cc81cfe..983cc81cfe 100644 --- a/patches/server/0459-Eigencraft-redstone-implementation.patch +++ b/patches/server/0458-Eigencraft-redstone-implementation.patch diff --git a/patches/server/0460-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0459-Fix-hex-colors-not-working-in-some-kick-messages.patch index d0a1da33db..d0a1da33db 100644 --- a/patches/server/0460-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ b/patches/server/0459-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/server/0461-PortalCreateEvent-needs-to-know-its-entity.patch b/patches/server/0460-PortalCreateEvent-needs-to-know-its-entity.patch index 0a2a329a6d..0a2a329a6d 100644 --- a/patches/server/0461-PortalCreateEvent-needs-to-know-its-entity.patch +++ b/patches/server/0460-PortalCreateEvent-needs-to-know-its-entity.patch diff --git a/patches/server/0463-Add-more-Evoker-API.patch b/patches/server/0461-Add-more-Evoker-API.patch index 0fce1f166a..0fce1f166a 100644 --- a/patches/server/0463-Add-more-Evoker-API.patch +++ b/patches/server/0461-Add-more-Evoker-API.patch diff --git a/patches/server/0464-Add-methods-to-get-translation-keys.patch b/patches/server/0462-Add-methods-to-get-translation-keys.patch index b75c005413..f0730a4081 100644 --- a/patches/server/0464-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0462-Add-methods-to-get-translation-keys.patch @@ -10,10 +10,10 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index c67de2f3bb8b048b8432add4adcb9e6042fb65ad..f92b0151d9e2655191a3a7a009c5da66022dddc1 100644 +index 5534348ddb3ac42b6b8a687816c2c8c1858e3b3e..d2d5a43cfdf294ccc9353258250f5a990e205b88 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -696,5 +696,10 @@ public class CraftBlock implements Block { +@@ -694,5 +694,10 @@ public class CraftBlock implements Block { public org.bukkit.SoundGroup getBlockSoundGroup() { return org.bukkit.craftbukkit.CraftSoundGroup.getSoundGroup(this.getNMS().getSoundType()); } diff --git a/patches/server/0462-Fix-CraftTeam-null-check.patch b/patches/server/0462-Fix-CraftTeam-null-check.patch deleted file mode 100644 index fc8ca37076..0000000000 --- a/patches/server/0462-Fix-CraftTeam-null-check.patch +++ /dev/null @@ -1,19 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: foss-mc <[email protected]> -Date: Sun, 30 Aug 2020 15:30:29 +0800 -Subject: [PATCH] Fix CraftTeam null check - - -diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 18d5a26c34c848241c306241b3ad9825b5a0b9a9..60b1cffdccde4715832546d6edbf206fbab4e82f 100644 ---- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -+++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -@@ -261,7 +261,7 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { - - @Override - public boolean hasEntry(String entry) throws IllegalArgumentException, IllegalStateException { -- Validate.notNull("Entry cannot be null"); -+ Validate.notNull(entry, "Entry cannot be null"); // Paper - - CraftScoreboard scoreboard = this.checkState(); - diff --git a/patches/server/0465-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0463-Create-HoverEvent-from-ItemStack-Entity.patch index bfa68eb6cf..042efb92e7 100644 --- a/patches/server/0465-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0463-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index f81ed24f624ff6f99ccad8361209cc409c6b9187..f5610d0746b67dfe69dc79d71c4d082c083f2ee4 100644 +index f8475390d69bef6f3eca5a57d5f44021fabf4942..21f5c0f2fc10b5f5752e214a08e858227bdcf2ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -473,5 +473,40 @@ public final class CraftItemFactory implements ItemFactory { +@@ -468,5 +468,40 @@ public final class CraftItemFactory implements ItemFactory { return nms != null ? net.minecraft.locale.Language.getInstance().getOrDefault(nms.getItem().getDescriptionId(nms)) : null; } diff --git a/patches/server/0466-Cache-block-data-strings.patch b/patches/server/0464-Cache-block-data-strings.patch index bc9070803a..061e7147d7 100644 --- a/patches/server/0466-Cache-block-data-strings.patch +++ b/patches/server/0464-Cache-block-data-strings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache block data strings diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7bd02abf039f7e047b6b6b1de0bc478884f5afa4..5ae2fbc6db0bcffe46669f1d73f8b4347165bd0a 100644 +index 56e98ea2964c2779537ac607b7c4677bc695d92a..0ed8add0a2acec7d109f9687b7d77967a7ccdf3e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2051,6 +2051,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2049,6 +2049,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.getPlayerList().reloadResources(); this.functionManager.replaceLibrary(this.resources.managers.getFunctionLibrary()); this.structureTemplateManager.onResourceManagerReload(this.resources.resourceManager); diff --git a/patches/server/0467-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0465-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index f3c527b5a3..63f17d8950 100644 --- a/patches/server/0467-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0465-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -9,7 +9,7 @@ as this is how Vanilla teleports entities. Cancel any pending motion when teleported. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3376cf61fdb06292ed02735990f84b00647dfc66..b0d43cda858373d1e15f795d0b216cbdc7936db1 100644 +index 5fb375ac652029441147ffefd3305683288ee058..7248010828b361425a83da7671deac27b4504ccd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -760,7 +760,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -21,7 +21,7 @@ index 3376cf61fdb06292ed02735990f84b00647dfc66..b0d43cda858373d1e15f795d0b216cbd this.lastGoodX = this.awaitingPositionFromClient.x; this.lastGoodY = this.awaitingPositionFromClient.y; this.lastGoodZ = this.awaitingPositionFromClient.z; -@@ -1656,7 +1656,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1659,7 +1659,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end this.awaitingTeleportTime = this.tickCount; @@ -31,7 +31,7 @@ index 3376cf61fdb06292ed02735990f84b00647dfc66..b0d43cda858373d1e15f795d0b216cbd } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 886db1055c69f2b0ce7a5bf61e53d3b1119d2c19..d3088ffcf5f92ff5c49fe8b25292ef176ac6c3f3 100644 +index 5a1959a16070a49e935bfd7a43fbf3fabdd2b1e6..11675a7611a42277ed0625509aa98a2f69611698 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -159,6 +159,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -57,7 +57,7 @@ index 886db1055c69f2b0ce7a5bf61e53d3b1119d2c19..d3088ffcf5f92ff5c49fe8b25292ef17 this.setYRot(yaw); this.setXRot(pitch); diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 65d78f1c93c98695e9a4369693f54751d3a69b25..c63d5df91726839471c1eaaf7fafab3fa1be153b 100644 +index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35039bfcc9 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java @@ -167,6 +167,7 @@ public abstract class BaseSpawner { @@ -69,7 +69,7 @@ index 65d78f1c93c98695e9a4369693f54751d3a69b25..c63d5df91726839471c1eaaf7fafab3f if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5d01b33df41ecc51e2c2b44bad34a65e823d69ce..7fb674cea2953b10c26f1a2c3b3369ab7767324b 100644 +index c480cddf693ec9f42b0e8a8aec3cc7828e337312..4002311a4f8a0b137f743a0a1ded52587719765b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -574,7 +574,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0468-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0466-Add-additional-open-container-api-to-HumanEntity.patch index 5437a813cb..18fdf7d704 100644 --- a/patches/server/0468-Add-additional-open-container-api-to-HumanEntity.patch +++ b/patches/server/0466-Add-additional-open-container-api-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add additional open container api to HumanEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 35ef23db3e135c8057ea00ef0930628bced54779..c9ddfde5f9774f96731e86fa57ee002e8db62c0f 100644 +index 55a3035516552f4d429ae5f36bacb1b4c4d5666c..b0d2038cf2622c8ee7f810026ed735ff954d7ad0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -463,6 +463,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -461,6 +461,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { return this.getHandle().containerMenu.getBukkitView(); } diff --git a/patches/server/0469-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/server/0467-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch index b5d192ac20..b5d192ac20 100644 --- a/patches/server/0469-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch +++ b/patches/server/0467-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/server/0470-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/server/0468-Extend-block-drop-capture-to-capture-all-items-added.patch index 5ae40c5c45..5ae40c5c45 100644 --- a/patches/server/0470-Extend-block-drop-capture-to-capture-all-items-added.patch +++ b/patches/server/0468-Extend-block-drop-capture-to-capture-all-items-added.patch diff --git a/patches/server/0471-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0469-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 361f28f1ff..0ce23cbd0f 100644 --- a/patches/server/0471-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0469-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose the Entity Counter to allow plugins to use valid and diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d3088ffcf5f92ff5c49fe8b25292ef176ac6c3f3..93a8ff684cf88ee7693ed308020d02cb18ded06f 100644 +index 11675a7611a42277ed0625509aa98a2f69611698..bda94c9c34c7f1f6b56103de5be253c619b576b2 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4444,4 +4444,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -21,10 +21,10 @@ index d3088ffcf5f92ff5c49fe8b25292ef176ac6c3f3..93a8ff684cf88ee7693ed308020d02cb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 447df549a0d371389b086327b06b74aa1d6647cd..cddf16549f45bbb9a598d5677fbc2195200ba876 100644 +index 00dc3da665c295133931b80f92c19333d18b5f9a..8f8d69adb8e0a02f9540bc2feb1ccf9e6f635aab 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -514,6 +514,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -512,6 +512,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/server/0472-Lazily-track-plugin-scoreboards-by-default.patch b/patches/server/0470-Lazily-track-plugin-scoreboards-by-default.patch index bb0fe1c990..37ef8c7f81 100644 --- a/patches/server/0472-Lazily-track-plugin-scoreboards-by-default.patch +++ b/patches/server/0470-Lazily-track-plugin-scoreboards-by-default.patch @@ -14,10 +14,10 @@ this breaks your workflow you can always force all scoreboards to be tracked wit settings.track-plugin-scoreboards in paper.yml. diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -index f367261b119ab48c1d17b2b6552cce481c6effbb..a038ede38ebb507d6a0182a4a34f2b0722ef024e 100644 +index 2471a6d0b7a8086cf4c0a41b10c05ed50d790d11..e233eef291f64622947b0b6c4559639e510c087f 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -@@ -19,6 +19,7 @@ import org.bukkit.scoreboard.Team; +@@ -18,6 +18,7 @@ import org.bukkit.scoreboard.Team; public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { final Scoreboard board; @@ -25,21 +25,21 @@ index f367261b119ab48c1d17b2b6552cce481c6effbb..a038ede38ebb507d6a0182a4a34f2b07 CraftScoreboard(Scoreboard board) { this.board = board; -@@ -52,6 +53,12 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { - Validate.notNull(renderType, "RenderType cannot be null"); - Validate.isTrue(name.length() <= Short.MAX_VALUE, "The name '" + name + "' is longer than the limit of 32767 characters"); - Validate.isTrue(board.getObjective(name) == null, "An objective of name '" + name + "' already exists"); +@@ -50,6 +51,12 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { + Preconditions.checkArgument(renderType != null, "RenderType cannot be null"); + Preconditions.checkArgument(name.length() <= Short.MAX_VALUE, "The name '%s' is longer than the limit of 32767 characters (%s)", name, name.length()); + Preconditions.checkArgument(this.board.getObjective(name) == null, "An objective of name '%s' already exists", name); + // Paper start - the block comment from the old registerNewObjective didnt cause a conflict when rebasing, so this block wasn't added to the adventure registerNewObjective -+ if (((CraftCriteria) criteria).criteria != net.minecraft.world.scores.criteria.ObjectiveCriteria.DUMMY && !registeredGlobally) { ++ if (((CraftCriteria) criteria).criteria != net.minecraft.world.scores.criteria.ObjectiveCriteria.DUMMY && !this.registeredGlobally) { + net.minecraft.server.MinecraftServer.getServer().server.getScoreboardManager().registerScoreboardForVanilla(this); -+ registeredGlobally = true; ++ this.registeredGlobally = true; + } + // Paper end net.minecraft.world.scores.Objective objective = board.addObjective(name, ((CraftCriteria) criteria).criteria, io.papermc.paper.adventure.PaperAdventure.asVanilla(displayName), CraftScoreboardTranslations.fromBukkitRender(renderType)); return new CraftObjective(this, objective); } diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java -index 71f73db28ca124a49434e9da9eb39d182b7421e2..39e19bea16419b9cbe53016084b8bbf014dcb056 100644 +index d3855731f9b63357ebe4f8f4d5941b5353dff935..6fcb2356b471c5a61faa0813a891c3898683d01f 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -30,6 +30,7 @@ public final class CraftScoreboardManager implements ScoreboardManager { diff --git a/patches/server/0473-Entity-isTicking.patch b/patches/server/0471-Entity-isTicking.patch index 4ff9de14be..b0c393fba7 100644 --- a/patches/server/0473-Entity-isTicking.patch +++ b/patches/server/0471-Entity-isTicking.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#isTicking diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 93a8ff684cf88ee7693ed308020d02cb18ded06f..13459fec2555049dccc9b0437d42fd28f823dc46 100644 +index bda94c9c34c7f1f6b56103de5be253c619b576b2..30c955cb8b1cb767e62964fea897870a88b4f310 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4449,5 +4449,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -19,10 +19,10 @@ index 93a8ff684cf88ee7693ed308020d02cb18ded06f..13459fec2555049dccc9b0437d42fd28 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 7fb674cea2953b10c26f1a2c3b3369ab7767324b..2b936e32a67c108df9a7f6b335357a25bad6d291 100644 +index 4002311a4f8a0b137f743a0a1ded52587719765b..702987ef563db2e0819771e8c3be822e4644ee3f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1343,5 +1343,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1336,5 +1336,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInLava() { return getHandle().isInLava(); } diff --git a/patches/server/0474-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/server/0472-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch index a5d2ee5df9..b72f225a38 100644 --- a/patches/server/0474-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch +++ b/patches/server/0472-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix deop kicking non-whitelisted player when white list is diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 5ae2fbc6db0bcffe46669f1d73f8b4347165bd0a..b3ef498ceacfc8eca0557c3d37f99a14fd6058d0 100644 +index 0ed8add0a2acec7d109f9687b7d77967a7ccdf3e..412e5db21a83e9ca6ba5aa0d457507ce51176ebc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2134,13 +2134,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2132,13 +2132,14 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa if (this.isEnforceWhitelist()) { PlayerList playerlist = source.getServer().getPlayerList(); UserWhiteList whitelist = playerlist.getWhiteList(); diff --git a/patches/server/0475-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/server/0473-Fix-Concurrency-issue-in-ShufflingList.patch index 07c57efa62..07c57efa62 100644 --- a/patches/server/0475-Fix-Concurrency-issue-in-ShufflingList.patch +++ b/patches/server/0473-Fix-Concurrency-issue-in-ShufflingList.patch diff --git a/patches/server/0476-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/server/0474-Reset-Ender-Crystals-on-Dragon-Spawn.patch index b1477cf8eb..b1477cf8eb 100644 --- a/patches/server/0476-Reset-Ender-Crystals-on-Dragon-Spawn.patch +++ b/patches/server/0474-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/server/0477-Fix-for-large-move-vectors-crashing-server.patch b/patches/server/0475-Fix-for-large-move-vectors-crashing-server.patch index 8c3fcee885..a4a872884b 100644 --- a/patches/server/0477-Fix-for-large-move-vectors-crashing-server.patch +++ b/patches/server/0475-Fix-for-large-move-vectors-crashing-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix for large move vectors crashing server Check movement distance also based on current position. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b0d43cda858373d1e15f795d0b216cbdc7936db1..c274a52cd4311350bfc2ccbac81b2c798e1c038a 100644 +index 7248010828b361425a83da7671deac27b4504ccd..8ea12aee6283ef8771009056135f878c01bd3a29 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -567,9 +567,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0478-Optimise-getType-calls.patch b/patches/server/0476-Optimise-getType-calls.patch index 3a0de029fd..b778f30e62 100644 --- a/patches/server/0478-Optimise-getType-calls.patch +++ b/patches/server/0476-Optimise-getType-calls.patch @@ -41,10 +41,10 @@ index eebac2ea211f58c385b2ceb36ab911ac5e115296..d1aaca5de055fd5e3bf2c6d39ef397bb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index f92b0151d9e2655191a3a7a009c5da66022dddc1..cd39ec0e87974be616f10321d953fd2f3af194f7 100644 +index d2d5a43cfdf294ccc9353258250f5a990e205b88..2749f81fd74e466fa6b7c1c5f08d8defc5203b3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -225,7 +225,7 @@ public class CraftBlock implements Block { +@@ -224,7 +224,7 @@ public class CraftBlock implements Block { @Override public Material getType() { @@ -54,10 +54,10 @@ index f92b0151d9e2655191a3a7a009c5da66022dddc1..cd39ec0e87974be616f10321d953fd2f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index 843a166e43f05fe987e62329593b23656c6a2abb..9068557ac50cfb26e7e3ec4ac64bac583baa582e 100644 +index 2773f47d4e7a9432ab1ccebfcdc22317ef762099..b722a207c0e745bb172d93b90e1241d7bfa173ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -167,7 +167,7 @@ public class CraftBlockState implements BlockState { +@@ -161,7 +161,7 @@ public class CraftBlockState implements BlockState { @Override public Material getType() { @@ -80,10 +80,10 @@ index cd40c4c86b1f5de37fea9c0cd71b2e7b30b9136f..58d10e8909fea652810e30bbd4b24aaa public BlockState getState() { diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index ee88ff2ee86bbd3ccf3e4a0b2310f020f137ef4f..5e15feb408b8a05ec5ee393a604c8d39a91ff106 100644 +index 79b6f88a32ea5eaf77757b8cc3824b6dac1558a7..7bfb9bc9689c5d9899b572862f3fbe53812f36b1 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -@@ -96,7 +96,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { +@@ -95,7 +95,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { @Override public Material getType(int x, int y, int z) { diff --git a/patches/server/0479-Villager-resetOffers.patch b/patches/server/0477-Villager-resetOffers.patch index b964f1ff26..b964f1ff26 100644 --- a/patches/server/0479-Villager-resetOffers.patch +++ b/patches/server/0477-Villager-resetOffers.patch diff --git a/patches/server/0480-Retain-block-place-order-when-capturing-blockstates.patch b/patches/server/0478-Retain-block-place-order-when-capturing-blockstates.patch index 006d8e60ad..006d8e60ad 100644 --- a/patches/server/0480-Retain-block-place-order-when-capturing-blockstates.patch +++ b/patches/server/0478-Retain-block-place-order-when-capturing-blockstates.patch diff --git a/patches/server/0481-Reduce-blockpos-allocation-from-pathfinding.patch b/patches/server/0479-Reduce-blockpos-allocation-from-pathfinding.patch index e1ea18140b..e1ea18140b 100644 --- a/patches/server/0481-Reduce-blockpos-allocation-from-pathfinding.patch +++ b/patches/server/0479-Reduce-blockpos-allocation-from-pathfinding.patch diff --git a/patches/server/0482-Fix-item-locations-dropped-from-campfires.patch b/patches/server/0480-Fix-item-locations-dropped-from-campfires.patch index b69c339697..b69c339697 100644 --- a/patches/server/0482-Fix-item-locations-dropped-from-campfires.patch +++ b/patches/server/0480-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/server/0483-Player-elytra-boost-API.patch b/patches/server/0481-Player-elytra-boost-API.patch index dc24908669..6ae000f48b 100644 --- a/patches/server/0483-Player-elytra-boost-API.patch +++ b/patches/server/0481-Player-elytra-boost-API.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad0b59e750f453aaf151fec8bce72b4e7f690266..7ed8b5accb01973a5e6aea20c40522da16fe6d59 100644 +index 9cfd26baef0fa878e8e0420750cd512bdff12ac5..18a2ea9b00257de057c326f6a350b9ab281ab696 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -616,6 +616,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -613,6 +613,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } throw new RuntimeException("Unknown settings type"); } + + @Override + public org.bukkit.entity.Firework boostElytra(ItemStack firework) { -+ Validate.isTrue(isGliding(), "Player must be gliding"); -+ Validate.isTrue(firework != null, "firework == null"); -+ Validate.isTrue(firework.getType() == Material.FIREWORK_ROCKET, "Firework must be Material.FIREWORK_ROCKET"); ++ Preconditions.checkState(this.isGliding(), "Player must be gliding"); ++ Preconditions.checkArgument(firework != null, "firework == null"); ++ Preconditions.checkArgument(firework.getType() == Material.FIREWORK_ROCKET, "Firework must be Material.FIREWORK_ROCKET"); + + net.minecraft.world.item.ItemStack item = org.bukkit.craftbukkit.inventory.CraftItemStack.asNMSCopy(firework); + net.minecraft.world.level.Level world = ((CraftWorld) getWorld()).getHandle(); diff --git a/patches/server/0484-Fixed-TileEntityBell-memory-leak.patch b/patches/server/0482-Fixed-TileEntityBell-memory-leak.patch index 0cd7feb8d4..0cd7feb8d4 100644 --- a/patches/server/0484-Fixed-TileEntityBell-memory-leak.patch +++ b/patches/server/0482-Fixed-TileEntityBell-memory-leak.patch diff --git a/patches/server/0485-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/server/0483-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch index 46bd818262..46bd818262 100644 --- a/patches/server/0485-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch +++ b/patches/server/0483-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/server/0486-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0484-Add-getOfflinePlayerIfCached-String.patch index 178aad452d..3836224d13 100644 --- a/patches/server/0486-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0484-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 371b3af8cb76b9fffecf0a38dbf3687ac1bdf826..faa073683fae16578aaa83eefc447cd2740a3491 100644 +index 925079abb26fc658770c97961fb247e12b3bb216..b6c9dd5b3fd746ef7e863c27fd581c9f23a795a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1829,6 +1829,28 @@ public final class CraftServer implements Server { +@@ -1827,6 +1827,28 @@ public final class CraftServer implements Server { return result; } @@ -16,8 +16,8 @@ index 371b3af8cb76b9fffecf0a38dbf3687ac1bdf826..faa073683fae16578aaa83eefc447cd2 + @Override + @Nullable + public OfflinePlayer getOfflinePlayerIfCached(String name) { -+ Validate.notNull(name, "Name cannot be null"); -+ Validate.notEmpty(name, "Name cannot be empty"); ++ Preconditions.checkArgument(name != null, "Name cannot be null"); ++ Preconditions.checkArgument(!name.isEmpty(), "Name cannot be empty"); + + OfflinePlayer result = getPlayerExact(name); + if (result == null) { @@ -36,4 +36,4 @@ index 371b3af8cb76b9fffecf0a38dbf3687ac1bdf826..faa073683fae16578aaa83eefc447cd2 + @Override public OfflinePlayer getOfflinePlayer(UUID id) { - Validate.notNull(id, "UUID cannot be null"); + Preconditions.checkArgument(id != null, "UUID id cannot be null"); diff --git a/patches/server/0487-Add-ignore-discounts-API.patch b/patches/server/0485-Add-ignore-discounts-API.patch index 74bbe0572c..74bbe0572c 100644 --- a/patches/server/0487-Add-ignore-discounts-API.patch +++ b/patches/server/0485-Add-ignore-discounts-API.patch diff --git a/patches/server/0488-Toggle-for-removing-existing-dragon.patch b/patches/server/0486-Toggle-for-removing-existing-dragon.patch index 3ea483fce0..3ea483fce0 100644 --- a/patches/server/0488-Toggle-for-removing-existing-dragon.patch +++ b/patches/server/0486-Toggle-for-removing-existing-dragon.patch diff --git a/patches/server/0489-Fix-client-lag-on-advancement-loading.patch b/patches/server/0487-Fix-client-lag-on-advancement-loading.patch index b71c03d78b..2f6ff73ac8 100644 --- a/patches/server/0489-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0487-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index cddf16549f45bbb9a598d5677fbc2195200ba876..fbb674d355f30f34de6bb9608e628d5c49047be6 100644 +index 8f8d69adb8e0a02f9540bc2feb1ccf9e6f635aab..355d736f2cf6580c21365be2b3a0a3cb124d6d16 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -347,7 +347,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -345,7 +345,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/server/0490-Item-no-age-no-player-pickup.patch b/patches/server/0488-Item-no-age-no-player-pickup.patch index 0a59edc058..0a59edc058 100644 --- a/patches/server/0490-Item-no-age-no-player-pickup.patch +++ b/patches/server/0488-Item-no-age-no-player-pickup.patch diff --git a/patches/server/0491-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/0489-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch index 91c966567f..91c966567f 100644 --- a/patches/server/0491-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch +++ b/patches/server/0489-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/0492-Beacon-API-custom-effect-ranges.patch b/patches/server/0490-Beacon-API-custom-effect-ranges.patch index acea4bac73..acea4bac73 100644 --- a/patches/server/0492-Beacon-API-custom-effect-ranges.patch +++ b/patches/server/0490-Beacon-API-custom-effect-ranges.patch diff --git a/patches/server/0493-Add-API-for-quit-reason.patch b/patches/server/0491-Add-API-for-quit-reason.patch index b42ad2079b..168509707f 100644 --- a/patches/server/0493-Add-API-for-quit-reason.patch +++ b/patches/server/0491-Add-API-for-quit-reason.patch @@ -25,7 +25,7 @@ index ee8d1bb909cf2a3bbe3434aa085762d952198063..f8ffc5238320d2c665d80adb1ad3786c Connection.LOGGER.debug("Failed to sent packet", throwable); ConnectionProtocol enumprotocol = this.getCurrentProtocol(); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bdc7b67b4302a217071c2087732bbd789309fea3..a5901bedc5f74f76fa9be2668cb2b6988981fad9 100644 +index c22acc5e6333f8cc9b734bff48bb9ff7a00bfd4d..abde8074da754667d65f3894097ad2255c97f3f0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -275,6 +275,7 @@ public class ServerPlayer extends Player { @@ -37,7 +37,7 @@ index bdc7b67b4302a217071c2087732bbd789309fea3..a5901bedc5f74f76fa9be2668cb2b698 private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index a4233fa223bdf9b29a3d75b84ef38640331d7fb8..2f0cb4d692631f6485b3a70c6e15e7d9ed0c3ac7 100644 +index 8ea12aee6283ef8771009056135f878c01bd3a29..d0d53f068f8c58f7376008e2e13942ecb3637765 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -507,6 +507,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -49,7 +49,7 @@ index a4233fa223bdf9b29a3d75b84ef38640331d7fb8..2f0cb4d692631f6485b3a70c6e15e7d9 this.connection.disconnect(ichatbasecomponent); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b810ae5536cc1a64d44266f2158db0f6930429ff..b5d39d5ec89150e71cab1efe087c5254f2b4ba97 100644 +index 31e6da864b0ddf2f65ecc43ce8ef74d6c4e9d0aa..4d04cb528044d1e09687b80f9c6c7280bd2624ae 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -573,7 +573,7 @@ public abstract class PlayerList { diff --git a/patches/server/0494-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/server/0492-Add-Wandering-Trader-spawn-rate-config-options.patch index 87891d128b..87891d128b 100644 --- a/patches/server/0494-Add-Wandering-Trader-spawn-rate-config-options.patch +++ b/patches/server/0492-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/server/0495-Expose-world-spawn-angle.patch b/patches/server/0493-Expose-world-spawn-angle.patch index 708708f33c..b2ae742217 100644 --- a/patches/server/0495-Expose-world-spawn-angle.patch +++ b/patches/server/0493-Expose-world-spawn-angle.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose world spawn angle diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b5d39d5ec89150e71cab1efe087c5254f2b4ba97..db5902a97e46213c162fc2a5a0f94d2e2d53fa5a 100644 +index 4d04cb528044d1e09687b80f9c6c7280bd2624ae..a474db28f74b698621342510d01bf38775794a8e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -837,7 +837,7 @@ public abstract class PlayerList { diff --git a/patches/server/0496-Add-Destroy-Speed-API.patch b/patches/server/0494-Add-Destroy-Speed-API.patch index 76e967d4a5..067919e248 100644 --- a/patches/server/0496-Add-Destroy-Speed-API.patch +++ b/patches/server/0494-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index cd39ec0e87974be616f10321d953fd2f3af194f7..6c6867c007cec2b8364c875fbfc25c372b39351c 100644 +index 2749f81fd74e466fa6b7c1c5f08d8defc5203b3e..d035ff8390f2181fb81baec1b0287ead6da0a912 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -701,5 +701,26 @@ public class CraftBlock implements Block { +@@ -699,5 +699,26 @@ public class CraftBlock implements Block { public String translationKey() { return this.getNMS().getBlock().getDescriptionId(); } diff --git a/patches/server/0497-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0495-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 343d62a18d..15c419aac9 100644 --- a/patches/server/0497-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0495-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7ed8b5accb01973a5e6aea20c40522da16fe6d59..aa1be644a7fddee56310be9f94a25c97bfd46302 100644 +index 18a2ea9b00257de057c326f6a350b9ab281ab696..0ecd7b1bad69ab74f44effd4e4d552b3a5ba7e0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2487,7 +2487,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - if (data != null && !particle.getDataType().isInstance(data)) { - throw new IllegalArgumentException("data should be " + particle.getDataType() + " got " + data.getClass()); +@@ -2425,7 +2425,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + if (data != null) { + Preconditions.checkArgument(particle.getDataType().isInstance(data), "data (%s) should be %s", data.getClass(), particle.getDataType()); } - ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.toNMS(particle, data), true, (float) x, (float) y, (float) z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); + ClientboundLevelParticlesPacket packetplayoutworldparticles = new ClientboundLevelParticlesPacket(CraftParticle.toNMS(particle, data), true, x, y, z, (float) offsetX, (float) offsetY, (float) offsetZ, (float) extra, count); // Paper - Fix x/y/z coordinate precision loss diff --git a/patches/server/0498-Add-LivingEntity-clearActiveItem.patch b/patches/server/0496-Add-LivingEntity-clearActiveItem.patch index 98b742f015..3fc9e55552 100644 --- a/patches/server/0498-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0496-Add-LivingEntity-clearActiveItem.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index fb783efc63e8c782e34380ff98d92b644ea2665c..a95825e88ba31c255292451532d18a23c8d502cb 100644 +index 97286605e33436f3e4a7b7ad319d2b2870d7029a..4bdb06c18824c99475ea7a9cc4237b0879e705a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -868,6 +868,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -865,6 +865,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return getHandle().getUseItem().asBukkitMirror(); } diff --git a/patches/server/0499-Add-PlayerItemCooldownEvent.patch b/patches/server/0497-Add-PlayerItemCooldownEvent.patch index 751841d117..751841d117 100644 --- a/patches/server/0499-Add-PlayerItemCooldownEvent.patch +++ b/patches/server/0497-Add-PlayerItemCooldownEvent.patch diff --git a/patches/server/0500-Significantly-improve-performance-of-the-end-generat.patch b/patches/server/0498-Significantly-improve-performance-of-the-end-generat.patch index 95f0914262..95f0914262 100644 --- a/patches/server/0500-Significantly-improve-performance-of-the-end-generat.patch +++ b/patches/server/0498-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/server/0501-More-lightning-API.patch b/patches/server/0499-More-lightning-API.patch index f3cc50d6cc..f3cc50d6cc 100644 --- a/patches/server/0501-More-lightning-API.patch +++ b/patches/server/0499-More-lightning-API.patch diff --git a/patches/server/0502-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/server/0500-Climbing-should-not-bypass-cramming-gamerule.patch index a71e3571a3..fadf118f7b 100644 --- a/patches/server/0502-Climbing-should-not-bypass-cramming-gamerule.patch +++ b/patches/server/0500-Climbing-should-not-bypass-cramming-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Climbing should not bypass cramming gamerule diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 13459fec2555049dccc9b0437d42fd28f823dc46..75c54f74290d98606661b74b14757c5731cdf848 100644 +index 30c955cb8b1cb767e62964fea897870a88b4f310..2e5a20e65a7475d39c789b89955dfa06d5923b53 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2049,6 +2049,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0503-Added-missing-default-perms-for-commands.patch b/patches/server/0501-Added-missing-default-perms-for-commands.patch index ad38e917ee..ad38e917ee 100644 --- a/patches/server/0503-Added-missing-default-perms-for-commands.patch +++ b/patches/server/0501-Added-missing-default-perms-for-commands.patch diff --git a/patches/server/0504-Add-PlayerShearBlockEvent.patch b/patches/server/0502-Add-PlayerShearBlockEvent.patch index 9a31074c99..9a31074c99 100644 --- a/patches/server/0504-Add-PlayerShearBlockEvent.patch +++ b/patches/server/0502-Add-PlayerShearBlockEvent.patch diff --git a/patches/server/0505-Fix-curing-zombie-villager-discount-exploit.patch b/patches/server/0503-Fix-curing-zombie-villager-discount-exploit.patch index dd95f1314d..dd95f1314d 100644 --- a/patches/server/0505-Fix-curing-zombie-villager-discount-exploit.patch +++ b/patches/server/0503-Fix-curing-zombie-villager-discount-exploit.patch diff --git a/patches/server/0506-Limit-recipe-packets.patch b/patches/server/0504-Limit-recipe-packets.patch index 2db889004b..8fa525198b 100644 --- a/patches/server/0506-Limit-recipe-packets.patch +++ b/patches/server/0504-Limit-recipe-packets.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Limit recipe packets diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2f0cb4d692631f6485b3a70c6e15e7d9ed0c3ac7..904a442e28077da74d4de994d21347a50faa6ba2 100644 +index d0d53f068f8c58f7376008e2e13942ecb3637765..04bf1a4b5c36c9b4acb5ae12b67f7e28c5e73f37 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -266,6 +266,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -24,7 +24,7 @@ index 2f0cb4d692631f6485b3a70c6e15e7d9ed0c3ac7..904a442e28077da74d4de994d21347a5 /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -3133,6 +3135,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3136,6 +3138,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { diff --git a/patches/server/0507-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0505-Fix-CraftSound-backwards-compatibility.patch index 9795fec129..9795fec129 100644 --- a/patches/server/0507-Fix-CraftSound-backwards-compatibility.patch +++ b/patches/server/0505-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/server/0508-Player-Chunk-Load-Unload-Events.patch b/patches/server/0506-Player-Chunk-Load-Unload-Events.patch index 1ee144bf08..06e072f1b0 100644 --- a/patches/server/0508-Player-Chunk-Load-Unload-Events.patch +++ b/patches/server/0506-Player-Chunk-Load-Unload-Events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player Chunk Load/Unload Events diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a5901bedc5f74f76fa9be2668cb2b6988981fad9..92c48e991c014f1f6bbbd1f3157ed68df6e66a76 100644 +index abde8074da754667d65f3894097ad2255c97f3f0..fa9c1f323ef372c8a8210118eae0558da58c3c4e 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2232,11 +2232,21 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0509-Optimize-Dynamic-get-Missing-Keys.patch b/patches/server/0507-Optimize-Dynamic-get-Missing-Keys.patch index d664f7ff69..d664f7ff69 100644 --- a/patches/server/0509-Optimize-Dynamic-get-Missing-Keys.patch +++ b/patches/server/0507-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/server/0510-Expose-LivingEntity-hurt-direction.patch b/patches/server/0508-Expose-LivingEntity-hurt-direction.patch index 510e241406..bb3e6f8b6b 100644 --- a/patches/server/0510-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0508-Expose-LivingEntity-hurt-direction.patch @@ -18,7 +18,7 @@ index a8731cf957da9aad7ed6f5d372500bc34afd32ca..b36492efc3d6338e0099988c1ff31e72 public boolean affectsSpawning = true; // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index c9ddfde5f9774f96731e86fa57ee002e8db62c0f..8d21ca6b822dd20574d408e46ed0737642129a54 100644 +index b0d2038cf2622c8ee7f810026ed735ff954d7ad0..a8aa176b8afd45fada9529d4d0b92000299faf1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -126,6 +126,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -36,10 +36,10 @@ index c9ddfde5f9774f96731e86fa57ee002e8db62c0f..8d21ca6b822dd20574d408e46ed07376 public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a95825e88ba31c255292451532d18a23c8d502cb..7204d2b542d8454fe12cce1ff049363045d4f5e5 100644 +index 4bdb06c18824c99475ea7a9cc4237b0879e705a8..c74a6df6a9c3c7745daae4c0558948ea4a31d7a6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -913,5 +913,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -910,5 +910,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void playPickupItemAnimation(org.bukkit.entity.Item item, int quantity) { getHandle().take(((CraftItem) item).getHandle(), quantity); } diff --git a/patches/server/0511-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0509-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index 39424b498e..92a22c8ba6 100644 --- a/patches/server/0511-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0509-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6528757c99c55c1d9926da89efed468def758af3..e21d1404167ccd461359ccb0ceb90c4c809caabc 100644 +index 9761302bb1ca66242ae46d26001837dd881cb9fa..0c177a3165ea61bf31f030111084920a3a048256 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -267,6 +267,10 @@ public class CraftEventFactory { diff --git a/patches/server/0512-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch b/patches/server/0510-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch index 94e14e3d19..94e14e3d19 100644 --- a/patches/server/0512-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch +++ b/patches/server/0510-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch diff --git a/patches/server/0513-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0511-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index d4054979d0..fae98b6a21 100644 --- a/patches/server/0513-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0511-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -219,7 +219,7 @@ index d41f44ed2e497ba3373d170c08488b49e88334c4..d3a99ba6f3085ad12b67ddc94cc4ab39 void notifyTradeUpdated(ItemStack stack); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index 257776a12ca26c1e75be22a67c94b0aa012fd687..e7b8ade2c83bb72b4213d0ea93b97861ee43e599 100644 +index adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3..05af1f1cfb38e4ae4ea0ecc2d0a943cbc4063c77 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java @@ -74,10 +74,25 @@ public class CraftMerchantCustom extends CraftMerchant { diff --git a/patches/server/0514-Implement-TargetHitEvent.patch b/patches/server/0512-Implement-TargetHitEvent.patch index 78722933d9..78722933d9 100644 --- a/patches/server/0514-Implement-TargetHitEvent.patch +++ b/patches/server/0512-Implement-TargetHitEvent.patch diff --git a/patches/server/0515-MC-4-Fix-item-position-desync.patch b/patches/server/0513-MC-4-Fix-item-position-desync.patch index f226056cc2..08006ae1e7 100644 --- a/patches/server/0515-MC-4-Fix-item-position-desync.patch +++ b/patches/server/0513-MC-4-Fix-item-position-desync.patch @@ -28,7 +28,7 @@ index 5ca3ad7b3d7606accd0a58b3c708fadb349608f7..4b6e0fe2fabcc55007fd8979e81f66df public Vec3 decode(long x, long y, long z) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 75c54f74290d98606661b74b14757c5731cdf848..76955c2bc82a9daa4bec780989bff2f1a168a85e 100644 +index 2e5a20e65a7475d39c789b89955dfa06d5923b53..e5dc024ac2dcb39ccc4f72b90e0f9b9000dd818d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4232,6 +4232,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0516-Additional-Block-Material-API-s.patch b/patches/server/0514-Additional-Block-Material-API-s.patch index f2a9c1caf9..5704d47e95 100644 --- a/patches/server/0516-Additional-Block-Material-API-s.patch +++ b/patches/server/0514-Additional-Block-Material-API-s.patch @@ -9,10 +9,10 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 6c6867c007cec2b8364c875fbfc25c372b39351c..e181525525b8809c3d413047716264fd2b32cedd 100644 +index d035ff8390f2181fb81baec1b0287ead6da0a912..8958a54d1a9d6e9ad6ab09f3a587ba89ae2d817d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -467,6 +467,25 @@ public class CraftBlock implements Block { +@@ -465,6 +465,25 @@ public class CraftBlock implements Block { return this.getNMS().liquid(); } diff --git a/patches/server/0517-Fix-harming-potion-dupe.patch b/patches/server/0515-Fix-harming-potion-dupe.patch index 7b2d745291..7b2d745291 100644 --- a/patches/server/0517-Fix-harming-potion-dupe.patch +++ b/patches/server/0515-Fix-harming-potion-dupe.patch diff --git a/patches/server/0518-Implement-API-to-get-Material-from-Boats-and-Minecar.patch b/patches/server/0516-Implement-API-to-get-Material-from-Boats-and-Minecar.patch index f9e803f989..f9e803f989 100644 --- a/patches/server/0518-Implement-API-to-get-Material-from-Boats-and-Minecar.patch +++ b/patches/server/0516-Implement-API-to-get-Material-from-Boats-and-Minecar.patch diff --git a/patches/server/0519-Cache-burn-durations.patch b/patches/server/0517-Cache-burn-durations.patch index 0b0a8c2b0e..0b0a8c2b0e 100644 --- a/patches/server/0519-Cache-burn-durations.patch +++ b/patches/server/0517-Cache-burn-durations.patch diff --git a/patches/server/0520-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/server/0518-Allow-disabling-mob-spawner-spawn-egg-transformation.patch index bd783eafb5..bd783eafb5 100644 --- a/patches/server/0520-Allow-disabling-mob-spawner-spawn-egg-transformation.patch +++ b/patches/server/0518-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/server/0521-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/server/0519-Fix-Not-a-string-Map-Conversion-spam.patch index 087de88608..087de88608 100644 --- a/patches/server/0521-Fix-Not-a-string-Map-Conversion-spam.patch +++ b/patches/server/0519-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/server/0522-Implement-PlayerFlowerPotManipulateEvent.patch b/patches/server/0520-Implement-PlayerFlowerPotManipulateEvent.patch index 8f512f54d6..8f512f54d6 100644 --- a/patches/server/0522-Implement-PlayerFlowerPotManipulateEvent.patch +++ b/patches/server/0520-Implement-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/server/0523-Fix-interact-event-not-being-called-in-adventure.patch b/patches/server/0521-Fix-interact-event-not-being-called-in-adventure.patch index e80b09ea8c..49e76d3196 100644 --- a/patches/server/0523-Fix-interact-event-not-being-called-in-adventure.patch +++ b/patches/server/0521-Fix-interact-event-not-being-called-in-adventure.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix interact event not being called in adventure Call PlayerInteractEvent when left-clicking on a block in adventure mode diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 904a442e28077da74d4de994d21347a50faa6ba2..df9d65167346152d9c589e3072e3d3d6882db5c6 100644 +index 04bf1a4b5c36c9b4acb5ae12b67f7e28c5e73f37..4a20980ee00b52ee12537ad9cd9095ba3da39166 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1834,7 +1834,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1837,7 +1837,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic MutableComponent ichatmutablecomponent = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); this.player.sendSystemMessage(ichatmutablecomponent, true); @@ -18,7 +18,7 @@ index 904a442e28077da74d4de994d21347a50faa6ba2..df9d65167346152d9c589e3072e3d3d6 this.player.swing(enumhand, true); } } -@@ -2470,7 +2470,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2473,7 +2473,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // SPIGOT-5607: Only call interact event if no block or entity is being clicked. Use bukkit ray trace method, because it handles blocks and entities at the same time org.bukkit.util.RayTraceResult result = this.player.level().getWorld().rayTrace(origin, origin.getDirection(), d3, org.bukkit.FluidCollisionMode.NEVER, false, 0.1, entity -> entity != this.player.getBukkitEntity() && this.player.getBukkitEntity().canSee(entity)); diff --git a/patches/server/0524-Zombie-API-breaking-doors.patch b/patches/server/0522-Zombie-API-breaking-doors.patch index 0b6d0327e3..0b6d0327e3 100644 --- a/patches/server/0524-Zombie-API-breaking-doors.patch +++ b/patches/server/0522-Zombie-API-breaking-doors.patch diff --git a/patches/server/0525-Fix-nerfed-slime-when-splitting.patch b/patches/server/0523-Fix-nerfed-slime-when-splitting.patch index ca1a39e53c..ca1a39e53c 100644 --- a/patches/server/0525-Fix-nerfed-slime-when-splitting.patch +++ b/patches/server/0523-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/server/0526-Add-EntityLoadCrossbowEvent.patch b/patches/server/0524-Add-EntityLoadCrossbowEvent.patch index b535c7b3fd..b535c7b3fd 100644 --- a/patches/server/0526-Add-EntityLoadCrossbowEvent.patch +++ b/patches/server/0524-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/server/0527-Added-WorldGameRuleChangeEvent.patch b/patches/server/0525-Added-WorldGameRuleChangeEvent.patch index 9427b774ac..ef56270b86 100644 --- a/patches/server/0527-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0525-Added-WorldGameRuleChangeEvent.patch @@ -64,10 +64,10 @@ index 4a0321f56ef80aa4991e61f586ddd3f6b45e499b..de713f1ca1d61a6b1fca2b66de916255 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7fc85b00fa2c9caa832247e2e95de231e8377ec2..fea9f11cf6f665eba86d2ffde7b241910300a516 100644 +index 133a5b30b4cdca091f7eae9fccc5bb7d03ace432..9351b3b8d4d9c7069ea4ae11a49a1f7b70ffbce9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1839,8 +1839,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1845,8 +1845,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule)) return false; @@ -82,7 +82,7 @@ index 7fc85b00fa2c9caa832247e2e95de231e8377ec2..fea9f11cf6f665eba86d2ffde7b24191 handle.onChanged(this.getHandle().getServer()); return true; } -@@ -1875,8 +1880,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1882,8 +1887,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { if (!this.isGameRule(rule.getName())) return false; diff --git a/patches/server/0528-Added-ServerResourcesReloadedEvent.patch b/patches/server/0526-Added-ServerResourcesReloadedEvent.patch index 150d0eb7c2..4ba0ccdc24 100644 --- a/patches/server/0528-Added-ServerResourcesReloadedEvent.patch +++ b/patches/server/0526-Added-ServerResourcesReloadedEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added ServerResourcesReloadedEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b3ef498ceacfc8eca0557c3d37f99a14fd6058d0..0ed954f83a7a045c964930247ea393cbaafcbf12 100644 +index 412e5db21a83e9ca6ba5aa0d457507ce51176ebc..d29b66d9db69309087ee2eac2561ab2fcd797eb8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2011,7 +2011,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2009,7 +2009,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa return this.functionManager; } @@ -22,7 +22,7 @@ index b3ef498ceacfc8eca0557c3d37f99a14fd6058d0..0ed954f83a7a045c964930247ea393cb RegistryAccess.Frozen iregistrycustom_dimension = this.registries.getAccessForLoading(RegistryLayer.RELOADABLE); CompletableFuture<Void> completablefuture = CompletableFuture.supplyAsync(() -> { Stream<String> stream = dataPacks.stream(); // CraftBukkit - decompile error -@@ -2052,6 +2058,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2050,6 +2056,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.functionManager.replaceLibrary(this.resources.managers.getFunctionLibrary()); this.structureTemplateManager.onResourceManagerReload(this.resources.resourceManager); org.bukkit.craftbukkit.block.data.CraftBlockData.reloadCache(); // Paper - cache block data strings, they can be defined by datapacks so refresh it here diff --git a/patches/server/0529-Added-world-settings-for-mobs-picking-up-loot.patch b/patches/server/0527-Added-world-settings-for-mobs-picking-up-loot.patch index 7228b93ce4..7228b93ce4 100644 --- a/patches/server/0529-Added-world-settings-for-mobs-picking-up-loot.patch +++ b/patches/server/0527-Added-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/server/0530-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0528-Implemented-BlockFailedDispenseEvent.patch index e75b49dcf0..b1b85563fe 100644 --- a/patches/server/0530-Implemented-BlockFailedDispenseEvent.patch +++ b/patches/server/0528-Implemented-BlockFailedDispenseEvent.patch @@ -32,10 +32,10 @@ index 1415ad60163f6584619cc7caa61f1848d6ebaa93..801c4c120e98584bcf218a4ef9bd66d7 } else { ItemStack itemstack = tileentitydispenser.getItem(i); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e21d1404167ccd461359ccb0ceb90c4c809caabc..f5d17617245c786d76277fdf7d526c0a93921053 100644 +index 0c177a3165ea61bf31f030111084920a3a048256..edd27b8e2535b520c4f6e6309269ab84799f2a3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1918,4 +1918,12 @@ public class CraftEventFactory { +@@ -1920,4 +1920,12 @@ public class CraftEventFactory { return !event.isCancelled(); } diff --git a/patches/server/0531-Added-PlayerLecternPageChangeEvent.patch b/patches/server/0529-Added-PlayerLecternPageChangeEvent.patch index 57485f4ee7..57485f4ee7 100644 --- a/patches/server/0531-Added-PlayerLecternPageChangeEvent.patch +++ b/patches/server/0529-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/server/0532-Added-PlayerLoomPatternSelectEvent.patch b/patches/server/0530-Added-PlayerLoomPatternSelectEvent.patch index 23dca6d928..23dca6d928 100644 --- a/patches/server/0532-Added-PlayerLoomPatternSelectEvent.patch +++ b/patches/server/0530-Added-PlayerLoomPatternSelectEvent.patch diff --git a/patches/server/0533-Configurable-door-breaking-difficulty.patch b/patches/server/0531-Configurable-door-breaking-difficulty.patch index 627c3d4ee2..627c3d4ee2 100644 --- a/patches/server/0533-Configurable-door-breaking-difficulty.patch +++ b/patches/server/0531-Configurable-door-breaking-difficulty.patch diff --git a/patches/server/0534-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0532-Empty-commands-shall-not-be-dispatched.patch index 7f1932a7d6..7f1932a7d6 100644 --- a/patches/server/0534-Empty-commands-shall-not-be-dispatched.patch +++ b/patches/server/0532-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/server/0535-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0533-Implement-API-to-expose-exact-interaction-point.patch index 74eee6a06f..b411c78421 100644 --- a/patches/server/0535-Implement-API-to-expose-exact-interaction-point.patch +++ b/patches/server/0533-Implement-API-to-expose-exact-interaction-point.patch @@ -18,10 +18,10 @@ index 180dc7ec0202fd6c24682631dedc066976f17fa4..43221bf57fb4eeb70823c12b48f4df0b this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f5d17617245c786d76277fdf7d526c0a93921053..12a8e9f41dfff700a8e5b8874cf1317e6d68e43a 100644 +index edd27b8e2535b520c4f6e6309269ab84799f2a3a..3799eec69ef45c77e032faee91ce45205dcd3675 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -57,7 +57,9 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; +@@ -58,7 +58,9 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; import net.minecraft.world.phys.BlockHitResult; import net.minecraft.world.phys.EntityHitResult; import net.minecraft.world.phys.HitResult; diff --git a/patches/server/0536-Remove-stale-POIs.patch b/patches/server/0534-Remove-stale-POIs.patch index 1d7cd63079..1d7cd63079 100644 --- a/patches/server/0536-Remove-stale-POIs.patch +++ b/patches/server/0534-Remove-stale-POIs.patch diff --git a/patches/server/0537-Fix-villager-boat-exploit.patch b/patches/server/0535-Fix-villager-boat-exploit.patch index 9df73b39bc..b0dd823458 100644 --- a/patches/server/0537-Fix-villager-boat-exploit.patch +++ b/patches/server/0535-Fix-villager-boat-exploit.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index db5902a97e46213c162fc2a5a0f94d2e2d53fa5a..9d569e4021e2727602eae65e19d77a7c0d367693 100644 +index a474db28f74b698621342510d01bf38775794a8e..13e2fb9e48ed8722b68b2ce2994d9d84bb22cee4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -598,6 +598,14 @@ public abstract class PlayerList { diff --git a/patches/server/0538-Add-sendOpLevel-API.patch b/patches/server/0536-Add-sendOpLevel-API.patch index 2ce226176b..9dd111ff57 100644 --- a/patches/server/0538-Add-sendOpLevel-API.patch +++ b/patches/server/0536-Add-sendOpLevel-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9d569e4021e2727602eae65e19d77a7c0d367693..adb616a519b1bba4babb92ca1042e964a2b79586 100644 +index 13e2fb9e48ed8722b68b2ce2994d9d84bb22cee4..600bb44d97b477960108ea8cd84a8e734b7e10d0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1086,6 +1086,11 @@ public abstract class PlayerList { @@ -32,10 +32,10 @@ index 9d569e4021e2727602eae65e19d77a7c0d367693..adb616a519b1bba4babb92ca1042e964 public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index aa1be644a7fddee56310be9f94a25c97bfd46302..a193b78ae1f43b1d8a48467fb082ee3bcb61831b 100644 +index 0ecd7b1bad69ab74f44effd4e4d552b3a5ba7e0a..950fa366d269bc4aca459c5f296ecf578f8ce312 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -630,6 +630,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -627,6 +627,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/server/0539-TODO-Registry-Modification-API.patch b/patches/server/0537-TODO-Registry-Modification-API.patch index 54b86b44e7..54b86b44e7 100644 --- a/patches/server/0539-TODO-Registry-Modification-API.patch +++ b/patches/server/0537-TODO-Registry-Modification-API.patch diff --git a/patches/server/0540-Add-StructuresLocateEvent.patch b/patches/server/0538-Add-StructuresLocateEvent.patch index 6486f1c83a..6486f1c83a 100644 --- a/patches/server/0540-Add-StructuresLocateEvent.patch +++ b/patches/server/0538-Add-StructuresLocateEvent.patch diff --git a/patches/server/0541-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0539-Collision-option-for-requiring-a-player-participant.patch index c99dd0c6e5..90c1aec77e 100644 --- a/patches/server/0541-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0539-Collision-option-for-requiring-a-player-participant.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 76955c2bc82a9daa4bec780989bff2f1a168a85e..a500f4becd7f97038734b460c33832388f5ca17a 100644 +index e5dc024ac2dcb39ccc4f72b90e0f9b9000dd818d..44d8e9659e111e6f9ca4e403ff4cb4e57c712ea4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1919,6 +1919,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0542-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0540-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch index 3f7c51ddfe..3f7c51ddfe 100644 --- a/patches/server/0542-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch +++ b/patches/server/0540-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch diff --git a/patches/server/0543-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0541-Return-chat-component-with-empty-text-instead-of-thr.patch index a508906e35..a508906e35 100644 --- a/patches/server/0543-Return-chat-component-with-empty-text-instead-of-thr.patch +++ b/patches/server/0541-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0544-Make-schedule-command-per-world.patch b/patches/server/0542-Make-schedule-command-per-world.patch index 8e29559590..8e29559590 100644 --- a/patches/server/0544-Make-schedule-command-per-world.patch +++ b/patches/server/0542-Make-schedule-command-per-world.patch diff --git a/patches/server/0545-Configurable-max-leash-distance.patch b/patches/server/0543-Configurable-max-leash-distance.patch index 69bb7838fd..69bb7838fd 100644 --- a/patches/server/0545-Configurable-max-leash-distance.patch +++ b/patches/server/0543-Configurable-max-leash-distance.patch diff --git a/patches/server/0546-Implement-BlockPreDispenseEvent.patch b/patches/server/0544-Implement-BlockPreDispenseEvent.patch index 100c2aa944..3749486d75 100644 --- a/patches/server/0546-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0544-Implement-BlockPreDispenseEvent.patch @@ -17,10 +17,10 @@ index 9ec043ff2cd38e589066a3eb7f42834e4e7592cf..4720b884e1e311f44a012f1219fe648a tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 12a8e9f41dfff700a8e5b8874cf1317e6d68e43a..79451f5aec55829f41670cb4366e6971d18c6ece 100644 +index 3799eec69ef45c77e032faee91ce45205dcd3675..2567c229eb14a8bf54cd99e852a4c31fde86646d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1936,5 +1936,11 @@ public class CraftEventFactory { +@@ -1938,5 +1938,11 @@ public class CraftEventFactory { io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block); return event.callEvent(); } diff --git a/patches/server/0547-Added-firing-of-PlayerChangeBeaconEffectEvent.patch b/patches/server/0545-Added-firing-of-PlayerChangeBeaconEffectEvent.patch index ff2199df0b..ff2199df0b 100644 --- a/patches/server/0547-Added-firing-of-PlayerChangeBeaconEffectEvent.patch +++ b/patches/server/0545-Added-firing-of-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0548-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0546-Add-toggle-for-always-placing-the-dragon-egg.patch index 76a5cc04c4..76a5cc04c4 100644 --- a/patches/server/0548-Add-toggle-for-always-placing-the-dragon-egg.patch +++ b/patches/server/0546-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0549-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0547-Added-PlayerStonecutterRecipeSelectEvent.patch index 68ca096d98..68ca096d98 100644 --- a/patches/server/0549-Added-PlayerStonecutterRecipeSelectEvent.patch +++ b/patches/server/0547-Added-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0550-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0548-Add-dropLeash-variable-to-EntityUnleashEvent.patch index 6ca1342382..fdcf6c0771 100644 --- a/patches/server/0550-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0548-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -122,10 +122,10 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..4eb97572a97a8d98af37c4223f42fc63 flag1 = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 79451f5aec55829f41670cb4366e6971d18c6ece..484b318abe3353e551552fbebd611f9201311643 100644 +index 2567c229eb14a8bf54cd99e852a4c31fde86646d..2dc961eedf4da8175bad709fbb9f0fcce7d23330 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1558,8 +1558,10 @@ public class CraftEventFactory { +@@ -1562,8 +1562,10 @@ public class CraftEventFactory { return itemInHand; } diff --git a/patches/server/0551-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0549-Reset-shield-blocking-on-dimension-change.patch index ba075c90aa..7e226b9e49 100644 --- a/patches/server/0551-Reset-shield-blocking-on-dimension-change.patch +++ b/patches/server/0549-Reset-shield-blocking-on-dimension-change.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Reset shield blocking on dimension change diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 92c48e991c014f1f6bbbd1f3157ed68df6e66a76..b0b1f5022455e9ab0aa8ba3ddd0d4762f1e3eb81 100644 +index fa9c1f323ef372c8a8210118eae0558da58c3c4e..fba3ac571fafd5c738d0dcfd5492112817c443e3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1240,6 +1240,11 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0552-add-DragonEggFormEvent.patch b/patches/server/0550-add-DragonEggFormEvent.patch index e4abf96236..e4abf96236 100644 --- a/patches/server/0552-add-DragonEggFormEvent.patch +++ b/patches/server/0550-add-DragonEggFormEvent.patch diff --git a/patches/server/0553-EntityMoveEvent.patch b/patches/server/0551-EntityMoveEvent.patch index bc55cb5d10..81419d42b7 100644 --- a/patches/server/0553-EntityMoveEvent.patch +++ b/patches/server/0551-EntityMoveEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] EntityMoveEvent diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 0ed954f83a7a045c964930247ea393cbaafcbf12..5ac5937c72286d96c394a4da90cbc4436e22ed59 100644 +index d29b66d9db69309087ee2eac2561ab2fcd797eb8..5ac0773a375d833f141f1a1754ca8a0661a0499b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1506,6 +1506,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1504,6 +1504,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper diff --git a/patches/server/0554-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0552-added-option-to-disable-pathfinding-updates-on-block.patch index 9b9906d86e..9b9906d86e 100644 --- a/patches/server/0554-added-option-to-disable-pathfinding-updates-on-block.patch +++ b/patches/server/0552-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/server/0555-Inline-shift-direction-fields.patch b/patches/server/0553-Inline-shift-direction-fields.patch index f0c71d61f2..f0c71d61f2 100644 --- a/patches/server/0555-Inline-shift-direction-fields.patch +++ b/patches/server/0553-Inline-shift-direction-fields.patch diff --git a/patches/server/0556-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0554-Allow-adding-items-to-BlockDropItemEvent.patch index 82b65e9cec..64ee1fccfe 100644 --- a/patches/server/0556-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0554-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 484b318abe3353e551552fbebd611f9201311643..7ef3e4dd903c77fd6112e90999a474ff674a5e7f 100644 +index 2dc961eedf4da8175bad709fbb9f0fcce7d23330..64e1e46bd6c4b225fe9b86c4cf632b9bb1c4af09 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -418,13 +418,30 @@ public class CraftEventFactory { diff --git a/patches/server/0557-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0555-Add-getMainThreadExecutor-to-BukkitScheduler.patch index 8cfe3357dc..a387813cdf 100644 --- a/patches/server/0557-Add-getMainThreadExecutor-to-BukkitScheduler.patch +++ b/patches/server/0555-Add-getMainThreadExecutor-to-BukkitScheduler.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getMainThreadExecutor to BukkitScheduler diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index a423970cf7c927ea8a1bf842aaa236d3cf2d54c2..cdefb2025eedea7e204d70d568adaf1c1ec4c03c 100644 +index addf3c442a085281a7ac06245ccd741f08ed7ccb..d7ce4971d9271dbeff4adb9d852e4e7bdf60bf03 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -@@ -655,4 +655,15 @@ public class CraftScheduler implements BukkitScheduler { +@@ -651,4 +651,15 @@ public class CraftScheduler implements BukkitScheduler { public BukkitTask runTaskTimerAsynchronously(Plugin plugin, BukkitRunnable task, long delay, long period) throws IllegalArgumentException { throw new UnsupportedOperationException("Use BukkitRunnable#runTaskTimerAsynchronously(Plugin, long, long)"); } @@ -16,9 +16,9 @@ index a423970cf7c927ea8a1bf842aaa236d3cf2d54c2..cdefb2025eedea7e204d70d568adaf1c + // Paper start - add getMainThreadExecutor + @Override + public Executor getMainThreadExecutor(Plugin plugin) { -+ Validate.notNull(plugin, "Plugin cannot be null"); ++ Preconditions.checkArgument(plugin != null, "Plugin cannot be null"); + return command -> { -+ Validate.notNull(command, "Command cannot be null"); ++ Preconditions.checkArgument(command != null, "Command cannot be null"); + this.runTask(plugin, command); + }; + } diff --git a/patches/server/0558-living-entity-allow-attribute-registration.patch b/patches/server/0556-living-entity-allow-attribute-registration.patch index 2d3a7ab361..4c2d5f8c84 100644 --- a/patches/server/0558-living-entity-allow-attribute-registration.patch +++ b/patches/server/0556-living-entity-allow-attribute-registration.patch @@ -41,10 +41,10 @@ index 233e372ba5d785352c9ac12dac37395bac63315c..0e61caa5c9f21788fbeaa90ed75d23e1 return BuiltInRegistries.ATTRIBUTE.get(CraftNamespacedKey.toMinecraft(attribute.getKey())); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 7204d2b542d8454fe12cce1ff049363045d4f5e5..37148ccf704dd8e5aa7d9ab100e6df142e822255 100644 +index c74a6df6a9c3c7745daae4c0558948ea4a31d7a6..63a1522071ec6e9a550598b04c1a901ff76a5c78 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -705,6 +705,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -702,6 +702,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().craftAttributes.getAttribute(attribute); } diff --git a/patches/server/0559-fix-dead-slime-setSize-invincibility.patch b/patches/server/0557-fix-dead-slime-setSize-invincibility.patch index 91a270bc9e..91a270bc9e 100644 --- a/patches/server/0559-fix-dead-slime-setSize-invincibility.patch +++ b/patches/server/0557-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0560-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0558-Merchant-getRecipes-should-return-an-immutable-list.patch index cbb0cdc052..cbb0cdc052 100644 --- a/patches/server/0560-Merchant-getRecipes-should-return-an-immutable-list.patch +++ b/patches/server/0558-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/server/0561-Expose-Tracked-Players.patch b/patches/server/0559-Expose-Tracked-Players.patch index d84718662d..35f7177f1c 100644 --- a/patches/server/0561-Expose-Tracked-Players.patch +++ b/patches/server/0559-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2b936e32a67c108df9a7f6b335357a25bad6d291..bed8b8d3091216856168277af7f51c54b5b1e1f1 100644 +index 702987ef563db2e0819771e8c3be822e4644ee3f..d3eaf054b1815003934e7f2d904a05a5d8abc3a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1348,5 +1348,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1341,5 +1341,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isTicking() { return getHandle().isTicking(); } diff --git a/patches/server/0562-Remove-streams-from-SensorNearest.patch b/patches/server/0560-Remove-streams-from-SensorNearest.patch index a7ae5d1a98..a7ae5d1a98 100644 --- a/patches/server/0562-Remove-streams-from-SensorNearest.patch +++ b/patches/server/0560-Remove-streams-from-SensorNearest.patch diff --git a/patches/server/0563-Throw-proper-exception-on-empty-JsonList-file.patch b/patches/server/0561-Throw-proper-exception-on-empty-JsonList-file.patch index e013e32526..e013e32526 100644 --- a/patches/server/0563-Throw-proper-exception-on-empty-JsonList-file.patch +++ b/patches/server/0561-Throw-proper-exception-on-empty-JsonList-file.patch diff --git a/patches/server/0564-Improve-ServerGUI.patch b/patches/server/0562-Improve-ServerGUI.patch index 9606c8a72f..9606c8a72f 100644 --- a/patches/server/0564-Improve-ServerGUI.patch +++ b/patches/server/0562-Improve-ServerGUI.patch diff --git a/patches/server/0565-fix-converting-txt-to-json-file.patch b/patches/server/0563-fix-converting-txt-to-json-file.patch index 5c89a8730e..a47425eac7 100644 --- a/patches/server/0565-fix-converting-txt-to-json-file.patch +++ b/patches/server/0563-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index 1ffd3854239862414e6ceecf2764ba3d6bd7942a..030b6e33fe80f6c50c473dbaa8f9aa9d if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { return false; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index adb616a519b1bba4babb92ca1042e964a2b79586..063aed795bb668c62f69d0c93ffc6d939af681ad 100644 +index 600bb44d97b477960108ea8cd84a8e734b7e10d0..6d333b75f898fc34c7e739a1246a202329f1b9ff 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -186,6 +186,7 @@ public abstract class PlayerList { diff --git a/patches/server/0566-Add-worldborder-events.patch b/patches/server/0564-Add-worldborder-events.patch index 176d1259e4..176d1259e4 100644 --- a/patches/server/0566-Add-worldborder-events.patch +++ b/patches/server/0564-Add-worldborder-events.patch diff --git a/patches/server/0567-added-PlayerNameEntityEvent.patch b/patches/server/0565-added-PlayerNameEntityEvent.patch index d5a8060153..d5a8060153 100644 --- a/patches/server/0567-added-PlayerNameEntityEvent.patch +++ b/patches/server/0565-added-PlayerNameEntityEvent.patch diff --git a/patches/server/0568-Prevent-grindstones-from-overstacking-items.patch b/patches/server/0566-Prevent-grindstones-from-overstacking-items.patch index dc68619ad1..dc68619ad1 100644 --- a/patches/server/0568-Prevent-grindstones-from-overstacking-items.patch +++ b/patches/server/0566-Prevent-grindstones-from-overstacking-items.patch diff --git a/patches/server/0569-Add-recipe-to-cook-events.patch b/patches/server/0567-Add-recipe-to-cook-events.patch index 6599e0cc50..6599e0cc50 100644 --- a/patches/server/0569-Add-recipe-to-cook-events.patch +++ b/patches/server/0567-Add-recipe-to-cook-events.patch diff --git a/patches/server/0570-Add-Block-isValidTool.patch b/patches/server/0568-Add-Block-isValidTool.patch index d525f7d600..6130e68ff2 100644 --- a/patches/server/0570-Add-Block-isValidTool.patch +++ b/patches/server/0568-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e181525525b8809c3d413047716264fd2b32cedd..30fc626f51437e254993edd9b14337fa60ba313c 100644 +index 8958a54d1a9d6e9ad6ab09f3a587ba89ae2d817d..582f1c07da8edc88dda9463992bb8503fcb9e163 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -741,5 +741,9 @@ public class CraftBlock implements Block { +@@ -739,5 +739,9 @@ public class CraftBlock implements Block { } return speed; } diff --git a/patches/server/0571-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0569-Allow-using-signs-inside-spawn-protection.patch index d2ff2b0366..017a3c1472 100644 --- a/patches/server/0571-Allow-using-signs-inside-spawn-protection.patch +++ b/patches/server/0569-Allow-using-signs-inside-spawn-protection.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow using signs inside spawn protection diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ad19b3870fcc8ebd20fe429de3123731a0c2df07..fa808d6e3288996fab06e4b577957185e0009bce 100644 +index 4a20980ee00b52ee12537ad9cd9095ba3da39166..f893d9f8dc5f087a63efa91338ad4118f9d67d47 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1826,7 +1826,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1829,7 +1829,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic int i = this.player.level().getMaxBuildHeight(); if (blockposition.getY() < i) { diff --git a/patches/server/0572-Expand-world-key-API.patch b/patches/server/0570-Expand-world-key-API.patch index f86cd7dd43..022aa9fbaa 100644 --- a/patches/server/0572-Expand-world-key-API.patch +++ b/patches/server/0570-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5f9c3c237b65986f8c425bbc691ac301f8fdebbc..cb7ceaaaf4e8deec78962660298fa5316f8c5a63 100644 +index a9cad569f9c71f9818d1b831983f71aae367d98e..4e85e98d12d5ee4cabb6d449bcf3134f353932fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -990,5 +990,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -986,5 +986,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public io.papermc.paper.world.MoonPhase getMoonPhase() { return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L); } @@ -20,7 +20,7 @@ index 5f9c3c237b65986f8c425bbc691ac301f8fdebbc..cb7ceaaaf4e8deec78962660298fa531 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index faa073683fae16578aaa83eefc447cd2740a3491..8b9b433dd1e835abc78ca074dbfe688f834625a9 100644 +index b6c9dd5b3fd746ef7e863c27fd581c9f23a795a2..ed6125d52eb0e406e44a2c3ded1ed1d1b19bf5c5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1153,9 +1153,15 @@ public final class CraftServer implements Server { @@ -39,9 +39,9 @@ index faa073683fae16578aaa83eefc447cd2740a3491..8b9b433dd1e835abc78ca074dbfe688f } + // Paper end - if ((folder.exists()) && (!folder.isDirectory())) { - throw new IllegalArgumentException("File exists with the name '" + name + "' and isn't a folder"); -@@ -1244,7 +1250,7 @@ public final class CraftServer implements Server { + if (folder.exists()) { + Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name); +@@ -1242,7 +1248,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -50,7 +50,7 @@ index faa073683fae16578aaa83eefc447cd2740a3491..8b9b433dd1e835abc78ca074dbfe688f } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1336,6 +1342,15 @@ public final class CraftServer implements Server { +@@ -1334,6 +1340,15 @@ public final class CraftServer implements Server { return null; } @@ -67,10 +67,10 @@ index faa073683fae16578aaa83eefc447cd2740a3491..8b9b433dd1e835abc78ca074dbfe688f // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index fbb674d355f30f34de6bb9608e628d5c49047be6..8e92454f435a43a78007ef607f15a94d2ac980ae 100644 +index 355d736f2cf6580c21365be2b3a0a3cb124d6d16..19c0754e87834577e166412af6936f88557c9614 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -525,6 +525,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -523,6 +523,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/server/0573-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0571-Add-fast-alternative-constructor-for-Rotations.patch index bbdcc665bb..bbdcc665bb 100644 --- a/patches/server/0573-Add-fast-alternative-constructor-for-Rotations.patch +++ b/patches/server/0571-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0574-Item-Rarity-API.patch b/patches/server/0572-Item-Rarity-API.patch index de26718a34..acf29f2cbe 100644 --- a/patches/server/0574-Item-Rarity-API.patch +++ b/patches/server/0572-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 8e92454f435a43a78007ef607f15a94d2ac980ae..44850ec4a8245bc534efb85008486dd6f599b2e4 100644 +index 19c0754e87834577e166412af6936f88557c9614..47e035d384c68d5584afb228b0adb6be05add239 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -530,6 +530,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -528,6 +528,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0575-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0573-Drop-carried-item-when-player-has-disconnected.patch index 5d01be88b2..4cc04af3a6 100644 --- a/patches/server/0575-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0573-Drop-carried-item-when-player-has-disconnected.patch @@ -7,7 +7,7 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 063aed795bb668c62f69d0c93ffc6d939af681ad..7e26f87ffd8f50cf4e2cd582c9cd5d9abbf9c3f3 100644 +index 6d333b75f898fc34c7e739a1246a202329f1b9ff..f375947876c5c834bdab66a26a06b3a43c08e65d 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -591,6 +591,14 @@ public abstract class PlayerList { diff --git a/patches/server/0576-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0574-forced-whitelist-use-configurable-kick-message.patch index 5b96e8d5dd..8c90159103 100644 --- a/patches/server/0576-forced-whitelist-use-configurable-kick-message.patch +++ b/patches/server/0574-forced-whitelist-use-configurable-kick-message.patch @@ -5,10 +5,10 @@ Subject: [PATCH] forced whitelist: use configurable kick message diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 34658ffabd88abbc84bfc19f44c9cd391f2cb1bb..b3f04bb7afee65584566591b302feb8dfa850e87 100644 +index 5ac0773a375d833f141f1a1754ca8a0661a0499b..39dd0ef9af89d4a752f101740ae58797fb2adc4d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2150,7 +2150,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2148,7 +2148,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa ServerPlayer entityplayer = (ServerPlayer) iterator.next(); if (!whitelist.isWhiteListed(entityplayer.getGameProfile()) && !this.getPlayerList().isOp(entityplayer.getGameProfile())) { // Paper - Fix kicking ops when whitelist is reloaded (MC-171420) diff --git a/patches/server/0577-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0575-Don-t-ignore-result-of-PlayerEditBookEvent.patch index b6708ac38a..d9ee7915ec 100644 --- a/patches/server/0577-Don-t-ignore-result-of-PlayerEditBookEvent.patch +++ b/patches/server/0575-Don-t-ignore-result-of-PlayerEditBookEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't ignore result of PlayerEditBookEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fa808d6e3288996fab06e4b577957185e0009bce..4495dcbf340fb7a89060b0836a7e2b0cca4bc2b4 100644 +index f893d9f8dc5f087a63efa91338ad4118f9d67d47..f2e5bffd43e36b47af51e516409830fa5a5acbbe 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1290,7 +1290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0578-Expose-protocol-version.patch b/patches/server/0576-Expose-protocol-version.patch index 4447e72ad3..4baad66755 100644 --- a/patches/server/0578-Expose-protocol-version.patch +++ b/patches/server/0576-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 44850ec4a8245bc534efb85008486dd6f599b2e4..fb24efa54510fc77a7d4541462242113e16d2f53 100644 +index 47e035d384c68d5584afb228b0adb6be05add239..507bffe09ffdc1ea8357f9ca2c5455d7704bfae8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -544,6 +544,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -542,6 +542,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0579-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0577-Enhance-console-tab-completions-for-brigadier-comman.patch index 1069662178..1069662178 100644 --- a/patches/server/0579-Enhance-console-tab-completions-for-brigadier-comman.patch +++ b/patches/server/0577-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0580-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0578-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index a873a9e9da..a873a9e9da 100644 --- a/patches/server/0580-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0578-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/server/0581-Add-bypass-host-check.patch b/patches/server/0579-Add-bypass-host-check.patch index 05f0f5396e..05f0f5396e 100644 --- a/patches/server/0581-Add-bypass-host-check.patch +++ b/patches/server/0579-Add-bypass-host-check.patch diff --git a/patches/server/0582-Set-area-affect-cloud-rotation.patch b/patches/server/0580-Set-area-affect-cloud-rotation.patch index 01bee08450..4441d7b847 100644 --- a/patches/server/0582-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0580-Set-area-affect-cloud-rotation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index cb7ceaaaf4e8deec78962660298fa5316f8c5a63..5bd5a059c5beeade313f74ba3c1fc63825bd286b 100644 +index 4e85e98d12d5ee4cabb6d449bcf3134f353932fb..9160fc90afce3c589cf6a3ddb829d56e045b20fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -956,6 +956,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -952,6 +952,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(location.getX(), location.getY(), location.getZ()); } else if (AreaEffectCloud.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z); diff --git a/patches/server/0583-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0581-add-isDeeplySleeping-to-HumanEntity.patch index 2395939fc1..28dad086f7 100644 --- a/patches/server/0583-add-isDeeplySleeping-to-HumanEntity.patch +++ b/patches/server/0581-add-isDeeplySleeping-to-HumanEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add isDeeplySleeping to HumanEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 8d21ca6b822dd20574d408e46ed0737642129a54..589f06cc8941d5f75ffd8bbeb083b1c48f82576f 100644 +index a8aa176b8afd45fada9529d4d0b92000299faf1b..329e0586ec4ea44b6a8f4b72a69041aa7cd01ced 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -133,6 +133,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0584-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0582-add-consumeFuel-to-FurnaceBurnEvent.patch index 8596f43f62..8596f43f62 100644 --- a/patches/server/0584-add-consumeFuel-to-FurnaceBurnEvent.patch +++ b/patches/server/0582-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0585-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0583-add-get-set-drop-chance-to-EntityEquipment.patch index 9720fcdaf4..8f9c69cf16 100644 --- a/patches/server/0585-add-get-set-drop-chance-to-EntityEquipment.patch +++ b/patches/server/0583-add-get-set-drop-chance-to-EntityEquipment.patch @@ -27,10 +27,10 @@ index cb704cef3845727c465fe3ea7210a11545da56c8..6827979a5b270ced53b46ecb9eff5487 private void setDropChance(net.minecraft.world.entity.EquipmentSlot slot, float chance) { Preconditions.checkArgument(this.entity.getHandle() instanceof Mob, "Cannot set drop chance for non-Mob entity"); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java -index 8bca88f7b7d310b29bdc851125e4cd03718a4fb9..d6a228473ca6f425757683a4b17b035a53ab117f 100644 +index 4f6271f6cafcf49a0912e2ab6c77c3c820db0e5f..f89a1b1c1902b16f6640c9a95f5b72351b60ceda 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java -@@ -354,4 +354,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i +@@ -353,4 +353,15 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i public void setBootsDropChance(float chance) { throw new UnsupportedOperationException("Cannot set drop chance for PlayerInventory"); } diff --git a/patches/server/0586-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0584-fix-PigZombieAngerEvent-cancellation.patch index 195a80293d..195a80293d 100644 --- a/patches/server/0586-fix-PigZombieAngerEvent-cancellation.patch +++ b/patches/server/0584-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0587-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0585-fix-PlayerItemHeldEvent-firing-twice.patch index 2d0d5e0c3e..8382a6c206 100644 --- a/patches/server/0587-fix-PlayerItemHeldEvent-firing-twice.patch +++ b/patches/server/0585-fix-PlayerItemHeldEvent-firing-twice.patch @@ -5,10 +5,10 @@ Subject: [PATCH] fix PlayerItemHeldEvent firing twice diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4495dcbf340fb7a89060b0836a7e2b0cca4bc2b4..7451b61d28c22555619a80b741744b376d92ce58 100644 +index f2e5bffd43e36b47af51e516409830fa5a5acbbe..1067ff8cb82f44ef3f67b4db5ee7697aabae22a8 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2040,6 +2040,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2043,6 +2043,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (this.player.isImmobile()) return; // CraftBukkit if (packet.getSlot() >= 0 && packet.getSlot() < Inventory.getSelectionSize()) { diff --git a/patches/server/0588-Added-PlayerDeepSleepEvent.patch b/patches/server/0586-Added-PlayerDeepSleepEvent.patch index cbc35ad165..cbc35ad165 100644 --- a/patches/server/0588-Added-PlayerDeepSleepEvent.patch +++ b/patches/server/0586-Added-PlayerDeepSleepEvent.patch diff --git a/patches/server/0589-More-World-API.patch b/patches/server/0587-More-World-API.patch index f57028fb31..dd016744ab 100644 --- a/patches/server/0589-More-World-API.patch +++ b/patches/server/0587-More-World-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fea9f11cf6f665eba86d2ffde7b241910300a516..a38eac88ef3099ba92273ed3818ddf742588552c 100644 +index 9351b3b8d4d9c7069ea4ae11a49a1f7b70ffbce9..f5de2359af2a7dc3c2f9cd4daec3aeae86fae153 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2081,6 +2081,69 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2088,6 +2088,69 @@ public class CraftWorld extends CraftRegionAccessor implements World { return new CraftStructureSearchResult(CraftStructure.minecraftToBukkit(found.getSecond().value(), this.getHandle().registryAccess()), CraftLocation.toBukkit(found.getFirst(), this)); } @@ -77,7 +77,7 @@ index fea9f11cf6f665eba86d2ffde7b241910300a516..a38eac88ef3099ba92273ed3818ddf74 + @Override public Raid locateNearestRaid(Location location, int radius) { - Validate.notNull(location, "Location cannot be null"); + Preconditions.checkArgument(location != null, "Location cannot be null"); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java b/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java index 3071ac1ac0e733d73dade49597a39f7d156bbc04..967445b2eb158454100a27369a1f463d69f54f27 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftVector.java diff --git a/patches/server/0590-Added-PlayerBedFailEnterEvent.patch b/patches/server/0588-Added-PlayerBedFailEnterEvent.patch index dd4d2712ed..dd4d2712ed 100644 --- a/patches/server/0590-Added-PlayerBedFailEnterEvent.patch +++ b/patches/server/0588-Added-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0591-Entity-load-save-limit-per-chunk.patch b/patches/server/0589-Entity-load-save-limit-per-chunk.patch index e706c5e31f..e706c5e31f 100644 --- a/patches/server/0591-Entity-load-save-limit-per-chunk.patch +++ b/patches/server/0589-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/0592-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0590-Implement-methods-to-convert-between-Component-and-B.patch index 65beeb5f10..65beeb5f10 100644 --- a/patches/server/0592-Implement-methods-to-convert-between-Component-and-B.patch +++ b/patches/server/0590-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0593-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch b/patches/server/0591-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch index 6e2fe236e6..e962799f8b 100644 --- a/patches/server/0593-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch +++ b/patches/server/0591-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix anchor respawn acting as a bed respawn from the end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7e26f87ffd8f50cf4e2cd582c9cd5d9abbf9c3f3..10d02d71b67f4022c6d5c709793a11283694362d 100644 +index f375947876c5c834bdab66a26a06b3a43c08e65d..f55c2f6f0b18456565cac50b9def91071497dee0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -810,6 +810,7 @@ public abstract class PlayerList { diff --git a/patches/server/0594-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0592-Introduce-beacon-activation-deactivation-events.patch index fc24c634c3..fc24c634c3 100644 --- a/patches/server/0594-Introduce-beacon-activation-deactivation-events.patch +++ b/patches/server/0592-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0595-add-RespawnFlags-to-PlayerRespawnEvent.patch b/patches/server/0593-add-RespawnFlags-to-PlayerRespawnEvent.patch index e91901fe8e..49c9535187 100644 --- a/patches/server/0595-add-RespawnFlags-to-PlayerRespawnEvent.patch +++ b/patches/server/0593-add-RespawnFlags-to-PlayerRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] add RespawnFlags to PlayerRespawnEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7451b61d28c22555619a80b741744b376d92ce58..b3a75c6c1639b756084fb880ec085dd3541adcb4 100644 +index 1067ff8cb82f44ef3f67b4db5ee7697aabae22a8..84c49a70c32c07580748d9a55f24902ce5be8c5b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2780,7 +2780,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2783,7 +2783,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic case PERFORM_RESPAWN: if (this.player.wonGame) { this.player.wonGame = false; @@ -18,7 +18,7 @@ index 7451b61d28c22555619a80b741744b376d92ce58..b3a75c6c1639b756084fb880ec085dd3 } else { if (this.player.getHealth() > 0.0F) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 10d02d71b67f4022c6d5c709793a11283694362d..8fb526c84850162bbce004dc4179219320634eeb 100644 +index f55c2f6f0b18456565cac50b9def91071497dee0..3dbad6f9ea70db07a9bfa199b28def6a67353d80 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -769,6 +769,12 @@ public abstract class PlayerList { diff --git a/patches/server/0596-Add-Channel-initialization-listeners.patch b/patches/server/0594-Add-Channel-initialization-listeners.patch index efd683b7d1..efd683b7d1 100644 --- a/patches/server/0596-Add-Channel-initialization-listeners.patch +++ b/patches/server/0594-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0597-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0595-Send-empty-commands-if-tab-completion-is-disabled.patch index 4d853da0a7..4d853da0a7 100644 --- a/patches/server/0597-Send-empty-commands-if-tab-completion-is-disabled.patch +++ b/patches/server/0595-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0598-Add-more-WanderingTrader-API.patch b/patches/server/0596-Add-more-WanderingTrader-API.patch index 9e5ed86cee..9e5ed86cee 100644 --- a/patches/server/0598-Add-more-WanderingTrader-API.patch +++ b/patches/server/0596-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0599-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0597-Add-EntityBlockStorage-clearEntities.patch index 5b7203c33d..5b7203c33d 100644 --- a/patches/server/0599-Add-EntityBlockStorage-clearEntities.patch +++ b/patches/server/0597-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0600-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0598-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch index 167e55814a..167e55814a 100644 --- a/patches/server/0600-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch +++ b/patches/server/0598-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0601-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0599-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch index 32ba58aa32..32ba58aa32 100644 --- a/patches/server/0601-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch +++ b/patches/server/0599-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0602-Inventory-close.patch b/patches/server/0600-Inventory-close.patch index 69dc365057..31cb3eaa08 100644 --- a/patches/server/0602-Inventory-close.patch +++ b/patches/server/0600-Inventory-close.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Inventory#close diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 015fc140db9162865f33cd6577cf758091a663c7..092f6843e3b43d4c615d2eee344f5966e96ae850 100644 +index 01b38b5a515c7dd0f0c79141c270d618bf3c56eb..bfac13ec6c316caa65db4a51b77f0a7045ad88ff 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -450,6 +450,14 @@ public class CraftInventory implements Inventory { diff --git a/patches/server/0603-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0601-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch index 45fefcead5..45fefcead5 100644 --- a/patches/server/0603-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch +++ b/patches/server/0601-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/server/0604-Fix-CraftPotionBrewer-cache.patch b/patches/server/0602-Fix-CraftPotionBrewer-cache.patch index 2d8295382f..2d8295382f 100644 --- a/patches/server/0604-Fix-CraftPotionBrewer-cache.patch +++ b/patches/server/0602-Fix-CraftPotionBrewer-cache.patch diff --git a/patches/server/0605-Add-basic-Datapack-API.patch b/patches/server/0603-Add-basic-Datapack-API.patch index 28ec4ee721..c0687f2e96 100644 --- a/patches/server/0605-Add-basic-Datapack-API.patch +++ b/patches/server/0603-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8b9b433dd1e835abc78ca074dbfe688f834625a9..912795bad8e64d98a4a13a6224ae653e049be62a 100644 +index ed6125d52eb0e406e44a2c3ded1ed1d1b19bf5c5..532c4f79e0926e029e78bc796238e54fd5f63023 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -298,6 +298,7 @@ public final class CraftServer implements Server { +@@ -297,6 +297,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List<CraftPlayer> playerView; public int reloadCount; @@ -103,7 +103,7 @@ index 8b9b433dd1e835abc78ca074dbfe688f834625a9..912795bad8e64d98a4a13a6224ae653e public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -385,6 +386,7 @@ public final class CraftServer implements Server { +@@ -384,6 +385,7 @@ public final class CraftServer implements Server { if (this.configuration.getBoolean("settings.use-map-color-cache")) { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } @@ -111,7 +111,7 @@ index 8b9b433dd1e835abc78ca074dbfe688f834625a9..912795bad8e64d98a4a13a6224ae653e } public boolean getCommandBlockOverride(String command) { -@@ -2833,5 +2835,11 @@ public final class CraftServer implements Server { +@@ -2847,5 +2849,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0606-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0604-Add-environment-variable-to-disable-server-gui.patch index 463d626c8f..463d626c8f 100644 --- a/patches/server/0606-Add-environment-variable-to-disable-server-gui.patch +++ b/patches/server/0604-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0607-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0605-additions-to-PlayerGameModeChangeEvent.patch index 8ecfa20520..5a3cab5f99 100644 --- a/patches/server/0607-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0605-additions-to-PlayerGameModeChangeEvent.patch @@ -45,7 +45,7 @@ index aee8618e27b893b72931e925724dd683d2e6d2aa..5cb15e2209d7b315904a1fc6d650ce1e } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b0b1f5022455e9ab0aa8ba3ddd0d4762f1e3eb81..c126bdaf557ae4a95e7111e0cc8a7f97f722e86c 100644 +index fba3ac571fafd5c738d0dcfd5492112817c443e3..a340a190b223efb6fafba3c7c9e996818709d6e9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1885,8 +1885,16 @@ public class ServerPlayer extends Player { @@ -131,10 +131,10 @@ index 43221bf57fb4eeb70823c12b48f4df0bb817eb0b..e903371b370034f6447c5f23562fe5c9 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b3a75c6c1639b756084fb880ec085dd3541adcb4..3e825ec345fd1074e3ab7ec8549bd1bc7a8f3e8e 100644 +index 84c49a70c32c07580748d9a55f24902ce5be8c5b..582697f5bb1423ee5eae91d28b19c10889bf8904 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2789,7 +2789,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2792,7 +2792,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH); if (this.server.isHardcore()) { @@ -144,12 +144,12 @@ index b3a75c6c1639b756084fb880ec085dd3541adcb4..3e825ec345fd1074e3ab7ec8549bd1bc } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a193b78ae1f43b1d8a48467fb082ee3bcb61831b..b7cf7293c64bc9587c78a651791d07da0efe460a 100644 +index 950fa366d269bc4aca459c5f296ecf578f8ce312..949ef08cb2fbc6b237c651734821cc88e9fa1d9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1534,7 +1534,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - throw new IllegalArgumentException("Mode cannot be null"); - } +@@ -1485,7 +1485,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + Preconditions.checkArgument(mode != null, "GameMode cannot be null"); + if (this.getHandle().connection == null) return; - this.getHandle().setGameMode(GameType.byId(mode.getValue())); + this.getHandle().setGameMode(GameType.byId(mode.getValue()), org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.PLUGIN, null); // Paper diff --git a/patches/server/0608-ItemStack-repair-check-API.patch b/patches/server/0606-ItemStack-repair-check-API.patch index d68a2b6156..10e1c3e707 100644 --- a/patches/server/0608-ItemStack-repair-check-API.patch +++ b/patches/server/0606-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index fb24efa54510fc77a7d4541462242113e16d2f53..236ab23039fd78d2fae8bcfa879d51100aeec8c7 100644 +index 507bffe09ffdc1ea8357f9ca2c5455d7704bfae8..0ad72425648eb9af806211068b5c14661749e030 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -545,6 +545,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -543,6 +543,14 @@ public final class CraftMagicNumbers implements UnsafeValues { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0609-More-Enchantment-API.patch b/patches/server/0607-More-Enchantment-API.patch index ed087b154b..afd4dec304 100644 --- a/patches/server/0609-More-Enchantment-API.patch +++ b/patches/server/0607-More-Enchantment-API.patch @@ -66,10 +66,10 @@ index 57decf4156f176ebcc988478c17856cbc555c5e4..3d0ce0803e1da8a2681a3cb41096ac94 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 37148ccf704dd8e5aa7d9ab100e6df142e822255..b38d72e921c4705cae72eb65113b36c87e4250fd 100644 +index 63a1522071ec6e9a550598b04c1a901ff76a5c78..d7499a2ffdc21ded42f7973e35ace340ff276f5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -930,5 +930,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -927,5 +927,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setHurtDirection(float hurtDirection) { throw new UnsupportedOperationException("Cannot set the hurt direction on a non player"); } diff --git a/patches/server/0610-Move-range-check-for-block-placing-up.patch b/patches/server/0608-Move-range-check-for-block-placing-up.patch index e91cd03b23..07cdf86b26 100644 --- a/patches/server/0610-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0608-Move-range-check-for-block-placing-up.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3e825ec345fd1074e3ab7ec8549bd1bc7a8f3e8e..aaeacc33183774aa3969aaff2e5304936f7041d4 100644 +index 582697f5bb1423ee5eae91d28b19c10889bf8904..2e2b9f69914f727488aec0c7863783c41eb8f006 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1812,6 +1812,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1815,6 +1815,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (itemstack.isItemEnabled(worldserver.enabledFeatures())) { BlockHitResult movingobjectpositionblock = packet.getHitResult(); Vec3 vec3d = movingobjectpositionblock.getLocation(); diff --git a/patches/server/0611-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0609-Fix-and-optimise-world-force-upgrading.patch index 9aa24f531c..dae741c23f 100644 --- a/patches/server/0611-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0609-Fix-and-optimise-world-force-upgrading.patch @@ -275,10 +275,10 @@ index 98385550084c9f975e494668961bac6ccb0700ab..1147044f2c4c2e9510cb6e5c38b6abe8 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, dimensionOptionsRegistry, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b3f04bb7afee65584566591b302feb8dfa850e87..21d893bb1867aa5cae7924734a0e843d4c35aa94 100644 +index 39dd0ef9af89d4a752f101740ae58797fb2adc4d..5fa98801e2e64d4e2d948af5f131ed32b96c0510 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -554,11 +554,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -552,11 +552,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa worlddata = new PrimaryLevelData(worldsettings, worldoptions, worlddimensions_b.specialWorldProperty(), lifecycle); } worlddata.checkName(name); // CraftBukkit - Migration did not rewrite the level.dat; This forces 1.8 to take the last loaded world as respawn (in this case the end) @@ -291,7 +291,7 @@ index b3f04bb7afee65584566591b302feb8dfa850e87..21d893bb1867aa5cae7924734a0e843d PrimaryLevelData iworlddataserver = worlddata; boolean flag = worlddata.isDebugWorld(); -@@ -573,6 +569,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -571,6 +567,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa biomeProvider = gen.getDefaultBiomeProvider(worldInfo); } @@ -362,24 +362,21 @@ index 29da08c58200c24fd03003937d30eb41234cabc9..d3d4d10a77af51cff4da201201bac325 public synchronized RegionFile getRegionFileIfLoaded(ChunkPos chunkcoordintpair) { return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 912795bad8e64d98a4a13a6224ae653e049be62a..4e683d5d8afcdab9cfa85c657bb76a0022912d9b 100644 +index 532c4f79e0926e029e78bc796238e54fd5f63023..95f2490000e3f49644d6795a4c4c67ee0674fbf9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1229,12 +1229,7 @@ public final class CraftServer implements Server { - worlddata.customDimensions = iregistry; +@@ -1230,9 +1230,7 @@ public final class CraftServer implements Server { worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); -- + - if (console.options.has("forceUpgrade")) { -- net.minecraft.server.Main.forceUpgrade(worldSession, DataFixers.getDataFixer(), console.options.has("eraseCache"), () -> { -- return true; -- }, iregistry); +- net.minecraft.server.Main.forceUpgrade(worldSession, DataFixers.getDataFixer(), console.options.has("eraseCache"), () -> true, iregistry); - } + // Paper - move down long j = BiomeManager.obfuscateSeed(creator.seed()); List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1245,6 +1240,13 @@ public final class CraftServer implements Server { +@@ -1243,6 +1241,13 @@ public final class CraftServer implements Server { biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/patches/server/0612-Add-Mob-lookAt-API.patch b/patches/server/0610-Add-Mob-lookAt-API.patch index 2179be5193..2179be5193 100644 --- a/patches/server/0612-Add-Mob-lookAt-API.patch +++ b/patches/server/0610-Add-Mob-lookAt-API.patch diff --git a/patches/server/0613-Add-Unix-domain-socket-support.patch b/patches/server/0611-Add-Unix-domain-socket-support.patch index 74b575b599..78e4900413 100644 --- a/patches/server/0613-Add-Unix-domain-socket-support.patch +++ b/patches/server/0611-Add-Unix-domain-socket-support.patch @@ -91,10 +91,10 @@ index 29a0a720f22f56ca3d844efef1ecde3980fb1c12..838244e3680ea6020701e10bafbde7f5 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index aaeacc33183774aa3969aaff2e5304936f7041d4..1349efcfb368305d5437ec464a5f32a17177f0ca 100644 +index 2e2b9f69914f727488aec0c7863783c41eb8f006..75ab3e102caead4f9bdfbf74772d998f9da9c723 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2624,6 +2624,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2627,6 +2627,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot Start public SocketAddress getRawAddress() { diff --git a/patches/server/0614-Add-EntityInsideBlockEvent.patch b/patches/server/0612-Add-EntityInsideBlockEvent.patch index 96a5c26841..96a5c26841 100644 --- a/patches/server/0614-Add-EntityInsideBlockEvent.patch +++ b/patches/server/0612-Add-EntityInsideBlockEvent.patch diff --git a/patches/server/0615-Attributes-API-for-item-defaults.patch b/patches/server/0613-Attributes-API-for-item-defaults.patch index 86638e1bcc..7a942f3f03 100644 --- a/patches/server/0615-Attributes-API-for-item-defaults.patch +++ b/patches/server/0613-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 236ab23039fd78d2fae8bcfa879d51100aeec8c7..fea31b187fd5965bf479548835e5603e78f3f3f1 100644 +index 0ad72425648eb9af806211068b5c14661749e030..ef9a1d7e23be8ffe9a1669161de9310c6e566b40 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -553,6 +553,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -551,6 +551,19 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial)); } diff --git a/patches/server/0616-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0614-Add-cause-to-Weather-ThunderChangeEvents.patch index dfe89cd593..3b0c93464b 100644 --- a/patches/server/0616-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0614-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -95,10 +95,10 @@ index 626b861ef2f323a5fc50ab5178d3e108e0f9cc25..31c31a9138cb5f6e41de01a6210f84e7 if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a38eac88ef3099ba92273ed3818ddf742588552c..55f631626bd35b46bd8f95b0a30de8c84d99d984 100644 +index f5de2359af2a7dc3c2f9cd4daec3aeae86fae153..139265ff015bba7517ccbbcc890610d00362142e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1181,7 +1181,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1186,7 +1186,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setStorm(boolean hasStorm) { @@ -107,7 +107,7 @@ index a38eac88ef3099ba92273ed3818ddf742588552c..55f631626bd35b46bd8f95b0a30de8c8 this.setWeatherDuration(0); // Reset weather duration (legacy behaviour) this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands) } -@@ -1203,7 +1203,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1208,7 +1208,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setThundering(boolean thundering) { diff --git a/patches/server/0617-More-Lidded-Block-API.patch b/patches/server/0615-More-Lidded-Block-API.patch index 135fd68698..135fd68698 100644 --- a/patches/server/0617-More-Lidded-Block-API.patch +++ b/patches/server/0615-More-Lidded-Block-API.patch diff --git a/patches/server/0618-Limit-item-frame-cursors-on-maps.patch b/patches/server/0616-Limit-item-frame-cursors-on-maps.patch index 8e8559a185..8e8559a185 100644 --- a/patches/server/0618-Limit-item-frame-cursors-on-maps.patch +++ b/patches/server/0616-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/server/0619-Add-PlayerKickEvent-causes.patch b/patches/server/0617-Add-PlayerKickEvent-causes.patch index 1445892a9d..b77cdefa3c 100644 --- a/patches/server/0619-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0617-Add-PlayerKickEvent-causes.patch @@ -36,10 +36,10 @@ index b5f54ee82905e3e6ab5bfde35ab625f5feeb1393..c0a80824a0307ea673805015119cc834 public boolean shouldDisconnect() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 21d893bb1867aa5cae7924734a0e843d4c35aa94..76bdca305277d8d2a659b029f035bb4da25a076e 100644 +index 5fa98801e2e64d4e2d948af5f131ed32b96c0510..09617ff2716b8e75380421e9a19c145806602151 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2153,7 +2153,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2151,7 +2151,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa ServerPlayer entityplayer = (ServerPlayer) iterator.next(); if (!whitelist.isWhiteListed(entityplayer.getGameProfile()) && !this.getPlayerList().isOp(entityplayer.getGameProfile())) { // Paper - Fix kicking ops when whitelist is reloaded (MC-171420) @@ -88,7 +88,7 @@ index c68bac4727f6b2ca95fc8c438303097af14286f2..bb629ec263959c8268de88ca807bddb6 return Component.translatable("commands.kick.success", serverPlayer.getDisplayName(), reason); }, true); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f612e0286a 100644 +index 75ab3e102caead4f9bdfbf74772d998f9da9c723..76d8c5c5029ac564d05144cef5030c6b64df9a98 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -362,7 +362,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -253,7 +253,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } else { ServerLevel worldserver = this.player.serverLevel(); -@@ -1734,7 +1744,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1737,7 +1747,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.dropCount++; if (this.dropCount >= 20) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " dropped their items too quickly!"); @@ -262,7 +262,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 return; } } -@@ -1946,7 +1956,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1949,7 +1959,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); @@ -271,7 +271,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; -@@ -2062,7 +2072,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2065,7 +2075,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.resetLastActionTime(); } else { ServerGamePacketListenerImpl.LOGGER.warn("{} tried to set an invalid carried item", this.player.getName().getString()); @@ -280,7 +280,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } -@@ -2075,7 +2085,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2078,7 +2088,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -289,7 +289,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } else { Optional<LastSeenMessages> optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2109,7 +2119,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2112,7 +2122,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -298,7 +298,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } else { Optional<LastSeenMessages> optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2164,7 +2174,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2167,7 +2177,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void handleMessageDecodeFailure(SignedMessageChain.DecodeException exception) { if (exception.shouldDisconnect()) { @@ -307,7 +307,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } else { this.player.sendSystemMessage(exception.getComponent().copy().withStyle(ChatFormatting.RED)); } -@@ -2195,7 +2205,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2198,7 +2208,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional<LastSeenMessages> tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); @@ -316,7 +316,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 return Optional.empty(); } else { Optional<LastSeenMessages> optional = this.unpackAndApplyLastSeen(acknowledgment); -@@ -2218,7 +2228,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2221,7 +2231,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (optional.isEmpty()) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -325,7 +325,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } return optional; -@@ -2441,7 +2451,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2444,7 +2454,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // this.chatSpamTickCount += 20; if (this.chatSpamTickCount.addAndGet(20) > 200 && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // CraftBukkit end @@ -334,7 +334,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } -@@ -2453,7 +2463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2456,7 +2466,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic synchronized (this.lastSeenMessages) { if (!this.lastSeenMessages.applyOffset(packet.offset())) { ServerGamePacketListenerImpl.LOGGER.warn("Failed to validate message acknowledgements from {}", this.player.getName().getString()); @@ -343,7 +343,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } -@@ -2596,7 +2606,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2599,7 +2609,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (i > 4096) { @@ -352,7 +352,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } -@@ -2642,7 +2652,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2645,7 +2655,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot Start if ( entity == this.player && !this.player.isSpectator() ) { @@ -361,7 +361,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 return; } // Spigot End -@@ -2741,7 +2751,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2744,7 +2754,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // CraftBukkit end } } else { @@ -370,7 +370,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 ServerGamePacketListenerImpl.LOGGER.warn("Player {} tried to attack an invalid entity", ServerGamePacketListenerImpl.this.player.getName().getString()); } } -@@ -3150,7 +3160,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3153,7 +3163,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -379,7 +379,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 return; } } -@@ -3321,7 +3331,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3324,7 +3334,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -388,7 +388,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 }); // Paper end } -@@ -3367,7 +3377,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3370,7 +3380,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -397,7 +397,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } else if (packet.identifier.equals(CUSTOM_UNREGISTER)) { try { -@@ -3377,7 +3387,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3380,7 +3390,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -406,7 +406,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } else { try { -@@ -3395,7 +3405,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3398,7 +3408,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), packet.identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -415,7 +415,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } } -@@ -3437,7 +3447,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3440,7 +3450,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!Objects.equals(profilepublickey_a, profilepublickey_a1)) { if (profilepublickey_a != null && profilepublickey_a1.expiresAt().isBefore(profilepublickey_a.expiresAt())) { @@ -424,7 +424,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } else { try { SignatureValidator signaturevalidator = this.server.getProfileKeySignatureValidator(); -@@ -3450,7 +3460,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3453,7 +3463,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { ServerGamePacketListenerImpl.LOGGER.error("Failed to validate profile key: {}", profilepublickey_b.getMessage()); @@ -434,7 +434,7 @@ index 1349efcfb368305d5437ec464a5f32a17177f0ca..0a39701d26eb37504980c8a399c259f6 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 8fb526c84850162bbce004dc4179219320634eeb..ea195117f25ea0009ff646e08aec7401d1edb6b4 100644 +index 3dbad6f9ea70db07a9bfa199b28def6a67353d80..77d80170cabc358c75d58ac7ff19054ba6b7617f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -678,7 +678,7 @@ public abstract class PlayerList { @@ -491,10 +491,10 @@ index 984c288abf94d9fe47fada33722fea035b832f3b..addd20237b87c9a87bb09fd7addb101a } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b7cf7293c64bc9587c78a651791d07da0efe460a..cd640331afe72cd181dcb862f993ba3e0b68fc98 100644 +index 949ef08cb2fbc6b237c651734821cc88e9fa1d9a..02e8f2ca5d97df0b1c845e10261a4bc70da755a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -576,7 +576,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -573,7 +573,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot if (this.getHandle().connection == null) return; @@ -503,7 +503,7 @@ index b7cf7293c64bc9587c78a651791d07da0efe460a..cd640331afe72cd181dcb862f993ba3e } // Paper start -@@ -588,10 +588,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -585,10 +585,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void kick(final net.kyori.adventure.text.Component message) { @@ -520,7 +520,7 @@ index b7cf7293c64bc9587c78a651791d07da0efe460a..cd640331afe72cd181dcb862f993ba3e } } -@@ -658,7 +663,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -659,7 +664,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper start - improve chat handling if (ServerGamePacketListenerImpl.isChatMessageIllegal(msg)) { diff --git a/patches/server/0620-Add-PufferFishStateChangeEvent.patch b/patches/server/0618-Add-PufferFishStateChangeEvent.patch index 091a042a02..091a042a02 100644 --- a/patches/server/0620-Add-PufferFishStateChangeEvent.patch +++ b/patches/server/0618-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0621-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0619-Fix-PlayerBucketEmptyEvent-result-itemstack.patch index adbc2300b0..adbc2300b0 100644 --- a/patches/server/0621-Fix-PlayerBucketEmptyEvent-result-itemstack.patch +++ b/patches/server/0619-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0622-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0620-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch index 21b2143546..21b2143546 100644 --- a/patches/server/0622-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch +++ b/patches/server/0620-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch diff --git a/patches/server/0623-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0621-Add-option-to-fix-items-merging-through-walls.patch index ca8770c5bd..ca8770c5bd 100644 --- a/patches/server/0623-Add-option-to-fix-items-merging-through-walls.patch +++ b/patches/server/0621-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0624-Add-BellRevealRaiderEvent.patch b/patches/server/0622-Add-BellRevealRaiderEvent.patch index ed8e81f6a2..ed8e81f6a2 100644 --- a/patches/server/0624-Add-BellRevealRaiderEvent.patch +++ b/patches/server/0622-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0625-Fix-invulnerable-end-crystals.patch b/patches/server/0623-Fix-invulnerable-end-crystals.patch index b023697625..b023697625 100644 --- a/patches/server/0625-Fix-invulnerable-end-crystals.patch +++ b/patches/server/0623-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0626-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0624-Add-ElderGuardianAppearanceEvent.patch index 76665d8084..76665d8084 100644 --- a/patches/server/0626-Add-ElderGuardianAppearanceEvent.patch +++ b/patches/server/0624-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0627-Fix-dangerous-end-portal-logic.patch b/patches/server/0625-Fix-dangerous-end-portal-logic.patch index 79d4ba5f81..a28edf1edc 100644 --- a/patches/server/0627-Fix-dangerous-end-portal-logic.patch +++ b/patches/server/0625-Fix-dangerous-end-portal-logic.patch @@ -11,7 +11,7 @@ Move the tick logic into the post tick, where portaling was designed to happen in the first place. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a500f4becd7f97038734b460c33832388f5ca17a..5277a260f1734051033159ebe2e4af18d48b2097 100644 +index 44d8e9659e111e6f9ca4e403ff4cb4e57c712ea4..6a7b3a54a29b1632061c241b89058729c2b3e036 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -515,6 +515,36 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0628-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0626-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch index ef457d74af..ef457d74af 100644 --- a/patches/server/0628-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch +++ b/patches/server/0626-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0629-Make-item-validations-configurable.patch b/patches/server/0627-Make-item-validations-configurable.patch index c25f67167d..15390d1f92 100644 --- a/patches/server/0629-Make-item-validations-configurable.patch +++ b/patches/server/0627-Make-item-validations-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make item validations configurable diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java -index e8413ad360e9b6c4eef13edf9dd0095e7e64bce2..a5d7fae348b0b262a0a8a5e8e76f1bc75ca52a16 100644 +index cf928745c36af0e6fa0a95e177395c5fb1aa821a..2a08b1ac6e9aac81012997637b4cad59f0f1125a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaBook.java @@ -88,11 +88,11 @@ public class CraftMetaBook extends CraftMetaItem implements BookMeta { @@ -32,10 +32,10 @@ index e8413ad360e9b6c4eef13edf9dd0095e7e64bce2..a5d7fae348b0b262a0a8a5e8e76f1bc7 } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 93d40df438a0d95b32def9a6c206b98ca6168cb3..4caf272f065a681bd7101d52fedf2642cc78d3bc 100644 +index fa94030ac80c8c68ee429e6b7350395208e4348f..ac9fb7cf96ed36162c4f6c2a834b627d0120f3cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -361,7 +361,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -360,7 +360,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CompoundTag display = tag.getCompound(DISPLAY.NBT); if (display.contains(NAME.NBT)) { @@ -44,7 +44,7 @@ index 93d40df438a0d95b32def9a6c206b98ca6168cb3..4caf272f065a681bd7101d52fedf2642 } if (display.contains(LOCNAME.NBT)) { -@@ -372,7 +372,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -371,7 +371,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { ListTag list = display.getList(LORE.NBT, CraftMagicNumbers.NBT.TAG_STRING); this.lore = new ArrayList<String>(list.size()); for (int index = 0; index < list.size(); index++) { diff --git a/patches/server/0630-Line-Of-Sight-Changes.patch b/patches/server/0628-Line-Of-Sight-Changes.patch index 5f0149d296..e58b9a605f 100644 --- a/patches/server/0630-Line-Of-Sight-Changes.patch +++ b/patches/server/0628-Line-Of-Sight-Changes.patch @@ -19,10 +19,10 @@ index bce63453fb04db09b10550197f749c959b30a37e..62e8586d30950eed81868ccbb48212a4 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5bd5a059c5beeade313f74ba3c1fc63825bd286b..d7c9b421eb636c0642b73263f46f824b95c1614e 100644 +index 9160fc90afce3c589cf6a3ddb829d56e045b20fa..248c8abf6620ac78b8a4fd1476d7b20862c6125b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -996,5 +996,16 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -992,5 +992,16 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public org.bukkit.NamespacedKey getKey() { return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.getHandle().getLevel().dimension().location()); } @@ -40,20 +40,10 @@ index 5bd5a059c5beeade313f74ba3c1fc63825bd286b..d7c9b421eb636c0642b73263f46f824b // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index b38d72e921c4705cae72eb65113b36c87e4250fd..61292952681727bcd651064619bff1b41c560d75 100644 +index d7499a2ffdc21ded42f7973e35ace340ff276f5a..b56504c3e5c457bfe83bbc864dc217c2f0cc9d18 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -29,6 +29,9 @@ import net.minecraft.world.entity.projectile.ThrownEgg; - import net.minecraft.world.entity.projectile.ThrownEnderpearl; - import net.minecraft.world.entity.projectile.ThrownExperienceBottle; - import net.minecraft.world.entity.projectile.ThrownTrident; -+import net.minecraft.world.level.ClipContext; -+import net.minecraft.world.phys.HitResult; -+import net.minecraft.world.phys.Vec3; - import org.apache.commons.lang.Validate; - import org.bukkit.FluidCollisionMode; - import org.bukkit.Location; -@@ -576,6 +579,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -575,6 +575,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().hasLineOfSight(((CraftEntity) other).getHandle()); } @@ -61,11 +51,11 @@ index b38d72e921c4705cae72eb65113b36c87e4250fd..61292952681727bcd651064619bff1b4 + @Override + public boolean hasLineOfSight(Location loc) { + if (this.getHandle().level() != ((CraftWorld) loc.getWorld()).getHandle()) return false; -+ Vec3 vec3d = new Vec3(this.getHandle().getX(), this.getHandle().getEyeY(), this.getHandle().getZ()); -+ Vec3 vec3d1 = new Vec3(loc.getX(), loc.getY(), loc.getZ()); ++ net.minecraft.world.phys.Vec3 vec3d = new net.minecraft.world.phys.Vec3(this.getHandle().getX(), this.getHandle().getEyeY(), this.getHandle().getZ()); ++ net.minecraft.world.phys.Vec3 vec3d1 = new net.minecraft.world.phys.Vec3(loc.getX(), loc.getY(), loc.getZ()); + if (vec3d1.distanceToSqr(vec3d) > 128D * 128D) return false; //Return early if the distance is greater than 128 blocks + -+ return this.getHandle().level().clip(new ClipContext(vec3d, vec3d1, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, this.getHandle())).getType() == HitResult.Type.MISS; ++ return this.getHandle().level().clip(new net.minecraft.world.level.ClipContext(vec3d, vec3d1, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, this.getHandle())).getType() == net.minecraft.world.phys.HitResult.Type.MISS; + } + // Paper end + diff --git a/patches/server/0631-add-per-world-spawn-limits.patch b/patches/server/0629-add-per-world-spawn-limits.patch index 6555137e8e..8b6813991f 100644 --- a/patches/server/0631-add-per-world-spawn-limits.patch +++ b/patches/server/0629-add-per-world-spawn-limits.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 55f631626bd35b46bd8f95b0a30de8c84d99d984..7e635571aea53e2ee7c39315c14347955f46dfe8 100644 +index 139265ff015bba7517ccbbcc890610d00362142e..7edcc68a24bd812f50d9ce441fab568906061da3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -213,6 +213,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -212,6 +212,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { this.biomeProvider = biomeProvider; this.environment = env; diff --git a/patches/server/0632-Fix-potions-splash-events.patch b/patches/server/0630-Fix-potions-splash-events.patch index ac9546298b..ac9546298b 100644 --- a/patches/server/0632-Fix-potions-splash-events.patch +++ b/patches/server/0630-Fix-potions-splash-events.patch diff --git a/patches/server/0633-Add-more-LimitedRegion-API.patch b/patches/server/0631-Add-more-LimitedRegion-API.patch index 0701fb43d1..af3f4ff82e 100644 --- a/patches/server/0633-Add-more-LimitedRegion-API.patch +++ b/patches/server/0631-Add-more-LimitedRegion-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add more LimitedRegion API diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index 10fb28aabf8c9f764cdd614edbeec4523f8ab431..0ea1586bab74983fca19dcc5415fbc7a044fe186 100644 +index bc606693566419c143d19284b110961602c2810b..23ffe4b8a19286543e12bf7408879e6d1305a78f 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -@@ -251,4 +251,45 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe +@@ -249,4 +249,45 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe public void addEntityToWorld(net.minecraft.world.entity.Entity entity, CreatureSpawnEvent.SpawnReason reason) { this.entities.add(entity); } diff --git a/patches/server/0634-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0632-Fix-PlayerDropItemEvent-using-wrong-item.patch index 20cc2dfe64..07077c14b3 100644 --- a/patches/server/0634-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0632-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c126bdaf557ae4a95e7111e0cc8a7f97f722e86c..dc134bfac4fb2bef6d99c7c88cb680d87808a5f7 100644 +index a340a190b223efb6fafba3c7c9e996818709d6e9..7d5de33442fe4ba53c51cc7356323622c2c3022f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2294,7 +2294,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0635-Missing-Entity-Behavior-API.patch b/patches/server/0633-Missing-Entity-Behavior-API.patch index d1cd66fa4c..2b270fa0e0 100644 --- a/patches/server/0635-Missing-Entity-Behavior-API.patch +++ b/patches/server/0633-Missing-Entity-Behavior-API.patch @@ -358,10 +358,10 @@ index 61d4877b4f74362e38104bfeacb7d66534ad798e..454dd67920826b8b62c2654abfd43fc0 @Override protected EntityHitResult findHitEntity(Vec3 currentPosition, Vec3 nextPosition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index d7c9b421eb636c0642b73263f46f824b95c1614e..c738fb984ffd120e5adccdb5828833f180e72e80 100644 +index 248c8abf6620ac78b8a4fd1476d7b20862c6125b..7318209de454b233e22c20b176cb207de7f86674 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -832,14 +832,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -828,14 +828,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (Phantom.class.isAssignableFrom(clazz)) { entity = net.minecraft.world.entity.EntityType.PHANTOM.create(world); } else if (Fish.class.isAssignableFrom(clazz)) { @@ -388,10 +388,10 @@ index d7c9b421eb636c0642b73263f46f824b95c1614e..c738fb984ffd120e5adccdb5828833f1 entity = net.minecraft.world.entity.EntityType.TADPOLE.create(world); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -index 254d4f2e45d7c8f572a4368eccd84560d4d0d836..299ab868252c8f326e3a56e878c9ee230c9635dc 100644 +index 3f1f4d65525562b3117fdc21c8a7f535b12c3c46..90a989c7c9de6f9ba55ab640761915e98320642a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractHorse.java -@@ -115,4 +115,36 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac +@@ -114,4 +114,36 @@ public abstract class CraftAbstractHorse extends CraftAnimals implements Abstrac public AbstractHorseInventory getInventory() { return new CraftSaddledInventory(getHandle().inventory); } @@ -632,7 +632,7 @@ index 04976616da8c85b1278dad33ff05554aa74a6b33..75c7645fb5732c43d1da15181cf5c7ee + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index bed8b8d3091216856168277af7f51c54b5b1e1f1..9155af9c7e001d4cb431e74b12c9d98227011d51 100644 +index d3eaf054b1815003934e7f2d904a05a5d8abc3a5..02dc40b6f7b82ce503c33fb4af26cbb20c9d5b7a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -227,10 +227,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -656,7 +656,7 @@ index bed8b8d3091216856168277af7f51c54b5b1e1f1..9155af9c7e001d4cb431e74b12c9d982 else { return new CraftFish(server, (AbstractFish) entity); } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java -index d66c3b6da16b09a471fbbc07ee143a02468c9228..6c71be9b453fb662276869a24257969941501c0e 100644 +index 007b69c201672483103397c945634d7518f5861c..9e5c9b1c4299986b2fae7e191d7661549376a331 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFox.java @@ -119,4 +119,41 @@ public class CraftFox extends CraftAnimals implements Fox { @@ -1131,10 +1131,10 @@ index 50b07045cd17a7576a436c64662ad039d4aa2132..bcfca66c7b99b9d514fe850d6cc6abd7 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -index e98242321fcaa5cbaa242cb7e77832378a8aecf6..3954fe7e5f9ce8ea9300bfb92b7e4f4b55f0e6da 100644 +index 20e11bb0ae8949988b3499ad85016379fbe83218..7d63e9b8c92da089886ce9118bea07077f0541cd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -@@ -72,13 +72,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { +@@ -70,13 +70,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { @Override public void setConversionTime(int time) { @@ -1151,8 +1151,8 @@ index e98242321fcaa5cbaa242cb7e77832378a8aecf6..3954fe7e5f9ce8ea9300bfb92b7e4f4b this.getHandle().conversionStarter = null; this.getHandle().removeEffect(MobEffects.DAMAGE_BOOST, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.CONVERSION); } else { -- this.getHandle().startConverting((UUID) null, time); -+ this.getHandle().startConverting((UUID) null, time, broadcastEntityEvent); // Paper - missing entity behaviour api - converting without entity event +- this.getHandle().startConverting(null, time); ++ this.getHandle().startConverting(null, time, broadcastEntityEvent); // Paper - missing entity behaviour api - converting without entity event } } diff --git a/patches/server/0636-Ensure-disconnect-for-book-edit-is-called-on-main.patch b/patches/server/0634-Ensure-disconnect-for-book-edit-is-called-on-main.patch index e11ae310c2..c89825748e 100644 --- a/patches/server/0636-Ensure-disconnect-for-book-edit-is-called-on-main.patch +++ b/patches/server/0634-Ensure-disconnect-for-book-edit-is-called-on-main.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure disconnect for book edit is called on main diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0a39701d26eb37504980c8a399c259f612e0286a..81998223bcee27a489cdcc1bf3fb7a894718c478 100644 +index 76d8c5c5029ac564d05144cef5030c6b64df9a98..b8eba8f002bffacd4c4943d2e49045ddc753db8c 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1209,7 +1209,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0637-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0635-Fix-return-value-of-Block-applyBoneMeal-always-being.patch index e5a0109248..571b88a531 100644 --- a/patches/server/0637-Fix-return-value-of-Block-applyBoneMeal-always-being.patch +++ b/patches/server/0635-Fix-return-value-of-Block-applyBoneMeal-always-being.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix return value of Block#applyBoneMeal always being false diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 30fc626f51437e254993edd9b14337fa60ba313c..e7e5c9fa734072e9ae15eb5f6d75c7740ba3ba44 100644 +index 582f1c07da8edc88dda9463992bb8503fcb9e163..d37440f78a31c676fc6efe9e59253dbe8097b94e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -585,7 +585,7 @@ public class CraftBlock implements Block { +@@ -583,7 +583,7 @@ public class CraftBlock implements Block { } } diff --git a/patches/server/0638-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0636-Use-getChunkIfLoadedImmediately-in-places.patch index c5f7bc04c3..c5f7bc04c3 100644 --- a/patches/server/0638-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/patches/server/0636-Use-getChunkIfLoadedImmediately-in-places.patch diff --git a/patches/server/0639-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0637-Fix-commands-from-signs-not-firing-command-events.patch index 642ec71ff4..642ec71ff4 100644 --- a/patches/server/0639-Fix-commands-from-signs-not-firing-command-events.patch +++ b/patches/server/0637-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/server/0640-Adds-PlayerArmSwingEvent.patch b/patches/server/0638-Adds-PlayerArmSwingEvent.patch index 2bf2ddfeb2..b3d3eef0c5 100644 --- a/patches/server/0640-Adds-PlayerArmSwingEvent.patch +++ b/patches/server/0638-Adds-PlayerArmSwingEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Adds PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 81998223bcee27a489cdcc1bf3fb7a894718c478..4d2c3a03236e95283473e3290f5efe95f2a196bb 100644 +index b8eba8f002bffacd4c4943d2e49045ddc753db8c..e0937f5437451c383e9a540d98b07f23120cb8f1 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2491,7 +2491,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2494,7 +2494,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Arm swing animation diff --git a/patches/server/0641-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0639-Fixes-kick-event-leave-message-not-being-sent.patch index 28965b98d3..d2d5b852a1 100644 --- a/patches/server/0641-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0639-Fixes-kick-event-leave-message-not-being-sent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fixes kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index dc134bfac4fb2bef6d99c7c88cb680d87808a5f7..62906422a96995ca4eac5a4d8ad2af3093a6a047 100644 +index 7d5de33442fe4ba53c51cc7356323622c2c3022f..478dbba3519f8d2fdd4b203756403761ccad553b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -270,7 +270,6 @@ public class ServerPlayer extends Player { @@ -17,7 +17,7 @@ index dc134bfac4fb2bef6d99c7c88cb680d87808a5f7..62906422a96995ca4eac5a4d8ad2af30 public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4d2c3a03236e95283473e3290f5efe95f2a196bb..8141d09c2b31053f0fbf3696dbc857d743873454 100644 +index e0937f5437451c383e9a540d98b07f23120cb8f1..7b2c971dad894718825475f3af364f0c653e5beb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -514,7 +514,6 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -37,7 +37,7 @@ index 4d2c3a03236e95283473e3290f5efe95f2a196bb..8141d09c2b31053f0fbf3696dbc857d7 this.connection.setReadOnly(); MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; -@@ -1983,6 +1982,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1986,6 +1985,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void onDisconnect(Component reason) { @@ -49,7 +49,7 @@ index 4d2c3a03236e95283473e3290f5efe95f2a196bb..8141d09c2b31053f0fbf3696dbc857d7 // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; -@@ -2000,7 +2004,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2003,7 +2007,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.disconnect(); // Paper start - Adventure @@ -59,7 +59,7 @@ index 4d2c3a03236e95283473e3290f5efe95f2a196bb..8141d09c2b31053f0fbf3696dbc857d7 this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ea195117f25ea0009ff646e08aec7401d1edb6b4..a427354b357e13bde80e4a09e019dd777caca280 100644 +index 77d80170cabc358c75d58ac7ff19054ba6b7617f..c8e38ed5e14fb137a7d169c57bc58bdf4421e0cc 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -564,6 +564,11 @@ public abstract class PlayerList { diff --git a/patches/server/0642-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0640-Add-config-for-mobs-immune-to-default-effects.patch index 004b00f0db..004b00f0db 100644 --- a/patches/server/0642-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0640-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/server/0643-Fix-incorrect-message-for-outdated-client.patch b/patches/server/0641-Fix-incorrect-message-for-outdated-client.patch index 73f722f54d..73f722f54d 100644 --- a/patches/server/0643-Fix-incorrect-message-for-outdated-client.patch +++ b/patches/server/0641-Fix-incorrect-message-for-outdated-client.patch diff --git a/patches/server/0644-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0642-Don-t-apply-cramming-damage-to-players.patch index de6cc08fd7..a423c75fc2 100644 --- a/patches/server/0644-Don-t-apply-cramming-damage-to-players.patch +++ b/patches/server/0642-Don-t-apply-cramming-damage-to-players.patch @@ -11,7 +11,7 @@ It does not make a lot of sense to damage players if they get crammed, For those who really want it a config option is provided. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 62906422a96995ca4eac5a4d8ad2af3093a6a047..3d9f3e49cc783ace04f5228a5ae33f35799ced4a 100644 +index 478dbba3519f8d2fdd4b203756403761ccad553b..deaf1fcb189ba1382f2b52d12afa12463874f7ec 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -100,6 +100,7 @@ import net.minecraft.util.Mth; diff --git a/patches/server/0645-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0643-Rate-options-and-timings-for-sensors-and-behaviors.patch index 297c6b3a06..297c6b3a06 100644 --- a/patches/server/0645-Rate-options-and-timings-for-sensors-and-behaviors.patch +++ b/patches/server/0643-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/server/0646-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0644-Add-a-bunch-of-missing-forceDrop-toggles.patch index cbd167929b..cbd167929b 100644 --- a/patches/server/0646-Add-a-bunch-of-missing-forceDrop-toggles.patch +++ b/patches/server/0644-Add-a-bunch-of-missing-forceDrop-toggles.patch diff --git a/patches/server/0647-Stinger-API.patch b/patches/server/0645-Stinger-API.patch index a5a2a838f7..49ac5ef4ef 100644 --- a/patches/server/0647-Stinger-API.patch +++ b/patches/server/0645-Stinger-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stinger API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 61292952681727bcd651064619bff1b41c560d75..1973a8ed75f9bacebebfa74dd2d06bf7d840ea4a 100644 +index b56504c3e5c457bfe83bbc864dc217c2f0cc9d18..084bf9ab43c322f8856dc8f600a18ae166aaa5ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -340,7 +340,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -336,7 +336,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } // Paper end } diff --git a/patches/server/0648-Fix-incosistency-issue-with-empty-map-items-in-CB.patch b/patches/server/0646-Fix-incosistency-issue-with-empty-map-items-in-CB.patch index c9f7c064a5..c9f7c064a5 100644 --- a/patches/server/0648-Fix-incosistency-issue-with-empty-map-items-in-CB.patch +++ b/patches/server/0646-Fix-incosistency-issue-with-empty-map-items-in-CB.patch diff --git a/patches/server/0649-Add-System.out-err-catcher.patch b/patches/server/0647-Add-System.out-err-catcher.patch index f0508a65a3..0d16af6e4f 100644 --- a/patches/server/0649-Add-System.out-err-catcher.patch +++ b/patches/server/0647-Add-System.out-err-catcher.patch @@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4e683d5d8afcdab9cfa85c657bb76a0022912d9b..6a56751dc98a8760e68a486442e30006cf4a4637 100644 +index 95f2490000e3f49644d6795a4c4c67ee0674fbf9..46a4a9e18299060fa0050e2bd0e5a01716a6bce0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -300,6 +300,7 @@ public final class CraftServer implements Server { +@@ -299,6 +299,7 @@ public final class CraftServer implements Server { public int reloadCount; private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings diff --git a/patches/server/0650-Fix-test-not-bootstrapping.patch b/patches/server/0648-Fix-test-not-bootstrapping.patch index 6c582bf1e6..6c582bf1e6 100644 --- a/patches/server/0650-Fix-test-not-bootstrapping.patch +++ b/patches/server/0648-Fix-test-not-bootstrapping.patch diff --git a/patches/server/0651-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0649-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch index a02cafdd72..a02cafdd72 100644 --- a/patches/server/0651-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch +++ b/patches/server/0649-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/server/0652-Improve-boat-collision-performance.patch b/patches/server/0650-Improve-boat-collision-performance.patch index 4836f8e064..4836f8e064 100644 --- a/patches/server/0652-Improve-boat-collision-performance.patch +++ b/patches/server/0650-Improve-boat-collision-performance.patch diff --git a/patches/server/0653-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0651-Prevent-AFK-kick-while-watching-end-credits.patch index d77603e26d..8fbcf677c3 100644 --- a/patches/server/0653-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0651-Prevent-AFK-kick-while-watching-end-credits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent AFK kick while watching end credits. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8141d09c2b31053f0fbf3696dbc857d743873454..ce1a8355e155faaec9d8eebf89a41b7929dcbd12 100644 +index 7b2c971dad894718825475f3af364f0c653e5beb..5c98df63c36a01a70569894534f6059218ba83d2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -431,7 +431,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0654-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0652-Allow-skipping-writing-of-comments-to-server.propert.patch index c456bcd235..c456bcd235 100644 --- a/patches/server/0654-Allow-skipping-writing-of-comments-to-server.propert.patch +++ b/patches/server/0652-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0655-Add-PlayerSetSpawnEvent.patch b/patches/server/0653-Add-PlayerSetSpawnEvent.patch index e2b6777b92..169d1575be 100644 --- a/patches/server/0655-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0653-Add-PlayerSetSpawnEvent.patch @@ -49,7 +49,7 @@ index a2d0699e8427b2262a2396495111125eccafbb66..d797637f61bdf8a424f56fbb48e28b7c } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3d9f3e49cc783ace04f5228a5ae33f35799ced4a..fc0ef295241036230e2a0a12775445983df4a861 100644 +index deaf1fcb189ba1382f2b52d12afa12463874f7ec..c06e81d5448364154d9fb4fb68c1867d04daeb97 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1349,7 +1349,7 @@ public class ServerPlayer extends Player { @@ -154,7 +154,7 @@ index 3d9f3e49cc783ace04f5228a5ae33f35799ced4a..fc0ef295241036230e2a0a1277544598 public void trackChunk(ChunkPos chunkPos, Packet<?> chunkDataPacket) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a427354b357e13bde80e4a09e019dd777caca280..2896123ce0384ee1b5039f5263aa902532bce67d 100644 +index c8e38ed5e14fb137a7d169c57bc58bdf4421e0cc..c3fb1bbc0e2a44160e86b5bb4ab88f78991fa9e6 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -860,7 +860,7 @@ public abstract class PlayerList { @@ -187,10 +187,10 @@ index 1a27b7faa22e6b3dc5fce329ed06425de56c4315..b9903c29bdea8d1e3b6fce0e97be6bd9 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index cd640331afe72cd181dcb862f993ba3e0b68fc98..416c8e01d5cf8cb9725f882cc6dc30dfc0ca5494 100644 +index 02e8f2ca5d97df0b1c845e10261a4bc70da755a4..8ecfb50b3c999078d7276fbee34fadd3af60fe45 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1344,9 +1344,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1298,9 +1298,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { diff --git a/patches/server/0656-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0654-Make-hoppers-respect-inventory-max-stack-size.patch index 929c4e2715..929c4e2715 100644 --- a/patches/server/0656-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0654-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/server/0657-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0655-Optimize-entity-tracker-passenger-checks.patch index b832093f21..b832093f21 100644 --- a/patches/server/0657-Optimize-entity-tracker-passenger-checks.patch +++ b/patches/server/0655-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0658-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0656-Config-option-for-Piglins-guarding-chests.patch index 23ef76f3e7..23ef76f3e7 100644 --- a/patches/server/0658-Config-option-for-Piglins-guarding-chests.patch +++ b/patches/server/0656-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0659-Added-EntityDamageItemEvent.patch b/patches/server/0657-Added-EntityDamageItemEvent.patch index 7a458b966f..7a458b966f 100644 --- a/patches/server/0659-Added-EntityDamageItemEvent.patch +++ b/patches/server/0657-Added-EntityDamageItemEvent.patch diff --git a/patches/server/0660-Optimize-indirect-passenger-iteration.patch b/patches/server/0658-Optimize-indirect-passenger-iteration.patch index 8df21dc37e..67debf687d 100644 --- a/patches/server/0660-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0658-Optimize-indirect-passenger-iteration.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5277a260f1734051033159ebe2e4af18d48b2097..2a37fe43ef749cfa7fe7afc8899b4922fff73d86 100644 +index 6a7b3a54a29b1632061c241b89058729c2b3e036..19365914976b7af0e85d9dbf1e5995f082e1a754 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3893,20 +3893,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0661-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0659-Configurable-item-frame-map-cursor-update-interval.patch index 898bee5973..898bee5973 100644 --- a/patches/server/0661-Configurable-item-frame-map-cursor-update-interval.patch +++ b/patches/server/0659-Configurable-item-frame-map-cursor-update-interval.patch diff --git a/patches/server/0662-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0660-Make-EntityUnleashEvent-cancellable.patch index 3d733321df..3d733321df 100644 --- a/patches/server/0662-Make-EntityUnleashEvent-cancellable.patch +++ b/patches/server/0660-Make-EntityUnleashEvent-cancellable.patch diff --git a/patches/server/0663-Clear-bucket-NBT-after-dispense.patch b/patches/server/0661-Clear-bucket-NBT-after-dispense.patch index 9705f1b9dd..9705f1b9dd 100644 --- a/patches/server/0663-Clear-bucket-NBT-after-dispense.patch +++ b/patches/server/0661-Clear-bucket-NBT-after-dispense.patch diff --git a/patches/server/0664-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0662-Change-EnderEye-target-without-changing-other-things.patch index 22293dd5c1..22293dd5c1 100644 --- a/patches/server/0664-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/server/0662-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0665-Add-BlockBreakBlockEvent.patch b/patches/server/0663-Add-BlockBreakBlockEvent.patch index 83bda7fe59..83bda7fe59 100644 --- a/patches/server/0665-Add-BlockBreakBlockEvent.patch +++ b/patches/server/0663-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0666-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0664-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index d9f83ce872..d9f83ce872 100644 --- a/patches/server/0666-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/server/0664-Option-to-prevent-NBT-copy-in-smithing-recipes.patch diff --git a/patches/server/0667-More-CommandBlock-API.patch b/patches/server/0665-More-CommandBlock-API.patch index 3cbd2436d3..3cbd2436d3 100644 --- a/patches/server/0667-More-CommandBlock-API.patch +++ b/patches/server/0665-More-CommandBlock-API.patch diff --git a/patches/server/0668-Add-missing-team-sidebar-display-slots.patch b/patches/server/0666-Add-missing-team-sidebar-display-slots.patch index 0ffc852554..0ffc852554 100644 --- a/patches/server/0668-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0666-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0669-Add-back-EntityPortalExitEvent.patch b/patches/server/0667-Add-back-EntityPortalExitEvent.patch index f5cef8ac0f..6696b7bb2b 100644 --- a/patches/server/0669-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0667-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2a37fe43ef749cfa7fe7afc8899b4922fff73d86..79909f65fbfeb156d3669d31571466a6aa7ce65e 100644 +index 19365914976b7af0e85d9dbf1e5995f082e1a754..719f97ff0c6a6b2480c249a3517bc27757d1c01b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3340,6 +3340,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0670-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0668-Add-methods-to-find-targets-for-lightning-strikes.patch index 64c6192aa1..ea10046bcc 100644 --- a/patches/server/0670-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0668-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -31,10 +31,10 @@ index bc7daf89e30152a3bcb215e91b30c9680be5c343..e809a959d69197ecdec768a2d4f348c7 blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7e635571aea53e2ee7c39315c14347955f46dfe8..a37fd8fcc1924f99f1d4a97b36a04946d06f9347 100644 +index 7edcc68a24bd812f50d9ce441fab568906061da3..8bdcf37f7e0adbf6be73a44bdbda8e69e105c2e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -693,6 +693,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -698,6 +698,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (LightningStrike) lightning.getBukkitEntity(); } diff --git a/patches/server/0671-Get-entity-default-attributes.patch b/patches/server/0669-Get-entity-default-attributes.patch index c80a55e699..15b48bb9b1 100644 --- a/patches/server/0671-Get-entity-default-attributes.patch +++ b/patches/server/0669-Get-entity-default-attributes.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index fea31b187fd5965bf479548835e5603e78f3f3f1..a618c80fb5a184c2a06ccb7ac3cf55d9151a9fe1 100644 +index ef9a1d7e23be8ffe9a1669161de9310c6e566b40..78e1932852e002fc4d928ff9869678e308f9b7a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -570,6 +570,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -568,6 +568,18 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0672-Left-handed-API.patch b/patches/server/0670-Left-handed-API.patch index 3b4077b54a..3b4077b54a 100644 --- a/patches/server/0672-Left-handed-API.patch +++ b/patches/server/0670-Left-handed-API.patch diff --git a/patches/server/0673-Add-more-advancement-API.patch b/patches/server/0671-Add-more-advancement-API.patch index 451dbda15c..451dbda15c 100644 --- a/patches/server/0673-Add-more-advancement-API.patch +++ b/patches/server/0671-Add-more-advancement-API.patch diff --git a/patches/server/0674-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0672-Add-ItemFactory-getSpawnEgg-API.patch index 76f8c54c26..b9440112fb 100644 --- a/patches/server/0674-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0672-Add-ItemFactory-getSpawnEgg-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index f5610d0746b67dfe69dc79d71c4d082c083f2ee4..b32c06b1f03751c164da7049976c473dff20e4ef 100644 +index 21f5c0f2fc10b5f5752e214a08e858227bdcf2ce..583cd4726a1b60e8f11bf8a28cc3c655fa8c1b90 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -508,5 +508,17 @@ public final class CraftItemFactory implements ItemFactory { +@@ -503,5 +503,17 @@ public final class CraftItemFactory implements ItemFactory { entity.getUniqueId().toString(), new net.md_5.bungee.api.chat.TextComponent(customName)); } diff --git a/patches/server/0675-Add-critical-damage-API.patch b/patches/server/0673-Add-critical-damage-API.patch index 83a6931d96..8280cf1022 100644 --- a/patches/server/0675-Add-critical-damage-API.patch +++ b/patches/server/0673-Add-critical-damage-API.patch @@ -71,7 +71,7 @@ index a0d688128a1268fa1acf7c339cde15df5dce1c82..372b9ec0c8eddf4a01b4b8203a88401d int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7ef3e4dd903c77fd6112e90999a474ff674a5e7f..20e1efcadd4a11bab8a0db48410229e4a4d5ce57 100644 +index 64e1e46bd6c4b225fe9b86c4cf632b9bb1c4af09..94796cbe43546748b28aa921d22cb4b68ef23fa6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -988,7 +988,7 @@ public class CraftEventFactory { @@ -101,7 +101,7 @@ index 7ef3e4dd903c77fd6112e90999a474ff674a5e7f..20e1efcadd4a11bab8a0db48410229e4 event.setCancelled(cancelled); CraftEventFactory.callEvent(event); if (!event.isCancelled()) { -@@ -1135,20 +1135,28 @@ public class CraftEventFactory { +@@ -1139,20 +1139,28 @@ public class CraftEventFactory { } if (cause != null) { diff --git a/patches/server/0676-Fix-issues-with-mob-conversion.patch b/patches/server/0674-Fix-issues-with-mob-conversion.patch index c5a854da3b..c5a854da3b 100644 --- a/patches/server/0676-Fix-issues-with-mob-conversion.patch +++ b/patches/server/0674-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0677-Add-isCollidable-methods-to-various-places.patch b/patches/server/0675-Add-isCollidable-methods-to-various-places.patch index 9e718ffd89..2cead6b67f 100644 --- a/patches/server/0677-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0675-Add-isCollidable-methods-to-various-places.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add isCollidable methods to various places public net.minecraft.world.level.block.state.BlockBehaviour hasCollision diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e7e5c9fa734072e9ae15eb5f6d75c7740ba3ba44..8131c1db3d7963121a24348575ea8a98a80a974c 100644 +index d37440f78a31c676fc6efe9e59253dbe8097b94e..8d2da07f0793367a51026b50adc8b3dc71073013 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -484,6 +484,11 @@ public class CraftBlock implements Block { +@@ -482,6 +482,11 @@ public class CraftBlock implements Block { public boolean isSolid() { return this.getNMS().blocksMotion(); } @@ -23,12 +23,12 @@ index e7e5c9fa734072e9ae15eb5f6d75c7740ba3ba44..8131c1db3d7963121a24348575ea8a98 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index 9068557ac50cfb26e7e3ec4ac64bac583baa582e..3e1d36a8c65e6567ac3b78903a25d5828ab74ea5 100644 +index b722a207c0e745bb172d93b90e1241d7bfa173ce..792bfc7eab33b26462e76a1912bd712e8af70073 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -325,4 +325,11 @@ public class CraftBlockState implements BlockState { - throw new IllegalStateException("The blockState must be placed to call this method"); - } +@@ -317,4 +317,11 @@ public class CraftBlockState implements BlockState { + protected void requirePlaced() { + Preconditions.checkState(this.isPlaced(), "The blockState must be placed to call this method"); } + + // Paper start @@ -39,10 +39,10 @@ index 9068557ac50cfb26e7e3ec4ac64bac583baa582e..3e1d36a8c65e6567ac3b78903a25d582 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a618c80fb5a184c2a06ccb7ac3cf55d9151a9fe1..6a048eaf63dec0d061265e639088055c60fbd834 100644 +index 78e1932852e002fc4d928ff9869678e308f9b7a4..ec3cb84a4ac59a27e194e66686273496276b80c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -582,6 +582,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -580,6 +580,12 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.LivingEntity>) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } diff --git a/patches/server/0678-Goat-ram-API.patch b/patches/server/0676-Goat-ram-API.patch index 2d8433a918..2d8433a918 100644 --- a/patches/server/0678-Goat-ram-API.patch +++ b/patches/server/0676-Goat-ram-API.patch diff --git a/patches/server/0679-Add-API-for-resetting-a-single-score.patch b/patches/server/0677-Add-API-for-resetting-a-single-score.patch index c2e1fd93b9..c2e1fd93b9 100644 --- a/patches/server/0679-Add-API-for-resetting-a-single-score.patch +++ b/patches/server/0677-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0680-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0678-Add-Raw-Byte-Entity-Serialization.patch index f5b6d863d8..3ea2d20740 100644 --- a/patches/server/0680-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0678-Add-Raw-Byte-Entity-Serialization.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 79909f65fbfeb156d3669d31571466a6aa7ce65e..89dd6c49d661d156a0443db4853ccf04dd5cdc14 100644 +index 719f97ff0c6a6b2480c249a3517bc27757d1c01b..266cdbadbf40959ef2214d30ddba945802b9d6ef 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2138,6 +2138,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -27,10 +27,10 @@ index 79909f65fbfeb156d3669d31571466a6aa7ce65e..89dd6c49d661d156a0443db4853ccf04 return this.isPassenger() ? false : this.saveAsPassenger(nbt); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 9155af9c7e001d4cb431e74b12c9d98227011d51..18d7d1ca3f0f6517e781ad6977800b12ca1891ec 100644 +index 02dc40b6f7b82ce503c33fb4af26cbb20c9d5b7a..5fad5dbc0815ec3ee86a3fb34fe0c68bb4c33bcc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1367,5 +1367,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1360,5 +1360,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } return set; } @@ -47,10 +47,10 @@ index 9155af9c7e001d4cb431e74b12c9d98227011d51..18d7d1ca3f0f6517e781ad6977800b12 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 6a048eaf63dec0d061265e639088055c60fbd834..a6564c7d69999c55abc4292cab9182390a52e749 100644 +index ec3cb84a4ac59a27e194e66686273496276b80c4..8f185a0b1a9037c1458b3ce41347e2c733e4d4de 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -493,6 +493,29 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -491,6 +491,29 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion()))); } diff --git a/patches/server/0681-Vanilla-command-permission-fixes.patch b/patches/server/0679-Vanilla-command-permission-fixes.patch index 53008d51e9..4f690751a2 100644 --- a/patches/server/0681-Vanilla-command-permission-fixes.patch +++ b/patches/server/0679-Vanilla-command-permission-fixes.patch @@ -51,7 +51,7 @@ index 14c78028ff51fff6f24174ae16b7c42d34d6041a..7592b592a541912f729d6b99f455cd87 } diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java -index 5ed34b60a32a2aac214de84c44689fd5a0b00a10..8dca2ad7d25f740941187698d77819af8ebc2805 100644 +index 8b93fe406ea94919b4129566764f7efe43b3330d..b26ac7192e532be94a57a70e12270272034fd5ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java +++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java @@ -87,7 +87,23 @@ public final class VanillaCommandWrapper extends BukkitCommand { diff --git a/patches/server/0682-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0680-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch index 0323f3318d..51a8fd4611 100644 --- a/patches/server/0682-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch +++ b/patches/server/0680-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch @@ -28,7 +28,7 @@ index e809a959d69197ecdec768a2d4f348c73c0d5b9a..0f6d4f80677c54a94a1bbfb861a3bcce } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index fc0ef295241036230e2a0a12775445983df4a861..9c7bb62646fff8ba0ab9e666dcf706ef5c5dc041 100644 +index c06e81d5448364154d9fb4fb68c1867d04daeb97..1511d45eb61e72e73bc17cfe03fbb6c22f9dd128 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1615,6 +1615,18 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0683-Fix-GameProfileCache-concurrency.patch b/patches/server/0681-Fix-GameProfileCache-concurrency.patch index 8c22da1dde..8c22da1dde 100644 --- a/patches/server/0683-Fix-GameProfileCache-concurrency.patch +++ b/patches/server/0681-Fix-GameProfileCache-concurrency.patch diff --git a/patches/server/0684-Improve-and-expand-AsyncCatcher.patch b/patches/server/0682-Improve-and-expand-AsyncCatcher.patch index 822bef6e4f..b2edc90b2d 100644 --- a/patches/server/0684-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0682-Improve-and-expand-AsyncCatcher.patch @@ -17,10 +17,10 @@ Async catch modifications to critical entity state Co-authored-by: Jake Potrebic <[email protected]> diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ce1a8355e155faaec9d8eebf89a41b7929dcbd12..8b85b4ea7411e9b523647e39c366bf63e27d0d2b 100644 +index 5c98df63c36a01a70569894534f6059218ba83d2..c76fa82020feba290787efb7eb6bb000ef98db8b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1653,6 +1653,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1656,6 +1656,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public void internalTeleport(double d0, double d1, double d2, float f, float f1, Set<RelativeMovement> set) { // Paper @@ -166,10 +166,10 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038 PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason}); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1973a8ed75f9bacebebfa74dd2d06bf7d840ea4a..8b6cae9a005a6db608be85805382704ff5dc6669 100644 +index 084bf9ab43c322f8856dc8f600a18ae166aaa5ef..4590764ec62938e2b601f9f8339d5c4ea183e5e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -455,6 +455,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -451,6 +451,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public boolean addPotionEffect(PotionEffect effect, boolean force) { diff --git a/patches/server/0685-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0683-Add-paper-mobcaps-and-paper-playermobcaps.patch index 814d6c5557..4ff6d7fef3 100644 --- a/patches/server/0685-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0683-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -278,10 +278,10 @@ index a3461824fd2162d509facf6f64c5008e3f0fd42b..d4f99f4592a86e2d8344bc2c44711fef // Paper start - add parameters and int ret type spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6a56751dc98a8760e68a486442e30006cf4a4637..395ca8b6ad62fc3c4c4bed0715bb8570683d755a 100644 +index 46a4a9e18299060fa0050e2bd0e5a01716a6bce0..dfb3aef5fdc4fea0975c7f27ceaf895f1094f8a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2182,6 +2182,11 @@ public final class CraftServer implements Server { +@@ -2186,6 +2186,11 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { @@ -294,12 +294,12 @@ index 6a56751dc98a8760e68a486442e30006cf4a4637..395ca8b6ad62fc3c4c4bed0715bb8570 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index a37fd8fcc1924f99f1d4a97b36a04946d06f9347..84f55724f38cd7bbe1971e9fbd7bfbfe86cd4c00 100644 +index 8bdcf37f7e0adbf6be73a44bdbda8e69e105c2e3..dbdae5af24f762c7c2678754eb688c0de9ca5215 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1698,9 +1698,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { - Validate.notNull(spawnCategory, "SpawnCategory cannot be null"); - Validate.isTrue(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory." + spawnCategory + " are not supported."); +@@ -1704,9 +1704,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { + Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null"); + Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory.%s are not supported", spawnCategory); + // Paper start + return this.getSpawnLimitUnsafe(spawnCategory); diff --git a/patches/server/0686-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0684-Sanitize-ResourceLocation-error-logging.patch index d8427b5ba0..d8427b5ba0 100644 --- a/patches/server/0686-Sanitize-ResourceLocation-error-logging.patch +++ b/patches/server/0684-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0687-Allow-controlled-flushing-for-network-manager.patch b/patches/server/0685-Allow-controlled-flushing-for-network-manager.patch index 0cecd8e3e4..0cecd8e3e4 100644 --- a/patches/server/0687-Allow-controlled-flushing-for-network-manager.patch +++ b/patches/server/0685-Allow-controlled-flushing-for-network-manager.patch diff --git a/patches/server/0688-Optimise-general-POI-access.patch b/patches/server/0686-Optimise-general-POI-access.patch index 02fe35aa9d..02fe35aa9d 100644 --- a/patches/server/0688-Optimise-general-POI-access.patch +++ b/patches/server/0686-Optimise-general-POI-access.patch diff --git a/patches/server/0689-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch b/patches/server/0687-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch index fe1cc645eb..9039a81a52 100644 --- a/patches/server/0689-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch +++ b/patches/server/0687-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch @@ -333,7 +333,7 @@ index 3f5d572994bc8b3f1e106105dc0bb202ad005b8c..5c5fe2087a7617324ab8e18389e3ffa9 } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9c7bb62646fff8ba0ab9e666dcf706ef5c5dc041..63765c837d1becaba6a8d9c71929f47486683530 100644 +index 1511d45eb61e72e73bc17cfe03fbb6c22f9dd128..7b8e06fc7e2d422ba0e996d6de3f769e995cc6e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -273,6 +273,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0690-Optimise-chunk-tick-iteration.patch b/patches/server/0688-Optimise-chunk-tick-iteration.patch index 701231d24f..701231d24f 100644 --- a/patches/server/0690-Optimise-chunk-tick-iteration.patch +++ b/patches/server/0688-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/0691-Execute-chunk-tasks-mid-tick.patch b/patches/server/0689-Execute-chunk-tasks-mid-tick.patch index 2172f471d7..e58dbbe393 100644 --- a/patches/server/0691-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/0689-Execute-chunk-tasks-mid-tick.patch @@ -19,10 +19,10 @@ index 4d861f9a58f8ea238471af22f387854d855b1801..efbf77024d235d8af9f7efc938c17afd private MinecraftTimings() {} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 76bdca305277d8d2a659b029f035bb4da25a076e..e5612808261f5e94ed02afa2bd070db56496fa79 100644 +index 09617ff2716b8e75380421e9a19c145806602151..ebd092a3f3c745b3a2f69fd72c04be7a2ab214a2 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1305,6 +1305,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1303,6 +1303,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa private boolean pollTaskInternal() { if (super.pollTask()) { @@ -30,7 +30,7 @@ index 76bdca305277d8d2a659b029f035bb4da25a076e..e5612808261f5e94ed02afa2bd070db5 return true; } else { if (this.haveTime()) { -@@ -2708,4 +2709,74 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2706,4 +2707,74 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } } // Paper end diff --git a/patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0690-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch index 293669046c..293669046c 100644 --- a/patches/server/0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch +++ b/patches/server/0690-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0693-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0691-Custom-table-implementation-for-blockstate-state-loo.patch index 0318d05517..0318d05517 100644 --- a/patches/server/0693-Custom-table-implementation-for-blockstate-state-loo.patch +++ b/patches/server/0691-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0694-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0692-Detail-more-information-in-watchdog-dumps.patch index d4e6413e24..48ecc20997 100644 --- a/patches/server/0694-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0692-Detail-more-information-in-watchdog-dumps.patch @@ -122,7 +122,7 @@ index 1d0f87185a8a74394bc2da29828407fd4210754c..d6429d721116aac2a4df8d0b217e9efc private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 89dd6c49d661d156a0443db4853ccf04dd5cdc14..c907d7fc0af72ac8b4e36a2a9496dee29cac787b 100644 +index 266cdbadbf40959ef2214d30ddba945802b9d6ef..f1101d91b3c0e2ce05e69591a7740aa914ff5331 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1024,7 +1024,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0695-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0693-Manually-inline-methods-in-BlockPosition.patch index c8b8adfce9..c8b8adfce9 100644 --- a/patches/server/0695-Manually-inline-methods-in-BlockPosition.patch +++ b/patches/server/0693-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0696-Distance-manager-tick-timings.patch b/patches/server/0694-Distance-manager-tick-timings.patch index 1ea0186cb3..1ea0186cb3 100644 --- a/patches/server/0696-Distance-manager-tick-timings.patch +++ b/patches/server/0694-Distance-manager-tick-timings.patch diff --git a/patches/server/0697-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0695-Name-craft-scheduler-threads-according-to-the-plugin.patch index e2e0d713f0..e2e0d713f0 100644 --- a/patches/server/0697-Name-craft-scheduler-threads-according-to-the-plugin.patch +++ b/patches/server/0695-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0698-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0696-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch index 336cbb88f7..336cbb88f7 100644 --- a/patches/server/0698-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch +++ b/patches/server/0696-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0699-Add-packet-limiter-config.patch b/patches/server/0697-Add-packet-limiter-config.patch index 52e12fb5a0..52e12fb5a0 100644 --- a/patches/server/0699-Add-packet-limiter-config.patch +++ b/patches/server/0697-Add-packet-limiter-config.patch diff --git a/patches/server/0700-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0698-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch index 30ce1f4f3d..30ce1f4f3d 100644 --- a/patches/server/0700-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch +++ b/patches/server/0698-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0701-Consolidate-flush-calls-for-entity-tracker-packets.patch b/patches/server/0699-Consolidate-flush-calls-for-entity-tracker-packets.patch index 6846952891..6846952891 100644 --- a/patches/server/0701-Consolidate-flush-calls-for-entity-tracker-packets.patch +++ b/patches/server/0699-Consolidate-flush-calls-for-entity-tracker-packets.patch diff --git a/patches/server/0702-Don-t-lookup-fluid-state-when-raytracing.patch b/patches/server/0700-Don-t-lookup-fluid-state-when-raytracing.patch index 3497fb942c..3497fb942c 100644 --- a/patches/server/0702-Don-t-lookup-fluid-state-when-raytracing.patch +++ b/patches/server/0700-Don-t-lookup-fluid-state-when-raytracing.patch diff --git a/patches/server/0703-Time-scoreboard-search.patch b/patches/server/0701-Time-scoreboard-search.patch index 2f812b0753..5c5417edeb 100644 --- a/patches/server/0703-Time-scoreboard-search.patch +++ b/patches/server/0701-Time-scoreboard-search.patch @@ -19,7 +19,7 @@ index 670dcfa32d003870091b75937f1603a5ac9fa7d1..112029cb275d45dced60807820f1bfe9 public static final Timing midTickChunkTasks = Timings.ofSafe("Mid Tick Chunk Tasks"); diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java -index 39e19bea16419b9cbe53016084b8bbf014dcb056..138407c2d4b0bc55ddb9aac5d2aa3edadda090fb 100644 +index 6fcb2356b471c5a61faa0813a891c3898683d01f..7674939964894a56ce495e47d400cbf12cd0475b 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboardManager.java @@ -113,9 +113,18 @@ public final class CraftScoreboardManager implements ScoreboardManager { diff --git a/patches/server/0704-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0702-Send-full-pos-packets-for-hard-colliding-entities.patch index dba17c9f63..dba17c9f63 100644 --- a/patches/server/0704-Send-full-pos-packets-for-hard-colliding-entities.patch +++ b/patches/server/0702-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0705-Do-not-run-raytrace-logic-for-AIR.patch b/patches/server/0703-Do-not-run-raytrace-logic-for-AIR.patch index 61d1c10cc0..61d1c10cc0 100644 --- a/patches/server/0705-Do-not-run-raytrace-logic-for-AIR.patch +++ b/patches/server/0703-Do-not-run-raytrace-logic-for-AIR.patch diff --git a/patches/server/0706-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0704-Oprimise-map-impl-for-tracked-players.patch index 6d88849131..6d88849131 100644 --- a/patches/server/0706-Oprimise-map-impl-for-tracked-players.patch +++ b/patches/server/0704-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0707-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0705-Optimise-BlockSoil-nearby-water-lookup.patch index ed636e2ee2..ed636e2ee2 100644 --- a/patches/server/0707-Optimise-BlockSoil-nearby-water-lookup.patch +++ b/patches/server/0705-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0708-Optimise-random-block-ticking.patch b/patches/server/0706-Optimise-random-block-ticking.patch index 4157e93a2c..4157e93a2c 100644 --- a/patches/server/0708-Optimise-random-block-ticking.patch +++ b/patches/server/0706-Optimise-random-block-ticking.patch diff --git a/patches/server/0709-Optimise-non-flush-packet-sending.patch b/patches/server/0707-Optimise-non-flush-packet-sending.patch index fdc4b312bf..fdc4b312bf 100644 --- a/patches/server/0709-Optimise-non-flush-packet-sending.patch +++ b/patches/server/0707-Optimise-non-flush-packet-sending.patch diff --git a/patches/server/0710-Optimise-nearby-player-lookups.patch b/patches/server/0708-Optimise-nearby-player-lookups.patch index 43c9989b3d..43c9989b3d 100644 --- a/patches/server/0710-Optimise-nearby-player-lookups.patch +++ b/patches/server/0708-Optimise-nearby-player-lookups.patch diff --git a/patches/server/0711-Remove-streams-for-villager-AI.patch b/patches/server/0709-Remove-streams-for-villager-AI.patch index b4ef086afb..b4ef086afb 100644 --- a/patches/server/0711-Remove-streams-for-villager-AI.patch +++ b/patches/server/0709-Remove-streams-for-villager-AI.patch diff --git a/patches/server/0712-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0710-Use-Velocity-compression-and-cipher-natives.patch index 49eaa6b1a0..49eaa6b1a0 100644 --- a/patches/server/0712-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0710-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/0713-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch b/patches/server/0711-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch index 125dc57c81..125dc57c81 100644 --- a/patches/server/0713-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch +++ b/patches/server/0711-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch diff --git a/patches/server/0714-Fix-Bukkit-NamespacedKey-shenanigans.patch b/patches/server/0712-Fix-Bukkit-NamespacedKey-shenanigans.patch index c77b9ae0d6..c77b9ae0d6 100644 --- a/patches/server/0714-Fix-Bukkit-NamespacedKey-shenanigans.patch +++ b/patches/server/0712-Fix-Bukkit-NamespacedKey-shenanigans.patch diff --git a/patches/server/0715-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0713-Fix-merchant-inventory-not-closing-on-entity-removal.patch index 175e6eef47..175e6eef47 100644 --- a/patches/server/0715-Fix-merchant-inventory-not-closing-on-entity-removal.patch +++ b/patches/server/0713-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0716-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0714-Check-requirement-before-suggesting-root-nodes.patch index 4f135f41df..4f135f41df 100644 --- a/patches/server/0716-Check-requirement-before-suggesting-root-nodes.patch +++ b/patches/server/0714-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0717-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0715-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch index fec922ac5a..07963d7944 100644 --- a/patches/server/0717-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch +++ b/patches/server/0715-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Don't respond to ServerboundCommandSuggestionPacket when diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8b85b4ea7411e9b523647e39c366bf63e27d0d2b..8c0cbe36eeb60b355413a19b5f8e66b996a833d7 100644 +index c76fa82020feba290787efb7eb6bb000ef98db8b..9ae8bdc5d17f585257f61f3692117e82e718b6f4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -847,6 +847,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0718-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0716-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch index 8bc6527cd8..8bc6527cd8 100644 --- a/patches/server/0718-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch +++ b/patches/server/0716-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0719-Ensure-valid-vehicle-status.patch b/patches/server/0717-Ensure-valid-vehicle-status.patch index 9189776594..f96c46691e 100644 --- a/patches/server/0719-Ensure-valid-vehicle-status.patch +++ b/patches/server/0717-Ensure-valid-vehicle-status.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ensure valid vehicle status diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 63765c837d1becaba6a8d9c71929f47486683530..c6ff2f5d1a13b4357229244cbd375461b51d1779 100644 +index 7b8e06fc7e2d422ba0e996d6de3f769e995cc6e5..5aa34babd53900fb5f7cf973628751ecec64172d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -568,7 +568,7 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0720-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0718-Prevent-softlocked-end-exit-portal-generation.patch index 4b7141d625..4b7141d625 100644 --- a/patches/server/0720-Prevent-softlocked-end-exit-portal-generation.patch +++ b/patches/server/0718-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0721-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0719-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch index b415f668ab..b415f668ab 100644 --- a/patches/server/0721-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch +++ b/patches/server/0719-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0722-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0720-Don-t-log-debug-logging-being-disabled.patch index 82e266f96e..82e266f96e 100644 --- a/patches/server/0722-Don-t-log-debug-logging-being-disabled.patch +++ b/patches/server/0720-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0723-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0721-fix-various-menus-with-empty-level-accesses.patch index 3bda24b9c6..3bda24b9c6 100644 --- a/patches/server/0723-fix-various-menus-with-empty-level-accesses.patch +++ b/patches/server/0721-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0724-Preserve-overstacked-loot.patch b/patches/server/0722-Preserve-overstacked-loot.patch index 940c8f47ca..940c8f47ca 100644 --- a/patches/server/0724-Preserve-overstacked-loot.patch +++ b/patches/server/0722-Preserve-overstacked-loot.patch diff --git a/patches/server/0725-Update-head-rotation-in-missing-places.patch b/patches/server/0723-Update-head-rotation-in-missing-places.patch index 682fe4b2b1..d08c4d10e5 100644 --- a/patches/server/0725-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0723-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c907d7fc0af72ac8b4e36a2a9496dee29cac787b..87d5b7a3d9cb406c37982419be4d112051946deb 100644 +index f1101d91b3c0e2ce05e69591a7740aa914ff5331..fb56e011de267a0f57c8b3b604409d35dd640856 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1903,6 +1903,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0726-prevent-unintended-light-block-manipulation.patch b/patches/server/0724-prevent-unintended-light-block-manipulation.patch index 745b4cd9b5..745b4cd9b5 100644 --- a/patches/server/0726-prevent-unintended-light-block-manipulation.patch +++ b/patches/server/0724-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0727-Fix-CraftCriteria-defaults-map.patch b/patches/server/0725-Fix-CraftCriteria-defaults-map.patch index 65eeffccea..65eeffccea 100644 --- a/patches/server/0727-Fix-CraftCriteria-defaults-map.patch +++ b/patches/server/0725-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0728-Fix-upstreams-block-state-factories.patch b/patches/server/0726-Fix-upstreams-block-state-factories.patch index 42689cf062..42689cf062 100644 --- a/patches/server/0728-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0726-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0729-Add-config-option-for-logging-player-ip-addresses.patch b/patches/server/0727-Add-config-option-for-logging-player-ip-addresses.patch index aac66e43f6..a96c1d39be 100644 --- a/patches/server/0729-Add-config-option-for-logging-player-ip-addresses.patch +++ b/patches/server/0727-Add-config-option-for-logging-player-ip-addresses.patch @@ -47,7 +47,7 @@ index 595779cfd0ee1c405d7936f00a7cae1706125e7f..ed3af916dfa875dd0a5f1e730d20d11e @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2896123ce0384ee1b5039f5263aa902532bce67d..c94172f2d2435ff4256fe21533cea2719b4cffe0 100644 +index c3fb1bbc0e2a44160e86b5bb4ab88f78991fa9e6..ffa831673805201932c36b814f4439f3bb5c4c04 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -255,7 +255,7 @@ public abstract class PlayerList { diff --git a/patches/server/0730-Configurable-feature-seeds.patch b/patches/server/0728-Configurable-feature-seeds.patch index 2e7ba7f297..2e7ba7f297 100644 --- a/patches/server/0730-Configurable-feature-seeds.patch +++ b/patches/server/0728-Configurable-feature-seeds.patch diff --git a/patches/server/0731-VanillaCommandWrapper-didnt-account-for-entity-sende.patch b/patches/server/0729-VanillaCommandWrapper-didnt-account-for-entity-sende.patch index 54bf3f7028..f082107a26 100644 --- a/patches/server/0731-VanillaCommandWrapper-didnt-account-for-entity-sende.patch +++ b/patches/server/0729-VanillaCommandWrapper-didnt-account-for-entity-sende.patch @@ -5,7 +5,7 @@ Subject: [PATCH] VanillaCommandWrapper didnt account for entity senders diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java -index 8dca2ad7d25f740941187698d77819af8ebc2805..6df44aa60d2b41b95fe79ed4cf92a6d3369400ea 100644 +index b26ac7192e532be94a57a70e12270272034fd5ef..bd45d59cbfe877717b90221fbb8d03d266958984 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java +++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java @@ -64,8 +64,10 @@ public final class VanillaCommandWrapper extends BukkitCommand { diff --git a/patches/server/0732-Add-root-admin-user-detection.patch b/patches/server/0730-Add-root-admin-user-detection.patch index bc171867c0..bc171867c0 100644 --- a/patches/server/0732-Add-root-admin-user-detection.patch +++ b/patches/server/0730-Add-root-admin-user-detection.patch diff --git a/patches/server/0733-Always-allow-item-changing-in-Fireball.patch b/patches/server/0731-Always-allow-item-changing-in-Fireball.patch index f8453901a9..f8453901a9 100644 --- a/patches/server/0733-Always-allow-item-changing-in-Fireball.patch +++ b/patches/server/0731-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0734-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0732-don-t-attempt-to-teleport-dead-entities.patch index 910c13ba80..35e1ddc351 100644 --- a/patches/server/0734-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0732-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 87d5b7a3d9cb406c37982419be4d112051946deb..a648b174ba00ba2e23cbbbd34fd397f295a06390 100644 +index fb56e011de267a0f57c8b3b604409d35dd640856..b857e1846b6e215ab71cf31c31ce8c96266a4145 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -787,7 +787,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0735-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0733-Prevent-excessive-velocity-through-repeated-crits.patch index 5cdbdc4130..5cdbdc4130 100644 --- a/patches/server/0735-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0733-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/server/0736-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0734-Remove-client-side-code-using-deprecated-for-removal.patch index 573119e335..573119e335 100644 --- a/patches/server/0736-Remove-client-side-code-using-deprecated-for-removal.patch +++ b/patches/server/0734-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/server/0737-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0735-Fix-removing-recipes-from-RecipeIterator.patch index 6b05db044c..50c8cae9c0 100644 --- a/patches/server/0737-Fix-removing-recipes-from-RecipeIterator.patch +++ b/patches/server/0735-Fix-removing-recipes-from-RecipeIterator.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix removing recipes from RecipeIterator public net.minecraft.world.item.crafting.RecipeManager byName diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java b/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java -index 24f336c89b548c5ba2a95372db0d7c83b5c4ec47..91895c639c33a1cafd2a35bab7b5fd83e558468d 100644 +index f12a93544313065fc9dc2a87063688aef79d3d96..548c3b288f2b3b711e1a75f1fc0d1e9713f47bcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/RecipeIterator.java -@@ -11,6 +11,7 @@ import org.bukkit.inventory.Recipe; +@@ -12,6 +12,7 @@ import org.bukkit.inventory.Recipe; public class RecipeIterator implements Iterator<Recipe> { private final Iterator<Map.Entry<RecipeType<?>, Object2ObjectLinkedOpenHashMap<ResourceLocation, net.minecraft.world.item.crafting.Recipe<?>>>> recipes; private Iterator<net.minecraft.world.item.crafting.Recipe<?>> current; @@ -18,7 +18,7 @@ index 24f336c89b548c5ba2a95372db0d7c83b5c4ec47..91895c639c33a1cafd2a35bab7b5fd83 public RecipeIterator() { this.recipes = MinecraftServer.getServer().getRecipeManager().recipes.entrySet().iterator(); -@@ -34,10 +35,16 @@ public class RecipeIterator implements Iterator<Recipe> { +@@ -35,15 +36,27 @@ public class RecipeIterator implements Iterator<Recipe> { public Recipe next() { if (this.current == null || !this.current.hasNext()) { this.current = this.recipes.next().getValue().values().iterator(); @@ -37,10 +37,9 @@ index 24f336c89b548c5ba2a95372db0d7c83b5c4ec47..91895c639c33a1cafd2a35bab7b5fd83 } @Override -@@ -46,6 +53,11 @@ public class RecipeIterator implements Iterator<Recipe> { - throw new IllegalStateException("next() not yet called"); - } - + public void remove() { + Preconditions.checkState(this.current != null, "next() not yet called"); ++ + // Paper start - fix removing recipes + if (this.currentRecipe instanceof org.bukkit.Keyed keyed) { + MinecraftServer.getServer().getRecipeManager().byName.remove(org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(keyed.getKey())); diff --git a/patches/server/0738-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0736-Prevent-sending-oversized-item-data-in-equipment-and.patch index 92abda7e55..92abda7e55 100644 --- a/patches/server/0738-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0736-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/server/0739-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0737-Hide-unnecessary-itemmeta-from-clients.patch index 96891e42dd..0822fcc400 100644 --- a/patches/server/0739-Hide-unnecessary-itemmeta-from-clients.patch +++ b/patches/server/0737-Hide-unnecessary-itemmeta-from-clients.patch @@ -18,10 +18,10 @@ index 71a8812365503d840f6702a21d504a37d67c7194..63561c0044375465fa0023b2b563a651 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8c0cbe36eeb60b355413a19b5f8e66b996a833d7..8d4421e24feca1c8d1a05890c9e9fbb8fea92a8b 100644 +index 9ae8bdc5d17f585257f61f3692117e82e718b6f4..a47e05e1955b7c0b11fa0c36b5a97d27be0f7e1d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2705,8 +2705,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2708,8 +2708,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Refresh the current entity metadata entity.getEntityData().refresh(player); // SPIGOT-7136 - Allays diff --git a/patches/server/0740-Fix-Spigot-growth-modifiers.patch b/patches/server/0738-Fix-Spigot-growth-modifiers.patch index 7530d5438f..7530d5438f 100644 --- a/patches/server/0740-Fix-Spigot-growth-modifiers.patch +++ b/patches/server/0738-Fix-Spigot-growth-modifiers.patch diff --git a/patches/server/0741-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0739-Prevent-ContainerOpenersCounter-openCount-from-going.patch index 62a65ff130..62a65ff130 100644 --- a/patches/server/0741-Prevent-ContainerOpenersCounter-openCount-from-going.patch +++ b/patches/server/0739-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0742-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0740-Add-PlayerItemFrameChangeEvent.patch index 6214bdbdef..6214bdbdef 100644 --- a/patches/server/0742-Add-PlayerItemFrameChangeEvent.patch +++ b/patches/server/0740-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0743-Add-player-health-update-API.patch b/patches/server/0741-Add-player-health-update-API.patch index dc4c1becce..cd2c85ccd4 100644 --- a/patches/server/0743-Add-player-health-update-API.patch +++ b/patches/server/0741-Add-player-health-update-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add player health update API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 416c8e01d5cf8cb9725f882cc6dc30dfc0ca5494..59683479af9fa4058cab286caed2fa990c4bd293 100644 +index 8ecfb50b3c999078d7276fbee34fadd3af60fe45..df99f0c91cc3bc79ca7e5db27c2e4d215da30a55 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2366,9 +2366,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2304,9 +2304,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().maxHealthCache = getMaxHealth(); } @@ -22,7 +22,7 @@ index 416c8e01d5cf8cb9725f882cc6dc30dfc0ca5494..59683479af9fa4058cab286caed2fa99 if (this.getHandle().queueHealthUpdatePacket) { this.getHandle().queuedHealthUpdatePacket = packet; } else { -@@ -2377,6 +2379,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2315,6 +2317,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end } diff --git a/patches/server/0744-Optimize-HashMapPalette.patch b/patches/server/0742-Optimize-HashMapPalette.patch index 52a28a4fd3..52a28a4fd3 100644 --- a/patches/server/0744-Optimize-HashMapPalette.patch +++ b/patches/server/0742-Optimize-HashMapPalette.patch diff --git a/patches/server/0745-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0743-Allow-delegation-to-vanilla-chunk-gen.patch index a872c107fd..67bf1a50b0 100644 --- a/patches/server/0745-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0743-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 395ca8b6ad62fc3c4c4bed0715bb8570683d755a..3f5a8f259f8afb42760602c8bac18e92b8299092 100644 +index dfb3aef5fdc4fea0975c7f27ceaf895f1094f8a5..f23c83b281e8fa7310bd8d10f6972f68743e2ab4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2354,6 +2354,88 @@ public final class CraftServer implements Server { +@@ -2366,6 +2366,88 @@ public final class CraftServer implements Server { return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME), world); // Paper - Anti-Xray - Add parameters } diff --git a/patches/server/0746-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch b/patches/server/0744-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch index b26948317b..71830dfd1c 100644 --- a/patches/server/0746-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch +++ b/patches/server/0744-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch @@ -1180,7 +1180,7 @@ index 0000000000000000000000000000000000000000..3d2fa2466fe40e0b9d7749498684587a + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index c6ff2f5d1a13b4357229244cbd375461b51d1779..68e7342a72509fb41734ee23638ffb562007ae90 100644 +index 5aa34babd53900fb5f7cf973628751ecec64172d..ea3dfa9cd06e4a44ee819ed4a203779e4c10bbd9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -461,7 +461,7 @@ public class ServerPlayer extends Player { @@ -1202,7 +1202,7 @@ index c6ff2f5d1a13b4357229244cbd375461b51d1779..68e7342a72509fb41734ee23638ffb56 } } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c94172f2d2435ff4256fe21533cea2719b4cffe0..432c9e4e2b16b18f795e854f4cbe30b7e14a8947 100644 +index ffa831673805201932c36b814f4439f3bb5c4c04..64e40e3caa85bff9382a483237301a8f231d1991 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -895,7 +895,7 @@ public abstract class PlayerList { @@ -1215,7 +1215,7 @@ index c94172f2d2435ff4256fe21533cea2719b4cffe0..432c9e4e2b16b18f795e854f4cbe30b7 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a648b174ba00ba2e23cbbbd34fd397f295a06390..53e1e4ffa51b5858417862e190f0bebd1e5d340c 100644 +index b857e1846b6e215ab71cf31c31ce8c96266a4145..5296675dc1c197b67371e86da1c39dcc2e1d69e6 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1210,9 +1210,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0747-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0745-Optimise-collision-checking-in-player-move-packet-ha.patch index e0811f8050..89716c784a 100644 --- a/patches/server/0747-Optimise-collision-checking-in-player-move-packet-ha.patch +++ b/patches/server/0745-Optimise-collision-checking-in-player-move-packet-ha.patch @@ -8,7 +8,7 @@ Move collision logic to just the hasNewCollision call instead of getCubes + hasN CHECK ME diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8d4421e24feca1c8d1a05890c9e9fbb8fea92a8b..74b0d2ddcea648d017e4acbe20536352102bad95 100644 +index a47e05e1955b7c0b11fa0c36b5a97d27be0f7e1d..0203c778e2cfd421d4e9516a00535a5f20e61679 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -647,7 +647,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -142,7 +142,7 @@ index 8d4421e24feca1c8d1a05890c9e9fbb8fea92a8b..74b0d2ddcea648d017e4acbe20536352 this.internalTeleport(d3, d4, d5, f, f1, Collections.emptySet()); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet. this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround()); } else { -@@ -1587,6 +1634,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1590,6 +1637,26 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } } diff --git a/patches/server/0748-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0746-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch index 78d359b1d9..78d359b1d9 100644 --- a/patches/server/0748-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch +++ b/patches/server/0746-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0749-Add-more-Campfire-API.patch b/patches/server/0747-Add-more-Campfire-API.patch index da279b0a50..da279b0a50 100644 --- a/patches/server/0749-Add-more-Campfire-API.patch +++ b/patches/server/0747-Add-more-Campfire-API.patch diff --git a/patches/server/0750-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0748-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch index 0246c3f0d5..0246c3f0d5 100644 --- a/patches/server/0750-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch +++ b/patches/server/0748-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/server/0751-Fix-tripwire-state-inconsistency.patch b/patches/server/0749-Fix-tripwire-state-inconsistency.patch index eba71d4136..eba71d4136 100644 --- a/patches/server/0751-Fix-tripwire-state-inconsistency.patch +++ b/patches/server/0749-Fix-tripwire-state-inconsistency.patch diff --git a/patches/server/0752-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0750-Forward-CraftEntity-in-teleport-command.patch index 2cbd423590..5ae23d9d77 100644 --- a/patches/server/0752-Forward-CraftEntity-in-teleport-command.patch +++ b/patches/server/0750-Forward-CraftEntity-in-teleport-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Forward CraftEntity in teleport command diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 53e1e4ffa51b5858417862e190f0bebd1e5d340c..ef5e979d09df13660ac7893be1209c2c2b8a136c 100644 +index 5296675dc1c197b67371e86da1c39dcc2e1d69e6..769b5e4af8d23c768ade210cb72f8857473a696c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3455,6 +3455,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0753-Improve-scoreboard-entries.patch b/patches/server/0751-Improve-scoreboard-entries.patch index 2a65cbf36c..561724f7cd 100644 --- a/patches/server/0753-Improve-scoreboard-entries.patch +++ b/patches/server/0751-Improve-scoreboard-entries.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve scoreboard entries diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java -index b7f0277b50a0f45c32b818bf9fe1218874aa8533..20b29f78fe56909e02061021b82a84cb7728d8a8 100644 +index de5f382656f9fd08f6ae1795c69743c604d62d5c..97cb29beea1d133f683d7cff7a26805b09f63096 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftObjective.java @@ -146,6 +146,14 @@ final class CraftObjective extends CraftScoreboardComponent implements Objective @@ -15,7 +15,7 @@ index b7f0277b50a0f45c32b818bf9fe1218874aa8533..20b29f78fe56909e02061021b82a84cb + // Paper start + @Override + public Score getScoreFor(org.bukkit.entity.Entity entity) throws IllegalArgumentException, IllegalStateException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + return getScore(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + // Paper end @@ -24,57 +24,57 @@ index b7f0277b50a0f45c32b818bf9fe1218874aa8533..20b29f78fe56909e02061021b82a84cb public void unregister() throws IllegalStateException { CraftScoreboard scoreboard = this.checkState(); diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -index a038ede38ebb507d6a0182a4a34f2b0722ef024e..fe57437155ff9471738d3b85e787350601b79584 100644 +index e233eef291f64622947b0b6c4559639e510c087f..13190c4265bb83e682dede7e982ebcd19d80e334 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftScoreboard.java -@@ -247,4 +247,23 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { +@@ -233,4 +233,23 @@ public final class CraftScoreboard implements org.bukkit.scoreboard.Scoreboard { public Scoreboard getHandle() { return this.board; } + // Paper start + @Override + public ImmutableSet<Score> getScoresFor(org.bukkit.entity.Entity entity) throws IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + return this.getScores(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + + @Override + public void resetScoresFor(org.bukkit.entity.Entity entity) throws IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + this.resetScores(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + + @Override + public Team getEntityTeam(org.bukkit.entity.Entity entity) throws IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + return this.getEntryTeam(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 60b1cffdccde4715832546d6edbf206fbab4e82f..4b64d6c5c987e127d1ed5edad0a78f7172370b9f 100644 +index 772206a43950db2726bd79911438e2aec2d7189c..47031a6f1b7e261bb034968f83c0c496b89d1361 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -@@ -310,6 +310,26 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { +@@ -309,6 +309,26 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { } } + // Paper start + @Override + public void addEntity(org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + this.addEntry(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + + @Override + public boolean removeEntity(org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + return this.removeEntry(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + + @Override + public boolean hasEntity(org.bukkit.entity.Entity entity) throws IllegalStateException, IllegalArgumentException { -+ Validate.notNull(entity, "Entity cannot be null"); ++ Preconditions.checkArgument(entity != null, "Entity cannot be null"); + return this.hasEntry(((org.bukkit.craftbukkit.entity.CraftEntity) entity).getHandle().getScoreboardName()); + } + // Paper end diff --git a/patches/server/0754-Entity-powdered-snow-API.patch b/patches/server/0752-Entity-powdered-snow-API.patch index a53af1711e..0df0028dcc 100644 --- a/patches/server/0754-Entity-powdered-snow-API.patch +++ b/patches/server/0752-Entity-powdered-snow-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Entity powdered snow API public net.minecraft.world.entity.monster.Skeleton inPowderSnowTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 18d7d1ca3f0f6517e781ad6977800b12ca1891ec..428795adbd9e08353196ab78730e6dc6984011e7 100644 +index 5fad5dbc0815ec3ee86a3fb34fe0c68bb4c33bcc..fbc18be64e71be2215059c34afd8129138dc4dff 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1377,5 +1377,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1370,5 +1370,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity.setRot(location.getYaw(), location.getPitch()); return !this.entity.valid && this.entity.level().addFreshEntity(this.entity, reason); } diff --git a/patches/server/0755-Add-API-for-item-entity-health.patch b/patches/server/0753-Add-API-for-item-entity-health.patch index 66df625d46..66df625d46 100644 --- a/patches/server/0755-Add-API-for-item-entity-health.patch +++ b/patches/server/0753-Add-API-for-item-entity-health.patch diff --git a/patches/server/0756-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0754-Fix-entity-type-tags-suggestions-in-selectors.patch index 913bb30928..913bb30928 100644 --- a/patches/server/0756-Fix-entity-type-tags-suggestions-in-selectors.patch +++ b/patches/server/0754-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/0757-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0755-Configurable-max-block-light-for-monster-spawning.patch index baf913d352..baf913d352 100644 --- a/patches/server/0757-Configurable-max-block-light-for-monster-spawning.patch +++ b/patches/server/0755-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/server/0758-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0756-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch index d4f3ab6d9f..d4f3ab6d9f 100644 --- a/patches/server/0758-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch +++ b/patches/server/0756-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch diff --git a/patches/server/0759-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0757-Load-effect-amplifiers-greater-than-127-correctly.patch index 2b10cf2e71..2b10cf2e71 100644 --- a/patches/server/0759-Load-effect-amplifiers-greater-than-127-correctly.patch +++ b/patches/server/0757-Load-effect-amplifiers-greater-than-127-correctly.patch diff --git a/patches/server/0760-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0758-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch index 9f3ee548ee..9f3ee548ee 100644 --- a/patches/server/0760-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch +++ b/patches/server/0758-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/server/0761-Fix-bees-aging-inside-hives.patch b/patches/server/0759-Fix-bees-aging-inside-hives.patch index 2be01a557c..2be01a557c 100644 --- a/patches/server/0761-Fix-bees-aging-inside-hives.patch +++ b/patches/server/0759-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0762-Bucketable-API.patch b/patches/server/0760-Bucketable-API.patch index 3dd4d8263f..3dd4d8263f 100644 --- a/patches/server/0762-Bucketable-API.patch +++ b/patches/server/0760-Bucketable-API.patch diff --git a/patches/server/0763-Validate-usernames.patch b/patches/server/0761-Validate-usernames.patch index d088b7ad1b..762960d87e 100644 --- a/patches/server/0763-Validate-usernames.patch +++ b/patches/server/0761-Validate-usernames.patch @@ -56,7 +56,7 @@ index ed3af916dfa875dd0a5f1e730d20d11efd6419c6..cd4e76fe5b79c7d9e615b4886a568c74 if (gameprofile != null && packet.name().equalsIgnoreCase(gameprofile.getName())) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 432c9e4e2b16b18f795e854f4cbe30b7e14a8947..42e7b41526f7cf31f33a58f18e851cd435472921 100644 +index 64e40e3caa85bff9382a483237301a8f231d1991..d25aa54689360e89b18535da54ce2c90ab21f819 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -673,7 +673,7 @@ public abstract class PlayerList { diff --git a/patches/server/0764-Make-water-animal-spawn-height-configurable.patch b/patches/server/0762-Make-water-animal-spawn-height-configurable.patch index 9e90672eb5..9e90672eb5 100644 --- a/patches/server/0764-Make-water-animal-spawn-height-configurable.patch +++ b/patches/server/0762-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/server/0765-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0763-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 2177d3dd25..e35c0bb71b 100644 --- a/patches/server/0765-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0763-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose vanilla BiomeProvider from WorldInfo diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e5612808261f5e94ed02afa2bd070db56496fa79..edb90f6630bc19c66579890f59cc1f296fd82a75 100644 +index ebd092a3f3c745b3a2f69fd72c04be7a2ab214a2..91a66fb66e9df5d5878315afa9d357a388e6e837 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -564,7 +564,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -562,7 +562,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(iworlddataserver)); LevelStem worlddimension = (LevelStem) dimensions.get(dimensionKey); @@ -18,10 +18,10 @@ index e5612808261f5e94ed02afa2bd070db56496fa79..edb90f6630bc19c66579890f59cc1f29 biomeProvider = gen.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3f5a8f259f8afb42760602c8bac18e92b8299092..357990dc0259f03a9deb8c8df613ab8949a239b9 100644 +index f23c83b281e8fa7310bd8d10f6972f68743e2ab4..012d9b8d053dea682cf1d857b5ce5d3585f331e8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1236,7 +1236,7 @@ public final class CraftServer implements Server { +@@ -1237,7 +1237,7 @@ public final class CraftServer implements Server { List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); LevelStem worlddimension = iregistry.get(actualDimension); @@ -31,10 +31,10 @@ index 3f5a8f259f8afb42760602c8bac18e92b8299092..357990dc0259f03a9deb8c8df613ab89 biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 84f55724f38cd7bbe1971e9fbd7bfbfe86cd4c00..70e149700237fb960741a1a32e72a8007909544d 100644 +index dbdae5af24f762c7c2678754eb688c0de9ca5215..05c085f6c2c304879f6c5a823755bfe6aee1a9b9 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -203,6 +203,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -202,6 +202,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { public int getPlayerCount() { return world.players().size(); } diff --git a/patches/server/0766-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0764-Add-config-option-for-worlds-affected-by-time-cmd.patch index 156eacada9..156eacada9 100644 --- a/patches/server/0766-Add-config-option-for-worlds-affected-by-time-cmd.patch +++ b/patches/server/0764-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/server/0767-Add-new-overload-to-PersistentDataContainer-has.patch b/patches/server/0765-Add-new-overload-to-PersistentDataContainer-has.patch index d19f7179e1..7bec9a60ef 100644 --- a/patches/server/0767-Add-new-overload-to-PersistentDataContainer-has.patch +++ b/patches/server/0765-Add-new-overload-to-PersistentDataContainer-has.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add new overload to PersistentDataContainer#has Adds the new overload: PersistentDataContainer#has(NamespacedKey key) diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -index 2c59f09a9261a1690951161fd856a5848d9885b7..f0588bec9be09cb8273c310fb3de8bfe72dee9e5 100644 +index a94389eebe51bb368f759b3f99f0b9ed08ae2bdd..64110e74c6f6f0433219a721b490970ee33c0b00 100644 --- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java @@ -161,5 +161,12 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { @@ -16,7 +16,7 @@ index 2c59f09a9261a1690951161fd856a5848d9885b7..f0588bec9be09cb8273c310fb3de8bfe + + @Override + public boolean has(NamespacedKey key) { -+ Validate.notNull(key, "The provided key for the custom value was null"); ++ Preconditions.checkArgument(key != null, "The provided key for the custom value was null"); + + return this.customDataTags.containsKey(key.toString()); + } diff --git a/patches/server/0768-Multiple-Entries-with-Scoreboards.patch b/patches/server/0766-Multiple-Entries-with-Scoreboards.patch index b644176ac9..66769fb534 100644 --- a/patches/server/0768-Multiple-Entries-with-Scoreboards.patch +++ b/patches/server/0766-Multiple-Entries-with-Scoreboards.patch @@ -70,7 +70,7 @@ index 610d312b9c8f6c8d1f102e8ba2fe9fc2cc3e98c5..3a4a0727ad44322e3ba85512cd077808 public void onObjectiveAdded(Objective objective) { super.onObjectiveAdded(objective); diff --git a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java -index 4b64d6c5c987e127d1ed5edad0a78f7172370b9f..67efb0d38ae369ff5254f7b1ec85d32d4eee8291 100644 +index 47031a6f1b7e261bb034968f83c0c496b89d1361..7098b77fe4275e39694ed7d8fb031b9397302b9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java +++ b/src/main/java/org/bukkit/craftbukkit/scoreboard/CraftTeam.java @@ -234,6 +234,21 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { @@ -85,7 +85,7 @@ index 4b64d6c5c987e127d1ed5edad0a78f7172370b9f..67efb0d38ae369ff5254f7b1ec85d32d + + @Override + public void addEntries(java.util.Collection<String> entries) throws IllegalStateException, IllegalArgumentException { -+ Validate.notNull(entries, "Entries cannot be null"); ++ Preconditions.checkArgument(entries != null, "Entries cannot be null"); + CraftScoreboard scoreboard = this.checkState(); + + ((net.minecraft.server.ServerScoreboard) scoreboard.board).addPlayersToTeam(entries, this.team); @@ -94,7 +94,7 @@ index 4b64d6c5c987e127d1ed5edad0a78f7172370b9f..67efb0d38ae369ff5254f7b1ec85d32d + @Override public boolean removePlayer(OfflinePlayer player) throws IllegalStateException, IllegalArgumentException { - Validate.notNull(player, "OfflinePlayer cannot be null"); + Preconditions.checkArgument(player != null, "OfflinePlayer cannot be null"); @@ -253,6 +268,28 @@ final class CraftTeam extends CraftScoreboardComponent implements Team { return true; } @@ -107,7 +107,7 @@ index 4b64d6c5c987e127d1ed5edad0a78f7172370b9f..67efb0d38ae369ff5254f7b1ec85d32d + + @Override + public boolean removeEntries(java.util.Collection<String> entries) throws IllegalStateException, IllegalArgumentException { -+ Validate.notNull(entries, "Entry cannot be null"); ++ Preconditions.checkArgument(entries != null, "Entry cannot be null"); + CraftScoreboard scoreboard = this.checkState(); + + for (String entry : entries) { @@ -123,4 +123,4 @@ index 4b64d6c5c987e127d1ed5edad0a78f7172370b9f..67efb0d38ae369ff5254f7b1ec85d32d + @Override public boolean hasPlayer(OfflinePlayer player) throws IllegalArgumentException, IllegalStateException { - Validate.notNull(player, "OfflinePlayer cannot be null"); + Preconditions.checkArgument(player != null, "OfflinePlayer cannot be null"); diff --git a/patches/server/0769-Reset-placed-block-on-exception.patch b/patches/server/0767-Reset-placed-block-on-exception.patch index 308089d693..308089d693 100644 --- a/patches/server/0769-Reset-placed-block-on-exception.patch +++ b/patches/server/0767-Reset-placed-block-on-exception.patch diff --git a/patches/server/0770-Add-configurable-height-for-slime-spawn.patch b/patches/server/0768-Add-configurable-height-for-slime-spawn.patch index 65b8d6d80d..65b8d6d80d 100644 --- a/patches/server/0770-Add-configurable-height-for-slime-spawn.patch +++ b/patches/server/0768-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/server/0771-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch b/patches/server/0769-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch index f2c95ba6c0..f2c95ba6c0 100644 --- a/patches/server/0771-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch +++ b/patches/server/0769-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch diff --git a/patches/server/0772-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0770-Fix-xp-reward-for-baby-zombies.patch index 399ad48f22..399ad48f22 100644 --- a/patches/server/0772-Fix-xp-reward-for-baby-zombies.patch +++ b/patches/server/0770-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/server/0773-Kick-on-main-for-illegal-chat.patch b/patches/server/0771-Kick-on-main-for-illegal-chat.patch index 382ae32781..345e23b0be 100644 --- a/patches/server/0773-Kick-on-main-for-illegal-chat.patch +++ b/patches/server/0771-Kick-on-main-for-illegal-chat.patch @@ -7,10 +7,10 @@ Makes the PlayerKickEvent fire on the main thread for illegal characters or chat out-of-order errors. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 74b0d2ddcea648d017e4acbe20536352102bad95..c47d838ad26e4a32de065d9adc2af35e1a915b0c 100644 +index 0203c778e2cfd421d4e9516a00535a5f20e61679..446ef101ca506ec9fdce6cede70a1e51d97d7dfc 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2162,7 +2162,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2165,7 +2165,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // CraftBukkit end if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.message())) { @@ -20,7 +20,7 @@ index 74b0d2ddcea648d017e4acbe20536352102bad95..c47d838ad26e4a32de065d9adc2af35e } else { Optional<LastSeenMessages> optional = this.tryHandleChat(packet.message(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2196,7 +2198,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2199,7 +2201,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleChatCommand(ServerboundChatCommandPacket packet) { if (ServerGamePacketListenerImpl.isChatMessageIllegal(packet.command())) { @@ -30,7 +30,7 @@ index 74b0d2ddcea648d017e4acbe20536352102bad95..c47d838ad26e4a32de065d9adc2af35e } else { Optional<LastSeenMessages> optional = this.tryHandleChat(packet.command(), packet.timeStamp(), packet.lastSeenMessages()); -@@ -2282,7 +2286,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2285,7 +2289,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional<LastSeenMessages> tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { ServerGamePacketListenerImpl.LOGGER.warn("{} sent out-of-order chat: '{}'", this.player.getName().getString(), message); diff --git a/patches/server/0774-Multi-Block-Change-API-Implementation.patch b/patches/server/0772-Multi-Block-Change-API-Implementation.patch index 528fd87162..9bdaf3072d 100644 --- a/patches/server/0774-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0772-Multi-Block-Change-API-Implementation.patch @@ -24,10 +24,10 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..e3f355c85eb7cc8c1683e3009502c10a public void write(FriendlyByteBuf buf) { buf.writeLong(this.sectionPos.asLong()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 59683479af9fa4058cab286caed2fa990c4bd293..6373c2df3acd6dcae321e9914bea7a6beaa51c5d 100644 +index df99f0c91cc3bc79ca7e5db27c2e4d215da30a55..c949a3581581aa34a678d942fe38e660ba389eef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -920,6 +920,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -878,6 +878,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0775-Fix-NotePlayEvent.patch b/patches/server/0773-Fix-NotePlayEvent.patch index 5104743fbe..5104743fbe 100644 --- a/patches/server/0775-Fix-NotePlayEvent.patch +++ b/patches/server/0773-Fix-NotePlayEvent.patch diff --git a/patches/server/0776-Freeze-Tick-Lock-API.patch b/patches/server/0774-Freeze-Tick-Lock-API.patch index 18ef99da47..0951dac980 100644 --- a/patches/server/0776-Freeze-Tick-Lock-API.patch +++ b/patches/server/0774-Freeze-Tick-Lock-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Freeze Tick Lock API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ef5e979d09df13660ac7893be1209c2c2b8a136c..dc676cdabfa306a3975e25f981078ead317196c1 100644 +index 769b5e4af8d23c768ade210cb72f8857473a696c..cad5f9feffd70ca1cdff9f36b16e73df405858bf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -402,6 +402,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -59,7 +59,7 @@ index 5287ff8b30a6d27ca05241695a6c99e868a5aa36..351c60a6f1dfc00aa1a300ed929e81df if (this.isInPowderSnow && this.canFreeze()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 428795adbd9e08353196ab78730e6dc6984011e7..8317d5100d16fb242e4ff9f7b965e1dbd147cede 100644 +index fbc18be64e71be2215059c34afd8129138dc4dff..cc72d960d9a5f9481ec2214b1549a344907a68da 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -663,6 +663,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0777-Dolphin-API.patch b/patches/server/0775-Dolphin-API.patch index 9fd01d6fb1..9fd01d6fb1 100644 --- a/patches/server/0777-Dolphin-API.patch +++ b/patches/server/0775-Dolphin-API.patch diff --git a/patches/server/0778-More-PotionEffectType-API.patch b/patches/server/0776-More-PotionEffectType-API.patch index 15d2f7a5ec..15d2f7a5ec 100644 --- a/patches/server/0778-More-PotionEffectType-API.patch +++ b/patches/server/0776-More-PotionEffectType-API.patch diff --git a/patches/server/0779-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0777-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch index 839a5f95d4..839a5f95d4 100644 --- a/patches/server/0779-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch +++ b/patches/server/0777-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/server/0780-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0778-API-for-creating-command-sender-which-forwards-feedb.patch index c2777a1918..379e607e9d 100644 --- a/patches/server/0780-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0778-API-for-creating-command-sender-which-forwards-feedb.patch @@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 357990dc0259f03a9deb8c8df613ab8949a239b9..5c64c95289b466026722a318e818da23da56086a 100644 +index 012d9b8d053dea682cf1d857b5ce5d3585f331e8..74b7824d104ad568e76dd3352bc509997b5c91fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2016,6 +2016,13 @@ public final class CraftServer implements Server { +@@ -2017,6 +2017,13 @@ public final class CraftServer implements Server { return console.console; } @@ -161,7 +161,7 @@ index eaff8df6c8c12c64e005a68a02e2e35ed88f757c..1c638a4b1f2c841928d8b2a7ae43e4eb if (this instanceof CraftBlockCommandSender) { if (ServerCommandSender.blockPermInst == null) { diff --git a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java -index 6df44aa60d2b41b95fe79ed4cf92a6d3369400ea..6035af2cf08353b3d3801220d8116d8611a0cd37 100644 +index bd45d59cbfe877717b90221fbb8d03d266958984..eb20ac9d0e70c48c2c671109b7706c56ff0f10f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java +++ b/src/main/java/org/bukkit/craftbukkit/command/VanillaCommandWrapper.java @@ -84,6 +84,11 @@ public final class VanillaCommandWrapper extends BukkitCommand { diff --git a/patches/server/0781-Add-missing-structure-set-seed-configs.patch b/patches/server/0779-Add-missing-structure-set-seed-configs.patch index 40285a58a1..40285a58a1 100644 --- a/patches/server/0781-Add-missing-structure-set-seed-configs.patch +++ b/patches/server/0779-Add-missing-structure-set-seed-configs.patch diff --git a/patches/server/0782-Implement-regenerateChunk.patch b/patches/server/0780-Implement-regenerateChunk.patch index 98e8a8ddd5..2101ebbee1 100644 --- a/patches/server/0782-Implement-regenerateChunk.patch +++ b/patches/server/0780-Implement-regenerateChunk.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Implement regenerateChunk Co-authored-by: Jason Penilla <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 70e149700237fb960741a1a32e72a8007909544d..2b0ed0b70b01e1efd315ec13492a53ec728a9fec 100644 +index 05c085f6c2c304879f6c5a823755bfe6aee1a9b9..e49c907f668b17cb85505b9199af3b90f2c5af74 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -142,6 +142,7 @@ import org.jetbrains.annotations.NotNull; +@@ -141,6 +141,7 @@ import org.jetbrains.annotations.NotNull; public class CraftWorld extends CraftRegionAccessor implements World { public static final int CUSTOM_DIMENSION_OFFSET = 10; private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); @@ -17,7 +17,7 @@ index 70e149700237fb960741a1a32e72a8007909544d..2b0ed0b70b01e1efd315ec13492a53ec private final ServerLevel world; private WorldBorder worldBorder; -@@ -427,27 +428,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -426,27 +427,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot diff --git a/patches/server/0783-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0781-Fix-cancelled-powdered-snow-bucket-placement.patch index cd73c1c14d..cd73c1c14d 100644 --- a/patches/server/0783-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0781-Fix-cancelled-powdered-snow-bucket-placement.patch diff --git a/patches/server/0784-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0782-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index b3024ef399..e39fc3e9bd 100644 --- a/patches/server/0784-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0782-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -6,15 +6,15 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit Copies appropriate checks from CraftWorld#getSpawnLimit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5c64c95289b466026722a318e818da23da56086a..2ef63197ab4bbad14e90139528879f8caef45372 100644 +index 74b7824d104ad568e76dd3352bc509997b5c91fd..f2f81ee6e938ef3d148f16729c0daf2fde8e1b26 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2190,6 +2190,8 @@ public final class CraftServer implements Server { +@@ -2194,6 +2194,8 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { // Paper start -+ Validate.notNull(spawnCategory, "SpawnCategory cannot be null"); -+ Validate.isTrue(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory." + spawnCategory + " does not have a spawn limit."); ++ Preconditions.checkArgument(spawnCategory != null, "SpawnCategory cannot be null"); ++ Preconditions.checkArgument(CraftSpawnCategory.isValidForLimits(spawnCategory), "SpawnCategory." + spawnCategory + " does not have a spawn limit."); return this.getSpawnLimitUnsafe(spawnCategory); } public int getSpawnLimitUnsafe(final SpawnCategory spawnCategory) { diff --git a/patches/server/0785-Add-GameEvent-tags.patch b/patches/server/0783-Add-GameEvent-tags.patch index 091acd03cf..b33e7a1eba 100644 --- a/patches/server/0785-Add-GameEvent-tags.patch +++ b/patches/server/0783-Add-GameEvent-tags.patch @@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2ef63197ab4bbad14e90139528879f8caef45372..9d319df303599ba44773526902d3314430031689 100644 +index f2f81ee6e938ef3d148f16729c0daf2fde8e1b26..68a929979e61f418f5833ba7886c86d959d3a89f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2598,6 +2598,15 @@ public final class CraftServer implements Server { +@@ -2615,6 +2615,15 @@ public final class CraftServer implements Server { return (org.bukkit.Tag<T>) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey); } } @@ -65,7 +65,7 @@ index 2ef63197ab4bbad14e90139528879f8caef45372..9d319df303599ba44773526902d33144 default -> throw new IllegalArgumentException(); } -@@ -2630,6 +2639,13 @@ public final class CraftServer implements Server { +@@ -2647,6 +2656,13 @@ public final class CraftServer implements Server { net.minecraft.core.Registry<EntityType<?>> entityTags = BuiltInRegistries.ENTITY_TYPE; return entityTags.getTags().map(pair -> (org.bukkit.Tag<T>) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList()); } diff --git a/patches/server/0786-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0784-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch index 9ef9dbd884..45ac694a2b 100644 --- a/patches/server/0786-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch +++ b/patches/server/0784-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch @@ -9,10 +9,10 @@ This might result in chunks loading far slower in the nether, for example. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index edb90f6630bc19c66579890f59cc1f296fd82a75..fe363bb2aff031c0efb812fa7e12d585984e2b29 100644 +index 91a66fb66e9df5d5878315afa9d357a388e6e837..934e948bb112bcfc69e656ac4c6a97f0a72d7b74 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1308,6 +1308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1306,6 +1306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.executeMidTickTasks(); // Paper - execute chunk tasks mid tick return true; } else { @@ -20,7 +20,7 @@ index edb90f6630bc19c66579890f59cc1f296fd82a75..fe363bb2aff031c0efb812fa7e12d585 if (this.haveTime()) { Iterator iterator = this.getAllLevels().iterator(); -@@ -1315,12 +1316,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1313,12 +1314,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa ServerLevel worldserver = (ServerLevel) iterator.next(); if (worldserver.getChunkSource().pollTask()) { diff --git a/patches/server/0787-Furnace-RecipesUsed-API.patch b/patches/server/0785-Furnace-RecipesUsed-API.patch index 2e6cf1c2fe..2e6cf1c2fe 100644 --- a/patches/server/0787-Furnace-RecipesUsed-API.patch +++ b/patches/server/0785-Furnace-RecipesUsed-API.patch diff --git a/patches/server/0788-Configurable-sculk-sensor-listener-range.patch b/patches/server/0786-Configurable-sculk-sensor-listener-range.patch index c68e2d2cc3..c68e2d2cc3 100644 --- a/patches/server/0788-Configurable-sculk-sensor-listener-range.patch +++ b/patches/server/0786-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/server/0789-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0787-Add-missing-block-data-mins-and-maxes.patch index 2096473939..2096473939 100644 --- a/patches/server/0789-Add-missing-block-data-mins-and-maxes.patch +++ b/patches/server/0787-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/server/0790-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0788-Option-to-have-default-CustomSpawners-in-custom-worl.patch index 8f273c8446..964a6c913e 100644 --- a/patches/server/0790-Option-to-have-default-CustomSpawners-in-custom-worl.patch +++ b/patches/server/0788-Option-to-have-default-CustomSpawners-in-custom-worl.patch @@ -10,10 +10,10 @@ just looking at the LevelStem key, look at the DimensionType key which is one level below that. Defaults to off to keep vanilla behavior. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fe363bb2aff031c0efb812fa7e12d585984e2b29..9c020fafb8a121c9307bac354500b720a3548a80 100644 +index 934e948bb112bcfc69e656ac4c6a97f0a72d7b74..a9240274b903f23a5d0b2414b3bc7a984845b6cd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -591,7 +591,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -589,7 +589,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.commandStorage = new CommandStorage(worldpersistentdata); } else { ChunkProgressListener worldloadlistener = this.progressListenerFactory.create(11); diff --git a/patches/server/0791-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0789-Put-world-into-worldlist-before-initing-the-world.patch index 233433f1d0..5dd414a8a8 100644 --- a/patches/server/0791-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0789-Put-world-into-worldlist-before-initing-the-world.patch @@ -7,10 +7,10 @@ Some parts of legacy conversion will need the overworld to get the legacy structure data storage diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 9c020fafb8a121c9307bac354500b720a3548a80..a168a277cb173d6755042f7d0ab9e32961f33dfa 100644 +index a9240274b903f23a5d0b2414b3bc7a984845b6cd..9b720d3407802eac986c2044892d5b70455aedfb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -603,9 +603,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -601,9 +601,10 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa } worlddata.setModdedInfo(this.getServerModName(), this.getModdedStatus().shouldReportAsModified()); @@ -23,10 +23,10 @@ index 9c020fafb8a121c9307bac354500b720a3548a80..a168a277cb173d6755042f7d0ab9e329 if (worlddata.getCustomBossEvents() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9d319df303599ba44773526902d3314430031689..f105033854dede9e7fa3f3d7af5dab95295d320f 100644 +index 68a929979e61f418f5833ba7886c86d959d3a89f..bee2e61da10e97433c0a77496de421db85200055 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1265,10 +1265,11 @@ public final class CraftServer implements Server { +@@ -1266,10 +1266,11 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0792-Fix-Entity-Position-Desync.patch b/patches/server/0790-Fix-Entity-Position-Desync.patch index 3ccd5470c9..3ccd5470c9 100644 --- a/patches/server/0792-Fix-Entity-Position-Desync.patch +++ b/patches/server/0790-Fix-Entity-Position-Desync.patch diff --git a/patches/server/0793-Custom-Potion-Mixes.patch b/patches/server/0791-Custom-Potion-Mixes.patch index e6d0292935..be42b2c77e 100644 --- a/patches/server/0793-Custom-Potion-Mixes.patch +++ b/patches/server/0791-Custom-Potion-Mixes.patch @@ -24,10 +24,10 @@ index 0000000000000000000000000000000000000000..6b0bed550763f34e18c9e92f9a47ec0c + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a168a277cb173d6755042f7d0ab9e32961f33dfa..180a476ebdf0932a84ac87f7b687b4339013e6ee 100644 +index 9b720d3407802eac986c2044892d5b70455aedfb..910523399b1fae64808b292cfb45bed56719fcb3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2060,6 +2060,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -2058,6 +2058,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.worldData.setDataConfiguration(worlddataconfiguration); this.resources.managers.updateRegistryTags(this.registryAccess()); @@ -164,10 +164,10 @@ index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..c57efcb9a79337ec791e4e8f6671612f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f105033854dede9e7fa3f3d7af5dab95295d320f..6b39340b835156f43e5a9db32302adacb3257739 100644 +index bee2e61da10e97433c0a77496de421db85200055..7e7539b7f50007f10d7926bb13beea2538403b1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -301,6 +301,7 @@ public final class CraftServer implements Server { +@@ -300,6 +300,7 @@ public final class CraftServer implements Server { private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper @@ -175,7 +175,7 @@ index f105033854dede9e7fa3f3d7af5dab95295d320f..6b39340b835156f43e5a9db32302adac static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); -@@ -328,7 +329,7 @@ public final class CraftServer implements Server { +@@ -327,7 +328,7 @@ public final class CraftServer implements Server { Enchantments.SHARPNESS.getClass(); org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations(); @@ -184,7 +184,7 @@ index f105033854dede9e7fa3f3d7af5dab95295d320f..6b39340b835156f43e5a9db32302adac MobEffects.BLINDNESS.getClass(); PotionEffectType.stopAcceptingRegistrations(); // Ugly hack :( -@@ -2957,5 +2958,10 @@ public final class CraftServer implements Server { +@@ -2974,5 +2975,10 @@ public final class CraftServer implements Server { return datapackManager; } @@ -196,10 +196,10 @@ index f105033854dede9e7fa3f3d7af5dab95295d320f..6b39340b835156f43e5a9db32302adac // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -index 4d17fa834c0bb602fa104e660a8e7fbe5a02f0a4..8563fcf77eef0e1e354857b9a4256d78a523a8d0 100644 +index 28fac26aa8e4da52f3e5d8e5e0d2e2731bcf74e1..13d25d118eb4d3ef35a4cdfb9bbde9ed83f6c04b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftRecipe.java -@@ -15,6 +15,11 @@ public interface CraftRecipe extends Recipe { +@@ -16,6 +16,11 @@ public interface CraftRecipe extends Recipe { void addToCraftingManager(); default Ingredient toNMS(RecipeChoice bukkit, boolean requireNotEmpty) { diff --git a/patches/server/0794-Force-close-world-loading-screen.patch b/patches/server/0792-Force-close-world-loading-screen.patch index 548601c851..d4a01751c2 100644 --- a/patches/server/0794-Force-close-world-loading-screen.patch +++ b/patches/server/0792-Force-close-world-loading-screen.patch @@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to be loaded to close the loading screen, so we just send an empty one. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 42e7b41526f7cf31f33a58f18e851cd435472921..ae4fe6eba052496fb3a95f1272c26605c2b1af48 100644 +index d25aa54689360e89b18535da54ce2c90ab21f819..b56a7067faafb687ff5d529b1d4a40c1e15b2ea2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -396,6 +396,16 @@ public abstract class PlayerList { diff --git a/patches/server/0795-Fix-falling-block-spawn-methods.patch b/patches/server/0793-Fix-falling-block-spawn-methods.patch index 9d47ce782e..daa0d01521 100644 --- a/patches/server/0795-Fix-falling-block-spawn-methods.patch +++ b/patches/server/0793-Fix-falling-block-spawn-methods.patch @@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server public net.minecraft.world.entity.item.FallingBlockEntity <init>(Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index c738fb984ffd120e5adccdb5828833f180e72e80..5c8e905bbf56dd2af5b30d34371793c3f98801ab 100644 +index 7318209de454b233e22c20b176cb207de7f86674..414b4fd46307aa9c9d0f96bc571a68642f33afdb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -599,7 +599,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -598,7 +598,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { // Paper end } else if (FallingBlock.class.isAssignableFrom(clazz)) { BlockPos pos = BlockPos.containing(x, y, z); @@ -24,12 +24,12 @@ index c738fb984ffd120e5adccdb5828833f180e72e80..5c8e905bbf56dd2af5b30d34371793c3 if (Snowball.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2b0ed0b70b01e1efd315ec13492a53ec728a9fec..3ccba43d0eaa4ad867a555a92dd41f5924fc8b44 100644 +index e49c907f668b17cb85505b9199af3b90f2c5af74..1e26fea83065c7e76b196e6599892c11d4370617 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1391,7 +1391,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { - Validate.notNull(material, "Material cannot be null"); - Validate.isTrue(material.isBlock(), "Material must be a block"); +@@ -1397,7 +1397,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { + Preconditions.checkArgument(material != null, "Material cannot be null"); + Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material); - FallingBlockEntity entity = FallingBlockEntity.fall(world, BlockPos.containing(location.getX(), location.getY(), location.getZ()), CraftMagicNumbers.getBlock(material).defaultBlockState(), SpawnReason.CUSTOM); + // Paper start - restore API behavior for spawning falling blocks @@ -41,9 +41,9 @@ index 2b0ed0b70b01e1efd315ec13492a53ec728a9fec..3ccba43d0eaa4ad867a555a92dd41f59 return (FallingBlock) entity.getBukkitEntity(); } -@@ -1400,7 +1405,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { - Validate.notNull(location, "Location cannot be null"); - Validate.notNull(data, "BlockData cannot be null"); +@@ -1406,7 +1411,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { + Preconditions.checkArgument(location != null, "Location cannot be null"); + Preconditions.checkArgument(data != null, "BlockData cannot be null"); - FallingBlockEntity entity = FallingBlockEntity.fall(world, BlockPos.containing(location.getX(), location.getY(), location.getZ()), ((CraftBlockData) data).getState(), SpawnReason.CUSTOM); + // Paper start - restore API behavior for spawning falling blocks diff --git a/patches/server/0796-Expose-furnace-minecart-push-values.patch b/patches/server/0794-Expose-furnace-minecart-push-values.patch index 4086d94249..4086d94249 100644 --- a/patches/server/0796-Expose-furnace-minecart-push-values.patch +++ b/patches/server/0794-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0797-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0795-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch index 2d848b1041..2d848b1041 100644 --- a/patches/server/0797-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch +++ b/patches/server/0795-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0798-More-Projectile-API.patch b/patches/server/0796-More-Projectile-API.patch index b6b34f5775..bc39b7ad22 100644 --- a/patches/server/0798-More-Projectile-API.patch +++ b/patches/server/0796-More-Projectile-API.patch @@ -116,10 +116,10 @@ index 40e5b19bc8fa3de3b3d54da0762aee5bd7bb8d7b..b3814bd6c6d6aae090fe417696535ed1 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -index 15abd085eeb0a31a925c1a8d6de903c9d4625a29..d53e1dc949359e9157e92c75d8655a1619bba568 100644 +index d443b171191d150eed62d000a1079ede6bcf9052..10e2d251ec398245786a0b3bd41f3bc7155a49fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -@@ -61,20 +61,7 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { +@@ -59,20 +59,7 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { this.getHandle().setCritArrow(critical); } @@ -141,7 +141,7 @@ index 15abd085eeb0a31a925c1a8d6de903c9d4625a29..d53e1dc949359e9157e92c75d8655a16 @Override public boolean isInBlock() { -@@ -108,6 +95,27 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { +@@ -106,6 +93,27 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { return org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(getHandle().getPickupItem()); } @@ -170,7 +170,7 @@ index 15abd085eeb0a31a925c1a8d6de903c9d4625a29..d53e1dc949359e9157e92c75d8655a16 public void setNoPhysics(boolean noPhysics) { this.getHandle().setNoPhysics(noPhysics); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java -index 2358e0c8a4a135d6deb47100c490a9c145f44827..2dd2149e8af5cb47027ab24159b48e1d67b45f19 100644 +index 44353e074fb4655e38ffffe83cbf52080e5cbbdb..1fdf52edc47591bf3d8bbcb9db9d41773aace42f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFireball.java @@ -33,20 +33,7 @@ public class CraftFireball extends AbstractProjectile implements Fireball { @@ -303,10 +303,10 @@ index c242f654c88ca1773429348939d3bb2ffae3768c..d1c7ab67cba881d96b7a5e9220130d86 + // Paper end - Expose firework item directly + manually setting flight } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -index 424e53d904e722548a9897fdc6138693679b2a5d..4d12c33b9a360129ffaefb551010b354bba0c69f 100644 +index d38fca354695ef940421fe7325f2ef3a7b57a6f4..ce934b945b85a4c3d0f575eb090bbf90c4b3ca9f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -@@ -203,4 +203,15 @@ public class CraftFishHook extends CraftProjectile implements FishHook { +@@ -202,4 +202,15 @@ public class CraftFishHook extends CraftProjectile implements FishHook { public HookState getState() { return HookState.values()[this.getHandle().currentState.ordinal()]; } @@ -435,15 +435,15 @@ index 20b54f8896be1f8744a29e1d0205e58d27049f1f..43f52716c82863382cb0eb08cc0e174a public String toString() { return "CraftShulkerBullet"; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java -index 0db8aa840ea026d48215ac5dc80ffde5f12725b1..397e0df15a0e64e5bc522f62f3b327a5039ec4c8 100644 +index 02ee302f93f971fbd97f7fd88f257a1a613a81ba..2b8a4ad4bca3044f1af274cdff90e6d66b6c7da7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java -@@ -39,11 +39,31 @@ public class CraftThrownPotion extends CraftThrowableProjectile implements Throw - Validate.notNull(item, "ItemStack cannot be null."); - - // The ItemStack must be a potion. -- Validate.isTrue(item.getType() == Material.LINGERING_POTION || item.getType() == Material.SPLASH_POTION, "ItemStack must be a lingering or splash potion. This item stack was " + item.getType() + "."); -+ //Validate.isTrue(item.getType() == Material.LINGERING_POTION || item.getType() == Material.SPLASH_POTION, "ItemStack must be a lingering or splash potion. This item stack was " + item.getType() + "."); // Paper - Projectile API +@@ -36,11 +36,31 @@ public class CraftThrownPotion extends CraftThrowableProjectile implements Throw + @Override + public void setItem(ItemStack item) { + Preconditions.checkArgument(item != null, "ItemStack cannot be null"); +- Preconditions.checkArgument(item.getType() == Material.LINGERING_POTION || item.getType() == Material.SPLASH_POTION, "ItemStack material must be Material.LINGERING_POTION or Material.SPLASH_POTION but was Material.%s", item.getType()); ++ // Preconditions.checkArgument(item.getType() == Material.LINGERING_POTION || item.getType() == Material.SPLASH_POTION, "ItemStack material must be Material.LINGERING_POTION or Material.SPLASH_POTION but was Material.%s", item.getType()); // Paper - Projectile API + org.bukkit.inventory.meta.PotionMeta meta = (item.getType() == Material.LINGERING_POTION || item.getType() == Material.SPLASH_POTION) ? null : this.getPotionMeta(); // Paper - Projectile API this.getHandle().setItem(CraftItemStack.asNMSCopy(item)); @@ -492,10 +492,10 @@ index 832981b07ef5c633ef00a382f56798ee87eec0df..faf071201b7c1414225a33fe9641eac9 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 5388a07fd8b5c8a4ea604996fb41e526e0d7c16c..8683bb08c2d9a7514ee6b16690b61240fb807d15 100644 +index 6775b432e17b09aaa21af5713fa0ffdf7fdbf8a9..d6b9897dcb4715decd4dd0b1b96995e25d789482 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -278,12 +278,20 @@ public final class CraftItemStack extends ItemStack { +@@ -279,12 +279,20 @@ public final class CraftItemStack extends ItemStack { public ItemMeta getItemMeta() { return CraftItemStack.getItemMeta(this.handle); } diff --git a/patches/server/0799-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0797-Fix-swamp-hut-cat-generation-deadlock.patch index 018b928494..018b928494 100644 --- a/patches/server/0799-Fix-swamp-hut-cat-generation-deadlock.patch +++ b/patches/server/0797-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/server/0800-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0798-Don-t-allow-vehicle-movement-from-players-while-tele.patch index 635ca8d74b..aa96a3253f 100644 --- a/patches/server/0800-Don-t-allow-vehicle-movement-from-players-while-tele.patch +++ b/patches/server/0798-Don-t-allow-vehicle-movement-from-players-while-tele.patch @@ -7,7 +7,7 @@ Bring the vehicle move packet behavior in line with the regular player move packet. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c47d838ad26e4a32de065d9adc2af35e1a915b0c..32f14d93a27f340551a157445250ccbc8a133157 100644 +index 446ef101ca506ec9fdce6cede70a1e51d97d7dfc..3b6edec55939c4fddf28b59282652493b42a2b8d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -576,6 +576,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic diff --git a/patches/server/0801-Implement-getComputedBiome-API.patch b/patches/server/0799-Implement-getComputedBiome-API.patch index 9ef37127d4..7eec45ff95 100644 --- a/patches/server/0801-Implement-getComputedBiome-API.patch +++ b/patches/server/0799-Implement-getComputedBiome-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement getComputedBiome API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5c8e905bbf56dd2af5b30d34371793c3f98801ab..5bab5c75a2ce945b43434d2240c9d1124a20aee2 100644 +index 414b4fd46307aa9c9d0f96bc571a68642f33afdb..61bc6a68fe1b0101f70b065710d941b36f8766a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java @@ -220,6 +220,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor { @@ -23,10 +23,10 @@ index 5c8e905bbf56dd2af5b30d34371793c3f98801ab..5bab5c75a2ce945b43434d2240c9d112 public void setBiome(Location location, Biome biome) { this.setBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ(), biome); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 8131c1db3d7963121a24348575ea8a98a80a974c..84d1351c423965acf79c1413d00eff9eaa3927a2 100644 +index 8d2da07f0793367a51026b50adc8b3dc71073013..61c1f722b99363597613c506cb2fb437e358eb1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -345,6 +345,13 @@ public class CraftBlock implements Block { +@@ -344,6 +344,13 @@ public class CraftBlock implements Block { return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ()); } @@ -41,10 +41,10 @@ index 8131c1db3d7963121a24348575ea8a98a80a974c..84d1351c423965acf79c1413d00eff9e public void setBiome(Biome bio) { this.getWorld().setBiome(this.getX(), this.getY(), this.getZ(), bio); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index 0ea1586bab74983fca19dcc5415fbc7a044fe186..e3d6f0847bb3b524452f4dc073c07a5d9448bb9f 100644 +index 23ffe4b8a19286543e12bf7408879e6d1305a78f..935bca901f0618d77f3bf6c057bcbc606c742fac 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -@@ -167,6 +167,14 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe +@@ -165,6 +165,14 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe return super.getBiome(x, y, z); } diff --git a/patches/server/0802-Make-some-itemstacks-nonnull.patch b/patches/server/0800-Make-some-itemstacks-nonnull.patch index e2cba95fe4..153d145fd3 100644 --- a/patches/server/0802-Make-some-itemstacks-nonnull.patch +++ b/patches/server/0800-Make-some-itemstacks-nonnull.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make some itemstacks nonnull diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java -index d6a228473ca6f425757683a4b17b035a53ab117f..8801d3f7ff6d2ff810f3e34a821dfb659c03f844 100644 +index f89a1b1c1902b16f6640c9a95f5b72351b60ceda..0c80dea986b0b63b2182c4ca0d23d6534f753cb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java -@@ -156,13 +156,13 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i +@@ -155,13 +155,13 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i case OFF_HAND: return this.getItemInOffHand(); case FEET: diff --git a/patches/server/0803-Implement-enchantWithLevels-API.patch b/patches/server/0801-Implement-enchantWithLevels-API.patch index f4b2f43353..ffa67d357d 100644 --- a/patches/server/0803-Implement-enchantWithLevels-API.patch +++ b/patches/server/0801-Implement-enchantWithLevels-API.patch @@ -5,20 +5,20 @@ Subject: [PATCH] Implement enchantWithLevels API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index b32c06b1f03751c164da7049976c473dff20e4ef..b88a29623c280fcf2e3dd6d16646c23ca809efe1 100644 +index 583cd4726a1b60e8f11bf8a28cc3c655fa8c1b90..849e93a8a0645de4c3e6ab8047815d78a722d4f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -444,6 +444,21 @@ public final class CraftItemFactory implements ItemFactory { +@@ -439,6 +439,21 @@ public final class CraftItemFactory implements ItemFactory { } // Paper start + @Override + public ItemStack enchantWithLevels(ItemStack itemStack, int levels, boolean allowTreasure, java.util.Random random) { -+ Validate.notNull(itemStack, "Argument 'itemStack' must not be null"); -+ Validate.isTrue(itemStack.getType() != Material.AIR, "Argument 'itemStack' must not be of type AIR"); -+ Validate.isTrue(itemStack.getAmount() > 0, "Argument 'itemStack' amount must be greater than 0"); -+ Validate.isTrue(levels > 0 && levels <= 30, "Argument 'levels' must be in range [1, 30] (attempted " + levels + ")"); -+ Validate.notNull(random, "Argument 'random' must not be null"); ++ Preconditions.checkArgument(itemStack != null, "Argument 'itemStack' must not be null"); ++ Preconditions.checkArgument(itemStack.getType() != Material.AIR, "Argument 'itemStack' must not be of type AIR"); ++ Preconditions.checkArgument(itemStack.getAmount() > 0, "Argument 'itemStack' amount must be greater than 0"); ++ Preconditions.checkArgument(levels > 0 && levels <= 30, "Argument 'levels' must be in range [1, 30] (attempted " + levels + ")"); ++ Preconditions.checkArgument(random != null, "Argument 'random' must not be null"); + final net.minecraft.world.item.ItemStack internalStack = CraftItemStack.asNMSCopy(itemStack); + if (internalStack.getTag() != null) { + internalStack.getTag().remove(net.minecraft.world.item.ItemStack.TAG_ENCH); diff --git a/patches/server/0804-Fix-saving-in-unloadWorld.patch b/patches/server/0802-Fix-saving-in-unloadWorld.patch index 6dc981ae74..50f6a5db96 100644 --- a/patches/server/0804-Fix-saving-in-unloadWorld.patch +++ b/patches/server/0802-Fix-saving-in-unloadWorld.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6b39340b835156f43e5a9db32302adacb3257739..2faee338276501f22815b9961e1f9109f3adc9b8 100644 +index 7e7539b7f50007f10d7926bb13beea2538403b1f..86e11118d21849cb5613bcf0e18ec85467b6ab3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1313,7 +1313,7 @@ public final class CraftServer implements Server { +@@ -1314,7 +1314,7 @@ public final class CraftServer implements Server { try { if (save) { diff --git a/patches/server/0805-Buffer-OOB-setBlock-calls.patch b/patches/server/0803-Buffer-OOB-setBlock-calls.patch index 4e1905eb3b..4e1905eb3b 100644 --- a/patches/server/0805-Buffer-OOB-setBlock-calls.patch +++ b/patches/server/0803-Buffer-OOB-setBlock-calls.patch diff --git a/patches/server/0806-Add-TameableDeathMessageEvent.patch b/patches/server/0804-Add-TameableDeathMessageEvent.patch index b08801fd3d..b08801fd3d 100644 --- a/patches/server/0806-Add-TameableDeathMessageEvent.patch +++ b/patches/server/0804-Add-TameableDeathMessageEvent.patch diff --git a/patches/server/0807-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0805-Fix-new-block-data-for-EntityChangeBlockEvent.patch index 0ee11ae770..0ee11ae770 100644 --- a/patches/server/0807-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0805-Fix-new-block-data-for-EntityChangeBlockEvent.patch diff --git a/patches/server/0808-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0806-fix-player-loottables-running-when-mob-loot-gamerule.patch index 34a373a439..9c03da00a3 100644 --- a/patches/server/0808-fix-player-loottables-running-when-mob-loot-gamerule.patch +++ b/patches/server/0806-fix-player-loottables-running-when-mob-loot-gamerule.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix player loottables running when mob loot gamerule is false diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 68e7342a72509fb41734ee23638ffb562007ae90..4285510cbe281044376927d94a4e20439bfcf8ec 100644 +index ea3dfa9cd06e4a44ee819ed4a203779e4c10bbd9..c0db84c559c3ab5b202b234915e070b540a828fe 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -916,12 +916,14 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0809-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0807-Ensure-entity-passenger-world-matches-ridden-entity.patch index f27bc852e9..f3bbed2174 100644 --- a/patches/server/0809-Ensure-entity-passenger-world-matches-ridden-entity.patch +++ b/patches/server/0807-Ensure-entity-passenger-world-matches-ridden-entity.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity Bad plugins doing this would cause some obvious problems... diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index dc676cdabfa306a3975e25f981078ead317196c1..a016fbe3d0ca0481d07eefc8fbd155aaf303ca05 100644 +index cad5f9feffd70ca1cdff9f36b16e73df405858bf..ad5b4f317f5914fafa5d4905903c4c534ece6996 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2844,6 +2844,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0810-Guard-against-invalid-entity-positions.patch b/patches/server/0808-Guard-against-invalid-entity-positions.patch index 4ee5d3edbb..8db61fe05f 100644 --- a/patches/server/0810-Guard-against-invalid-entity-positions.patch +++ b/patches/server/0808-Guard-against-invalid-entity-positions.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Guard against invalid entity positions Anything not finite should be blocked and logged diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a016fbe3d0ca0481d07eefc8fbd155aaf303ca05..bdf5418b4b500a9156fe6cf399f2e052ada409db 100644 +index ad5b4f317f5914fafa5d4905903c4c534ece6996..58a22c5ca035ba55d2c05f53839416582532b24a 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4460,11 +4460,33 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0811-cache-resource-keys.patch b/patches/server/0809-cache-resource-keys.patch index 18bd2f0eaf..c56e3412af 100644 --- a/patches/server/0811-cache-resource-keys.patch +++ b/patches/server/0809-cache-resource-keys.patch @@ -5,10 +5,10 @@ Subject: [PATCH] cache resource keys diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 84d1351c423965acf79c1413d00eff9eaa3927a2..e0c2ad107847227987080491e94b264930fc80e2 100644 +index 61c1f722b99363597613c506cb2fb437e358eb1b..c04397cc60154ef55027c90be990b9dfb818fd2f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -370,12 +370,13 @@ public class CraftBlock implements Block { +@@ -369,12 +369,13 @@ public class CraftBlock implements Block { return (biome == null) ? Biome.CUSTOM : biome; } diff --git a/patches/server/0812-Allow-to-change-the-podium-for-the-EnderDragon.patch b/patches/server/0810-Allow-to-change-the-podium-for-the-EnderDragon.patch index 5ed62ee0e3..5ed62ee0e3 100644 --- a/patches/server/0812-Allow-to-change-the-podium-for-the-EnderDragon.patch +++ b/patches/server/0810-Allow-to-change-the-podium-for-the-EnderDragon.patch diff --git a/patches/server/0813-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0811-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch index 5fb11187b2..5fb11187b2 100644 --- a/patches/server/0813-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch +++ b/patches/server/0811-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0814-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0812-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch index fbb9b72b07..fbb9b72b07 100644 --- a/patches/server/0814-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch +++ b/patches/server/0812-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch diff --git a/patches/server/0815-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0813-Prevent-tile-entity-copies-loading-chunks.patch index 61903d329d..6f5b29b2a0 100644 --- a/patches/server/0815-Prevent-tile-entity-copies-loading-chunks.patch +++ b/patches/server/0813-Prevent-tile-entity-copies-loading-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent tile entity copies loading chunks diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 32f14d93a27f340551a157445250ccbc8a133157..7e7cf1951b3a9bb1233f7a05dff685718881c1a2 100644 +index 3b6edec55939c4fddf28b59282652493b42a2b8d..2333252a3c46affb76c09731968117fdd46a9b1b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3308,7 +3308,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3311,7 +3311,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic BlockPos blockposition = BlockEntity.getPosFromTag(nbttagcompound); if (this.player.level().isLoaded(blockposition)) { diff --git a/patches/server/0816-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0814-Use-username-instead-of-display-name-in-PlayerList-g.patch index e16514b7c7..0b34f9da4c 100644 --- a/patches/server/0816-Use-username-instead-of-display-name-in-PlayerList-g.patch +++ b/patches/server/0814-Use-username-instead-of-display-name-in-PlayerList-g.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ae4fe6eba052496fb3a95f1272c26605c2b1af48..57e63c91051c5885103ba55466dacdb449cd5316 100644 +index b56a7067faafb687ff5d529b1d4a40c1e15b2ea2..815eb218b6612b13c6deff636509bad35eeace62 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1430,7 +1430,7 @@ public abstract class PlayerList { diff --git a/patches/server/0817-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch b/patches/server/0815-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch index e809e65ba8..e809e65ba8 100644 --- a/patches/server/0817-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch +++ b/patches/server/0815-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch diff --git a/patches/server/0818-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0816-Pass-ServerLevel-for-gamerule-callbacks.patch index aca427ff3a..79635fc588 100644 --- a/patches/server/0818-Pass-ServerLevel-for-gamerule-callbacks.patch +++ b/patches/server/0816-Pass-ServerLevel-for-gamerule-callbacks.patch @@ -18,10 +18,10 @@ index 9a45921cbb1e7a39e6ef46cc93c14766ee8229ad..8115cf64a30b6438721769df6045e1b7 if (dedicatedserverproperties.enableQuery) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7e7cf1951b3a9bb1233f7a05dff685718881c1a2..0b0a839fafca6b1889adde84af9a66071df191ce 100644 +index 2333252a3c46affb76c09731968117fdd46a9b1b..65b94c6e2d85637342ebfb5478189536759d8338 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2898,7 +2898,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2901,7 +2901,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player = this.server.getPlayerList().respawn(this.player, false, RespawnReason.DEATH); if (this.server.isHardcore()) { this.player.setGameMode(GameType.SPECTATOR, org.bukkit.event.player.PlayerGameModeChangeEvent.Cause.HARDCORE_DEATH, null); // Paper @@ -158,10 +158,10 @@ index de713f1ca1d61a6b1fca2b66de9162556d102449..edd2c9d0cf5a81c779011cb4215d496a this.onChanged(server); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3ccba43d0eaa4ad867a555a92dd41f5924fc8b44..467505468574168c63bd81024bdc60f97b660782 100644 +index 1e26fea83065c7e76b196e6599892c11d4370617..5deed29e78ba599c4732b9bac57f0661e4871882 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1944,7 +1944,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1950,7 +1950,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule)); handle.deserialize(event.getValue()); // Paper @@ -170,7 +170,7 @@ index 3ccba43d0eaa4ad867a555a92dd41f5924fc8b44..467505468574168c63bd81024bdc60f9 return true; } -@@ -1984,7 +1984,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1991,7 +1991,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value<?> handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName())); handle.deserialize(event.getValue()); // Paper diff --git a/patches/server/0819-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch b/patches/server/0817-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch index 46b984988b..46b984988b 100644 --- a/patches/server/0819-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch +++ b/patches/server/0817-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch diff --git a/patches/server/0820-WorldCreator-keepSpawnLoaded.patch b/patches/server/0818-WorldCreator-keepSpawnLoaded.patch index 4d12867285..d1c0f4c8e8 100644 --- a/patches/server/0820-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0818-WorldCreator-keepSpawnLoaded.patch @@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2faee338276501f22815b9961e1f9109f3adc9b8..22b19bd06495d3771736f9d05c949807c12f87a2 100644 +index 86e11118d21849cb5613bcf0e18ec85467b6ab3a..738ba9f21169511eeabb5204c49049f77c2bc9da 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1272,6 +1272,7 @@ public final class CraftServer implements Server { +@@ -1273,6 +1273,7 @@ public final class CraftServer implements Server { internal.setSpawnSettings(true, true); // Paper - move up diff --git a/patches/server/0821-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0819-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch index 91934e5589..91934e5589 100644 --- a/patches/server/0821-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch +++ b/patches/server/0819-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0822-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0820-Add-EntityDyeEvent-and-CollarColorable-interface.patch index 83deaddd5f..83deaddd5f 100644 --- a/patches/server/0822-Add-EntityDyeEvent-and-CollarColorable-interface.patch +++ b/patches/server/0820-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0823-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0821-Fire-CauldronLevelChange-on-initial-fill.patch index bcc871d7bc..bcc871d7bc 100644 --- a/patches/server/0823-Fire-CauldronLevelChange-on-initial-fill.patch +++ b/patches/server/0821-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0824-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0822-fix-powder-snow-cauldrons-not-turning-to-water.patch index fec28b7e17..fec28b7e17 100644 --- a/patches/server/0824-fix-powder-snow-cauldrons-not-turning-to-water.patch +++ b/patches/server/0822-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0825-Add-PlayerStopUsingItemEvent.patch b/patches/server/0823-Add-PlayerStopUsingItemEvent.patch index 78a9eb0f99..78a9eb0f99 100644 --- a/patches/server/0825-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0823-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/server/0826-FallingBlock-auto-expire-setting.patch b/patches/server/0824-FallingBlock-auto-expire-setting.patch index ed07517265..ed07517265 100644 --- a/patches/server/0826-FallingBlock-auto-expire-setting.patch +++ b/patches/server/0824-FallingBlock-auto-expire-setting.patch diff --git a/patches/server/0827-Don-t-tick-markers.patch b/patches/server/0825-Don-t-tick-markers.patch index 0e75fac529..9980fc455d 100644 --- a/patches/server/0827-Don-t-tick-markers.patch +++ b/patches/server/0825-Don-t-tick-markers.patch @@ -35,7 +35,7 @@ index b00c1df57789996fef58b2c649588c13df149abd..67e096207b08d2ba13ebc1b92ac94ed2 } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index d0092fa0595bcf3876dec4ef58516089ac99bb26..d4da9ec6e00bb92b70598ee9a0d0ca5816562378 100644 +index 50ddcd7ee9c3ffe7549361f942df01b8ef078932..eda7f0bb42f7269676d5d2193e1155912ede9920 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -212,7 +212,8 @@ public class ActivationRange diff --git a/patches/server/0828-Do-not-accept-invalid-client-settings.patch b/patches/server/0826-Do-not-accept-invalid-client-settings.patch index a9c4ffb6dc..8b6617459b 100644 --- a/patches/server/0828-Do-not-accept-invalid-client-settings.patch +++ b/patches/server/0826-Do-not-accept-invalid-client-settings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not accept invalid client settings diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0b0a839fafca6b1889adde84af9a66071df191ce..3382303303626a2a71ba7e70a1ced615a619d408 100644 +index 65b94c6e2d85637342ebfb5478189536759d8338..042dea0c808d21c97f3a26027625474c6440a372 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3450,6 +3450,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3453,6 +3453,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); diff --git a/patches/server/0829-Add-support-for-Proxy-Protocol.patch b/patches/server/0827-Add-support-for-Proxy-Protocol.patch index c117b9d366..c117b9d366 100644 --- a/patches/server/0829-Add-support-for-Proxy-Protocol.patch +++ b/patches/server/0827-Add-support-for-Proxy-Protocol.patch diff --git a/patches/server/0830-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0828-Fix-OfflinePlayer-getBedSpawnLocation.patch index f74dc698da..f74dc698da 100644 --- a/patches/server/0830-Fix-OfflinePlayer-getBedSpawnLocation.patch +++ b/patches/server/0828-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0831-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0829-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch index 59fabed7e4..59fabed7e4 100644 --- a/patches/server/0831-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch +++ b/patches/server/0829-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0832-Sanitize-Sent-BlockEntity-NBT.patch b/patches/server/0830-Sanitize-Sent-BlockEntity-NBT.patch index 52fcd344ad..52fcd344ad 100644 --- a/patches/server/0832-Sanitize-Sent-BlockEntity-NBT.patch +++ b/patches/server/0830-Sanitize-Sent-BlockEntity-NBT.patch diff --git a/patches/server/0833-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0831-Disable-component-selector-resolving-in-books-by-def.patch index 72862c20c5..72862c20c5 100644 --- a/patches/server/0833-Disable-component-selector-resolving-in-books-by-def.patch +++ b/patches/server/0831-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0834-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0832-Prevent-entity-loading-causing-async-lookups.patch index 06d9dea85e..e2214f6079 100644 --- a/patches/server/0834-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0832-Prevent-entity-loading-causing-async-lookups.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bdf5418b4b500a9156fe6cf399f2e052ada409db..b4f694174c6b1c8017122cfa6116f52f5ff924e3 100644 +index 58a22c5ca035ba55d2c05f53839416582532b24a..86677e14f218188660330601c872905545501e25 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -796,6 +796,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0835-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0833-Throw-exception-on-world-create-while-being-ticked.patch index 12272ad6f2..d292db0d7f 100644 --- a/patches/server/0835-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0833-Throw-exception-on-world-create-while-being-ticked.patch @@ -7,10 +7,10 @@ There are no plans to support creating worlds while worlds are being ticked themselvess. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 180a476ebdf0932a84ac87f7b687b4339013e6ee..d25c532745ff543503ca681096fe764f853b34a8 100644 +index 910523399b1fae64808b292cfb45bed56719fcb3..66bb92ca535b559d3bca89b9bc841f8f842b7e07 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -312,6 +312,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -310,6 +310,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa public volatile Thread shutdownThread; // Paper public volatile boolean abnormalExit = false; // Paper @@ -18,7 +18,7 @@ index 180a476ebdf0932a84ac87f7b687b4339013e6ee..d25c532745ff543503ca681096fe764f public static <S extends MinecraftServer> S spin(Function<Thread, S> serverFactory) { AtomicReference<S> atomicreference = new AtomicReference(); -@@ -1485,7 +1486,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1483,7 +1484,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.getFunctions().tick(); MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper this.profiler.popPush("levels"); @@ -27,7 +27,7 @@ index 180a476ebdf0932a84ac87f7b687b4339013e6ee..d25c532745ff543503ca681096fe764f // CraftBukkit start // Run tasks that are waiting on processing -@@ -1517,6 +1518,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1515,6 +1516,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa // Paper end MinecraftTimings.timeUpdateTimer.stopTiming(); // Spigot // Paper @@ -36,7 +36,7 @@ index 180a476ebdf0932a84ac87f7b687b4339013e6ee..d25c532745ff543503ca681096fe764f while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper -@@ -1563,6 +1566,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1561,6 +1564,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa this.profiler.pop(); worldserver.explosionDensityCache.clear(); // Paper - Optimize explosions } @@ -45,7 +45,7 @@ index 180a476ebdf0932a84ac87f7b687b4339013e6ee..d25c532745ff543503ca681096fe764f this.profiler.popPush("connection"); MinecraftTimings.connectionTimer.startTiming(); // Spigot diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 22b19bd06495d3771736f9d05c949807c12f87a2..a640587213b3c68b46363b1fdd06af37391efa2c 100644 +index 738ba9f21169511eeabb5204c49049f77c2bc9da..fdceec1390113fd009801f42608c1dfc747e47bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -868,6 +868,11 @@ public final class CraftServer implements Server { @@ -65,10 +65,10 @@ index 22b19bd06495d3771736f9d05c949807c12f87a2..a640587213b3c68b46363b1fdd06af37 public World createWorld(WorldCreator creator) { Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP"); + //Preconditions.checkState(!this.console.isIteratingOverLevels, "Cannot create a world while worlds are being ticked"); // Paper - Cat - Temp disable. We'll see how this goes. - Validate.notNull(creator, "Creator may not be null"); + Preconditions.checkArgument(creator != null, "WorldCreator cannot be null"); String name = creator.name(); -@@ -1287,6 +1293,7 @@ public final class CraftServer implements Server { +@@ -1288,6 +1294,7 @@ public final class CraftServer implements Server { @Override public boolean unloadWorld(World world, boolean save) { diff --git a/patches/server/0836-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0834-Add-Alternate-Current-redstone-implementation.patch index 2638138390..2638138390 100644 --- a/patches/server/0836-Add-Alternate-Current-redstone-implementation.patch +++ b/patches/server/0834-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/server/0837-Dont-resent-entity-on-art-update.patch b/patches/server/0835-Dont-resent-entity-on-art-update.patch index ff4ac47ad6..ff4ac47ad6 100644 --- a/patches/server/0837-Dont-resent-entity-on-art-update.patch +++ b/patches/server/0835-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0838-Add-WardenAngerChangeEvent.patch b/patches/server/0836-Add-WardenAngerChangeEvent.patch index 2e66f62a0c..2e66f62a0c 100644 --- a/patches/server/0838-Add-WardenAngerChangeEvent.patch +++ b/patches/server/0836-Add-WardenAngerChangeEvent.patch diff --git a/patches/server/0839-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0837-Add-option-for-strict-advancement-dimension-checks.patch index c95ba56d09..17c86550c3 100644 --- a/patches/server/0839-Add-option-for-strict-advancement-dimension-checks.patch +++ b/patches/server/0837-Add-option-for-strict-advancement-dimension-checks.patch @@ -11,7 +11,7 @@ distance trigger. This adds a config option to ignore that and use the exact dimension key of the worlds involved. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4285510cbe281044376927d94a4e20439bfcf8ec..bde2f86029bced34358517ef65515c6cddbc02eb 100644 +index c0db84c559c3ab5b202b234915e070b540a828fe..48cd206a41fe238af4c53b7f2a664fb16da366a5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1315,6 +1315,12 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0840-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0838-Add-missing-important-BlockStateListPopulator-method.patch index cdb1bc89a3..cdb1bc89a3 100644 --- a/patches/server/0840-Add-missing-important-BlockStateListPopulator-method.patch +++ b/patches/server/0838-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/server/0841-Nameable-Banner-API.patch b/patches/server/0839-Nameable-Banner-API.patch index 78f176be32..78f176be32 100644 --- a/patches/server/0841-Nameable-Banner-API.patch +++ b/patches/server/0839-Nameable-Banner-API.patch diff --git a/patches/server/0842-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0840-Don-t-broadcast-messages-to-command-blocks.patch index e0724ba67d..0ed5794063 100644 --- a/patches/server/0842-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0840-Don-t-broadcast-messages-to-command-blocks.patch @@ -20,10 +20,10 @@ index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc Date date = new Date(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a640587213b3c68b46363b1fdd06af37391efa2c..b6e676be787d477c2fe78a0c84a02ae0050f257f 100644 +index fdceec1390113fd009801f42608c1dfc747e47bf..70e77e0e165140e761193d9255cfe3bfcb710979 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1789,7 +1789,7 @@ public final class CraftServer implements Server { +@@ -1790,7 +1790,7 @@ public final class CraftServer implements Server { // Paper end Set<CommandSender> recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/server/0843-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0841-Prevent-empty-items-from-being-added-to-world.patch index af7950c0cb..af7950c0cb 100644 --- a/patches/server/0843-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0841-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/server/0844-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0842-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch index ad894dbcce..73b5c96f27 100644 --- a/patches/server/0844-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch +++ b/patches/server/0842-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch @@ -7,7 +7,7 @@ Remove in 1.19 along with the SplashPotion and LingeringPotion interfaces diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java -index 397e0df15a0e64e5bc522f62f3b327a5039ec4c8..a926f4dc51821a05c28872dc90ad000fe8cb51f7 100644 +index 2b8a4ad4bca3044f1af274cdff90e6d66b6c7da7..5c3bc680c4e4e6dc4b2d9edc666d6a8d95c2e7b7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftThrownPotion.java @@ -14,7 +14,7 @@ import org.bukkit.entity.ThrownPotion; diff --git a/patches/server/0845-Don-t-print-component-in-resource-pack-rejection-mes.patch b/patches/server/0843-Don-t-print-component-in-resource-pack-rejection-mes.patch index 1dadb31a04..14f42c194f 100644 --- a/patches/server/0845-Don-t-print-component-in-resource-pack-rejection-mes.patch +++ b/patches/server/0843-Don-t-print-component-in-resource-pack-rejection-mes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't print component in resource pack rejection message diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3382303303626a2a71ba7e70a1ced615a619d408..615d27a99cb999c1d5f64ff9f768c406b81940b3 100644 +index 042dea0c808d21c97f3a26027625474c6440a372..9823e0b5b1129d22ad449acf77794c6c9975381e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2032,7 +2032,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2035,7 +2035,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); if (packet.getAction() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { diff --git a/patches/server/0846-Add-Player-getFishHook.patch b/patches/server/0844-Add-Player-getFishHook.patch index b3c5a59462..1f16e905b9 100644 --- a/patches/server/0846-Add-Player-getFishHook.patch +++ b/patches/server/0844-Add-Player-getFishHook.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Player#getFishHook diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 589f06cc8941d5f75ffd8bbeb083b1c48f82576f..07c9a644dc24e881efcf2c6519f88db43e2d5779 100644 +index 329e0586ec4ea44b6a8f4b72a69041aa7cd01ced..35f79f34b86dbf6d592842883f53f83e07f95f93 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -161,6 +161,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0847-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0845-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch index 3956916b04..3956916b04 100644 --- a/patches/server/0847-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch +++ b/patches/server/0845-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0848-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0846-Add-various-missing-EntityDropItemEvent-calls.patch index 29d67eb1c5..d723f0211a 100644 --- a/patches/server/0848-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0846-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b4f694174c6b1c8017122cfa6116f52f5ff924e3..2d576dd1e484641115ce73c22faad27f9e7bcc54 100644 +index 86677e14f218188660330601c872905545501e25..018afaedd306df9088f1d1b9b99655cd5ad92a91 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2677,6 +2677,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0849-Add-some-minimal-debug-information-to-chat-packet-er.patch b/patches/server/0847-Add-some-minimal-debug-information-to-chat-packet-er.patch index 0b9dd64884..92447d0b2e 100644 --- a/patches/server/0849-Add-some-minimal-debug-information-to-chat-packet-er.patch +++ b/patches/server/0847-Add-some-minimal-debug-information-to-chat-packet-er.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add some minimal debug information to chat packet errors TODO: potentially add some kick leeway diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 615d27a99cb999c1d5f64ff9f768c406b81940b3..022512b42811e53a057c58bb599f4ebc1aa5fe5d 100644 +index 9823e0b5b1129d22ad449acf77794c6c9975381e..472c86d4f54d54cd5bb84d886194b3ddf7485a6e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2290,7 +2290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2293,7 +2293,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private Optional<LastSeenMessages> tryHandleChat(String message, Instant timestamp, LastSeenMessages.Update acknowledgment) { if (!this.updateChatOrder(timestamp)) { diff --git a/patches/server/0850-Fix-Bee-flower-NPE.patch b/patches/server/0848-Fix-Bee-flower-NPE.patch index 8e5627e598..8e5627e598 100644 --- a/patches/server/0850-Fix-Bee-flower-NPE.patch +++ b/patches/server/0848-Fix-Bee-flower-NPE.patch diff --git a/patches/server/0851-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0849-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch index 2ecccc51ce..011e5b929f 100644 --- a/patches/server/0851-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch +++ b/patches/server/0849-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Spigot Config not using commands.spam-exclusions diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 022512b42811e53a057c58bb599f4ebc1aa5fe5d..83ed0a00afdf91cf2cbdb629f6c17b6ed97f2f98 100644 +index 472c86d4f54d54cd5bb84d886194b3ddf7485a6e..a8465cf4b21d376b37e88a3f9fd8b6e4360ee775 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2537,7 +2537,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2540,7 +2540,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Spigot end // this.chatSpamTickCount += 20; diff --git a/patches/server/0852-More-Teleport-API.patch b/patches/server/0850-More-Teleport-API.patch index 7a284a682c..22f17c94c0 100644 --- a/patches/server/0852-More-Teleport-API.patch +++ b/patches/server/0850-More-Teleport-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] More Teleport API public net.minecraft.server.network.ServerGamePacketListenerImpl internalTeleport(DDDFFLjava/util/Set;Z)V diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 83ed0a00afdf91cf2cbdb629f6c17b6ed97f2f98..5ad9ffbb8344c345dd23f8362b1c24b6e3214763 100644 +index a8465cf4b21d376b37e88a3f9fd8b6e4360ee775..94c1c276998b76744122f98c18f65a4e8cbccf4d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1708,11 +1708,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1711,11 +1711,17 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return false; // CraftBukkit - Return event status } @@ -31,7 +31,7 @@ index 83ed0a00afdf91cf2cbdb629f6c17b6ed97f2f98..5ad9ffbb8344c345dd23f8362b1c24b6 d0 = to.getX(); d1 = to.getY(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 8317d5100d16fb242e4ff9f7b965e1dbd147cede..14b97388b89978b1c0997beeebd7c85102c84a2f 100644 +index cc72d960d9a5f9481ec2214b1549a344907a68da..94b41e9e3abe9cfbe09af67b03bc841fc009b75c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -561,15 +561,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -74,10 +74,10 @@ index 8317d5100d16fb242e4ff9f7b965e1dbd147cede..14b97388b89978b1c0997beeebd7c851 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6373c2df3acd6dcae321e9914bea7a6beaa51c5d..752d701d6e947e9ed446c8679ce6d8d12a2dc82c 100644 +index c949a3581581aa34a678d942fe38e660ba389eef..607c5797ee9d4c62ff5fbf1613d2ac08ec57d067 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1233,13 +1233,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1187,13 +1187,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setRotation(float yaw, float pitch) { @@ -180,7 +180,7 @@ index 6373c2df3acd6dcae321e9914bea7a6beaa51c5d..752d701d6e947e9ed446c8679ce6d8d1 location.checkFinite(); ServerPlayer entity = this.getHandle(); -@@ -1252,7 +1340,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1206,7 +1294,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return false; } @@ -189,7 +189,7 @@ index 6373c2df3acd6dcae321e9914bea7a6beaa51c5d..752d701d6e947e9ed446c8679ce6d8d1 return false; } -@@ -1270,7 +1358,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1224,7 +1312,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // If this player is riding another entity, we must dismount before teleporting. @@ -198,7 +198,7 @@ index 6373c2df3acd6dcae321e9914bea7a6beaa51c5d..752d701d6e947e9ed446c8679ce6d8d1 // SPIGOT-5509: Wakeup, similar to riding if (this.isSleeping()) { -@@ -1286,13 +1374,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1240,13 +1328,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ServerLevel toWorld = ((CraftWorld) to.getWorld()).getHandle(); // Close any foreign inventory diff --git a/patches/server/0853-Add-EntityPortalReadyEvent.patch b/patches/server/0851-Add-EntityPortalReadyEvent.patch index 8e0b2d6643..c775c2df51 100644 --- a/patches/server/0853-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0851-Add-EntityPortalReadyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityPortalReadyEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2d576dd1e484641115ce73c22faad27f9e7bcc54..b5751d0cfae442b1030b771e4a3afc42e566d76d 100644 +index 018afaedd306df9088f1d1b9b99655cd5ad92a91..3d95a435a9f6e28c43f275781db909bf9e71397b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3033,6 +3033,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0854-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0852-Don-t-use-level-random-in-entity-constructors.patch index c3f35be4a5..c3f35be4a5 100644 --- a/patches/server/0854-Don-t-use-level-random-in-entity-constructors.patch +++ b/patches/server/0852-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/server/0855-Send-block-entities-after-destroy-prediction.patch b/patches/server/0853-Send-block-entities-after-destroy-prediction.patch index 20e86fee03..10bf2d17e5 100644 --- a/patches/server/0855-Send-block-entities-after-destroy-prediction.patch +++ b/patches/server/0853-Send-block-entities-after-destroy-prediction.patch @@ -57,10 +57,10 @@ index a88d9c733a647d4b3ad9e079b289f2979d092b07..257fa5207b889f882b77885d375564a8 } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5ad9ffbb8344c345dd23f8362b1c24b6e3214763..528b3365ae8536d621c7f8d0c20b754b4179dee7 100644 +index 94c1c276998b76744122f98c18f65a4e8cbccf4d..35ef7487060f81fb106a6a882006edf03023fd01 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1854,8 +1854,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1857,8 +1857,28 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic return; } // Paper end - Don't allow digging in unloaded chunks diff --git a/patches/server/0856-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0854-Warn-on-plugins-accessing-faraway-chunks.patch index fdbf36a54d..90275821d3 100644 --- a/patches/server/0856-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0854-Warn-on-plugins-accessing-faraway-chunks.patch @@ -18,10 +18,10 @@ index 8107c8e4a994523c75252f7762e362ab6eb13e43..b3f4469c137d221bf5f43565800df59c private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fdf527f095 100644 +index 5deed29e78ba599c4732b9bac57f0661e4871882..1a481fb4f4228f0fea8a7dc6132248c98b727c90 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -311,9 +311,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -310,9 +310,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean setSpawnLocation(int x, int y, int z) { return this.setSpawnLocation(x, y, z, 0.0F); } @@ -46,7 +46,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); if (chunk == null) { -@@ -428,6 +443,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -427,6 +442,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot @@ -54,7 +54,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd // Paper start - implement regenerateChunk method final ServerLevel serverLevel = this.world; final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource(); -@@ -523,6 +539,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -522,6 +538,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot @@ -62,7 +62,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper -@@ -586,6 +603,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -585,6 +602,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean addPluginChunkTicket(int x, int z, Plugin plugin) { @@ -70,7 +70,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd Preconditions.checkArgument(plugin != null, "null plugin"); Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled"); -@@ -654,6 +672,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -653,6 +671,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setChunkForceLoaded(int x, int z, boolean forced) { @@ -78,7 +78,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd this.getHandle().setChunkForced(x, z, forced); } -@@ -960,6 +979,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -965,6 +984,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -86,7 +86,7 @@ index 467505468574168c63bd81024bdc60f97b660782..89514af7f3771db496e7e2a40fa4e7fd // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); } -@@ -2369,6 +2389,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2376,6 +2396,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot end // Paper start public java.util.concurrent.CompletableFuture<Chunk> getChunkAtAsync(int x, int z, boolean gen, boolean urgent) { diff --git a/patches/server/0857-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0855-Custom-Chat-Completion-Suggestions-API.patch index ce000ef24f..ec2faa8426 100644 --- a/patches/server/0857-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0855-Custom-Chat-Completion-Suggestions-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 752d701d6e947e9ed446c8679ce6d8d12a2dc82c..27b8dffd5ba6bae22a8a12544d65a00f43394765 100644 +index 607c5797ee9d4c62ff5fbf1613d2ac08ec57d067..b52159c9adf1f502cb357e920da3128ab3592861 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -642,6 +642,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -639,6 +639,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().getServer().getPlayerList().sendPlayerPermissionLevel(this.getHandle(), level, false); } diff --git a/patches/server/0858-Add-missing-BlockFadeEvents.patch b/patches/server/0856-Add-missing-BlockFadeEvents.patch index e939b49a21..e939b49a21 100644 --- a/patches/server/0858-Add-missing-BlockFadeEvents.patch +++ b/patches/server/0856-Add-missing-BlockFadeEvents.patch diff --git a/patches/server/0859-Collision-API.patch b/patches/server/0857-Collision-API.patch index 38fea82179..19339f84ba 100644 --- a/patches/server/0859-Collision-API.patch +++ b/patches/server/0857-Collision-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5bab5c75a2ce945b43434d2240c9d1124a20aee2..94f21c6acaee5a632b6adb4e77488bb2e385fbea 100644 +index 61bc6a68fe1b0101f70b065710d941b36f8766a8..086cbbfb492413bf1ae901c46f8e8ebbadd68b21 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -1019,5 +1019,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1015,5 +1015,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { return this.getHandle().clip(new net.minecraft.world.level.ClipContext(vec3d, vec3d1, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, null)).getType() == net.minecraft.world.phys.HitResult.Type.MISS; } @@ -22,10 +22,10 @@ index 5bab5c75a2ce945b43434d2240c9d1124a20aee2..94f21c6acaee5a632b6adb4e77488bb2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 14b97388b89978b1c0997beeebd7c85102c84a2f..e05c3c15d15c242e07caa9033cc49d515dfcdb41 100644 +index 94b41e9e3abe9cfbe09af67b03bc841fc009b75c..f7c879cf10f89eaeb41a0f40787bd2c98d8d3f31 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1415,4 +1415,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1408,4 +1408,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } // Paper end diff --git a/patches/server/0860-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0858-Fix-suggest-command-message-for-brigadier-syntax-exc.patch index aa73cbbddf..aa73cbbddf 100644 --- a/patches/server/0860-Fix-suggest-command-message-for-brigadier-syntax-exc.patch +++ b/patches/server/0858-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/server/0861-Remove-invalid-signature-login-stacktrace.patch b/patches/server/0859-Remove-invalid-signature-login-stacktrace.patch index 8ef46fe393..53aeb3bcef 100644 --- a/patches/server/0861-Remove-invalid-signature-login-stacktrace.patch +++ b/patches/server/0859-Remove-invalid-signature-login-stacktrace.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Remove invalid signature login stacktrace diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 528b3365ae8536d621c7f8d0c20b754b4179dee7..b46c46fcde19aff16321876bf50b6725233bb09a 100644 +index 35ef7487060f81fb106a6a882006edf03023fd01..14488a4cdc3fc8edf3abb3d57ffdcc4880f987ee 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3585,7 +3585,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3588,7 +3588,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.resetPlayerChatState(remotechatsession_a.validate(this.player.getGameProfile(), signaturevalidator, Duration.ZERO)); } catch (ProfilePublicKey.ValidationException profilepublickey_b) { diff --git a/patches/server/0862-Block-Ticking-API.patch b/patches/server/0860-Block-Ticking-API.patch index a6c8ba9019..be02ac2613 100644 --- a/patches/server/0862-Block-Ticking-API.patch +++ b/patches/server/0860-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e0c2ad107847227987080491e94b264930fc80e2..01b401f7d691ef451266bbc3a94980d613b96f21 100644 +index c04397cc60154ef55027c90be990b9dfb818fd2f..5401ab9f8f6ce12e1c5368dbc3acc78a250b3822 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -758,5 +758,21 @@ public class CraftBlock implements Block { +@@ -756,5 +756,21 @@ public class CraftBlock implements Block { public boolean isValidTool(ItemStack itemStack) { return getDrops(itemStack).size() != 0; } diff --git a/patches/server/0863-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0861-Add-Velocity-IP-Forwarding-Support.patch index c1abeeeac8..091bb3c90f 100644 --- a/patches/server/0863-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0861-Add-Velocity-IP-Forwarding-Support.patch @@ -213,7 +213,7 @@ index 3fcd7bfdb8945b276c94a263e9da6b85ce470366..3431b1132e55c53cda7cf47f021f2306 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b6e676be787d477c2fe78a0c84a02ae0050f257f..ffa27c9c02dc4d12411fc089de3af8e8e12ba06e 100644 +index 70e77e0e165140e761193d9255cfe3bfcb710979..9f8c5ceb8485b14a84f2a7b2ffc8192be5c6bdfd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -797,7 +797,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0864-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch b/patches/server/0862-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch index 2e38ad24c3..2e38ad24c3 100644 --- a/patches/server/0864-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch +++ b/patches/server/0862-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch diff --git a/patches/server/0865-Add-NamespacedKey-biome-methods.patch b/patches/server/0863-Add-NamespacedKey-biome-methods.patch index 4f53bd9282..c342bdded1 100644 --- a/patches/server/0865-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0863-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <[email protected]> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a6564c7d69999c55abc4292cab9182390a52e749..b059bb46b649cbf82debdb8d58fe4ba77d040276 100644 +index 8f185a0b1a9037c1458b3ce41347e2c733e4d4de..8092db9de43ca4824374e1a76c85f71929521f6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -611,6 +611,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -609,6 +609,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/server/0866-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0864-Fix-plugin-loggers-on-server-shutdown.patch index 2e7f0573af..af3d178c6b 100644 --- a/patches/server/0866-Fix-plugin-loggers-on-server-shutdown.patch +++ b/patches/server/0864-Fix-plugin-loggers-on-server-shutdown.patch @@ -37,10 +37,10 @@ index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dc + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d25c532745ff543503ca681096fe764f853b34a8..aa0dcb02aaec2caa016397e7f5cc859a22ca4b6d 100644 +index 66bb92ca535b559d3bca89b9bc841f8f842b7e07..c5f3dc74888919e82e2ffbb8d648b7640aa6b690 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1000,6 +1000,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -998,6 +998,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Use TerminalConsoleAppender } catch (Exception e) { } diff --git a/patches/server/0867-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0865-Stop-large-look-changes-from-crashing-the-server.patch index 1a4fc80ccb..1a4fc80ccb 100644 --- a/patches/server/0867-Stop-large-look-changes-from-crashing-the-server.patch +++ b/patches/server/0865-Stop-large-look-changes-from-crashing-the-server.patch diff --git a/patches/server/0868-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0866-Fire-EntityChangeBlockEvent-in-more-places.patch index c7fbbaaa64..c7fbbaaa64 100644 --- a/patches/server/0868-Fire-EntityChangeBlockEvent-in-more-places.patch +++ b/patches/server/0866-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/server/0869-Missing-eating-regain-reason.patch b/patches/server/0867-Missing-eating-regain-reason.patch index b5a99bc0ef..b5a99bc0ef 100644 --- a/patches/server/0869-Missing-eating-regain-reason.patch +++ b/patches/server/0867-Missing-eating-regain-reason.patch diff --git a/patches/server/0870-Missing-effect-cause.patch b/patches/server/0868-Missing-effect-cause.patch index 2b4bcfc188..2b4bcfc188 100644 --- a/patches/server/0870-Missing-effect-cause.patch +++ b/patches/server/0868-Missing-effect-cause.patch diff --git a/patches/server/0871-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0869-Added-byte-array-serialization-deserialization-for-P.patch index 3553cbd00c..28ffa3283e 100644 --- a/patches/server/0871-Added-byte-array-serialization-deserialization-for-P.patch +++ b/patches/server/0869-Added-byte-array-serialization-deserialization-for-P.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Added byte array serialization/deserialization for diff --git a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java -index f0588bec9be09cb8273c310fb3de8bfe72dee9e5..20c7144307ecf1eb5c600f3b84df7bc15fa941d6 100644 +index 64110e74c6f6f0433219a721b490970ee33c0b00..65013fd2ca24c4bf1cfd67e314927e72542d3e68 100644 --- a/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/persistence/CraftPersistentDataContainer.java @@ -168,5 +168,26 @@ public class CraftPersistentDataContainer implements PersistentDataContainer { diff --git a/patches/server/0872-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0870-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch index 4a40322b2d..4aa37793dd 100644 --- a/patches/server/0872-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch +++ b/patches/server/0870-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 8b6cae9a005a6db608be85805382704ff5dc6669..d15a252285e10ce062319b0f1051f59ba46701a0 100644 +index 4590764ec62938e2b601f9f8339d5c4ea183e5e2..4cf07ff38df050defceb69335e402ca52972a05f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -500,8 +500,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -496,8 +496,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } @Override @@ -25,7 +25,7 @@ index 8b6cae9a005a6db608be85805382704ff5dc6669..d15a252285e10ce062319b0f1051f59b Preconditions.checkState(!this.getHandle().generation, "Cannot launch projectile during world generation"); net.minecraft.world.level.Level world = ((CraftWorld) getWorld()).getHandle(); -@@ -584,6 +591,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -580,6 +587,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { if (velocity != null) { ((T) launch.getBukkitEntity()).setVelocity(velocity); } @@ -38,7 +38,7 @@ index 8b6cae9a005a6db608be85805382704ff5dc6669..d15a252285e10ce062319b0f1051f59b world.addFreshEntity(launch); return (T) launch.getBukkitEntity(); diff --git a/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java b/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java -index 388647c2ef814270942f4e6c6eb57a3abaf84212..2afb7af0a90959edd3b0ead2fe4d9018b5560aa4 100644 +index 18d6846d04268f0099a84b01a3a2790d7742d85e..40a1f138b610e336eb11f2ace4a0da5703295c6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java +++ b/src/main/java/org/bukkit/craftbukkit/projectiles/CraftBlockProjectileSource.java @@ -57,6 +57,13 @@ public class CraftBlockProjectileSource implements BlockProjectileSource { @@ -52,7 +52,7 @@ index 388647c2ef814270942f4e6c6eb57a3abaf84212..2afb7af0a90959edd3b0ead2fe4d9018 + @Override + public <T extends Projectile> T launchProjectile(Class<? extends T> projectile, Vector velocity, org.bukkit.util.Consumer<T> function) { + // Paper end - launchProjectile consumer - Validate.isTrue(this.getBlock().getType() == Material.DISPENSER, "Block is no longer dispenser"); + Preconditions.checkArgument(this.getBlock().getType() == Material.DISPENSER, "Block is no longer dispenser"); // Copied from BlockDispenser.dispense() BlockSourceImpl isourceblock = new BlockSourceImpl((ServerLevel) this.dispenserBlock.getLevel(), this.dispenserBlock.getBlockPos()); @@ -147,6 +154,11 @@ public class CraftBlockProjectileSource implements BlockProjectileSource { diff --git a/patches/server/0873-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0871-Call-BlockPhysicsEvent-more-often.patch index 83450685d0..83450685d0 100644 --- a/patches/server/0873-Call-BlockPhysicsEvent-more-often.patch +++ b/patches/server/0871-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/server/0874-Configurable-chat-thread-limit.patch b/patches/server/0872-Configurable-chat-thread-limit.patch index d6404f007b..d6404f007b 100644 --- a/patches/server/0874-Configurable-chat-thread-limit.patch +++ b/patches/server/0872-Configurable-chat-thread-limit.patch diff --git a/patches/server/0875-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0873-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index 793883a2f4..793883a2f4 100644 --- a/patches/server/0875-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0873-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch diff --git a/patches/server/0876-fix-Jigsaw-block-kicking-user.patch b/patches/server/0874-fix-Jigsaw-block-kicking-user.patch index 6206d8d028..6206d8d028 100644 --- a/patches/server/0876-fix-Jigsaw-block-kicking-user.patch +++ b/patches/server/0874-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/server/0877-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0875-use-BlockFormEvent-for-mud-converting-into-clay.patch index 7cd7034099..7cd7034099 100644 --- a/patches/server/0877-use-BlockFormEvent-for-mud-converting-into-clay.patch +++ b/patches/server/0875-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/server/0878-Add-getDrops-to-BlockState.patch b/patches/server/0876-Add-getDrops-to-BlockState.patch index 2984a969f8..7f9d14aad9 100644 --- a/patches/server/0878-Add-getDrops-to-BlockState.patch +++ b/patches/server/0876-Add-getDrops-to-BlockState.patch @@ -7,10 +7,10 @@ Originally added isPreferredTool to BlockData but upstream added that. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -index 3e1d36a8c65e6567ac3b78903a25d5828ab74ea5..577a352dab0f8a71558cb6dedce788e78053ef52 100644 +index 792bfc7eab33b26462e76a1912bd712e8af70073..b1abb332eca597b23888bca42d21d5b587f61b13 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockState.java -@@ -331,5 +331,33 @@ public class CraftBlockState implements BlockState { +@@ -323,5 +323,33 @@ public class CraftBlockState implements BlockState { public boolean isCollidable() { return this.data.getBlock().hasCollision; } diff --git a/patches/server/0879-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0877-Fix-a-bunch-of-vanilla-bugs.patch index 193fb96886..193fb96886 100644 --- a/patches/server/0879-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0877-Fix-a-bunch-of-vanilla-bugs.patch diff --git a/patches/server/0880-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0878-Remove-unnecessary-onTrackingStart-during-navigation.patch index 758839864f..758839864f 100644 --- a/patches/server/0880-Remove-unnecessary-onTrackingStart-during-navigation.patch +++ b/patches/server/0878-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/server/0881-Fix-custom-piglin-loved-items.patch b/patches/server/0879-Fix-custom-piglin-loved-items.patch index e768ba98b8..e768ba98b8 100644 --- a/patches/server/0881-Fix-custom-piglin-loved-items.patch +++ b/patches/server/0879-Fix-custom-piglin-loved-items.patch diff --git a/patches/server/0882-EntityPickupItemEvent-fixes.patch b/patches/server/0880-EntityPickupItemEvent-fixes.patch index 8c7fe9dd48..8c7fe9dd48 100644 --- a/patches/server/0882-EntityPickupItemEvent-fixes.patch +++ b/patches/server/0880-EntityPickupItemEvent-fixes.patch diff --git a/patches/server/0883-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0881-Correctly-handle-interactions-with-items-on-cooldown.patch index cf990e4602..9243e65aeb 100644 --- a/patches/server/0883-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0881-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -30,7 +30,7 @@ index 92340937194a985999a85c5d387f4d73e8354d24..1635fee928d64f4d2c336dca6675ed46 this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 20e1efcadd4a11bab8a0db48410229e4a4d5ce57..86b0fe7b6feeef0e085e577954f869e020cc0f04 100644 +index 94796cbe43546748b28aa921d22cb4b68ef23fa6..22ebf307641f9aa7231df8607bb859785be60f7a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -517,6 +517,12 @@ public class CraftEventFactory { diff --git a/patches/server/0884-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0882-Add-PlayerInventorySlotChangeEvent.patch index 2ae4584d34..70dd42cf1b 100644 --- a/patches/server/0884-Add-PlayerInventorySlotChangeEvent.patch +++ b/patches/server/0882-Add-PlayerInventorySlotChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerInventorySlotChangeEvent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bde2f86029bced34358517ef65515c6cddbc02eb..53d4b897e5b1616133d35fd0df2e4624b76990ad 100644 +index 48cd206a41fe238af4c53b7f2a664fb16da366a5..88726c9bfd6dee2110910f43a042a9b29717dc82 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -371,6 +371,25 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0885-Elder-Guardian-appearance-API.patch b/patches/server/0883-Elder-Guardian-appearance-API.patch index a39f8d2f49..01ee803298 100644 --- a/patches/server/0885-Elder-Guardian-appearance-API.patch +++ b/patches/server/0883-Elder-Guardian-appearance-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a718f3c53fe1ee0550512e86ee5fab7c9594f416..ec6b296989e9436c13cf43d9a341dc89c3320389 100644 +index b52159c9adf1f502cb357e920da3128ab3592861..16f7ec3dc9ce1ba14205d3ddd2062aaeea7b67e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3129,6 +3129,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3067,6 +3067,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0886-Allow-changing-bed-s-occupied-property.patch b/patches/server/0884-Allow-changing-bed-s-occupied-property.patch index 4d0128b6d3..4d0128b6d3 100644 --- a/patches/server/0886-Allow-changing-bed-s-occupied-property.patch +++ b/patches/server/0884-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/server/0887-Add-entity-knockback-API.patch b/patches/server/0885-Add-entity-knockback-API.patch index 8fb1163c50..3c5152fdf6 100644 --- a/patches/server/0887-Add-entity-knockback-API.patch +++ b/patches/server/0885-Add-entity-knockback-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d15a252285e10ce062319b0f1051f59ba46701a0..351869735644c984090e1ac571b5ff118ecae9bc 100644 +index 4cf07ff38df050defceb69335e402ca52972a05f..a4d2f2a296e93dd786abf81439eb759c49029850 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -995,5 +995,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -989,5 +989,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category"); } diff --git a/patches/server/0888-Detect-headless-JREs.patch b/patches/server/0886-Detect-headless-JREs.patch index 9d49be7a76..9d49be7a76 100644 --- a/patches/server/0888-Detect-headless-JREs.patch +++ b/patches/server/0886-Detect-headless-JREs.patch diff --git a/patches/server/0889-fixed-entity-vehicle-collision-event-not-called.patch b/patches/server/0887-fixed-entity-vehicle-collision-event-not-called.patch index 19c5cdfd72..19c5cdfd72 100644 --- a/patches/server/0889-fixed-entity-vehicle-collision-event-not-called.patch +++ b/patches/server/0887-fixed-entity-vehicle-collision-event-not-called.patch diff --git a/patches/server/0890-optimized-dirt-and-snow-spreading.patch b/patches/server/0888-optimized-dirt-and-snow-spreading.patch index 08a3761309..08a3761309 100644 --- a/patches/server/0890-optimized-dirt-and-snow-spreading.patch +++ b/patches/server/0888-optimized-dirt-and-snow-spreading.patch diff --git a/patches/server/0891-Added-EntityToggleSitEvent.patch b/patches/server/0889-Added-EntityToggleSitEvent.patch index 3545a2f37d..3545a2f37d 100644 --- a/patches/server/0891-Added-EntityToggleSitEvent.patch +++ b/patches/server/0889-Added-EntityToggleSitEvent.patch diff --git a/patches/server/0892-Add-fire-tick-delay-option.patch b/patches/server/0890-Add-fire-tick-delay-option.patch index e9a876ed2b..e9a876ed2b 100644 --- a/patches/server/0892-Add-fire-tick-delay-option.patch +++ b/patches/server/0890-Add-fire-tick-delay-option.patch diff --git a/patches/server/0893-Add-Moving-Piston-API.patch b/patches/server/0891-Add-Moving-Piston-API.patch index 53df041ba1..53df041ba1 100644 --- a/patches/server/0893-Add-Moving-Piston-API.patch +++ b/patches/server/0891-Add-Moving-Piston-API.patch diff --git a/patches/server/0894-Ignore-impossible-spawn-tick.patch b/patches/server/0892-Ignore-impossible-spawn-tick.patch index a5ecb9692b..46cd469266 100644 --- a/patches/server/0894-Ignore-impossible-spawn-tick.patch +++ b/patches/server/0892-Ignore-impossible-spawn-tick.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ignore impossible spawn tick diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index c63d5df91726839471c1eaaf7fafab3fa1be153b..8fdbc603486ff8a902b6327bc2acfb86a806626e 100644 +index ae2b95f53e875716489821dc9b0a3a35039bfcc9..633500aefd515df5dadda3802b94079f75a03fa0 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java @@ -80,6 +80,7 @@ public abstract class BaseSpawner { diff --git a/patches/server/0895-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0893-Track-projectile-source-for-fireworks-from-dispenser.patch index 389dfc4431..389dfc4431 100644 --- a/patches/server/0895-Track-projectile-source-for-fireworks-from-dispenser.patch +++ b/patches/server/0893-Track-projectile-source-for-fireworks-from-dispenser.patch diff --git a/patches/server/0896-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0894-Fix-EntityArgument-suggestion-permissions-to-align-w.patch index a840f9a576..a840f9a576 100644 --- a/patches/server/0896-Fix-EntityArgument-suggestion-permissions-to-align-w.patch +++ b/patches/server/0894-Fix-EntityArgument-suggestion-permissions-to-align-w.patch diff --git a/patches/server/0897-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0895-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index 2aed8d8bb3..ba347aa9a8 100644 --- a/patches/server/0897-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0895-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b5751d0cfae442b1030b771e4a3afc42e566d76d..b0744d9b0fce0b4d01c728034e275d430d7933de 100644 +index 3d95a435a9f6e28c43f275781db909bf9e71397b..e967413613bc247176c5af380162ba25fa821377 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3308,6 +3308,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0898-Prevent-compass-from-loading-chunks.patch b/patches/server/0896-Prevent-compass-from-loading-chunks.patch index fd21636990..fd21636990 100644 --- a/patches/server/0898-Prevent-compass-from-loading-chunks.patch +++ b/patches/server/0896-Prevent-compass-from-loading-chunks.patch diff --git a/patches/server/0899-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0897-Add-PrePlayerAttackEntityEvent.patch index 01fbd77bb2..01fbd77bb2 100644 --- a/patches/server/0899-Add-PrePlayerAttackEntityEvent.patch +++ b/patches/server/0897-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/server/0900-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0898-ensure-reset-EnderDragon-boss-event-name.patch index 0f1fd322ef..0f1fd322ef 100644 --- a/patches/server/0900-ensure-reset-EnderDragon-boss-event-name.patch +++ b/patches/server/0898-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/server/0901-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0899-fix-MC-252817-green-map-markers-do-not-disappear.patch index e5593afbc6..e5593afbc6 100644 --- a/patches/server/0901-fix-MC-252817-green-map-markers-do-not-disappear.patch +++ b/patches/server/0899-fix-MC-252817-green-map-markers-do-not-disappear.patch diff --git a/patches/server/0902-Add-Player-Warden-Warning-API.patch b/patches/server/0900-Add-Player-Warden-Warning-API.patch index c034e86f87..1919053665 100644 --- a/patches/server/0902-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0900-Add-Player-Warden-Warning-API.patch @@ -10,10 +10,10 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ec6b296989e9436c13cf43d9a341dc89c3320389..bab8770ae6b62b334055e03007883d64a3831891 100644 +index 16f7ec3dc9ce1ba14205d3ddd2062aaeea7b67e9..cb1811f7283f5d41dda771998f029058c9417729 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3134,6 +3134,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3072,6 +3072,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void showElderGuardian(boolean silent) { if (getHandle().connection != null) getHandle().connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, silent ? 0F : 1F)); } diff --git a/patches/server/0903-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0901-More-vanilla-friendly-methods-to-update-trades.patch index 54dfe176f7..18bc407bfb 100644 --- a/patches/server/0903-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/server/0901-More-vanilla-friendly-methods-to-update-trades.patch @@ -35,10 +35,10 @@ index 4bef7abbed6b64c2f126c81af5484eff200e620f..e30d5ae3e2900f43d7cafde71b8196f2 public void gossip(ServerLevel world, Villager villager, long time) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index e6fcdbabde66f4707627fc8c3012aa20de8e34e3..e986767316a717bdbdff7a9ccaaeba068ab2a6d8 100644 +index 6f7977b492ce01e7cda7872c42bd7f2386d3e745..f21c715ea109164efa755cddb35ef656a9859759 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -100,6 +100,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -99,6 +99,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { } // Paper start diff --git a/patches/server/0904-Add-paper-dumplisteners-command.patch b/patches/server/0902-Add-paper-dumplisteners-command.patch index cbf1598dd5..cbf1598dd5 100644 --- a/patches/server/0904-Add-paper-dumplisteners-command.patch +++ b/patches/server/0902-Add-paper-dumplisteners-command.patch diff --git a/patches/server/0905-check-global-player-list-where-appropriate.patch b/patches/server/0903-check-global-player-list-where-appropriate.patch index be6c2d1321..be6c2d1321 100644 --- a/patches/server/0905-check-global-player-list-where-appropriate.patch +++ b/patches/server/0903-check-global-player-list-where-appropriate.patch diff --git a/patches/server/0906-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0904-Fix-async-entity-add-due-to-fungus-trees.patch index fab31f58d5..fdb8bd16d3 100644 --- a/patches/server/0906-Fix-async-entity-add-due-to-fungus-trees.patch +++ b/patches/server/0904-Fix-async-entity-add-due-to-fungus-trees.patch @@ -17,7 +17,7 @@ index 52fd12c474c01f3b53d0f6596b7a6fafee52bd0d..877498729c66de9aa6a27c9148f7494d BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 94f21c6acaee5a632b6adb4e77488bb2e385fbea..cf6e22889437aa18fed66dc6a1b8394e6f21dcbc 100644 +index 086cbbfb492413bf1ae901c46f8e8ebbadd68b21..23d77e6cc55c06d9c2cfb21421cd19c487dbe765 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java @@ -401,10 +401,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { diff --git a/patches/server/0907-ItemStack-damage-API.patch b/patches/server/0905-ItemStack-damage-API.patch index 3d5c08cf7b..9c9e244de1 100644 --- a/patches/server/0907-ItemStack-damage-API.patch +++ b/patches/server/0905-ItemStack-damage-API.patch @@ -11,10 +11,10 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 351869735644c984090e1ac571b5ff118ecae9bc..56b55e9217c514fbdf44a7e2f44769ff4e8ccee1 100644 +index a4d2f2a296e93dd786abf81439eb759c49029850..7db6e0f8260f748669b1d98160bc47b979ade0f7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -996,6 +996,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -990,6 +990,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { throw new IllegalArgumentException(entityCategory + " is an unrecognized entity category"); } diff --git a/patches/server/0908-Friction-API.patch b/patches/server/0906-Friction-API.patch index c9cd1ef7ef..b137b79138 100644 --- a/patches/server/0908-Friction-API.patch +++ b/patches/server/0906-Friction-API.patch @@ -132,10 +132,10 @@ index e9946edf568db010e4ccb9fe7755709ed7b8310f..a925b5c490e7129b27370aa57b5fad1c public int getHealth() { return item.health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 56b55e9217c514fbdf44a7e2f44769ff4e8ccee1..2d5f407b6979f39e5b611f37578d681a49eaea03 100644 +index 7db6e0f8260f748669b1d98160bc47b979ade0f7..40c80ba7fa6e0505c23e643acbc87fd03b69e208 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1043,6 +1043,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1037,6 +1037,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { }); } diff --git a/patches/server/0909-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0907-Ability-to-control-player-s-insomnia-and-phantoms.patch index 458d74cc9c..458d74cc9c 100644 --- a/patches/server/0909-Ability-to-control-player-s-insomnia-and-phantoms.patch +++ b/patches/server/0907-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/server/0910-Fix-player-kick-on-shutdown.patch b/patches/server/0908-Fix-player-kick-on-shutdown.patch index b954657690..b954657690 100644 --- a/patches/server/0910-Fix-player-kick-on-shutdown.patch +++ b/patches/server/0908-Fix-player-kick-on-shutdown.patch diff --git a/patches/server/0911-Sync-offhand-slot-in-menus.patch b/patches/server/0909-Sync-offhand-slot-in-menus.patch index d58c97aaa6..66e1fc2fc7 100644 --- a/patches/server/0911-Sync-offhand-slot-in-menus.patch +++ b/patches/server/0909-Sync-offhand-slot-in-menus.patch @@ -8,7 +8,7 @@ offhand slot isn't sent. This is not correct because you *can* put stuff into th by pressing the offhand swap item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 53d4b897e5b1616133d35fd0df2e4624b76990ad..5fad40fa88f697108e42461c41012d5964ed7d75 100644 +index 88726c9bfd6dee2110910f43a042a9b29717dc82..9d46536f80b5b3e6641fd377c02166a431edfd77 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -340,6 +340,13 @@ public class ServerPlayer extends Player { diff --git a/patches/server/0912-Player-Entity-Tracking-Events.patch b/patches/server/0910-Player-Entity-Tracking-Events.patch index 15dee0455c..0fdc102ca9 100644 --- a/patches/server/0912-Player-Entity-Tracking-Events.patch +++ b/patches/server/0910-Player-Entity-Tracking-Events.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player Entity Tracking Events diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b0744d9b0fce0b4d01c728034e275d430d7933de..a36c5ce78efc98e5bd53db4b5509c58a06aa3de1 100644 +index e967413613bc247176c5af380162ba25fa821377..44495b2bbbc9cb8c5086475f403ef20e88101536 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4030,9 +4030,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0913-Limit-pet-look-distance.patch b/patches/server/0911-Limit-pet-look-distance.patch index 724bcbffa1..724bcbffa1 100644 --- a/patches/server/0913-Limit-pet-look-distance.patch +++ b/patches/server/0911-Limit-pet-look-distance.patch diff --git a/patches/server/0914-Properly-resend-entities.patch b/patches/server/0912-Properly-resend-entities.patch index 0baf83a9a0..c5f9768645 100644 --- a/patches/server/0914-Properly-resend-entities.patch +++ b/patches/server/0912-Properly-resend-entities.patch @@ -66,10 +66,10 @@ index d088479d160dbd2fc90b48a30553be141db8eef2..bf6a70a69bb695ec1a202cd1e863c468 public static class DataItem<T> { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b46c46fcde19aff16321876bf50b6725233bb09a..5654777aa3ed772cd5e37c1c630c68a83194f6bb 100644 +index 14488a4cdc3fc8edf3abb3d57ffdcc4880f987ee..0d998395b65be269c2b5b58acd1b2b46408f8f8e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2796,7 +2796,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2799,7 +2799,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Entity in bucket - SPIGOT-4048 and SPIGOT-6859a if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { @@ -79,7 +79,7 @@ index b46c46fcde19aff16321876bf50b6725233bb09a..5654777aa3ed772cd5e37c1c630c68a8 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 57e63c91051c5885103ba55466dacdb449cd5316..a977d729c487c6efb4863ea00adbc4d947f7c5ea 100644 +index 815eb218b6612b13c6deff636509bad35eeace62..490f2d6f7a43d0a5915a80960c1c7c48b3eea19f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -371,7 +371,7 @@ public abstract class PlayerList { diff --git a/patches/server/0915-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0913-Fixes-and-additions-to-the-SpawnReason-API.patch index f7f6ee5b61..f7f6ee5b61 100644 --- a/patches/server/0915-Fixes-and-additions-to-the-SpawnReason-API.patch +++ b/patches/server/0913-Fixes-and-additions-to-the-SpawnReason-API.patch diff --git a/patches/server/0914-fix-Instruments.patch b/patches/server/0914-fix-Instruments.patch new file mode 100644 index 0000000000..3bf10bb4b8 --- /dev/null +++ b/patches/server/0914-fix-Instruments.patch @@ -0,0 +1,53 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jake Potrebic <[email protected]> +Date: Fri, 9 Dec 2022 01:47:23 -0800 +Subject: [PATCH] fix Instruments + +properly handle Player#playNote + +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +index cb1811f7283f5d41dda771998f029058c9417729..5d93b34e49891a3f93c0d83307ba14f196e72cc6 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -713,29 +713,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + + if (this.getHandle().connection == null) return; + +- String instrumentName = switch (instrument.ordinal()) { +- case 0 -> "harp"; +- case 1 -> "basedrum"; +- case 2 -> "snare"; +- case 3 -> "hat"; +- case 4 -> "bass"; +- case 5 -> "flute"; +- case 6 -> "bell"; +- case 7 -> "guitar"; +- case 8 -> "chime"; +- case 9 -> "xylophone"; +- case 10 -> "iron_xylophone"; +- case 11 -> "cow_bell"; +- case 12 -> "didgeridoo"; +- case 13 -> "bit"; +- case 14 -> "banjo"; +- case 15 -> "pling"; +- case 16 -> "xylophone"; +- default -> null; +- }; +- +- float f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); +- this.getHandle().connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); ++ // Paper start - fix all this (modeled off of NoteBlock) ++ net.minecraft.world.level.block.state.properties.NoteBlockInstrument nms = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); ++ float f; ++ if (nms.isTunable()) { ++ f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); ++ } else { ++ f = 1.0f; ++ } ++ if (!nms.hasCustomSound()) { ++ this.getHandle().connection.send(new ClientboundSoundPacket(nms.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); ++ } ++ // Paper end + } + + @Override diff --git a/patches/server/0917-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0915-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch index f4f36a8f11..f4f36a8f11 100644 --- a/patches/server/0917-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch +++ b/patches/server/0915-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch diff --git a/patches/server/0918-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0916-Fix-inconsistencies-in-dispense-events-regarding-sta.patch index 923b2ffa50..923b2ffa50 100644 --- a/patches/server/0918-Fix-inconsistencies-in-dispense-events-regarding-sta.patch +++ b/patches/server/0916-Fix-inconsistencies-in-dispense-events-regarding-sta.patch diff --git a/patches/server/0916-fix-Instruments.patch b/patches/server/0916-fix-Instruments.patch deleted file mode 100644 index 3495ef15b0..0000000000 --- a/patches/server/0916-fix-Instruments.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic <[email protected]> -Date: Fri, 9 Dec 2022 01:47:23 -0800 -Subject: [PATCH] fix Instruments - -properly handle Player#playNote - -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 151788d379000ee4d3f5d1d51c014da8e8cd21a5..3fa3e0bd52bf2f3135f189629a4bd43ad6248fe2 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -744,62 +744,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void playNote(Location loc, Instrument instrument, Note note) { - if (this.getHandle().connection == null) return; - -- String instrumentName = null; -- switch (instrument.ordinal()) { -- case 0: -- instrumentName = "harp"; -- break; -- case 1: -- instrumentName = "basedrum"; -- break; -- case 2: -- instrumentName = "snare"; -- break; -- case 3: -- instrumentName = "hat"; -- break; -- case 4: -- instrumentName = "bass"; -- break; -- case 5: -- instrumentName = "flute"; -- break; -- case 6: -- instrumentName = "bell"; -- break; -- case 7: -- instrumentName = "guitar"; -- break; -- case 8: -- instrumentName = "chime"; -- break; -- case 9: -- instrumentName = "xylophone"; -- break; -- case 10: -- instrumentName = "iron_xylophone"; -- break; -- case 11: -- instrumentName = "cow_bell"; -- break; -- case 12: -- instrumentName = "didgeridoo"; -- break; -- case 13: -- instrumentName = "bit"; -- break; -- case 14: -- instrumentName = "banjo"; -- break; -- case 15: -- instrumentName = "pling"; -- break; -- case 16: -- instrumentName = "xylophone"; -- break; -+ // Paper start - fix all this (modeled off of NoteBlock) -+ net.minecraft.world.level.block.state.properties.NoteBlockInstrument nms = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); -+ float f; -+ if (nms.isTunable()) { -+ f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); -+ } else { -+ f = 1.0f; - } -- float f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); -- this.getHandle().connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); -+ if (!nms.hasCustomSound()) { -+ this.getHandle().connection.send(new ClientboundSoundPacket(nms.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); -+ } -+ // Paper end - } - - @Override diff --git a/patches/server/0919-Improve-logging-and-errors.patch b/patches/server/0917-Improve-logging-and-errors.patch index 5f9461d68e..192162ab13 100644 --- a/patches/server/0919-Improve-logging-and-errors.patch +++ b/patches/server/0917-Improve-logging-and-errors.patch @@ -22,7 +22,7 @@ index 0232c29d96e1021a9f5a9678996993dc55fe7254..8ad8ad1189d7cdb58caaa39c482d3268 set.add(string); } else { diff --git a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java -index 6a083e269b828ef53f943cae56b029f2e0021ef1..110503062b3043cffa082a1cda6b8d57152869aa 100644 +index 080cca90f15d90249b7a38f33286ae2f735ba7d9..2677e21d8239bf0361a3bc5c9a50c328e54d70f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java +++ b/src/main/java/org/bukkit/craftbukkit/legacy/CraftLegacy.java @@ -44,6 +44,7 @@ import org.bukkit.material.MaterialData; diff --git a/patches/server/0920-Add-BlockLockCheckEvent.patch b/patches/server/0918-Add-BlockLockCheckEvent.patch index 29e8b68880..29e8b68880 100644 --- a/patches/server/0920-Add-BlockLockCheckEvent.patch +++ b/patches/server/0918-Add-BlockLockCheckEvent.patch diff --git a/patches/server/0921-Add-Sneaking-API-for-Entities.patch b/patches/server/0919-Add-Sneaking-API-for-Entities.patch index 264874161f..c7ba3ecf8f 100644 --- a/patches/server/0921-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0919-Add-Sneaking-API-for-Entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index e05c3c15d15c242e07caa9033cc49d515dfcdb41..ea056babe2f8123f20dc608d8a636da1de634b8c 100644 +index f7c879cf10f89eaeb41a0f40787bd2c98d8d3f31..733158b6f2c2bd03fbe798562ff7bc33280548dc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1198,6 +1198,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1191,6 +1191,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return Pose.values()[this.getHandle().getPose().ordinal()]; } diff --git a/patches/server/0922-Improve-PortalEvents.patch b/patches/server/0920-Improve-PortalEvents.patch index 1f628c43d5..aa5fbc2763 100644 --- a/patches/server/0922-Improve-PortalEvents.patch +++ b/patches/server/0920-Improve-PortalEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve PortalEvents diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a36c5ce78efc98e5bd53db4b5509c58a06aa3de1..4358420693efccfc1203037cdcbf91f78331409a 100644 +index 44495b2bbbc9cb8c5086475f403ef20e88101536..a1fd4745063a3e4fbd98600b5725df41817f650f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3686,7 +3686,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0923-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0921-Add-config-option-for-spider-worldborder-climbing.patch index 9a76df29f8..38b52c6506 100644 --- a/patches/server/0923-Add-config-option-for-spider-worldborder-climbing.patch +++ b/patches/server/0921-Add-config-option-for-spider-worldborder-climbing.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config option for spider worldborder climbing diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4358420693efccfc1203037cdcbf91f78331409a..b1075e6ca16de57cb7a7b7caa1a4c0551767ec95 100644 +index a1fd4745063a3e4fbd98600b5725df41817f650f..fbbbb1a02a522f97928ac4b52b625f5bf2bc7537 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -403,6 +403,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0924-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0922-Add-missing-SpigotConfig-logCommands-check.patch index 3c61f54554..8ecc1a22e8 100644 --- a/patches/server/0924-Add-missing-SpigotConfig-logCommands-check.patch +++ b/patches/server/0922-Add-missing-SpigotConfig-logCommands-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add missing SpigotConfig logCommands check diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5654777aa3ed772cd5e37c1c630c68a83194f6bb..1572c2b682c44d1445e97c3ebdc7df3f9c3bb7c4 100644 +index 0d998395b65be269c2b5b58acd1b2b46408f8f8e..2232139c2dc183fe9827ed6c276a4ed0f6ef3fd9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2254,7 +2254,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2257,7 +2257,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void performChatCommand(ServerboundChatCommandPacket packet, LastSeenMessages lastSeenMessages) { // CraftBukkit start String command = "/" + packet.command(); diff --git a/patches/server/0925-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0923-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch index 04dbb4d045..04dbb4d045 100644 --- a/patches/server/0925-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch +++ b/patches/server/0923-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/server/0926-Flying-Fall-Damage.patch b/patches/server/0924-Flying-Fall-Damage.patch index 416df8c728..8ee04f3411 100644 --- a/patches/server/0926-Flying-Fall-Damage.patch +++ b/patches/server/0924-Flying-Fall-Damage.patch @@ -26,10 +26,10 @@ index 53487f0a4fe672298c3b83d24a2a603641afcde8..58152160d609d0e9d105153aeb166a56 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3fa3e0bd52bf2f3135f189629a4bd43ad6248fe2..75f4531222016a8639920ab25f0378c11a62a1f6 100644 +index 5d93b34e49891a3f93c0d83307ba14f196e72cc6..fd0cd21ce5bd2c8f255fa53e1788548b41d168cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2304,6 +2304,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2288,6 +2288,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/server/0927-Add-exploded-block-state-to-BlockExplodeEvent.patch b/patches/server/0925-Add-exploded-block-state-to-BlockExplodeEvent.patch index a968490b2b..a968490b2b 100644 --- a/patches/server/0927-Add-exploded-block-state-to-BlockExplodeEvent.patch +++ b/patches/server/0925-Add-exploded-block-state-to-BlockExplodeEvent.patch diff --git a/patches/server/0928-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0926-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index d170d979cb..5f8840b205 100644 --- a/patches/server/0928-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/server/0926-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose pre-collision moving velocity to diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b1075e6ca16de57cb7a7b7caa1a4c0551767ec95..21210830233e409b8757a78af4d3e128e51ebbde 100644 +index fbbbb1a02a522f97928ac4b52b625f5bf2bc7537..64068958a29f5e867932d6c23ab504a2fafdd3f1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1156,7 +1156,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0929-config-for-disabling-entity-tag-tags.patch b/patches/server/0927-config-for-disabling-entity-tag-tags.patch index e7680c986a..e7680c986a 100644 --- a/patches/server/0929-config-for-disabling-entity-tag-tags.patch +++ b/patches/server/0927-config-for-disabling-entity-tag-tags.patch diff --git a/patches/server/0930-Use-single-player-info-update-packet-on-join.patch b/patches/server/0928-Use-single-player-info-update-packet-on-join.patch index 63ae383420..222434b107 100644 --- a/patches/server/0930-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0928-Use-single-player-info-update-packet-on-join.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use single player info update packet on join diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1572c2b682c44d1445e97c3ebdc7df3f9c3bb7c4..01ed2f2bc2b888f0c8e3c47f51114fac82f7a368 100644 +index 2232139c2dc183fe9827ed6c276a4ed0f6ef3fd9..ad7b15eb0a4907d3ef02e4bd57ff4d482a278099 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3600,7 +3600,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3603,7 +3603,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.signedMessageDecoder = session.createMessageDecoder(this.player.getUUID()); this.chatMessageChain.append((executor) -> { this.player.setChatSession(session); @@ -18,7 +18,7 @@ index 1572c2b682c44d1445e97c3ebdc7df3f9c3bb7c4..01ed2f2bc2b888f0c8e3c47f51114fac }); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a977d729c487c6efb4863ea00adbc4d947f7c5ea..683b5d78f9e3dc34e40c54683f64be32317797ac 100644 +index 490f2d6f7a43d0a5915a80960c1c7c48b3eea19f..8547e7ff2f1f5b7701fb0f3c3010c14601a5f83e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -353,6 +353,7 @@ public abstract class PlayerList { diff --git a/patches/server/0931-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0929-Correctly-shrink-items-during-EntityResurrectEvent.patch index 48e1f8b1ec..48e1f8b1ec 100644 --- a/patches/server/0931-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0929-Correctly-shrink-items-during-EntityResurrectEvent.patch diff --git a/patches/server/0932-Win-Screen-API.patch b/patches/server/0930-Win-Screen-API.patch index 426b72554d..0a6db73503 100644 --- a/patches/server/0932-Win-Screen-API.patch +++ b/patches/server/0930-Win-Screen-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 75f4531222016a8639920ab25f0378c11a62a1f6..991f3f947810ebd7e4f2c51a4012115fee8a34ec 100644 +index fd0cd21ce5bd2c8f255fa53e1788548b41d168cc..fd72e7ccc7efe86e3c75252b50032751c4cb3f2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1203,6 +1203,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1190,6 +1190,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0933-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0931-Remove-CraftItemStack-setAmount-null-assignment.patch index 6e71a44d88..f6cf642638 100644 --- a/patches/server/0933-Remove-CraftItemStack-setAmount-null-assignment.patch +++ b/patches/server/0931-Remove-CraftItemStack-setAmount-null-assignment.patch @@ -16,10 +16,10 @@ with less than zero amounts, so this code doesn't create a problem with operations on the vanilla ItemStack. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 8683bb08c2d9a7514ee6b16690b61240fb807d15..24fac69bc63f949001252811f792b21955a13e9d 100644 +index d6b9897dcb4715decd4dd0b1b96995e25d789482..8657736cdfe2d5d2a1c0851ca54dd26ce17e0a83 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -146,7 +146,7 @@ public final class CraftItemStack extends ItemStack { +@@ -147,7 +147,7 @@ public final class CraftItemStack extends ItemStack { } this.handle.setCount(amount); diff --git a/patches/server/0934-Fix-force-opening-enchantment-tables.patch b/patches/server/0932-Fix-force-opening-enchantment-tables.patch index c655e789f0..97bfc2c883 100644 --- a/patches/server/0934-Fix-force-opening-enchantment-tables.patch +++ b/patches/server/0932-Fix-force-opening-enchantment-tables.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix force-opening enchantment tables diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 07c9a644dc24e881efcf2c6519f88db43e2d5779..0a35f3510e71bb8c7812eed61bbab3872ea78437 100644 +index 35f79f34b86dbf6d592842883f53f83e07f95f93..bca41901e2a44458dd9f53c2ab7181d86de54e9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -404,7 +404,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -402,7 +402,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // If there isn't an enchant table we can force create one, won't be very useful though. BlockPos pos = CraftLocation.toBlockPosition(location); diff --git a/patches/server/0935-Add-Entity-Body-Yaw-API.patch b/patches/server/0933-Add-Entity-Body-Yaw-API.patch index 1d612ad759..6381bc95be 100644 --- a/patches/server/0935-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0933-Add-Entity-Body-Yaw-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 2d5f407b6979f39e5b611f37578d681a49eaea03..42a4a45ece562d543cc4fab9d9e7c70573705f10 100644 +index 40c80ba7fa6e0505c23e643acbc87fd03b69e208..7880631fe8a4b06f29ef69ab850129737a99521b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1035,6 +1035,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1029,6 +1029,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.damageItemStack0(this.getHandle().getItemBySlot(nmsSlot), amount, nmsSlot); } diff --git a/patches/server/0936-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0934-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch index efaf1a6e90..efaf1a6e90 100644 --- a/patches/server/0936-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch +++ b/patches/server/0934-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/server/0937-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0935-Update-the-flag-when-a-captured-block-state-is-outda.patch index 097c2e3932..097c2e3932 100644 --- a/patches/server/0937-Update-the-flag-when-a-captured-block-state-is-outda.patch +++ b/patches/server/0935-Update-the-flag-when-a-captured-block-state-is-outda.patch diff --git a/patches/server/0938-Add-EntityFertilizeEggEvent.patch b/patches/server/0936-Add-EntityFertilizeEggEvent.patch index 7b65a3ef54..1d6a8aeb2c 100644 --- a/patches/server/0938-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0936-Add-EntityFertilizeEggEvent.patch @@ -69,10 +69,10 @@ index c0f19138c6a00ce6ae837c972ae4af522ddd2895..a6d98f64910c816a5c11867d12698f5c world.addFreshEntity(entityitem); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 86b0fe7b6feeef0e085e577954f869e020cc0f04..576e982ac53fe6cdc6ca921ad46c36e895509f84 100644 +index 22ebf307641f9aa7231df8607bb859785be60f7a..5cc8d5403058638ddecbed08059ecd96257f9dcb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1981,4 +1981,29 @@ public class CraftEventFactory { +@@ -1983,4 +1983,29 @@ public class CraftEventFactory { return event.callEvent(); } // Paper end diff --git a/patches/server/0939-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0937-Fix-HumanEntity-drop-not-updating-the-client-inv.patch index c1393c0c4f..2e74734a41 100644 --- a/patches/server/0939-Fix-HumanEntity-drop-not-updating-the-client-inv.patch +++ b/patches/server/0937-Fix-HumanEntity-drop-not-updating-the-client-inv.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix HumanEntity#drop not updating the client inv public net.minecraft.server.level.ServerPlayer containerSynchronizer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 0a35f3510e71bb8c7812eed61bbab3872ea78437..cba6ead3f937f2b3d59c15a864e07e5cb2f2330c 100644 +index bca41901e2a44458dd9f53c2ab7181d86de54e9e..0f3e696582cd288357598490e8af0131ab30bdfc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -757,8 +757,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -755,8 +755,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Paper end @Override public boolean dropItem(boolean dropAll) { diff --git a/patches/server/0940-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0938-Add-CompostItemEvent-and-EntityCompostItemEvent.patch index c09b36b849..c09b36b849 100644 --- a/patches/server/0940-Add-CompostItemEvent-and-EntityCompostItemEvent.patch +++ b/patches/server/0938-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0941-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0939-Correctly-handle-ArmorStand-invisibility.patch index 103ddcbb11..103ddcbb11 100644 --- a/patches/server/0941-Correctly-handle-ArmorStand-invisibility.patch +++ b/patches/server/0939-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/server/0942-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0940-Fix-advancement-triggers-for-entity-damage.patch index 549fd4f631..549fd4f631 100644 --- a/patches/server/0942-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0940-Fix-advancement-triggers-for-entity-damage.patch diff --git a/patches/server/0943-Fix-text-display-error-on-spawn.patch b/patches/server/0941-Fix-text-display-error-on-spawn.patch index cb6ccd7e5e..cb6ccd7e5e 100644 --- a/patches/server/0943-Fix-text-display-error-on-spawn.patch +++ b/patches/server/0941-Fix-text-display-error-on-spawn.patch diff --git a/patches/server/0944-Fix-certain-inventories-returning-null-Locations.patch b/patches/server/0942-Fix-certain-inventories-returning-null-Locations.patch index e69fe4eb74..e69fe4eb74 100644 --- a/patches/server/0944-Fix-certain-inventories-returning-null-Locations.patch +++ b/patches/server/0942-Fix-certain-inventories-returning-null-Locations.patch diff --git a/patches/server/0945-Add-Shearable-API.patch b/patches/server/0943-Add-Shearable-API.patch index 950ecc2beb..950ecc2beb 100644 --- a/patches/server/0945-Add-Shearable-API.patch +++ b/patches/server/0943-Add-Shearable-API.patch diff --git a/patches/server/0946-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0944-Fix-SpawnEggMeta-get-setSpawnedType.patch index 4c90082c28..4c90082c28 100644 --- a/patches/server/0946-Fix-SpawnEggMeta-get-setSpawnedType.patch +++ b/patches/server/0944-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/server/0947-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch b/patches/server/0945-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch index 75e0c90780..8c7b5d3b37 100644 --- a/patches/server/0947-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch +++ b/patches/server/0945-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix chiseled bookshelf and jukebox setItem with air diff --git a/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java -index 1b4a6e68fc81072591278de1e2ec3f921823811b..429381c4efbfdf48b489cc25936466c193c2f452 100644 +index 1714102815e6c32bc161e88b1634f7a80908850a..47e194ef4e75f95573b40ff9f1a11810381cfce8 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/ChiseledBookShelfBlockEntity.java @@ -146,7 +146,7 @@ public class ChiseledBookShelfBlockEntity extends BlockEntity implements Contain @@ -15,7 +15,7 @@ index 1b4a6e68fc81072591278de1e2ec3f921823811b..429381c4efbfdf48b489cc25936466c1 - if (stack.is(ItemTags.BOOKSHELF_BOOKS)) { + if (stack.isEmpty() || stack.is(ItemTags.BOOKSHELF_BOOKS)) { // Paper this.items.set(slot, stack); - this.updateState(slot); + if (level != null) this.updateState(slot); // CraftBukkit - SPIGOT-7381: check for null world } diff --git a/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/JukeboxBlockEntity.java index 77ece220a2e204c3e66e660c639abda957bf21b9..62acd6686626c84c9fc3964af62097101e8e582f 100644 diff --git a/patches/server/0948-Optimize-Hoppers.patch b/patches/server/0946-Optimize-Hoppers.patch index 8eb02d2e2e..3470e69a7a 100644 --- a/patches/server/0948-Optimize-Hoppers.patch +++ b/patches/server/0946-Optimize-Hoppers.patch @@ -13,10 +13,10 @@ Subject: [PATCH] Optimize Hoppers * Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index aa0dcb02aaec2caa016397e7f5cc859a22ca4b6d..763df0f016e2970fd12603d0c7d6c4e4871345f9 100644 +index c5f3dc74888919e82e2ffbb8d648b7640aa6b690..80cf4852e4010eeeadaf920ab927a40df0179b40 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1524,6 +1524,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa +@@ -1522,6 +1522,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa while (iterator.hasNext()) { ServerLevel worldserver = (ServerLevel) iterator.next(); worldserver.hasPhysicsEvent = org.bukkit.event.block.BlockPhysicsEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper diff --git a/patches/server/0949-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0947-Fix-beehives-generating-from-using-bonemeal.patch index 48fda8c1b9..48fda8c1b9 100644 --- a/patches/server/0949-Fix-beehives-generating-from-using-bonemeal.patch +++ b/patches/server/0947-Fix-beehives-generating-from-using-bonemeal.patch diff --git a/patches/server/0950-Fix-api-checking-banned-ips.patch b/patches/server/0948-Fix-api-checking-banned-ips.patch index a69b2e70fd..08f63f3c08 100644 --- a/patches/server/0950-Fix-api-checking-banned-ips.patch +++ b/patches/server/0948-Fix-api-checking-banned-ips.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix api checking banned ips diff --git a/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java b/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java -index 61cb647b2aa590303402e6652bd37b5bca0e0b1d..30f2ddff4108e92eaac50317bdd9ef4eb25ec085 100644 +index 0787159a6fde31260f87ee974381f21ce97620a6..5a7d884bcad7b30109567c1eff816a31c1701b06 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftIpBanList.java @@ -64,7 +64,7 @@ public class CraftIpBanList implements org.bukkit.BanList { public boolean isBanned(String target) { - Validate.notNull(target, "Target cannot be null"); + Preconditions.checkArgument(target != null, "Target cannot be null"); - return this.list.isBanned(InetSocketAddress.createUnresolved(target, 0)); + return this.list.isBanned(target); // Paper - fix checking banned ips diff --git a/patches/server/0951-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0949-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch index f4282269d8..f4282269d8 100644 --- a/patches/server/0951-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch +++ b/patches/server/0949-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/server/0952-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0950-Treat-sequence-violations-like-they-should-be.patch index 3da8a71205..06d229aac7 100644 --- a/patches/server/0952-Treat-sequence-violations-like-they-should-be.patch +++ b/patches/server/0950-Treat-sequence-violations-like-they-should-be.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Treat sequence violations like they should be diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 01ed2f2bc2b888f0c8e3c47f51114fac82f7a368..ed19c6c2eb72800af7b978df677ff317f05795ba 100644 +index ad7b15eb0a4907d3ef02e4bd57ff4d482a278099..d00d003b29d357fbd80304acc50ca13c9f5393f5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2124,6 +2124,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2127,6 +2127,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void ackBlockChangesUpTo(int sequence) { if (sequence < 0) { diff --git a/patches/server/0953-remove-duplicate-animate-packet-for-records.patch b/patches/server/0951-remove-duplicate-animate-packet-for-records.patch index 0958982027..0958982027 100644 --- a/patches/server/0953-remove-duplicate-animate-packet-for-records.patch +++ b/patches/server/0951-remove-duplicate-animate-packet-for-records.patch diff --git a/patches/server/0954-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0952-Prevent-causing-expired-keys-from-impacting-new-join.patch index bb76297470..85153d77d0 100644 --- a/patches/server/0954-Prevent-causing-expired-keys-from-impacting-new-join.patch +++ b/patches/server/0952-Prevent-causing-expired-keys-from-impacting-new-join.patch @@ -24,7 +24,7 @@ index 23e0e6937e28f09271a4ec7c35e0076a576cf3d3..4aa8b483841028fbcc43f9ed47730881 UPDATE_GAME_MODE((serialized, buf) -> { serialized.gameMode = GameType.byId(buf.readVarInt()); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ed19c6c2eb72800af7b978df677ff317f05795ba..4dd04aa5f4affd42afbce718ec3dfaf7f1fafe2f 100644 +index d00d003b29d357fbd80304acc50ca13c9f5393f5..d9c2d06ae24dcf80a497e75f4c7f63d401b77f9b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -296,6 +296,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -49,7 +49,7 @@ index ed19c6c2eb72800af7b978df677ff317f05795ba..4dd04aa5f4affd42afbce718ec3dfaf7 } public void resetPosition() { -@@ -3598,6 +3606,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3601,6 +3609,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private void resetPlayerChatState(RemoteChatSession session) { this.chatSession = session; diff --git a/patches/server/0955-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0953-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch index 6671aa6357..6671aa6357 100644 --- a/patches/server/0955-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch +++ b/patches/server/0953-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/server/0956-Use-array-for-gamerule-storage.patch b/patches/server/0954-Use-array-for-gamerule-storage.patch index 52052561af..52052561af 100644 --- a/patches/server/0956-Use-array-for-gamerule-storage.patch +++ b/patches/server/0954-Use-array-for-gamerule-storage.patch diff --git a/patches/server/0957-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0955-Fix-a-couple-of-upstream-bed-issues.patch index f4a4393fa2..f4a4393fa2 100644 --- a/patches/server/0957-Fix-a-couple-of-upstream-bed-issues.patch +++ b/patches/server/0955-Fix-a-couple-of-upstream-bed-issues.patch diff --git a/patches/server/0958-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0956-Fix-demo-flag-not-enabling-demo-mode.patch index 195413f40e..195413f40e 100644 --- a/patches/server/0958-Fix-demo-flag-not-enabling-demo-mode.patch +++ b/patches/server/0956-Fix-demo-flag-not-enabling-demo-mode.patch diff --git a/patches/server/0959-Add-Mob-Experience-reward-API.patch b/patches/server/0957-Add-Mob-Experience-reward-API.patch index 3c07d5e971..3c07d5e971 100644 --- a/patches/server/0959-Add-Mob-Experience-reward-API.patch +++ b/patches/server/0957-Add-Mob-Experience-reward-API.patch diff --git a/patches/server/0960-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0958-Break-redstone-on-top-of-trap-doors-early.patch index 461e4c40ca..461e4c40ca 100644 --- a/patches/server/0960-Break-redstone-on-top-of-trap-doors-early.patch +++ b/patches/server/0958-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/server/0961-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0959-Fix-DamageCause-for-Falling-Blocks.patch index 3197bd1c72..962ecdd8fa 100644 --- a/patches/server/0961-Fix-DamageCause-for-Falling-Blocks.patch +++ b/patches/server/0959-Fix-DamageCause-for-Falling-Blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix DamageCause for Falling Blocks diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 576e982ac53fe6cdc6ca921ad46c36e895509f84..0ed5035044a3fc3ad725ce702720a0742a19ed44 100644 +index 5cc8d5403058638ddecbed08059ecd96257f9dcb..0b84496161964bf84bfc08d687592b20ed06a25f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1030,6 +1030,11 @@ public class CraftEventFactory { diff --git a/patches/server/0962-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0960-Avoid-Lazy-Initialization-for-Enum-Fields.patch index 809f5d1710..809f5d1710 100644 --- a/patches/server/0962-Avoid-Lazy-Initialization-for-Enum-Fields.patch +++ b/patches/server/0960-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/server/0963-More-accurate-isInOpenWater-impl.patch b/patches/server/0961-More-accurate-isInOpenWater-impl.patch index 39f99272f6..5d9d32149a 100644 --- a/patches/server/0963-More-accurate-isInOpenWater-impl.patch +++ b/patches/server/0961-More-accurate-isInOpenWater-impl.patch @@ -13,10 +13,10 @@ public net.minecraft.world.entity.projectile.FishingHook calculateOpenWater(Lnet public net.minecraft.world.entity.projectile.FishingHook outOfWaterTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -index 4d12c33b9a360129ffaefb551010b354bba0c69f..bac5c30d3aae1b3a7dbfb78f6fd37c11038fc735 100644 +index ce934b945b85a4c3d0f575eb090bbf90c4b3ca9f..41e8167766383a6fcb1e9fb78933d74784caddbb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftFishHook.java -@@ -171,7 +171,7 @@ public class CraftFishHook extends CraftProjectile implements FishHook { +@@ -170,7 +170,7 @@ public class CraftFishHook extends CraftProjectile implements FishHook { @Override public boolean isInOpenWater() { diff --git a/patches/server/0964-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0962-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch index 2127f28b00..2127f28b00 100644 --- a/patches/server/0964-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch +++ b/patches/server/0962-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch diff --git a/patches/server/0965-Optimise-recalcBlockCounts-for-empty-sections.patch b/patches/server/0963-Optimise-recalcBlockCounts-for-empty-sections.patch index 2f061397e0..2f061397e0 100644 --- a/patches/server/0965-Optimise-recalcBlockCounts-for-empty-sections.patch +++ b/patches/server/0963-Optimise-recalcBlockCounts-for-empty-sections.patch diff --git a/patches/server/0966-Fix-destroying-beehive-without-any-players-nearby-th.patch b/patches/server/0964-Fix-destroying-beehive-without-any-players-nearby-th.patch index b166366059..b166366059 100644 --- a/patches/server/0966-Fix-destroying-beehive-without-any-players-nearby-th.patch +++ b/patches/server/0964-Fix-destroying-beehive-without-any-players-nearby-th.patch diff --git a/patches/server/0967-Expand-PlayerItemMendEvent.patch b/patches/server/0965-Expand-PlayerItemMendEvent.patch index 8dc094546e..6cff67c43b 100644 --- a/patches/server/0967-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0965-Expand-PlayerItemMendEvent.patch @@ -33,10 +33,10 @@ index 8d8fe55a05eea237a8af99ed15ab16d6167daa77..eca634792d2a7cc649675e3394e84dba return k > 0 ? this.repairPlayerItems(player, k) : 0; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 991f3f947810ebd7e4f2c51a4012115fee8a34ec..548eddde8b0558b780f672d321507cfcbac92558 100644 +index fd72e7ccc7efe86e3c75252b50032751c4cb3f2c..c8ceaf9ba8e167db0138bbad134100d8717a326e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1674,11 +1674,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1658,11 +1658,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { orb.setPosRaw(handle.getX(), handle.getY(), handle.getZ()); int i = Math.min(orb.xpToDurability(amount), itemstack.getDamageValue()); @@ -51,10 +51,10 @@ index 991f3f947810ebd7e4f2c51a4012115fee8a34ec..548eddde8b0558b780f672d321507cfc } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0ed5035044a3fc3ad725ce702720a0742a19ed44..a9a58f0bb19e034cffdafcc38fdc9003744a5d6c 100644 +index 0b84496161964bf84bfc08d687592b20ed06a25f..32fe1e498ee988566213bfcf56bf98c92a3c9871 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1262,10 +1262,10 @@ public class CraftEventFactory { +@@ -1266,10 +1266,10 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0968-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0966-Refresh-ProjectileSource-for-projectiles.patch index 04eaeb9354..e666028592 100644 --- a/patches/server/0968-Refresh-ProjectileSource-for-projectiles.patch +++ b/patches/server/0966-Refresh-ProjectileSource-for-projectiles.patch @@ -9,7 +9,7 @@ Previously, after the entity reloaded, Projectile#getShooter would return null, while the entity still had an owner. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 21210830233e409b8757a78af4d3e128e51ebbde..92202262eff01ae3bbeff0e6ebdcf26ad613c169 100644 +index 64068958a29f5e867932d6c23ab504a2fafdd3f1..b38c4cbcf0405d82c7b6e018e80a3174e460c1a4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -382,6 +382,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/server/0969-Add-transient-modifier-API.patch b/patches/server/0967-Add-transient-modifier-API.patch index e3b704e242..e3b704e242 100644 --- a/patches/server/0969-Add-transient-modifier-API.patch +++ b/patches/server/0967-Add-transient-modifier-API.patch diff --git a/patches/server/0970-Fix-block-place-logic.patch b/patches/server/0968-Fix-block-place-logic.patch index e534f4f285..e534f4f285 100644 --- a/patches/server/0970-Fix-block-place-logic.patch +++ b/patches/server/0968-Fix-block-place-logic.patch diff --git a/patches/server/0971-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0969-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index 1fbc769545..1fbc769545 100644 --- a/patches/server/0971-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0969-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch diff --git a/patches/server/0972-Ignore-inline-definitions-of-trim-material-pattern.patch b/patches/server/0970-Ignore-inline-definitions-of-trim-material-pattern.patch index 9b113e0bfe..9b113e0bfe 100644 --- a/patches/server/0972-Ignore-inline-definitions-of-trim-material-pattern.patch +++ b/patches/server/0970-Ignore-inline-definitions-of-trim-material-pattern.patch diff --git a/patches/server/0973-Call-BlockGrowEvent-for-the-pitcher-crop.patch b/patches/server/0971-Call-BlockGrowEvent-for-the-pitcher-crop.patch index 98e7c69d60..98e7c69d60 100644 --- a/patches/server/0973-Call-BlockGrowEvent-for-the-pitcher-crop.patch +++ b/patches/server/0971-Call-BlockGrowEvent-for-the-pitcher-crop.patch diff --git a/patches/server/0974-Add-API-for-waxed-signs.patch b/patches/server/0972-Add-API-for-waxed-signs.patch index 70908f9bbb..70908f9bbb 100644 --- a/patches/server/0974-Add-API-for-waxed-signs.patch +++ b/patches/server/0972-Add-API-for-waxed-signs.patch diff --git a/patches/server/0975-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0973-Properly-remove-the-experimental-smithing-inventory-.patch index a1493ce3d9..73dd186dd3 100644 --- a/patches/server/0975-Properly-remove-the-experimental-smithing-inventory-.patch +++ b/patches/server/0973-Properly-remove-the-experimental-smithing-inventory-.patch @@ -46,7 +46,7 @@ index bdaa739aa18a95894a165e9333a3e9d596fd7dc3..3075ba5f6d66316f27e618d8b279252e this.setupSmithing(top, bottom); // SPIGOT-6783 - manually set up slots so we can use the delegated inventory and not the automatically created one break; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 092f6843e3b43d4c615d2eee344f5966e96ae850..10844fecc01370dcd0cc36f83e166bacb48ded30 100644 +index bfac13ec6c316caa65db4a51b77f0a7045ad88ff..df254c42b73cdb56f71781473cbf9d0f28dcfb08 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -536,8 +536,7 @@ public class CraftInventory implements Inventory { diff --git a/patches/server/0976-Fix-sendSignChange0-s-usage-of-SignText.patch b/patches/server/0974-Fix-sendSignChange0-s-usage-of-SignText.patch index 47e2230eef..076f620e6d 100644 --- a/patches/server/0976-Fix-sendSignChange0-s-usage-of-SignText.patch +++ b/patches/server/0974-Fix-sendSignChange0-s-usage-of-SignText.patch @@ -13,10 +13,10 @@ constructed sign text to the instance nor does it feed back said instance to the virtual sign block entity. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 548eddde8b0558b780f672d321507cfcbac92558..e41f5417304f5b05fa7e2f6b6e1c0095e820f1cc 100644 +index c8ceaf9ba8e167db0138bbad134100d8717a326e..03bb444705916ffe0b9eb4b7496524dc3459ebe0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1040,11 +1040,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1027,11 +1027,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { private void sendSignChange0(Component[] components, Location loc, DyeColor dyeColor, boolean hasGlowingText) { SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); SignText text = sign.getFrontText(); diff --git a/work/Bukkit b/work/Bukkit -Subproject 657df461c253a66e3382d5dbe97bd31ce0ac143 +Subproject 54e8ec7b47ec9a77e05d44d8898a0f247c8db04 diff --git a/work/CraftBukkit b/work/CraftBukkit -Subproject fd92f1e65447be1d336ce0c43f2e915f01f2fc1 +Subproject 6962456f98f6e5075c8bf6dff772f3c2464ae60 diff --git a/work/Spigot b/work/Spigot -Subproject 16cfc987271eddcc0ffeb5d8cc968ea16c19e98 +Subproject 7e2af8b2d6af54e66edd030abbf12359a8574e0 |