From c287e921a96438964f32f3c4e394d6809e0d06fa Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Mon, 12 Jun 2023 16:51:45 -0700 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#9301) --- patches/api/0005-Adventure.patch | 159 +++++++----- patches/api/0010-Timings-v2.patch | 8 +- patches/api/0013-Add-getTPS-method.patch | 8 +- .../api/0020-Expose-server-CommandMap.patch | 8 +- ...cord-chat-API-from-spigot-subclasses.patch | 8 +- ...eload-permissions.yml-and-require-co.patch | 8 +- ...3-Allow-Reloading-of-Command-Aliases.patch | 8 +- ...n-option-to-prevent-player-names-fro.patch | 8 +- patches/api/0055-Fix-upstream-javadocs.patch | 14 +- .../api/0059-Basic-PlayerProfile-API.patch | 8 +- .../0091-Player.setPlayerProfile-API.patch | 16 +- patches/api/0092-getPlayerUniqueId-API.patch | 8 +- ...ault-permission-message-configurable.patch | 8 +- .../0172-Fix-Spigot-annotation-mistakes.patch | 16 +- .../0176-Mob-Spawner-API-Enhancements.patch | 4 +- ...180-Expose-the-internal-current-tick.patch | 8 +- patches/api/0186-Add-tick-times-API.patch | 8 +- ...187-Expose-MinecraftServer-isRunning.patch | 8 +- patches/api/0195-Add-Mob-Goal-API.patch | 8 +- ...ent.patch => 0207-Add-BellRingEvent.patch} | 0 patches/api/0207-Add-setMaxPlayers-API.patch | 48 ---- ...PI.patch => 0208-Add-moon-phase-API.patch} | 0 ...PickupItemAnimation-to-LivingEntity.patch} | 0 ...I.patch => 0210-Add-more-Evoker-API.patch} | 0 ...Add-methods-to-get-translation-keys.patch} | 0 ...te-HoverEvent-from-ItemStack-Entity.patch} | 0 ...l-open-container-api-to-HumanEntity.patch} | 0 ...-Counter-to-allow-plugins-to-use-va.patch} | 0 ...king.patch => 0215-Entity-isTicking.patch} | 0 ....patch => 0216-Villager-resetOffers.patch} | 0 ...tch => 0217-Player-elytra-boost-API.patch} | 0 ...Add-getOfflinePlayerIfCached-String.patch} | 8 +- ...ch => 0219-Add-ignore-discounts-API.patch} | 0 ...> 0220-Item-no-age-no-player-pickup.patch} | 0 ...221-Beacon-API-custom-effect-ranges.patch} | 0 ...tch => 0222-Add-API-for-quit-reason.patch} | 0 ...patch => 0223-Add-Destroy-Speed-API.patch} | 0 ...24-Add-LivingEntity-clearActiveItem.patch} | 0 ...=> 0225-Add-PlayerItemCooldownEvent.patch} | 0 ...PI.patch => 0226-More-lightning-API.patch} | 0 ...h => 0227-Add-PlayerShearBlockEvent.patch} | 0 ...228-Player-Chunk-Load-Unload-Events.patch} | 0 ...-Expose-LivingEntity-hurt-direction.patch} | 0 ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 0 ...atch => 0231-Added-PlayerTradeEvent.patch} | 0 ...atch => 0232-Add-TargetHitEvent-API.patch} | 0 ...233-Additional-Block-Material-API-s.patch} | 0 ...t-Material-from-Boats-and-Minecarts.patch} | 0 ...-Add-PlayerFlowerPotManipulateEvent.patch} | 0 ...h => 0236-Zombie-API-breaking-doors.patch} | 0 ...=> 0237-Add-EntityLoadCrossbowEvent.patch} | 0 ...0238-Added-WorldGameRuleChangeEvent.patch} | 0 ...-Added-ServerResourcesReloadedEvent.patch} | 0 ...> 0240-Add-BlockFailedDispenseEvent.patch} | 0 ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 0 ...act-interaction-point-in-PlayerInte.patch} | 0 ...I.patch => 0244-Add-sendOpLevel-API.patch} | 0 ...try.patch => 0245-Add-PaperRegistry.patch} | 0 ...h => 0246-Add-StructuresLocateEvent.patch} | 0 ...h => 0247-Add-BlockPreDispenseEvent.patch} | 0 ... => 0248-Added-missing-vanilla-tags.patch} | 0 ...Added-PlayerChangeBeaconEffectEvent.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 0 ...eash-variable-to-EntityUnleashEvent.patch} | 0 ...atch => 0252-add-DragonEggFormEvent.patch} | 0 ...Event.patch => 0253-EntityMoveEvent.patch} | 0 ...-adding-items-to-BlockDropItemEvent.patch} | 0 ...inThreadExecutor-to-BukkitScheduler.patch} | 0 ...entity-allow-attribute-registration.patch} | 0 ...s.patch => 0257-Add-missing-effects.patch} | 0 ...atch => 0258-Expose-Tracked-Players.patch} | 0 ...ache-the-result-of-Material-isBlock.patch} | 0 ...atch => 0260-Add-worldborder-events.patch} | 0 ...=> 0261-added-PlayerNameEntityEvent.patch} | 0 ...h => 0262-Add-recipe-to-cook-events.patch} | 0 ...patch => 0263-Add-Block-isValidTool.patch} | 0 ....patch => 0264-Expand-world-key-API.patch} | 8 +- ...y-API.patch => 0265-Item-Rarity-API.patch} | 0 ...tch => 0266-Expose-protocol-version.patch} | 0 ...add-isDeeplySleeping-to-HumanEntity.patch} | 0 ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 0 ...-set-drop-chance-to-EntityEquipment.patch} | 0 ... => 0270-Added-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0271-More-World-API.patch} | 0 ... 0272-Added-PlayerBedFailEnterEvent.patch} | 0 ...acon-activation-deactivation-events.patch} | 0 ...> 0274-PlayerMoveEvent-Improvements.patch} | 0 ...-RespawnFlags-to-PlayerRespawnEvent.patch} | 0 ...> 0276-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ...address-to-AsyncPlayerPreLoginEvent.patch} | 0 ...close.patch => 0280-Inventory-close.patch} | 0 ...-in-sunlight-API-for-Phantoms-and-S.patch} | 0 ...atch => 0282-Add-basic-Datapack-API.patch} | 12 +- ...itions-to-PlayerGameModeChangeEvent.patch} | 0 ... => 0284-ItemStack-repair-check-API.patch} | 0 ....patch => 0285-More-Enchantment-API.patch} | 0 ...PI.patch => 0286-Add-Mob-lookAt-API.patch} | 0 ...ta.patch => 0287-ItemStack-editMeta.patch} | 0 ... => 0288-Add-EntityInsideBlockEvent.patch} | 0 ...89-Attributes-API-for-item-defaults.patch} | 0 ...ause-to-Weather-ThunderChangeEvents.patch} | 0 ...patch => 0291-More-Lidded-Block-API.patch} | 0 ... => 0292-Add-PlayerKickEvent-causes.patch} | 0 ...0293-Add-PufferFishStateChangeEvent.patch} | 0 ...h => 0294-Add-BellRevealRaiderEvent.patch} | 0 ...95-Add-ElderGuardianAppearanceEvent.patch} | 0 ...0296-Add-more-line-of-sight-methods.patch} | 0 ... => 0297-Add-WaterBottleSplashEvent.patch} | 0 ... => 0298-Add-more-LimitedRegion-API.patch} | 0 ...=> 0299-Missing-Entity-Behavior-API.patch} | 0 ...ch => 0300-Adds-PlayerArmSwingEvent.patch} | 0 ...dd-PlayerSignCommandPreprocessEvent.patch} | 0 ...array-elements-in-command-arguments.patch} | 0 ...inger-API.patch => 0303-Stinger-API.patch} | 0 ...-to-contain-the-source-jars-in-stac.patch} | 0 ...tch => 0305-Add-PlayerSetSpawnEvent.patch} | 0 ...=> 0306-Added-EntityDamageItemEvent.patch} | 0 ...Make-EntityUnleashEvent-cancellable.patch} | 0 ...arget-without-changing-other-things.patch} | 0 ...ch => 0309-Add-BlockBreakBlockEvent.patch} | 0 ...pers-for-left-right-click-to-Action.patch} | 0 ...revent-NBT-copy-in-smithing-recipes.patch} | 0 ...patch => 0312-More-CommandBlock-API.patch} | 0 ...-missing-team-sidebar-display-slots.patch} | 0 ...0314-add-back-EntityPortalExitEvent.patch} | 0 ...-find-targets-for-lightning-strikes.patch} | 0 ... 0316-Get-entity-default-attributes.patch} | 0 ...d-API.patch => 0317-Left-handed-API.patch} | 0 ...ch => 0318-Add-more-advancement-API.patch} | 0 ...319-Add-ItemFactory-getSpawnEgg-API.patch} | 0 ...tch => 0320-Add-critical-damage-API.patch} | 0 ...0321-Fix-issues-with-mob-conversion.patch} | 0 ...ollidable-methods-to-various-places.patch} | 0 ...-ram-API.patch => 0323-Goat-ram-API.patch} | 0 ...dd-API-for-resetting-a-single-score.patch} | 0 ...5-Add-Raw-Byte-Entity-Serialization.patch} | 0 ...0326-Add-PlayerItemFrameChangeEvent.patch} | 0 ...> 0327-Add-player-health-update-API.patch} | 0 ...low-delegation-to-vanilla-chunk-gen.patch} | 8 +- ...patch => 0329-Add-more-Campfire-API.patch} | 0 ...ehicleCollisionEvent-HandlerList-up.patch} | 0 ... => 0331-Improve-scoreboard-entries.patch} | 0 ...ch => 0332-Entity-powdered-snow-API.patch} | 0 ...0333-Add-API-for-item-entity-health.patch} | 0 ...-canSmelt-methods-to-FurnaceInvento.patch} | 0 ...le-API.patch => 0335-Bucketable-API.patch} | 0 ...-for-default-config-comment-parsing.patch} | 0 ...anilla-BiomeProvider-from-WorldInfo.patch} | 0 ...load-to-PersistentDataContainer-has.patch} | 0 ...9-Multiple-Entries-with-Scoreboards.patch} | 0 ...ostname-to-AsyncPlayerPreLoginEvent.patch} | 0 ...n-strange-EventHandler-return-types.patch} | 0 ...atch => 0342-Multi-Block-Change-API.patch} | 0 ...ent.patch => 0343-Fix-NotePlayEvent.patch} | 0 ....patch => 0344-Freeze-Tick-Lock-API.patch} | 0 ...lphin-API.patch => 0345-Dolphin-API.patch} | 0 ...h => 0346-More-PotionEffectType-API.patch} | 0 ...command-sender-which-forwards-feedb.patch} | 8 +- ...h => 0348-Implement-regenerateChunk.patch} | 0 ...gs.patch => 0349-Add-GameEvent-tags.patch} | 0 ...tch => 0350-Furnace-RecipesUsed-API.patch} | 0 ...gurable-sculk-sensor-listener-range.patch} | 0 ...d-missing-block-data-mins-and-maxes.patch} | 0 ...s.patch => 0353-Custom-Potion-Mixes.patch} | 8 +- ...Expose-furnace-minecart-push-values.patch} | 0 ...I.patch => 0355-More-Projectile-API.patch} | 0 ...ch => 0356-Add-getComputedBiome-API.patch} | 0 ...h => 0357-Add-enchantWithLevels-API.patch} | 0 ... 0358-Add-TameableDeathMessageEvent.patch} | 0 ...hange-the-podium-of-the-EnderDragon.patch} | 0 ...ing-amount-to-PlayerItemDamageEvent.patch} | 0 ...> 0361-WorldCreator-keepSpawnLoaded.patch} | 0 ...Event-and-CollarColorable-interface.patch} | 0 ...> 0363-Add-PlayerStopUsingItemEvent.patch} | 0 ...64-FallingBlock-auto-expire-setting.patch} | 0 ...t-Type.patch => 0365-Keyed-Cat-Type.patch} | 0 ...dd-method-isTickingWorlds-to-Bukkit.patch} | 12 +- ... => 0367-Add-WardenAngerChangeEvent.patch} | 0 ...I.patch => 0368-Nameable-Banner-API.patch} | 0 ...atch => 0369-Add-Player-getFishHook.patch} | 0 ...API.patch => 0370-More-Teleport-API.patch} | 0 ... => 0371-Add-EntityPortalReadyEvent.patch} | 0 ...tom-Chat-Completion-Suggestions-API.patch} | 0 ...ion-API.patch => 0373-Collision-API.patch} | 0 ...API.patch => 0374-Block-Ticking-API.patch} | 0 ...375-Add-NamespacedKey-biome-methods.patch} | 0 ...o-load-resources-from-LibraryLoader.patch} | 0 ...serialization-deserialization-for-P.patch} | 0 ...rameter-to-ProjectileSource-launchP.patch} | 0 ...limit-in-YamlConfigOptions-and-incr.patch} | 0 ... => 0380-Add-getDrops-to-BlockState.patch} | 0 ...-Add-PlayerInventorySlotChangeEvent.patch} | 0 ... 0382-Elder-Guardian-appearance-API.patch} | 0 ...ow-changing-bed-s-occupied-property.patch} | 0 ...d-EquipmentSlot-convenience-methods.patch} | 0 ...swingHand-EquipmentSlot-convenience.patch} | 0 ...ch => 0386-Add-entity-knockback-API.patch} | 0 ... => 0387-Added-EntityToggleSitEvent.patch} | 0 ...patch => 0388-Add-Moving-Piston-API.patch} | 0 ...0389-Add-PrePlayerAttackEntityEvent.patch} | 0 ... 0390-Add-Player-Warden-Warning-API.patch} | 0 ...a-friendly-methods-to-update-trades.patch} | 0 ...392-Add-paper-dumplisteners-command.patch} | 0 ....patch => 0393-ItemStack-damage-API.patch} | 0 ...patch => 0394-Add-Tick-TemporalUnit.patch} | 0 ...tion-API.patch => 0395-Friction-API.patch} | 0 ... 0396-Player-Entity-Tracking-Events.patch} | 0 ...atch => 0397-Add-missing-Fluid-type.patch} | 0 ...ments.patch => 0398-fix-Instruments.patch} | 0 ...tch => 0399-Add-BlockLockCheckEvent.patch} | 0 ... 0400-Add-Sneaking-API-for-Entities.patch} | 0 ....patch => 0401-Improve-PortalEvents.patch} | 0 ...ed-block-state-to-BlockExplodeEvent.patch} | 0 ...atch => 0403-Flying-Fall-Damage-API.patch} | 0 ...ion-moving-velocity-to-VehicleBlock.patch} | 0 ...eplace-ItemFlag.HIDE_POTION_EFFECTS.patch} | 0 ...en-API.patch => 0406-Win-Screen-API.patch} | 0 ...tch => 0407-Add-Entity-Body-Yaw-API.patch} | 0 ...or-InventoryBlockStartEvent-subclas.patch} | 0 ...=> 0409-Add-EntityFertilizeEggEvent.patch} | 0 ...temEvent-and-EntityCompostItemEvent.patch} | 0 ...API.patch => 0411-Add-Shearable-API.patch} | 0 ...Fix-SpawnEggMeta-get-setSpawnedType.patch} | 0 ... 0413-Add-Mob-Experience-reward-API.patch} | 0 ... => 0414-Expand-PlayerItemMendEvent.patch} | 0 ... => 0415-Add-transient-modifier-API.patch} | 0 ...tch => 0416-Add-API-for-waxed-signs.patch} | 0 ...he-experimental-smithing-inventory-.patch} | 0 patches/server/0002-Remap-fixes.patch | 25 ++ patches/server/0005-Paper-config-files.patch | 4 +- patches/server/0008-CB-fixes.patch | 6 +- patches/server/0009-MC-Utils.patch | 26 +- patches/server/0010-Adventure.patch | 242 ++++++++++-------- patches/server/0011-Paper-command.patch | 6 +- patches/server/0013-Paper-Plugins.patch | 14 +- patches/server/0014-Timings-v2.patch | 56 ++-- ...-option-to-load-extra-plugin-jars-no.patch | 4 +- .../server/0019-Rewrite-chunk-system.patch | 60 ++--- ...ient-crashes-server-lists-and-Mojang.patch | 8 +- .../0028-Implement-Paper-VersionChecker.patch | 4 +- .../0030-Player-affects-spawning-API.patch | 6 +- ...031-Further-improve-server-tick-loop.patch | 20 +- ...032-Only-refresh-abilities-if-needed.patch | 8 +- patches/server/0033-Entity-Origin-API.patch | 6 +- patches/server/0040-Optimize-explosions.patch | 4 +- ...45-Implement-PlayerLocaleChangeEvent.patch | 6 +- ...52-Ensure-commands-are-not-ran-async.patch | 20 +- .../0054-Expose-server-CommandMap.patch | 4 +- ...e-informative-in-maxHealth-exception.patch | 20 +- .../0056-Player-Tab-List-and-Title-APIs.patch | 4 +- .../server/0058-Add-velocity-warnings.patch | 6 +- ...ble-inter-world-teleportation-safety.patch | 4 +- .../0060-Add-exception-reporting-event.patch | 20 +- ...working-with-arrows-stuck-in-living-.patch | 6 +- .../0065-Complete-resource-pack-API.patch | 14 +- ...ading-permissions.yml-before-plugins.patch | 6 +- ...llow-Reloading-of-Custom-Permissions.patch | 4 +- .../0068-Remove-Metadata-on-reload.patch | 4 +- ...069-Handle-Item-Meta-Inconsistencies.patch | 46 ++-- ...th-absorb-values-and-repair-bad-data.patch | 4 +- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 4 +- ...0083-Add-PlayerUseUnknownEntityEvent.patch | 4 +- .../0088-Configurable-Player-Collision.patch | 6 +- ...-possibility-for-getServer-singleton.patch | 6 +- .../0098-Async-GameProfileCache-saving.patch | 4 +- ...setting-for-proxy-online-mode-status.patch | 4 +- ...onfigurable-packet-in-spam-threshold.patch | 4 +- patches/server/0109-Add-EntityZapEvent.patch | 4 +- ...2-Allow-Reloading-of-Command-Aliases.patch | 4 +- ...3-Add-source-to-PlayerExpChangeEvent.patch | 4 +- .../0114-Add-ProjectileCollideEvent.patch | 6 +- .../0120-String-based-Action-Bar-API.patch | 4 +- ...21-Properly-fix-item-duplication-bug.patch | 6 +- ...rovide-E-TE-Chunk-count-stat-methods.patch | 4 +- ...PI-for-Reason-Source-Triggering-play.patch | 4 +- ...e-CraftScheduler-Async-Task-Debugger.patch | 12 +- ...le-async-calls-to-restart-the-server.patch | 8 +- ...ke-parrots-stay-on-shoulders-despite.patch | 4 +- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...oleAppender-for-console-improvements.patch | 18 +- .../server/0140-Add-UnknownCommandEvent.patch | 6 +- .../server/0141-Basic-PlayerProfile-API.patch | 12 +- .../0142-Shoulder-Entities-Release-API.patch | 4 +- .../server/0145-Entity-fromMobSpawner.patch | 16 +- ...46-Improve-the-Saddle-API-for-Horses.patch | 8 +- ...mplement-ensureServerConversions-API.patch | 4 +- .../0148-Implement-getI18NDisplayName.patch | 4 +- .../server/0151-LivingEntity-setKiller.patch | 4 +- ...imer-when-spawner-event-is-cancelled.patch | 12 +- ...dle-ServerboundKeepAlivePacket-async.patch | 4 +- ...nt-protocol-version-and-virtual-host.patch | 4 +- ...-get-a-BlockState-without-a-snapshot.patch | 6 +- .../server/0167-AsyncTabCompleteEvent.patch | 6 +- ...9-Ability-to-apply-mending-to-XP-API.patch | 4 +- .../0175-Add-ArmorStand-Item-Meta.patch | 4 +- .../0177-Tameable-getOwnerUniqueId-API.patch | 4 +- ...nt-extended-PaperServerListPingEvent.patch | 4 +- .../0182-Player.setPlayerProfile-API.patch | 16 +- .../server/0183-getPlayerUniqueId-API.patch | 4 +- .../0184-Improved-Async-Task-Scheduler.patch | 40 +-- ...87-Flag-to-disable-the-channel-limit.patch | 6 +- ...8-Add-openSign-method-to-HumanEntity.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 9 +- ...Item-entities-with-World.spawnEntity.patch | 4 +- ...0201-ItemStack-getMaxItemUseDuration.patch | 6 +- .../0204-Fix-CraftEntity-hashCode.patch | 4 +- ...e-shield-blocking-delay-configurable.patch | 4 +- .../server/0211-Expand-Explosions-API.patch | 4 +- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 4 +- ...5-Implement-World.getEntity-UUID-API.patch | 6 +- .../0216-InventoryCloseEvent-Reason-API.patch | 24 +- ...nventory-when-cancelling-PlayerInter.patch | 4 +- ...6-Vanished-players-don-t-have-rights.patch | 4 +- ...on-t-call-getItemMeta-on-hasItemMeta.patch | 4 +- ...dd-Early-Warning-Feature-to-WatchDog.patch | 10 +- .../0249-Inventory-removeItemAnySlot.patch | 8 +- ...loadChunk-int-int-false-load-unconve.patch | 4 +- ...-ray-tracing-methods-to-LivingEntity.patch | 4 +- ...e-attack-cooldown-methods-for-Player.patch | 4 +- .../server/0253-Improve-death-events.patch | 8 +- ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 44 ++-- ...265-Add-LivingEntity-getTargetEntity.patch | 4 +- patches/server/0266-Add-sun-related-API.patch | 4 +- ...74-Reset-players-airTicks-on-respawn.patch | 4 +- ...er-Thread-Pool-and-Thread-Priorities.patch | 4 +- .../0277-Optimize-World-Time-Updates.patch | 4 +- ...t-allow-digging-into-unloaded-chunks.patch | 4 +- ...ault-permission-message-configurable.patch | 4 +- ...-replace-OfflinePlayer-getLastPlayed.patch | 14 +- ...-remove-from-being-called-on-Players.patch | 4 +- .../0294-Async-command-map-building.patch | 4 +- .../0297-Limit-Client-Sign-length-more.patch | 4 +- .../0301-Entity-getEntitySpawnReason.patch | 16 +- patches/server/0305-Server-Tick-Events.patch | 6 +- patches/server/0308-Add-Heightmap-API.patch | 4 +- .../0309-Mob-Spawner-API-Enhancements.patch | 12 +- .../0312-Implement-CraftBlockSoundGroup.patch | 4 +- ...le-Keep-Spawn-Loaded-range-per-world.patch | 10 +- ...315-Expose-the-internal-current-tick.patch | 4 +- ...316-Fix-World-isChunkGenerated-calls.patch | 6 +- .../0337-Entity-Activation-Range-2.0.patch | 8 +- patches/server/0343-Anti-Xray.patch | 10 +- ...345-Improve-Block-breakNaturally-API.patch | 6 +- patches/server/0350-Entity-Jump-API.patch | 4 +- ...-Add-tick-times-API-and-mspt-command.patch | 14 +- ...360-Expose-MinecraftServer-isRunning.patch | 4 +- ...Add-Raw-Byte-ItemStack-Serialization.patch | 4 +- .../0371-Improved-Watchdog-Support.patch | 30 +-- ...vent-opening-inventories-when-frozen.patch | 8 +- ...-Implement-Player-Client-Options-API.patch | 6 +- .../server/0385-Villager-Restocks-API.patch | 4 +- patches/server/0387-Expose-game-version.patch | 4 +- .../server/0390-misc-debugging-dumps.patch | 12 +- ...91-Prevent-teleporting-dead-entities.patch | 4 +- .../server/0393-Implement-Mob-Goal-API.patch | 4 +- .../0394-Add-villager-reputation-API.patch | 6 +- ...7-Fix-PotionEffect-ignores-icon-flag.patch | 4 +- ...Wait-for-Async-Tasks-during-shutdown.patch | 8 +- ...er-runTaskTimerAsynchronously-Plugin.patch | 4 +- ...Holder-method-without-block-snapshot.patch | 6 +- patches/server/0416-Improve-Arrow-API.patch | 4 +- ...implement-PlayerRecipeBookClickEvent.patch | 4 +- ...ld-Difficulty-Remembering-Difficulty.patch | 24 +- ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 22 +- ...-incremental-chunk-and-player-saving.patch | 10 +- ...nvert-legacy-attributes-in-Item-Meta.patch | 4 +- .../0432-Support-components-in-ItemMeta.patch | 14 +- .../server/0434-Add-entity-liquid-API.patch | 4 +- .../server/0437-Add-PrepareResultEvent.patch | 4 +- patches/server/0449-Brand-support.patch | 12 +- ...PickupItemAnimation-to-LivingEntity.patch} | 4 +- .../server/0450-Add-setMaxPlayers-API.patch | 37 --- ...h => 0451-Don-t-require-FACING-data.patch} | 0 ...eEvent-not-firing-for-all-use-cases.patch} | 4 +- ...PI.patch => 0453-Add-moon-phase-API.patch} | 4 +- ...headless-pistons-from-being-created.patch} | 0 ...ent.patch => 0455-Add-BellRingEvent.patch} | 2 +- ...dd-zombie-targets-turtle-egg-config.patch} | 0 ...patch => 0457-Buffer-joins-to-world.patch} | 0 ...-Eigencraft-redstone-implementation.patch} | 0 ...s-not-working-in-some-kick-messages.patch} | 0 ...reateEvent-needs-to-know-its-entity.patch} | 0 ...I.patch => 0461-Add-more-Evoker-API.patch} | 0 ...Add-methods-to-get-translation-keys.patch} | 4 +- .../0462-Fix-CraftTeam-null-check.patch | 19 -- ...te-HoverEvent-from-ItemStack-Entity.patch} | 4 +- ...ch => 0464-Cache-block-data-strings.patch} | 4 +- ...rtation-and-cancel-velocity-if-tele.patch} | 10 +- ...l-open-container-api-to-HumanEntity.patch} | 4 +- ...aFixerUpper-Rewrite-Rules-on-demand.patch} | 0 ...-capture-to-capture-all-items-added.patch} | 0 ...-Counter-to-allow-plugins-to-use-va.patch} | 6 +- ...track-plugin-scoreboards-by-default.patch} | 18 +- ...king.patch => 0471-Entity-isTicking.patch} | 6 +- ...non-whitelisted-player-when-white-l.patch} | 4 +- ...-Concurrency-issue-in-ShufflingList.patch} | 0 ...eset-Ender-Crystals-on-Dragon-Spawn.patch} | 0 ...-large-move-vectors-crashing-server.patch} | 2 +- ...atch => 0476-Optimise-getType-calls.patch} | 12 +- ....patch => 0477-Villager-resetOffers.patch} | 0 ...ce-order-when-capturing-blockstates.patch} | 0 ...lockpos-allocation-from-pathfinding.patch} | 0 ...em-locations-dropped-from-campfires.patch} | 0 ...tch => 0481-Player-elytra-boost-API.patch} | 10 +- ...82-Fixed-TileEntityBell-memory-leak.patch} | 0 ...ing-up-when-item-stack-is-empty-in-.patch} | 0 ...Add-getOfflinePlayerIfCached-String.patch} | 10 +- ...ch => 0485-Add-ignore-discounts-API.patch} | 0 ...Toggle-for-removing-existing-dragon.patch} | 0 ...x-client-lag-on-advancement-loading.patch} | 4 +- ...> 0488-Item-no-age-no-player-pickup.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...490-Beacon-API-custom-effect-ranges.patch} | 0 ...tch => 0491-Add-API-for-quit-reason.patch} | 6 +- ...ng-Trader-spawn-rate-config-options.patch} | 0 ...ch => 0493-Expose-world-spawn-angle.patch} | 2 +- ...patch => 0494-Add-Destroy-Speed-API.patch} | 4 +- ...-spawnParticle-x-y-z-precision-loss.patch} | 8 +- ...96-Add-LivingEntity-clearActiveItem.patch} | 4 +- ...=> 0497-Add-PlayerItemCooldownEvent.patch} | 0 ...rove-performance-of-the-end-generat.patch} | 0 ...PI.patch => 0499-More-lightning-API.patch} | 0 ...should-not-bypass-cramming-gamerule.patch} | 2 +- ...-missing-default-perms-for-commands.patch} | 0 ...h => 0502-Add-PlayerShearBlockEvent.patch} | 0 ...ng-zombie-villager-discount-exploit.patch} | 0 ....patch => 0504-Limit-recipe-packets.patch} | 4 +- ...-CraftSound-backwards-compatibility.patch} | 0 ...506-Player-Chunk-Load-Unload-Events.patch} | 2 +- ...7-Optimize-Dynamic-get-Missing-Keys.patch} | 0 ...-Expose-LivingEntity-hurt-direction.patch} | 6 +- ...OBSTRUCTED-reason-to-BedEnterResult.patch} | 2 +- ...-invalid-ingredient-lists-in-Villag.patch} | 0 ...rTradeEvent-and-PlayerPurchaseEvent.patch} | 2 +- ...ch => 0512-Implement-TargetHitEvent.patch} | 0 ... 0513-MC-4-Fix-item-position-desync.patch} | 2 +- ...514-Additional-Block-Material-API-s.patch} | 4 +- ...tch => 0515-Fix-harming-potion-dupe.patch} | 0 ...get-Material-from-Boats-and-Minecar.patch} | 0 ....patch => 0517-Cache-burn-durations.patch} | 0 ...ob-spawner-spawn-egg-transformation.patch} | 0 ...ix-Not-a-string-Map-Conversion-spam.patch} | 0 ...ment-PlayerFlowerPotManipulateEvent.patch} | 0 ...event-not-being-called-in-adventure.patch} | 6 +- ...h => 0522-Zombie-API-breaking-doors.patch} | 0 ...523-Fix-nerfed-slime-when-splitting.patch} | 0 ...=> 0524-Add-EntityLoadCrossbowEvent.patch} | 0 ...0525-Added-WorldGameRuleChangeEvent.patch} | 6 +- ...-Added-ServerResourcesReloadedEvent.patch} | 6 +- ...d-settings-for-mobs-picking-up-loot.patch} | 0 ...mplemented-BlockFailedDispenseEvent.patch} | 4 +- ...-Added-PlayerLecternPageChangeEvent.patch} | 0 ...-Added-PlayerLoomPatternSelectEvent.patch} | 0 ...nfigurable-door-breaking-difficulty.patch} | 0 ...ty-commands-shall-not-be-dispatched.patch} | 0 ...I-to-expose-exact-interaction-point.patch} | 4 +- ...OIs.patch => 0534-Remove-stale-POIs.patch} | 0 ...h => 0535-Fix-villager-boat-exploit.patch} | 2 +- ...I.patch => 0536-Add-sendOpLevel-API.patch} | 6 +- ...0537-TODO-Registry-Modification-API.patch} | 0 ...h => 0538-Add-StructuresLocateEvent.patch} | 0 ...-for-requiring-a-player-participant.patch} | 2 +- ...leHitEvent-call-when-fireballs-dead.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 0 ...542-Make-schedule-command-per-world.patch} | 0 ...543-Configurable-max-leash-distance.patch} | 0 ...544-Implement-BlockPreDispenseEvent.patch} | 4 +- ...ng-of-PlayerChangeBeaconEffectEvent.patch} | 0 ...e-for-always-placing-the-dragon-egg.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 0 ...eash-variable-to-EntityUnleashEvent.patch} | 4 +- ...shield-blocking-on-dimension-change.patch} | 2 +- ...atch => 0550-add-DragonEggFormEvent.patch} | 0 ...Event.patch => 0551-EntityMoveEvent.patch} | 4 +- ...isable-pathfinding-updates-on-block.patch} | 0 ... 0553-Inline-shift-direction-fields.patch} | 0 ...-adding-items-to-BlockDropItemEvent.patch} | 2 +- ...inThreadExecutor-to-BukkitScheduler.patch} | 8 +- ...entity-allow-attribute-registration.patch} | 4 +- ...ix-dead-slime-setSize-invincibility.patch} | 0 ...pes-should-return-an-immutable-list.patch} | 0 ...atch => 0559-Expose-Tracked-Players.patch} | 4 +- ...0-Remove-streams-from-SensorNearest.patch} | 0 ...er-exception-on-empty-JsonList-file.patch} | 0 ...GUI.patch => 0562-Improve-ServerGUI.patch} | 0 ...563-fix-converting-txt-to-json-file.patch} | 2 +- ...atch => 0564-Add-worldborder-events.patch} | 0 ...=> 0565-added-PlayerNameEntityEvent.patch} | 0 ...grindstones-from-overstacking-items.patch} | 0 ...h => 0567-Add-recipe-to-cook-events.patch} | 0 ...patch => 0568-Add-Block-isValidTool.patch} | 4 +- ...using-signs-inside-spawn-protection.patch} | 4 +- ....patch => 0570-Expand-world-key-API.patch} | 18 +- ...ternative-constructor-for-Rotations.patch} | 0 ...y-API.patch => 0572-Item-Rarity-API.patch} | 4 +- ...d-item-when-player-has-disconnected.patch} | 2 +- ...elist-use-configurable-kick-message.patch} | 4 +- ...gnore-result-of-PlayerEditBookEvent.patch} | 2 +- ...tch => 0576-Expose-protocol-version.patch} | 4 +- ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 0 ...patch => 0579-Add-bypass-host-check.patch} | 0 ...0580-Set-area-affect-cloud-rotation.patch} | 4 +- ...add-isDeeplySleeping-to-HumanEntity.patch} | 2 +- ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 0 ...-set-drop-chance-to-EntityEquipment.patch} | 4 +- ...ix-PigZombieAngerEvent-cancellation.patch} | 0 ...ix-PlayerItemHeldEvent-firing-twice.patch} | 4 +- ... => 0586-Added-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0587-More-World-API.patch} | 6 +- ... 0588-Added-PlayerBedFailEnterEvent.patch} | 0 ...89-Entity-load-save-limit-per-chunk.patch} | 0 ...-to-convert-between-Component-and-B.patch} | 0 ...n-acting-as-a-bed-respawn-from-the-.patch} | 2 +- ...acon-activation-deactivation-events.patch} | 0 ...-RespawnFlags-to-PlayerRespawnEvent.patch} | 6 +- ...dd-Channel-initialization-listeners.patch} | 0 ...mands-if-tab-completion-is-disabled.patch} | 0 ...> 0596-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ...address-to-AsyncPlayerPreLoginEvent.patch} | 0 ...close.patch => 0600-Inventory-close.patch} | 2 +- ...-in-sunlight-API-for-Phantoms-and-S.patch} | 0 ...=> 0602-Fix-CraftPotionBrewer-cache.patch} | 0 ...atch => 0603-Add-basic-Datapack-API.patch} | 8 +- ...ment-variable-to-disable-server-gui.patch} | 0 ...itions-to-PlayerGameModeChangeEvent.patch} | 14 +- ... => 0606-ItemStack-repair-check-API.patch} | 4 +- ....patch => 0607-More-Enchantment-API.patch} | 4 +- ...ve-range-check-for-block-placing-up.patch} | 4 +- ...-and-optimise-world-force-upgrading.patch} | 19 +- ...PI.patch => 0610-Add-Mob-lookAt-API.patch} | 0 ...0611-Add-Unix-domain-socket-support.patch} | 4 +- ... => 0612-Add-EntityInsideBlockEvent.patch} | 0 ...13-Attributes-API-for-item-defaults.patch} | 4 +- ...ause-to-Weather-ThunderChangeEvents.patch} | 6 +- ...patch => 0615-More-Lidded-Block-API.patch} | 0 ...16-Limit-item-frame-cursors-on-maps.patch} | 0 ... => 0617-Add-PlayerKickEvent-causes.patch} | 56 ++-- ...0618-Add-PufferFishStateChangeEvent.patch} | 0 ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ThreadingDe.patch} | 0 ...-to-fix-items-merging-through-walls.patch} | 0 ...h => 0622-Add-BellRevealRaiderEvent.patch} | 0 ... 0623-Fix-invulnerable-end-crystals.patch} | 0 ...24-Add-ElderGuardianAppearanceEvent.patch} | 0 ...0625-Fix-dangerous-end-portal-logic.patch} | 2 +- ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 0 ...-Make-item-validations-configurable.patch} | 8 +- ...patch => 0628-Line-Of-Sight-Changes.patch} | 24 +- ... => 0629-add-per-world-spawn-limits.patch} | 4 +- ...h => 0630-Fix-potions-splash-events.patch} | 0 ... => 0631-Add-more-LimitedRegion-API.patch} | 4 +- ...layerDropItemEvent-using-wrong-item.patch} | 2 +- ...=> 0633-Missing-Entity-Behavior-API.patch} | 20 +- ...ect-for-book-edit-is-called-on-main.patch} | 2 +- ...of-Block-applyBoneMeal-always-being.patch} | 4 +- ...tChunkIfLoadedImmediately-in-places.patch} | 0 ...rom-signs-not-firing-command-events.patch} | 0 ...ch => 0638-Adds-PlayerArmSwingEvent.patch} | 4 +- ...-event-leave-message-not-being-sent.patch} | 10 +- ...-for-mobs-immune-to-default-effects.patch} | 0 ...correct-message-for-outdated-client.patch} | 0 ...-t-apply-cramming-damage-to-players.patch} | 2 +- ...d-timings-for-sensors-and-behaviors.patch} | 0 ...-bunch-of-missing-forceDrop-toggles.patch} | 0 ...inger-API.patch => 0645-Stinger-API.patch} | 4 +- ...cy-issue-with-empty-map-items-in-CB.patch} | 0 ... => 0647-Add-System.out-err-catcher.patch} | 4 +- ... => 0648-Fix-test-not-bootstrapping.patch} | 0 ...-to-contain-the-source-jars-in-stac.patch} | 0 ...-Improve-boat-collision-performance.patch} | 0 ...AFK-kick-while-watching-end-credits.patch} | 2 +- ...iting-of-comments-to-server.propert.patch} | 0 ...tch => 0653-Add-PlayerSetSpawnEvent.patch} | 8 +- ...rs-respect-inventory-max-stack-size.patch} | 0 ...ize-entity-tracker-passenger-checks.patch} | 0 ...-option-for-Piglins-guarding-chests.patch} | 0 ...=> 0657-Added-EntityDamageItemEvent.patch} | 0 ...timize-indirect-passenger-iteration.patch} | 2 +- ...em-frame-map-cursor-update-interval.patch} | 0 ...Make-EntityUnleashEvent-cancellable.patch} | 0 ...661-Clear-bucket-NBT-after-dispense.patch} | 0 ...arget-without-changing-other-things.patch} | 0 ...ch => 0663-Add-BlockBreakBlockEvent.patch} | 0 ...revent-NBT-copy-in-smithing-recipes.patch} | 0 ...patch => 0665-More-CommandBlock-API.patch} | 0 ...-missing-team-sidebar-display-slots.patch} | 0 ...0667-Add-back-EntityPortalExitEvent.patch} | 2 +- ...-find-targets-for-lightning-strikes.patch} | 4 +- ... 0669-Get-entity-default-attributes.patch} | 4 +- ...d-API.patch => 0670-Left-handed-API.patch} | 0 ...ch => 0671-Add-more-advancement-API.patch} | 0 ...672-Add-ItemFactory-getSpawnEgg-API.patch} | 4 +- ...tch => 0673-Add-critical-damage-API.patch} | 4 +- ...0674-Fix-issues-with-mob-conversion.patch} | 0 ...ollidable-methods-to-various-places.patch} | 16 +- ...-ram-API.patch => 0676-Goat-ram-API.patch} | 0 ...dd-API-for-resetting-a-single-score.patch} | 0 ...8-Add-Raw-Byte-Entity-Serialization.patch} | 10 +- ...79-Vanilla-command-permission-fixes.patch} | 2 +- ...logic-for-inventories-on-chunk-unlo.patch} | 2 +- ...81-Fix-GameProfileCache-concurrency.patch} | 0 ...682-Improve-and-expand-AsyncCatcher.patch} | 8 +- ...per-mobcaps-and-paper-playermobcaps.patch} | 12 +- ...tize-ResourceLocation-error-logging.patch} | 0 ...rolled-flushing-for-network-manager.patch} | 0 ...=> 0686-Optimise-general-POI-access.patch} | 0 ...rCloseEnoughForSpawning-to-use-dist.patch} | 2 +- ... 0688-Optimise-chunk-tick-iteration.patch} | 0 ...> 0689-Execute-chunk-tasks-mid-tick.patch} | 6 +- ...ulate-regionfile-header-if-it-is-co.patch} | 0 ...ementation-for-blockstate-state-loo.patch} | 0 ...-more-information-in-watchdog-dumps.patch} | 2 +- ...lly-inline-methods-in-BlockPosition.patch} | 0 ... 0694-Distance-manager-tick-timings.patch} | 0 ...ler-threads-according-to-the-plugin.patch} | 0 ...-getChunkAt-has-inlined-logic-for-l.patch} | 0 ...h => 0697-Add-packet-limiter-config.patch} | 0 ...our-chunk-data-off-disk-when-conver.patch} | 0 ...sh-calls-for-entity-tracker-packets.patch} | 0 ...-lookup-fluid-state-when-raytracing.patch} | 0 ...atch => 0701-Time-scoreboard-search.patch} | 2 +- ...packets-for-hard-colliding-entities.patch} | 0 ...3-Do-not-run-raytrace-logic-for-AIR.patch} | 0 ...rimise-map-impl-for-tracked-players.patch} | 0 ...imise-BlockSoil-nearby-water-lookup.patch} | 0 ... 0706-Optimise-random-block-ticking.patch} | 0 ...7-Optimise-non-flush-packet-sending.patch} | 0 ...0708-Optimise-nearby-player-lookups.patch} | 0 ...0709-Remove-streams-for-villager-AI.patch} | 0 ...city-compression-and-cipher-natives.patch} | 0 ...hread-worker-count-for-low-core-cou.patch} | 0 ...ix-Bukkit-NamespacedKey-shenanigans.patch} | 0 ...ntory-not-closing-on-entity-removal.patch} | 0 ...rement-before-suggesting-root-nodes.patch} | 0 ...ServerboundCommandSuggestionPacket-.patch} | 2 +- ...nColor-on-tropical-fish-bucket-meta.patch} | 0 ...=> 0717-Ensure-valid-vehicle-status.patch} | 2 +- ...ftlocked-end-exit-portal-generation.patch} | 0 ...r-causing-a-crash-when-trying-to-ge.patch} | 0 ...-t-log-debug-logging-being-disabled.patch} | 0 ...ous-menus-with-empty-level-accesses.patch} | 0 ...h => 0722-Preserve-overstacked-loot.patch} | 0 ...ate-head-rotation-in-missing-places.patch} | 2 +- ...unintended-light-block-manipulation.patch} | 0 ...0725-Fix-CraftCriteria-defaults-map.patch} | 0 ...Fix-upstreams-block-state-factories.patch} | 0 ...ion-for-logging-player-ip-addresses.patch} | 2 +- ... => 0728-Configurable-feature-seeds.patch} | 0 ...pper-didnt-account-for-entity-sende.patch} | 2 +- ... 0730-Add-root-admin-user-detection.patch} | 0 ...ays-allow-item-changing-in-Fireball.patch} | 0 ...t-attempt-to-teleport-dead-entities.patch} | 2 +- ...ive-velocity-through-repeated-crits.patch} | 0 ...e-code-using-deprecated-for-removal.patch} | 0 ...emoving-recipes-from-RecipeIterator.patch} | 13 +- ...versized-item-data-in-equipment-and.patch} | 0 ...e-unnecessary-itemmeta-from-clients.patch} | 4 +- ...=> 0738-Fix-Spigot-growth-modifiers.patch} | 0 ...OpenersCounter-openCount-from-going.patch} | 0 ...0740-Add-PlayerItemFrameChangeEvent.patch} | 0 ...> 0741-Add-player-health-update-API.patch} | 6 +- ...tch => 0742-Optimize-HashMapPalette.patch} | 0 ...low-delegation-to-vanilla-chunk-gen.patch} | 4 +- ...ingle-and-multi-AABB-VoxelShapes-an.patch} | 6 +- ...n-checking-in-player-move-packet-ha.patch} | 4 +- ...-isSectionEmpty-int-and-optimize-Pa.patch} | 0 ...patch => 0747-Add-more-Campfire-API.patch} | 0 ...data-to-disk-if-it-serializes-witho.patch} | 0 ...49-Fix-tripwire-state-inconsistency.patch} | 0 ...ard-CraftEntity-in-teleport-command.patch} | 2 +- ... => 0751-Improve-scoreboard-entries.patch} | 24 +- ...ch => 0752-Entity-powdered-snow-API.patch} | 4 +- ...0753-Add-API-for-item-entity-health.patch} | 0 ...-type-tags-suggestions-in-selectors.patch} | 0 ...ax-block-light-for-monster-spawning.patch} | 0 ...pistons-and-BlockPistonRetractEvent.patch} | 0 ...plifiers-greater-than-127-correctly.patch} | 0 ...-canSmelt-methods-to-FurnaceInvento.patch} | 0 ...=> 0759-Fix-bees-aging-inside-hives.patch} | 0 ...le-API.patch => 0760-Bucketable-API.patch} | 0 ...es.patch => 0761-Validate-usernames.patch} | 2 +- ...er-animal-spawn-height-configurable.patch} | 0 ...anilla-BiomeProvider-from-WorldInfo.patch} | 12 +- ...ion-for-worlds-affected-by-time-cmd.patch} | 0 ...load-to-PersistentDataContainer-has.patch} | 4 +- ...6-Multiple-Entries-with-Scoreboards.patch} | 10 +- ...767-Reset-placed-block-on-exception.patch} | 0 ...configurable-height-for-slime-spawn.patch} | 0 ...ostname-to-AsyncPlayerPreLoginEvent.patch} | 0 ...0770-Fix-xp-reward-for-baby-zombies.patch} | 0 ... 0771-Kick-on-main-for-illegal-chat.patch} | 8 +- ...lti-Block-Change-API-Implementation.patch} | 4 +- ...ent.patch => 0773-Fix-NotePlayEvent.patch} | 0 ....patch => 0774-Freeze-Tick-Lock-API.patch} | 4 +- ...lphin-API.patch => 0775-Dolphin-API.patch} | 0 ...h => 0776-More-PotionEffectType-API.patch} | 0 ...for-StructureTemplate.Pallete-cache.patch} | 0 ...command-sender-which-forwards-feedb.patch} | 6 +- ...-missing-structure-set-seed-configs.patch} | 0 ...h => 0780-Implement-regenerateChunk.patch} | 6 +- ...lled-powdered-snow-bucket-placement.patch} | 0 ...ate-calls-to-CraftServer-getSpawnLi.patch} | 8 +- ...gs.patch => 0783-Add-GameEvent-tags.patch} | 6 +- ...ks-fairly-for-worlds-while-waiting-.patch} | 6 +- ...tch => 0785-Furnace-RecipesUsed-API.patch} | 0 ...gurable-sculk-sensor-listener-range.patch} | 0 ...d-missing-block-data-mins-and-maxes.patch} | 0 ...fault-CustomSpawners-in-custom-worl.patch} | 4 +- ...-worldlist-before-initing-the-world.patch} | 8 +- ... => 0790-Fix-Entity-Position-Desync.patch} | 0 ...s.patch => 0791-Custom-Potion-Mixes.patch} | 16 +- ...92-Force-close-world-loading-screen.patch} | 2 +- ...793-Fix-falling-block-spawn-methods.patch} | 18 +- ...Expose-furnace-minecart-push-values.patch} | 0 ...ojectileHitEvent-for-piercing-arrow.patch} | 0 ...I.patch => 0796-More-Projectile-API.patch} | 30 +-- ...x-swamp-hut-cat-generation-deadlock.patch} | 0 ...le-movement-from-players-while-tele.patch} | 2 +- ...0799-Implement-getComputedBiome-API.patch} | 10 +- ...> 0800-Make-some-itemstacks-nonnull.patch} | 4 +- ...801-Implement-enchantWithLevels-API.patch} | 14 +- ...h => 0802-Fix-saving-in-unloadWorld.patch} | 4 +- ...h => 0803-Buffer-OOB-setBlock-calls.patch} | 0 ... 0804-Add-TameableDeathMessageEvent.patch} | 0 ...ock-data-for-EntityChangeBlockEvent.patch} | 0 ...bles-running-when-mob-loot-gamerule.patch} | 2 +- ...ssenger-world-matches-ridden-entity.patch} | 2 +- ...rd-against-invalid-entity-positions.patch} | 2 +- ...s.patch => 0809-cache-resource-keys.patch} | 4 +- ...ange-the-podium-for-the-EnderDragon.patch} | 0 ...erriding-a-block-entity-during-worl.patch} | 0 ...eGrowEvent-species-for-RED_MUSHROOM.patch} | 0 ...t-tile-entity-copies-loading-chunks.patch} | 4 +- ...ead-of-display-name-in-PlayerList-g.patch} | 2 +- ...s-not-spawning-outside-slime-chunks.patch} | 0 ...-ServerLevel-for-gamerule-callbacks.patch} | 10 +- ...ing-amount-to-PlayerItemDamageEvent.patch} | 0 ...> 0818-WorldCreator-keepSpawnLoaded.patch} | 4 +- ...destroyed-trigger-in-the-correct-pl.patch} | 0 ...Event-and-CollarColorable-interface.patch} | 0 ...CauldronLevelChange-on-initial-fill.patch} | 0 ...snow-cauldrons-not-turning-to-water.patch} | 0 ...> 0823-Add-PlayerStopUsingItemEvent.patch} | 0 ...24-FallingBlock-auto-expire-setting.patch} | 0 ...rs.patch => 0825-Don-t-tick-markers.patch} | 2 +- ...-not-accept-invalid-client-settings.patch} | 4 +- ...0827-Add-support-for-Proxy-Protocol.patch} | 0 ...x-OfflinePlayer-getBedSpawnLocation.patch} | 0 ...tory-for-smokers-and-blast-furnaces.patch} | 0 ... 0830-Sanitize-Sent-BlockEntity-NBT.patch} | 0 ...-selector-resolving-in-books-by-def.patch} | 0 ...ntity-loading-causing-async-lookups.patch} | 2 +- ...-on-world-create-while-being-ticked.patch} | 16 +- ...ate-Current-redstone-implementation.patch} | 0 ...35-Dont-resent-entity-on-art-update.patch} | 0 ... => 0836-Add-WardenAngerChangeEvent.patch} | 0 ...strict-advancement-dimension-checks.patch} | 2 +- ...tant-BlockStateListPopulator-method.patch} | 0 ...I.patch => 0839-Nameable-Banner-API.patch} | 0 ...roadcast-messages-to-command-blocks.patch} | 4 +- ...pty-items-from-being-added-to-world.patch} | 0 ...hPotion-and-LingeringPotion-spawnin.patch} | 2 +- ...nent-in-resource-pack-rejection-mes.patch} | 4 +- ...atch => 0844-Add-Player-getFishHook.patch} | 2 +- ...chunk-for-dynamic-game-event-listen.patch} | 0 ...s-missing-EntityDropItemEvent-calls.patch} | 2 +- ...debug-information-to-chat-packet-er.patch} | 4 +- ...PE.patch => 0848-Fix-Bee-flower-NPE.patch} | 0 ...-not-using-commands.spam-exclusions.patch} | 4 +- ...API.patch => 0850-More-Teleport-API.patch} | 16 +- ... => 0851-Add-EntityPortalReadyEvent.patch} | 2 +- ...level-random-in-entity-constructors.patch} | 0 ...k-entities-after-destroy-prediction.patch} | 4 +- ...on-plugins-accessing-faraway-chunks.patch} | 16 +- ...tom-Chat-Completion-Suggestions-API.patch} | 4 +- ...=> 0856-Add-missing-BlockFadeEvents.patch} | 0 ...ion-API.patch => 0857-Collision-API.patch} | 8 +- ...nd-message-for-brigadier-syntax-exc.patch} | 0 ...-invalid-signature-login-stacktrace.patch} | 4 +- ...API.patch => 0860-Block-Ticking-API.patch} | 4 +- ...-Add-Velocity-IP-Forwarding-Support.patch} | 2 +- ...andom-in-ServerLoginPacketListenerI.patch} | 0 ...863-Add-NamespacedKey-biome-methods.patch} | 4 +- ...x-plugin-loggers-on-server-shutdown.patch} | 4 +- ...ok-changes-from-crashing-the-server.patch} | 0 ...tityChangeBlockEvent-in-more-places.patch} | 0 ...> 0867-Missing-eating-regain-reason.patch} | 0 ....patch => 0868-Missing-effect-cause.patch} | 0 ...serialization-deserialization-for-P.patch} | 2 +- ...rameter-to-ProjectileSource-launchP.patch} | 10 +- ...1-Call-BlockPhysicsEvent-more-often.patch} | 0 ...0872-Configurable-chat-thread-limit.patch} | 0 ...of-WorldCreator-keepSpawnLoaded-ret.patch} | 0 ... 0874-fix-Jigsaw-block-kicking-user.patch} | 0 ...mEvent-for-mud-converting-into-clay.patch} | 0 ... => 0876-Add-getDrops-to-BlockState.patch} | 4 +- ...=> 0877-Fix-a-bunch-of-vanilla-bugs.patch} | 0 ...y-onTrackingStart-during-navigation.patch} | 0 ... 0879-Fix-custom-piglin-loved-items.patch} | 0 ...=> 0880-EntityPickupItemEvent-fixes.patch} | 0 ...interactions-with-items-on-cooldown.patch} | 2 +- ...-Add-PlayerInventorySlotChangeEvent.patch} | 2 +- ... 0883-Elder-Guardian-appearance-API.patch} | 4 +- ...ow-changing-bed-s-occupied-property.patch} | 0 ...ch => 0885-Add-entity-knockback-API.patch} | 4 +- ....patch => 0886-Detect-headless-JREs.patch} | 0 ...-vehicle-collision-event-not-called.patch} | 0 ...8-optimized-dirt-and-snow-spreading.patch} | 0 ... => 0889-Added-EntityToggleSitEvent.patch} | 0 ... => 0890-Add-fire-tick-delay-option.patch} | 0 ...patch => 0891-Add-Moving-Piston-API.patch} | 0 ...> 0892-Ignore-impossible-spawn-tick.patch} | 2 +- ...source-for-fireworks-from-dispenser.patch} | 0 ...t-suggestion-permissions-to-align-w.patch} | 0 ...Event-cancellation-cant-fully-preve.patch} | 2 +- ...Prevent-compass-from-loading-chunks.patch} | 0 ...0897-Add-PrePlayerAttackEntityEvent.patch} | 0 ...e-reset-EnderDragon-boss-event-name.patch} | 0 ...-green-map-markers-do-not-disappear.patch} | 0 ... 0900-Add-Player-Warden-Warning-API.patch} | 4 +- ...a-friendly-methods-to-update-trades.patch} | 4 +- ...902-Add-paper-dumplisteners-command.patch} | 0 ...lobal-player-list-where-appropriate.patch} | 0 ...sync-entity-add-due-to-fungus-trees.patch} | 2 +- ....patch => 0905-ItemStack-damage-API.patch} | 4 +- ...tion-API.patch => 0906-Friction-API.patch} | 4 +- ...trol-player-s-insomnia-and-phantoms.patch} | 0 ...=> 0908-Fix-player-kick-on-shutdown.patch} | 0 ... => 0909-Sync-offhand-slot-in-menus.patch} | 2 +- ... 0910-Player-Entity-Tracking-Events.patch} | 2 +- ...tch => 0911-Limit-pet-look-distance.patch} | 0 ...ch => 0912-Properly-resend-entities.patch} | 6 +- ...nd-additions-to-the-SpawnReason-API.patch} | 0 patches/server/0914-fix-Instruments.patch | 53 ++++ ...for-some-hot-BlockBehavior-and-Flui.patch} | 0 ...es-in-dispense-events-regarding-sta.patch} | 0 patches/server/0916-fix-Instruments.patch | 85 ------ ... => 0917-Improve-logging-and-errors.patch} | 2 +- ...tch => 0918-Add-BlockLockCheckEvent.patch} | 0 ... 0919-Add-Sneaking-API-for-Entities.patch} | 4 +- ....patch => 0920-Improve-PortalEvents.patch} | 2 +- ...ion-for-spider-worldborder-climbing.patch} | 2 +- ...sing-SpigotConfig-logCommands-check.patch} | 4 +- ...Allay-stopDancing-while-not-dancing.patch} | 0 ...ge.patch => 0924-Flying-Fall-Damage.patch} | 4 +- ...ed-block-state-to-BlockExplodeEvent.patch} | 0 ...ion-moving-velocity-to-VehicleBlock.patch} | 2 +- ...onfig-for-disabling-entity-tag-tags.patch} | 0 ...e-player-info-update-packet-on-join.patch} | 6 +- ...k-items-during-EntityResurrectEvent.patch} | 0 ...en-API.patch => 0930-Win-Screen-API.patch} | 4 +- ...ItemStack-setAmount-null-assignment.patch} | 4 +- ...ix-force-opening-enchantment-tables.patch} | 4 +- ...tch => 0933-Add-Entity-Body-Yaw-API.patch} | 4 +- ...vent-sleeping-villagers-moving-towa.patch} | 0 ...hen-a-captured-block-state-is-outda.patch} | 0 ...=> 0936-Add-EntityFertilizeEggEvent.patch} | 4 +- ...ty-drop-not-updating-the-client-inv.patch} | 4 +- ...temEvent-and-EntityCompostItemEvent.patch} | 0 ...ctly-handle-ArmorStand-invisibility.patch} | 0 ...ancement-triggers-for-entity-damage.patch} | 0 ...941-Fix-text-display-error-on-spawn.patch} | 0 ...nventories-returning-null-Locations.patch} | 0 ...API.patch => 0943-Add-Shearable-API.patch} | 0 ...Fix-SpawnEggMeta-get-setSpawnedType.patch} | 0 ...kshelf-and-jukebox-setItem-with-air.patch} | 4 +- ...pers.patch => 0946-Optimize-Hoppers.patch} | 4 +- ...ives-generating-from-using-bonemeal.patch} | 0 ...=> 0948-Fix-api-checking-banned-ips.patch} | 4 +- ...g-to-bad-recipes-in-furnace-like-ti.patch} | 0 ...ence-violations-like-they-should-be.patch} | 4 +- ...uplicate-animate-packet-for-records.patch} | 0 ...xpired-keys-from-impacting-new-join.patch} | 4 +- ...ts-being-fired-from-unloaded-chunks.patch} | 0 ...0954-Use-array-for-gamerule-storage.patch} | 0 ...Fix-a-couple-of-upstream-bed-issues.patch} | 0 ...ix-demo-flag-not-enabling-demo-mode.patch} | 0 ... 0957-Add-Mob-Experience-reward-API.patch} | 0 ...redstone-on-top-of-trap-doors-early.patch} | 0 ...-Fix-DamageCause-for-Falling-Blocks.patch} | 2 +- ...Lazy-Initialization-for-Enum-Fields.patch} | 0 ...61-More-accurate-isInOpenWater-impl.patch} | 4 +- ...ccess-to-lookups-field-in-RegistryO.patch} | 0 ...ecalcBlockCounts-for-empty-sections.patch} | 0 ...ehive-without-any-players-nearby-th.patch} | 0 ... => 0965-Expand-PlayerItemMendEvent.patch} | 8 +- ...sh-ProjectileSource-for-projectiles.patch} | 2 +- ... => 0967-Add-transient-modifier-API.patch} | 0 ...patch => 0968-Fix-block-place-logic.patch} | 0 ...nd-playing-for-BlockItem-ItemStacks.patch} | 0 ...efinitions-of-trim-material-pattern.patch} | 0 ...BlockGrowEvent-for-the-pitcher-crop.patch} | 0 ...tch => 0972-Add-API-for-waxed-signs.patch} | 0 ...he-experimental-smithing-inventory-.patch} | 2 +- ...sendSignChange0-s-usage-of-SignText.patch} | 4 +- work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 904 files changed, 1598 insertions(+), 1695 deletions(-) rename patches/api/{0208-Add-BellRingEvent.patch => 0207-Add-BellRingEvent.patch} (100%) delete mode 100644 patches/api/0207-Add-setMaxPlayers-API.patch rename patches/api/{0209-Add-moon-phase-API.patch => 0208-Add-moon-phase-API.patch} (100%) rename patches/api/{0210-Add-playPickupItemAnimation-to-LivingEntity.patch => 0209-Add-playPickupItemAnimation-to-LivingEntity.patch} (100%) rename patches/api/{0211-Add-more-Evoker-API.patch => 0210-Add-more-Evoker-API.patch} (100%) rename patches/api/{0212-Add-methods-to-get-translation-keys.patch => 0211-Add-methods-to-get-translation-keys.patch} (100%) rename patches/api/{0213-Create-HoverEvent-from-ItemStack-Entity.patch => 0212-Create-HoverEvent-from-ItemStack-Entity.patch} (100%) rename patches/api/{0214-Add-additional-open-container-api-to-HumanEntity.patch => 0213-Add-additional-open-container-api-to-HumanEntity.patch} (100%) rename patches/api/{0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch => 0214-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch} (100%) rename patches/api/{0216-Entity-isTicking.patch => 0215-Entity-isTicking.patch} (100%) rename patches/api/{0217-Villager-resetOffers.patch => 0216-Villager-resetOffers.patch} (100%) rename patches/api/{0218-Player-elytra-boost-API.patch => 0217-Player-elytra-boost-API.patch} (100%) rename patches/api/{0219-Add-getOfflinePlayerIfCached-String.patch => 0218-Add-getOfflinePlayerIfCached-String.patch} (88%) rename patches/api/{0220-Add-ignore-discounts-API.patch => 0219-Add-ignore-discounts-API.patch} (100%) rename patches/api/{0221-Item-no-age-no-player-pickup.patch => 0220-Item-no-age-no-player-pickup.patch} (100%) rename patches/api/{0222-Beacon-API-custom-effect-ranges.patch => 0221-Beacon-API-custom-effect-ranges.patch} (100%) rename patches/api/{0223-Add-API-for-quit-reason.patch => 0222-Add-API-for-quit-reason.patch} (100%) rename patches/api/{0224-Add-Destroy-Speed-API.patch => 0223-Add-Destroy-Speed-API.patch} (100%) rename patches/api/{0225-Add-LivingEntity-clearActiveItem.patch => 0224-Add-LivingEntity-clearActiveItem.patch} (100%) rename patches/api/{0226-Add-PlayerItemCooldownEvent.patch => 0225-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/api/{0227-More-lightning-API.patch => 0226-More-lightning-API.patch} (100%) rename patches/api/{0228-Add-PlayerShearBlockEvent.patch => 0227-Add-PlayerShearBlockEvent.patch} (100%) rename patches/api/{0229-Player-Chunk-Load-Unload-Events.patch => 0228-Player-Chunk-Load-Unload-Events.patch} (100%) rename patches/api/{0230-Expose-LivingEntity-hurt-direction.patch => 0229-Expose-LivingEntity-hurt-direction.patch} (100%) rename patches/api/{0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => 0230-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (100%) rename patches/api/{0232-Added-PlayerTradeEvent.patch => 0231-Added-PlayerTradeEvent.patch} (100%) rename patches/api/{0233-Add-TargetHitEvent-API.patch => 0232-Add-TargetHitEvent-API.patch} (100%) rename patches/api/{0234-Additional-Block-Material-API-s.patch => 0233-Additional-Block-Material-API-s.patch} (100%) rename patches/api/{0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch => 0234-Add-API-to-get-Material-from-Boats-and-Minecarts.patch} (100%) rename patches/api/{0236-Add-PlayerFlowerPotManipulateEvent.patch => 0235-Add-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/api/{0237-Zombie-API-breaking-doors.patch => 0236-Zombie-API-breaking-doors.patch} (100%) rename patches/api/{0238-Add-EntityLoadCrossbowEvent.patch => 0237-Add-EntityLoadCrossbowEvent.patch} (100%) rename patches/api/{0239-Added-WorldGameRuleChangeEvent.patch => 0238-Added-WorldGameRuleChangeEvent.patch} (100%) rename patches/api/{0240-Added-ServerResourcesReloadedEvent.patch => 0239-Added-ServerResourcesReloadedEvent.patch} (100%) rename patches/api/{0241-Add-BlockFailedDispenseEvent.patch => 0240-Add-BlockFailedDispenseEvent.patch} (100%) rename patches/api/{0242-Added-PlayerLecternPageChangeEvent.patch => 0241-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/api/{0243-Added-PlayerLoomPatternSelectEvent.patch => 0242-Added-PlayerLoomPatternSelectEvent.patch} (100%) rename patches/api/{0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch => 0243-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch} (100%) rename patches/api/{0245-Add-sendOpLevel-API.patch => 0244-Add-sendOpLevel-API.patch} (100%) rename patches/api/{0246-Add-PaperRegistry.patch => 0245-Add-PaperRegistry.patch} (100%) rename patches/api/{0247-Add-StructuresLocateEvent.patch => 0246-Add-StructuresLocateEvent.patch} (100%) rename patches/api/{0248-Add-BlockPreDispenseEvent.patch => 0247-Add-BlockPreDispenseEvent.patch} (100%) rename patches/api/{0249-Added-missing-vanilla-tags.patch => 0248-Added-missing-vanilla-tags.patch} (100%) rename patches/api/{0250-Added-PlayerChangeBeaconEffectEvent.patch => 0249-Added-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/api/{0251-Added-PlayerStonecutterRecipeSelectEvent.patch => 0250-Added-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/api/{0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch => 0251-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (100%) rename patches/api/{0253-add-DragonEggFormEvent.patch => 0252-add-DragonEggFormEvent.patch} (100%) rename patches/api/{0254-EntityMoveEvent.patch => 0253-EntityMoveEvent.patch} (100%) rename patches/api/{0255-Allow-adding-items-to-BlockDropItemEvent.patch => 0254-Allow-adding-items-to-BlockDropItemEvent.patch} (100%) rename patches/api/{0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0255-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/api/{0257-living-entity-allow-attribute-registration.patch => 0256-living-entity-allow-attribute-registration.patch} (100%) rename patches/api/{0258-Add-missing-effects.patch => 0257-Add-missing-effects.patch} (100%) rename patches/api/{0259-Expose-Tracked-Players.patch => 0258-Expose-Tracked-Players.patch} (100%) rename patches/api/{0260-Cache-the-result-of-Material-isBlock.patch => 0259-Cache-the-result-of-Material-isBlock.patch} (100%) rename patches/api/{0261-Add-worldborder-events.patch => 0260-Add-worldborder-events.patch} (100%) rename patches/api/{0262-added-PlayerNameEntityEvent.patch => 0261-added-PlayerNameEntityEvent.patch} (100%) rename patches/api/{0263-Add-recipe-to-cook-events.patch => 0262-Add-recipe-to-cook-events.patch} (100%) rename patches/api/{0264-Add-Block-isValidTool.patch => 0263-Add-Block-isValidTool.patch} (100%) rename patches/api/{0265-Expand-world-key-API.patch => 0264-Expand-world-key-API.patch} (95%) rename patches/api/{0266-Item-Rarity-API.patch => 0265-Item-Rarity-API.patch} (100%) rename patches/api/{0267-Expose-protocol-version.patch => 0266-Expose-protocol-version.patch} (100%) rename patches/api/{0268-add-isDeeplySleeping-to-HumanEntity.patch => 0267-add-isDeeplySleeping-to-HumanEntity.patch} (100%) rename patches/api/{0269-add-consumeFuel-to-FurnaceBurnEvent.patch => 0268-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/api/{0270-add-get-set-drop-chance-to-EntityEquipment.patch => 0269-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/api/{0271-Added-PlayerDeepSleepEvent.patch => 0270-Added-PlayerDeepSleepEvent.patch} (100%) rename patches/api/{0272-More-World-API.patch => 0271-More-World-API.patch} (100%) rename patches/api/{0273-Added-PlayerBedFailEnterEvent.patch => 0272-Added-PlayerBedFailEnterEvent.patch} (100%) rename patches/api/{0274-Introduce-beacon-activation-deactivation-events.patch => 0273-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/api/{0275-PlayerMoveEvent-Improvements.patch => 0274-PlayerMoveEvent-Improvements.patch} (100%) rename patches/api/{0276-add-RespawnFlags-to-PlayerRespawnEvent.patch => 0275-add-RespawnFlags-to-PlayerRespawnEvent.patch} (100%) rename patches/api/{0277-Add-more-WanderingTrader-API.patch => 0276-Add-more-WanderingTrader-API.patch} (100%) rename patches/api/{0278-Add-EntityBlockStorage-clearEntities.patch => 0277-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/api/{0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0278-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/api/{0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => 0279-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/api/{0281-Inventory-close.patch => 0280-Inventory-close.patch} (100%) rename patches/api/{0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0281-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (100%) rename patches/api/{0283-Add-basic-Datapack-API.patch => 0282-Add-basic-Datapack-API.patch} (91%) rename patches/api/{0284-additions-to-PlayerGameModeChangeEvent.patch => 0283-additions-to-PlayerGameModeChangeEvent.patch} (100%) rename patches/api/{0285-ItemStack-repair-check-API.patch => 0284-ItemStack-repair-check-API.patch} (100%) rename patches/api/{0286-More-Enchantment-API.patch => 0285-More-Enchantment-API.patch} (100%) rename patches/api/{0287-Add-Mob-lookAt-API.patch => 0286-Add-Mob-lookAt-API.patch} (100%) rename patches/api/{0288-ItemStack-editMeta.patch => 0287-ItemStack-editMeta.patch} (100%) rename patches/api/{0289-Add-EntityInsideBlockEvent.patch => 0288-Add-EntityInsideBlockEvent.patch} (100%) rename patches/api/{0290-Attributes-API-for-item-defaults.patch => 0289-Attributes-API-for-item-defaults.patch} (100%) rename patches/api/{0291-Add-cause-to-Weather-ThunderChangeEvents.patch => 0290-Add-cause-to-Weather-ThunderChangeEvents.patch} (100%) rename patches/api/{0292-More-Lidded-Block-API.patch => 0291-More-Lidded-Block-API.patch} (100%) rename patches/api/{0293-Add-PlayerKickEvent-causes.patch => 0292-Add-PlayerKickEvent-causes.patch} (100%) rename patches/api/{0294-Add-PufferFishStateChangeEvent.patch => 0293-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/api/{0295-Add-BellRevealRaiderEvent.patch => 0294-Add-BellRevealRaiderEvent.patch} (100%) rename patches/api/{0296-Add-ElderGuardianAppearanceEvent.patch => 0295-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/api/{0297-Add-more-line-of-sight-methods.patch => 0296-Add-more-line-of-sight-methods.patch} (100%) rename patches/api/{0298-Add-WaterBottleSplashEvent.patch => 0297-Add-WaterBottleSplashEvent.patch} (100%) rename patches/api/{0299-Add-more-LimitedRegion-API.patch => 0298-Add-more-LimitedRegion-API.patch} (100%) rename patches/api/{0300-Missing-Entity-Behavior-API.patch => 0299-Missing-Entity-Behavior-API.patch} (100%) rename patches/api/{0301-Adds-PlayerArmSwingEvent.patch => 0300-Adds-PlayerArmSwingEvent.patch} (100%) rename patches/api/{0302-Add-PlayerSignCommandPreprocessEvent.patch => 0301-Add-PlayerSignCommandPreprocessEvent.patch} (100%) rename patches/api/{0303-fix-empty-array-elements-in-command-arguments.patch => 0302-fix-empty-array-elements-in-command-arguments.patch} (100%) rename patches/api/{0304-Stinger-API.patch => 0303-Stinger-API.patch} (100%) rename patches/api/{0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch => 0304-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch} (100%) rename patches/api/{0306-Add-PlayerSetSpawnEvent.patch => 0305-Add-PlayerSetSpawnEvent.patch} (100%) rename patches/api/{0307-Added-EntityDamageItemEvent.patch => 0306-Added-EntityDamageItemEvent.patch} (100%) rename patches/api/{0308-Make-EntityUnleashEvent-cancellable.patch => 0307-Make-EntityUnleashEvent-cancellable.patch} (100%) rename patches/api/{0309-Change-EnderEye-target-without-changing-other-things.patch => 0308-Change-EnderEye-target-without-changing-other-things.patch} (100%) rename patches/api/{0310-Add-BlockBreakBlockEvent.patch => 0309-Add-BlockBreakBlockEvent.patch} (100%) rename patches/api/{0311-Add-helpers-for-left-right-click-to-Action.patch => 0310-Add-helpers-for-left-right-click-to-Action.patch} (100%) rename patches/api/{0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch => 0311-Option-to-prevent-NBT-copy-in-smithing-recipes.patch} (100%) rename patches/api/{0313-More-CommandBlock-API.patch => 0312-More-CommandBlock-API.patch} (100%) rename patches/api/{0314-Add-missing-team-sidebar-display-slots.patch => 0313-Add-missing-team-sidebar-display-slots.patch} (100%) rename patches/api/{0315-add-back-EntityPortalExitEvent.patch => 0314-add-back-EntityPortalExitEvent.patch} (100%) rename patches/api/{0316-Add-methods-to-find-targets-for-lightning-strikes.patch => 0315-Add-methods-to-find-targets-for-lightning-strikes.patch} (100%) rename patches/api/{0317-Get-entity-default-attributes.patch => 0316-Get-entity-default-attributes.patch} (100%) rename patches/api/{0318-Left-handed-API.patch => 0317-Left-handed-API.patch} (100%) rename patches/api/{0319-Add-more-advancement-API.patch => 0318-Add-more-advancement-API.patch} (100%) rename patches/api/{0320-Add-ItemFactory-getSpawnEgg-API.patch => 0319-Add-ItemFactory-getSpawnEgg-API.patch} (100%) rename patches/api/{0321-Add-critical-damage-API.patch => 0320-Add-critical-damage-API.patch} (100%) rename patches/api/{0322-Fix-issues-with-mob-conversion.patch => 0321-Fix-issues-with-mob-conversion.patch} (100%) rename patches/api/{0323-Add-isCollidable-methods-to-various-places.patch => 0322-Add-isCollidable-methods-to-various-places.patch} (100%) rename patches/api/{0324-Goat-ram-API.patch => 0323-Goat-ram-API.patch} (100%) rename patches/api/{0325-Add-API-for-resetting-a-single-score.patch => 0324-Add-API-for-resetting-a-single-score.patch} (100%) rename patches/api/{0326-Add-Raw-Byte-Entity-Serialization.patch => 0325-Add-Raw-Byte-Entity-Serialization.patch} (100%) rename patches/api/{0327-Add-PlayerItemFrameChangeEvent.patch => 0326-Add-PlayerItemFrameChangeEvent.patch} (100%) rename patches/api/{0328-Add-player-health-update-API.patch => 0327-Add-player-health-update-API.patch} (100%) rename patches/api/{0329-Allow-delegation-to-vanilla-chunk-gen.patch => 0328-Allow-delegation-to-vanilla-chunk-gen.patch} (92%) rename patches/api/{0330-Add-more-Campfire-API.patch => 0329-Add-more-Campfire-API.patch} (100%) rename patches/api/{0331-Move-VehicleCollisionEvent-HandlerList-up.patch => 0330-Move-VehicleCollisionEvent-HandlerList-up.patch} (100%) rename patches/api/{0332-Improve-scoreboard-entries.patch => 0331-Improve-scoreboard-entries.patch} (100%) rename patches/api/{0333-Entity-powdered-snow-API.patch => 0332-Entity-powdered-snow-API.patch} (100%) rename patches/api/{0334-Add-API-for-item-entity-health.patch => 0333-Add-API-for-item-entity-health.patch} (100%) rename patches/api/{0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch => 0334-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch} (100%) rename patches/api/{0336-Bucketable-API.patch => 0335-Bucketable-API.patch} (100%) rename patches/api/{0337-System-prop-for-default-config-comment-parsing.patch => 0336-System-prop-for-default-config-comment-parsing.patch} (100%) rename patches/api/{0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch => 0337-Expose-vanilla-BiomeProvider-from-WorldInfo.patch} (100%) rename patches/api/{0339-Add-new-overload-to-PersistentDataContainer-has.patch => 0338-Add-new-overload-to-PersistentDataContainer-has.patch} (100%) rename patches/api/{0340-Multiple-Entries-with-Scoreboards.patch => 0339-Multiple-Entries-with-Scoreboards.patch} (100%) rename patches/api/{0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch => 0340-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/api/{0342-Warn-on-strange-EventHandler-return-types.patch => 0341-Warn-on-strange-EventHandler-return-types.patch} (100%) rename patches/api/{0343-Multi-Block-Change-API.patch => 0342-Multi-Block-Change-API.patch} (100%) rename patches/api/{0344-Fix-NotePlayEvent.patch => 0343-Fix-NotePlayEvent.patch} (100%) rename patches/api/{0345-Freeze-Tick-Lock-API.patch => 0344-Freeze-Tick-Lock-API.patch} (100%) rename patches/api/{0346-Dolphin-API.patch => 0345-Dolphin-API.patch} (100%) rename patches/api/{0347-More-PotionEffectType-API.patch => 0346-More-PotionEffectType-API.patch} (100%) rename patches/api/{0348-API-for-creating-command-sender-which-forwards-feedb.patch => 0347-API-for-creating-command-sender-which-forwards-feedb.patch} (87%) rename patches/api/{0349-Implement-regenerateChunk.patch => 0348-Implement-regenerateChunk.patch} (100%) rename patches/api/{0350-Add-GameEvent-tags.patch => 0349-Add-GameEvent-tags.patch} (100%) rename patches/api/{0351-Furnace-RecipesUsed-API.patch => 0350-Furnace-RecipesUsed-API.patch} (100%) rename patches/api/{0352-Configurable-sculk-sensor-listener-range.patch => 0351-Configurable-sculk-sensor-listener-range.patch} (100%) rename patches/api/{0353-Add-missing-block-data-mins-and-maxes.patch => 0352-Add-missing-block-data-mins-and-maxes.patch} (100%) rename patches/api/{0354-Custom-Potion-Mixes.patch => 0353-Custom-Potion-Mixes.patch} (94%) rename patches/api/{0355-Expose-furnace-minecart-push-values.patch => 0354-Expose-furnace-minecart-push-values.patch} (100%) rename patches/api/{0356-More-Projectile-API.patch => 0355-More-Projectile-API.patch} (100%) rename patches/api/{0357-Add-getComputedBiome-API.patch => 0356-Add-getComputedBiome-API.patch} (100%) rename patches/api/{0358-Add-enchantWithLevels-API.patch => 0357-Add-enchantWithLevels-API.patch} (100%) rename patches/api/{0359-Add-TameableDeathMessageEvent.patch => 0358-Add-TameableDeathMessageEvent.patch} (100%) rename patches/api/{0360-Allow-to-change-the-podium-of-the-EnderDragon.patch => 0359-Allow-to-change-the-podium-of-the-EnderDragon.patch} (100%) rename patches/api/{0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch => 0360-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch} (100%) rename patches/api/{0362-WorldCreator-keepSpawnLoaded.patch => 0361-WorldCreator-keepSpawnLoaded.patch} (100%) rename patches/api/{0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0362-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/api/{0364-Add-PlayerStopUsingItemEvent.patch => 0363-Add-PlayerStopUsingItemEvent.patch} (100%) rename patches/api/{0365-FallingBlock-auto-expire-setting.patch => 0364-FallingBlock-auto-expire-setting.patch} (100%) rename patches/api/{0366-Keyed-Cat-Type.patch => 0365-Keyed-Cat-Type.patch} (100%) rename patches/api/{0367-Add-method-isTickingWorlds-to-Bukkit.patch => 0366-Add-method-isTickingWorlds-to-Bukkit.patch} (91%) rename patches/api/{0368-Add-WardenAngerChangeEvent.patch => 0367-Add-WardenAngerChangeEvent.patch} (100%) rename patches/api/{0369-Nameable-Banner-API.patch => 0368-Nameable-Banner-API.patch} (100%) rename patches/api/{0370-Add-Player-getFishHook.patch => 0369-Add-Player-getFishHook.patch} (100%) rename patches/api/{0371-More-Teleport-API.patch => 0370-More-Teleport-API.patch} (100%) rename patches/api/{0372-Add-EntityPortalReadyEvent.patch => 0371-Add-EntityPortalReadyEvent.patch} (100%) rename patches/api/{0373-Custom-Chat-Completion-Suggestions-API.patch => 0372-Custom-Chat-Completion-Suggestions-API.patch} (100%) rename patches/api/{0374-Collision-API.patch => 0373-Collision-API.patch} (100%) rename patches/api/{0375-Block-Ticking-API.patch => 0374-Block-Ticking-API.patch} (100%) rename patches/api/{0376-Add-NamespacedKey-biome-methods.patch => 0375-Add-NamespacedKey-biome-methods.patch} (100%) rename patches/api/{0377-Also-load-resources-from-LibraryLoader.patch => 0376-Also-load-resources-from-LibraryLoader.patch} (100%) rename patches/api/{0378-Added-byte-array-serialization-deserialization-for-P.patch => 0377-Added-byte-array-serialization-deserialization-for-P.patch} (100%) rename patches/api/{0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch => 0378-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch} (100%) rename patches/api/{0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch => 0379-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch} (100%) rename patches/api/{0381-Add-getDrops-to-BlockState.patch => 0380-Add-getDrops-to-BlockState.patch} (100%) rename patches/api/{0382-Add-PlayerInventorySlotChangeEvent.patch => 0381-Add-PlayerInventorySlotChangeEvent.patch} (100%) rename patches/api/{0383-Elder-Guardian-appearance-API.patch => 0382-Elder-Guardian-appearance-API.patch} (100%) rename patches/api/{0384-Allow-changing-bed-s-occupied-property.patch => 0383-Allow-changing-bed-s-occupied-property.patch} (100%) rename patches/api/{0385-Add-EquipmentSlot-convenience-methods.patch => 0384-Add-EquipmentSlot-convenience-methods.patch} (100%) rename patches/api/{0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch => 0385-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch} (100%) rename patches/api/{0387-Add-entity-knockback-API.patch => 0386-Add-entity-knockback-API.patch} (100%) rename patches/api/{0388-Added-EntityToggleSitEvent.patch => 0387-Added-EntityToggleSitEvent.patch} (100%) rename patches/api/{0389-Add-Moving-Piston-API.patch => 0388-Add-Moving-Piston-API.patch} (100%) rename patches/api/{0390-Add-PrePlayerAttackEntityEvent.patch => 0389-Add-PrePlayerAttackEntityEvent.patch} (100%) rename patches/api/{0391-Add-Player-Warden-Warning-API.patch => 0390-Add-Player-Warden-Warning-API.patch} (100%) rename patches/api/{0392-More-vanilla-friendly-methods-to-update-trades.patch => 0391-More-vanilla-friendly-methods-to-update-trades.patch} (100%) rename patches/api/{0393-Add-paper-dumplisteners-command.patch => 0392-Add-paper-dumplisteners-command.patch} (100%) rename patches/api/{0394-ItemStack-damage-API.patch => 0393-ItemStack-damage-API.patch} (100%) rename patches/api/{0395-Add-Tick-TemporalUnit.patch => 0394-Add-Tick-TemporalUnit.patch} (100%) rename patches/api/{0396-Friction-API.patch => 0395-Friction-API.patch} (100%) rename patches/api/{0397-Player-Entity-Tracking-Events.patch => 0396-Player-Entity-Tracking-Events.patch} (100%) rename patches/api/{0398-Add-missing-Fluid-type.patch => 0397-Add-missing-Fluid-type.patch} (100%) rename patches/api/{0399-fix-Instruments.patch => 0398-fix-Instruments.patch} (100%) rename patches/api/{0400-Add-BlockLockCheckEvent.patch => 0399-Add-BlockLockCheckEvent.patch} (100%) rename patches/api/{0401-Add-Sneaking-API-for-Entities.patch => 0400-Add-Sneaking-API-for-Entities.patch} (100%) rename patches/api/{0402-Improve-PortalEvents.patch => 0401-Improve-PortalEvents.patch} (100%) rename patches/api/{0403-Add-exploded-block-state-to-BlockExplodeEvent.patch => 0402-Add-exploded-block-state-to-BlockExplodeEvent.patch} (100%) rename patches/api/{0404-Flying-Fall-Damage-API.patch => 0403-Flying-Fall-Damage-API.patch} (100%) rename patches/api/{0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch => 0404-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch} (100%) rename patches/api/{0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch => 0405-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch} (100%) rename patches/api/{0407-Win-Screen-API.patch => 0406-Win-Screen-API.patch} (100%) rename patches/api/{0408-Add-Entity-Body-Yaw-API.patch => 0407-Add-Entity-Body-Yaw-API.patch} (100%) rename patches/api/{0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch => 0408-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch} (100%) rename patches/api/{0410-Add-EntityFertilizeEggEvent.patch => 0409-Add-EntityFertilizeEggEvent.patch} (100%) rename patches/api/{0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch => 0410-Add-CompostItemEvent-and-EntityCompostItemEvent.patch} (100%) rename patches/api/{0412-Add-Shearable-API.patch => 0411-Add-Shearable-API.patch} (100%) rename patches/api/{0413-Fix-SpawnEggMeta-get-setSpawnedType.patch => 0412-Fix-SpawnEggMeta-get-setSpawnedType.patch} (100%) rename patches/api/{0414-Add-Mob-Experience-reward-API.patch => 0413-Add-Mob-Experience-reward-API.patch} (100%) rename patches/api/{0415-Expand-PlayerItemMendEvent.patch => 0414-Expand-PlayerItemMendEvent.patch} (100%) rename patches/api/{0416-Add-transient-modifier-API.patch => 0415-Add-transient-modifier-API.patch} (100%) rename patches/api/{0417-Add-API-for-waxed-signs.patch => 0416-Add-API-for-waxed-signs.patch} (100%) rename patches/api/{0418-Properly-remove-the-experimental-smithing-inventory-.patch => 0417-Properly-remove-the-experimental-smithing-inventory-.patch} (100%) rename patches/server/{0451-Add-playPickupItemAnimation-to-LivingEntity.patch => 0450-Add-playPickupItemAnimation-to-LivingEntity.patch} (83%) delete mode 100644 patches/server/0450-Add-setMaxPlayers-API.patch rename patches/server/{0452-Don-t-require-FACING-data.patch => 0451-Don-t-require-FACING-data.patch} (100%) rename patches/server/{0453-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch => 0452-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch} (94%) rename patches/server/{0454-Add-moon-phase-API.patch => 0453-Add-moon-phase-API.patch} (83%) rename patches/server/{0455-Prevent-headless-pistons-from-being-created.patch => 0454-Prevent-headless-pistons-from-being-created.patch} (100%) rename patches/server/{0456-Add-BellRingEvent.patch => 0455-Add-BellRingEvent.patch} (93%) rename patches/server/{0457-Add-zombie-targets-turtle-egg-config.patch => 0456-Add-zombie-targets-turtle-egg-config.patch} (100%) rename patches/server/{0458-Buffer-joins-to-world.patch => 0457-Buffer-joins-to-world.patch} (100%) rename patches/server/{0459-Eigencraft-redstone-implementation.patch => 0458-Eigencraft-redstone-implementation.patch} (100%) rename patches/server/{0460-Fix-hex-colors-not-working-in-some-kick-messages.patch => 0459-Fix-hex-colors-not-working-in-some-kick-messages.patch} (100%) rename patches/server/{0461-PortalCreateEvent-needs-to-know-its-entity.patch => 0460-PortalCreateEvent-needs-to-know-its-entity.patch} (100%) rename patches/server/{0463-Add-more-Evoker-API.patch => 0461-Add-more-Evoker-API.patch} (100%) rename patches/server/{0464-Add-methods-to-get-translation-keys.patch => 0462-Add-methods-to-get-translation-keys.patch} (97%) delete mode 100644 patches/server/0462-Fix-CraftTeam-null-check.patch rename patches/server/{0465-Create-HoverEvent-from-ItemStack-Entity.patch => 0463-Create-HoverEvent-from-ItemStack-Entity.patch} (94%) rename patches/server/{0466-Cache-block-data-strings.patch => 0464-Cache-block-data-strings.patch} (95%) rename patches/server/{0467-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch => 0465-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch} (91%) rename patches/server/{0468-Add-additional-open-container-api-to-HumanEntity.patch => 0466-Add-additional-open-container-api-to-HumanEntity.patch} (95%) rename patches/server/{0469-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch => 0467-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch} (100%) rename patches/server/{0470-Extend-block-drop-capture-to-capture-all-items-added.patch => 0468-Extend-block-drop-capture-to-capture-all-items-added.patch} (100%) rename patches/server/{0471-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch => 0469-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch} (84%) rename patches/server/{0472-Lazily-track-plugin-scoreboards-by-default.patch => 0470-Lazily-track-plugin-scoreboards-by-default.patch} (82%) rename patches/server/{0473-Entity-isTicking.patch => 0471-Entity-isTicking.patch} (83%) rename patches/server/{0474-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch => 0472-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch} (90%) rename patches/server/{0475-Fix-Concurrency-issue-in-ShufflingList.patch => 0473-Fix-Concurrency-issue-in-ShufflingList.patch} (100%) rename patches/server/{0476-Reset-Ender-Crystals-on-Dragon-Spawn.patch => 0474-Reset-Ender-Crystals-on-Dragon-Spawn.patch} (100%) rename patches/server/{0477-Fix-for-large-move-vectors-crashing-server.patch => 0475-Fix-for-large-move-vectors-crashing-server.patch} (98%) rename patches/server/{0478-Optimise-getType-calls.patch => 0476-Optimise-getType-calls.patch} (90%) rename patches/server/{0479-Villager-resetOffers.patch => 0477-Villager-resetOffers.patch} (100%) rename patches/server/{0480-Retain-block-place-order-when-capturing-blockstates.patch => 0478-Retain-block-place-order-when-capturing-blockstates.patch} (100%) rename patches/server/{0481-Reduce-blockpos-allocation-from-pathfinding.patch => 0479-Reduce-blockpos-allocation-from-pathfinding.patch} (100%) rename patches/server/{0482-Fix-item-locations-dropped-from-campfires.patch => 0480-Fix-item-locations-dropped-from-campfires.patch} (100%) rename patches/server/{0483-Player-elytra-boost-API.patch => 0481-Player-elytra-boost-API.patch} (73%) rename patches/server/{0484-Fixed-TileEntityBell-memory-leak.patch => 0482-Fixed-TileEntityBell-memory-leak.patch} (100%) rename patches/server/{0485-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch => 0483-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch} (100%) rename patches/server/{0486-Add-getOfflinePlayerIfCached-String.patch => 0484-Add-getOfflinePlayerIfCached-String.patch} (74%) rename patches/server/{0487-Add-ignore-discounts-API.patch => 0485-Add-ignore-discounts-API.patch} (100%) rename patches/server/{0488-Toggle-for-removing-existing-dragon.patch => 0486-Toggle-for-removing-existing-dragon.patch} (100%) rename patches/server/{0489-Fix-client-lag-on-advancement-loading.patch => 0487-Fix-client-lag-on-advancement-loading.patch} (91%) rename patches/server/{0490-Item-no-age-no-player-pickup.patch => 0488-Item-no-age-no-player-pickup.patch} (100%) rename patches/server/{0491-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 0489-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/server/{0492-Beacon-API-custom-effect-ranges.patch => 0490-Beacon-API-custom-effect-ranges.patch} (100%) rename patches/server/{0493-Add-API-for-quit-reason.patch => 0491-Add-API-for-quit-reason.patch} (94%) rename patches/server/{0494-Add-Wandering-Trader-spawn-rate-config-options.patch => 0492-Add-Wandering-Trader-spawn-rate-config-options.patch} (100%) rename patches/server/{0495-Expose-world-spawn-angle.patch => 0493-Expose-world-spawn-angle.patch} (91%) rename patches/server/{0496-Add-Destroy-Speed-API.patch => 0494-Add-Destroy-Speed-API.patch} (91%) rename patches/server/{0497-Fix-Player-spawnParticle-x-y-z-precision-loss.patch => 0495-Fix-Player-spawnParticle-x-y-z-precision-loss.patch} (76%) rename patches/server/{0498-Add-LivingEntity-clearActiveItem.patch => 0496-Add-LivingEntity-clearActiveItem.patch} (84%) rename patches/server/{0499-Add-PlayerItemCooldownEvent.patch => 0497-Add-PlayerItemCooldownEvent.patch} (100%) rename patches/server/{0500-Significantly-improve-performance-of-the-end-generat.patch => 0498-Significantly-improve-performance-of-the-end-generat.patch} (100%) rename patches/server/{0501-More-lightning-API.patch => 0499-More-lightning-API.patch} (100%) rename patches/server/{0502-Climbing-should-not-bypass-cramming-gamerule.patch => 0500-Climbing-should-not-bypass-cramming-gamerule.patch} (98%) rename patches/server/{0503-Added-missing-default-perms-for-commands.patch => 0501-Added-missing-default-perms-for-commands.patch} (100%) rename patches/server/{0504-Add-PlayerShearBlockEvent.patch => 0502-Add-PlayerShearBlockEvent.patch} (100%) rename patches/server/{0505-Fix-curing-zombie-villager-discount-exploit.patch => 0503-Fix-curing-zombie-villager-discount-exploit.patch} (100%) rename patches/server/{0506-Limit-recipe-packets.patch => 0504-Limit-recipe-packets.patch} (94%) rename patches/server/{0507-Fix-CraftSound-backwards-compatibility.patch => 0505-Fix-CraftSound-backwards-compatibility.patch} (100%) rename patches/server/{0508-Player-Chunk-Load-Unload-Events.patch => 0506-Player-Chunk-Load-Unload-Events.patch} (94%) rename patches/server/{0509-Optimize-Dynamic-get-Missing-Keys.patch => 0507-Optimize-Dynamic-get-Missing-Keys.patch} (100%) rename patches/server/{0510-Expose-LivingEntity-hurt-direction.patch => 0508-Expose-LivingEntity-hurt-direction.patch} (90%) rename patches/server/{0511-Add-OBSTRUCTED-reason-to-BedEnterResult.patch => 0509-Add-OBSTRUCTED-reason-to-BedEnterResult.patch} (91%) rename patches/server/{0512-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch => 0510-Do-not-crash-from-invalid-ingredient-lists-in-Villag.patch} (100%) rename patches/server/{0513-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch => 0511-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch} (99%) rename patches/server/{0514-Implement-TargetHitEvent.patch => 0512-Implement-TargetHitEvent.patch} (100%) rename patches/server/{0515-MC-4-Fix-item-position-desync.patch => 0513-MC-4-Fix-item-position-desync.patch} (96%) rename patches/server/{0516-Additional-Block-Material-API-s.patch => 0514-Additional-Block-Material-API-s.patch} (89%) rename patches/server/{0517-Fix-harming-potion-dupe.patch => 0515-Fix-harming-potion-dupe.patch} (100%) rename patches/server/{0518-Implement-API-to-get-Material-from-Boats-and-Minecar.patch => 0516-Implement-API-to-get-Material-from-Boats-and-Minecar.patch} (100%) rename patches/server/{0519-Cache-burn-durations.patch => 0517-Cache-burn-durations.patch} (100%) rename patches/server/{0520-Allow-disabling-mob-spawner-spawn-egg-transformation.patch => 0518-Allow-disabling-mob-spawner-spawn-egg-transformation.patch} (100%) rename patches/server/{0521-Fix-Not-a-string-Map-Conversion-spam.patch => 0519-Fix-Not-a-string-Map-Conversion-spam.patch} (100%) rename patches/server/{0522-Implement-PlayerFlowerPotManipulateEvent.patch => 0520-Implement-PlayerFlowerPotManipulateEvent.patch} (100%) rename patches/server/{0523-Fix-interact-event-not-being-called-in-adventure.patch => 0521-Fix-interact-event-not-being-called-in-adventure.patch} (90%) rename patches/server/{0524-Zombie-API-breaking-doors.patch => 0522-Zombie-API-breaking-doors.patch} (100%) rename patches/server/{0525-Fix-nerfed-slime-when-splitting.patch => 0523-Fix-nerfed-slime-when-splitting.patch} (100%) rename patches/server/{0526-Add-EntityLoadCrossbowEvent.patch => 0524-Add-EntityLoadCrossbowEvent.patch} (100%) rename patches/server/{0527-Added-WorldGameRuleChangeEvent.patch => 0525-Added-WorldGameRuleChangeEvent.patch} (96%) rename patches/server/{0528-Added-ServerResourcesReloadedEvent.patch => 0526-Added-ServerResourcesReloadedEvent.patch} (93%) rename patches/server/{0529-Added-world-settings-for-mobs-picking-up-loot.patch => 0527-Added-world-settings-for-mobs-picking-up-loot.patch} (100%) rename patches/server/{0530-Implemented-BlockFailedDispenseEvent.patch => 0528-Implemented-BlockFailedDispenseEvent.patch} (95%) rename patches/server/{0531-Added-PlayerLecternPageChangeEvent.patch => 0529-Added-PlayerLecternPageChangeEvent.patch} (100%) rename patches/server/{0532-Added-PlayerLoomPatternSelectEvent.patch => 0530-Added-PlayerLoomPatternSelectEvent.patch} (100%) rename patches/server/{0533-Configurable-door-breaking-difficulty.patch => 0531-Configurable-door-breaking-difficulty.patch} (100%) rename patches/server/{0534-Empty-commands-shall-not-be-dispatched.patch => 0532-Empty-commands-shall-not-be-dispatched.patch} (100%) rename patches/server/{0535-Implement-API-to-expose-exact-interaction-point.patch => 0533-Implement-API-to-expose-exact-interaction-point.patch} (95%) rename patches/server/{0536-Remove-stale-POIs.patch => 0534-Remove-stale-POIs.patch} (100%) rename patches/server/{0537-Fix-villager-boat-exploit.patch => 0535-Fix-villager-boat-exploit.patch} (93%) rename patches/server/{0538-Add-sendOpLevel-API.patch => 0536-Add-sendOpLevel-API.patch} (89%) rename patches/server/{0539-TODO-Registry-Modification-API.patch => 0537-TODO-Registry-Modification-API.patch} (100%) rename patches/server/{0540-Add-StructuresLocateEvent.patch => 0538-Add-StructuresLocateEvent.patch} (100%) rename patches/server/{0541-Collision-option-for-requiring-a-player-participant.patch => 0539-Collision-option-for-requiring-a-player-participant.patch} (96%) rename patches/server/{0542-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => 0540-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (100%) rename patches/server/{0543-Return-chat-component-with-empty-text-instead-of-thr.patch => 0541-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/server/{0544-Make-schedule-command-per-world.patch => 0542-Make-schedule-command-per-world.patch} (100%) rename patches/server/{0545-Configurable-max-leash-distance.patch => 0543-Configurable-max-leash-distance.patch} (100%) rename patches/server/{0546-Implement-BlockPreDispenseEvent.patch => 0544-Implement-BlockPreDispenseEvent.patch} (93%) rename patches/server/{0547-Added-firing-of-PlayerChangeBeaconEffectEvent.patch => 0545-Added-firing-of-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/server/{0548-Add-toggle-for-always-placing-the-dragon-egg.patch => 0546-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/server/{0549-Added-PlayerStonecutterRecipeSelectEvent.patch => 0547-Added-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/server/{0550-Add-dropLeash-variable-to-EntityUnleashEvent.patch => 0548-Add-dropLeash-variable-to-EntityUnleashEvent.patch} (98%) rename patches/server/{0551-Reset-shield-blocking-on-dimension-change.patch => 0549-Reset-shield-blocking-on-dimension-change.patch} (89%) rename patches/server/{0552-add-DragonEggFormEvent.patch => 0550-add-DragonEggFormEvent.patch} (100%) rename patches/server/{0553-EntityMoveEvent.patch => 0551-EntityMoveEvent.patch} (95%) rename patches/server/{0554-added-option-to-disable-pathfinding-updates-on-block.patch => 0552-added-option-to-disable-pathfinding-updates-on-block.patch} (100%) rename patches/server/{0555-Inline-shift-direction-fields.patch => 0553-Inline-shift-direction-fields.patch} (100%) rename patches/server/{0556-Allow-adding-items-to-BlockDropItemEvent.patch => 0554-Allow-adding-items-to-BlockDropItemEvent.patch} (95%) rename patches/server/{0557-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0555-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (76%) rename patches/server/{0558-living-entity-allow-attribute-registration.patch => 0556-living-entity-allow-attribute-registration.patch} (94%) rename patches/server/{0559-fix-dead-slime-setSize-invincibility.patch => 0557-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/server/{0560-Merchant-getRecipes-should-return-an-immutable-list.patch => 0558-Merchant-getRecipes-should-return-an-immutable-list.patch} (100%) rename patches/server/{0561-Expose-Tracked-Players.patch => 0559-Expose-Tracked-Players.patch} (87%) rename patches/server/{0562-Remove-streams-from-SensorNearest.patch => 0560-Remove-streams-from-SensorNearest.patch} (100%) rename patches/server/{0563-Throw-proper-exception-on-empty-JsonList-file.patch => 0561-Throw-proper-exception-on-empty-JsonList-file.patch} (100%) rename patches/server/{0564-Improve-ServerGUI.patch => 0562-Improve-ServerGUI.patch} (100%) rename patches/server/{0565-fix-converting-txt-to-json-file.patch => 0563-fix-converting-txt-to-json-file.patch} (97%) rename patches/server/{0566-Add-worldborder-events.patch => 0564-Add-worldborder-events.patch} (100%) rename patches/server/{0567-added-PlayerNameEntityEvent.patch => 0565-added-PlayerNameEntityEvent.patch} (100%) rename patches/server/{0568-Prevent-grindstones-from-overstacking-items.patch => 0566-Prevent-grindstones-from-overstacking-items.patch} (100%) rename patches/server/{0569-Add-recipe-to-cook-events.patch => 0567-Add-recipe-to-cook-events.patch} (100%) rename patches/server/{0570-Add-Block-isValidTool.patch => 0568-Add-Block-isValidTool.patch} (79%) rename patches/server/{0571-Allow-using-signs-inside-spawn-protection.patch => 0569-Allow-using-signs-inside-spawn-protection.patch} (91%) rename patches/server/{0572-Expand-world-key-API.patch => 0570-Expand-world-key-API.patch} (83%) rename patches/server/{0573-Add-fast-alternative-constructor-for-Rotations.patch => 0571-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/server/{0574-Item-Rarity-API.patch => 0572-Item-Rarity-API.patch} (94%) rename patches/server/{0575-Drop-carried-item-when-player-has-disconnected.patch => 0573-Drop-carried-item-when-player-has-disconnected.patch} (92%) rename patches/server/{0576-forced-whitelist-use-configurable-kick-message.patch => 0574-forced-whitelist-use-configurable-kick-message.patch} (87%) rename patches/server/{0577-Don-t-ignore-result-of-PlayerEditBookEvent.patch => 0575-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (91%) rename patches/server/{0578-Expose-protocol-version.patch => 0576-Expose-protocol-version.patch} (85%) rename patches/server/{0579-Enhance-console-tab-completions-for-brigadier-comman.patch => 0577-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/server/{0580-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => 0578-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (100%) rename patches/server/{0581-Add-bypass-host-check.patch => 0579-Add-bypass-host-check.patch} (100%) rename patches/server/{0582-Set-area-affect-cloud-rotation.patch => 0580-Set-area-affect-cloud-rotation.patch} (87%) rename patches/server/{0583-add-isDeeplySleeping-to-HumanEntity.patch => 0581-add-isDeeplySleeping-to-HumanEntity.patch} (90%) rename patches/server/{0584-add-consumeFuel-to-FurnaceBurnEvent.patch => 0582-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/server/{0585-add-get-set-drop-chance-to-EntityEquipment.patch => 0583-add-get-set-drop-chance-to-EntityEquipment.patch} (93%) rename patches/server/{0586-fix-PigZombieAngerEvent-cancellation.patch => 0584-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/server/{0587-fix-PlayerItemHeldEvent-firing-twice.patch => 0585-fix-PlayerItemHeldEvent-firing-twice.patch} (88%) rename patches/server/{0588-Added-PlayerDeepSleepEvent.patch => 0586-Added-PlayerDeepSleepEvent.patch} (100%) rename patches/server/{0589-More-World-API.patch => 0587-More-World-API.patch} (94%) rename patches/server/{0590-Added-PlayerBedFailEnterEvent.patch => 0588-Added-PlayerBedFailEnterEvent.patch} (100%) rename patches/server/{0591-Entity-load-save-limit-per-chunk.patch => 0589-Entity-load-save-limit-per-chunk.patch} (100%) rename patches/server/{0592-Implement-methods-to-convert-between-Component-and-B.patch => 0590-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/server/{0593-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch => 0591-Fix-anchor-respawn-acting-as-a-bed-respawn-from-the-.patch} (95%) rename patches/server/{0594-Introduce-beacon-activation-deactivation-events.patch => 0592-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/server/{0595-add-RespawnFlags-to-PlayerRespawnEvent.patch => 0593-add-RespawnFlags-to-PlayerRespawnEvent.patch} (92%) rename patches/server/{0596-Add-Channel-initialization-listeners.patch => 0594-Add-Channel-initialization-listeners.patch} (100%) rename patches/server/{0597-Send-empty-commands-if-tab-completion-is-disabled.patch => 0595-Send-empty-commands-if-tab-completion-is-disabled.patch} (100%) rename patches/server/{0598-Add-more-WanderingTrader-API.patch => 0596-Add-more-WanderingTrader-API.patch} (100%) rename patches/server/{0599-Add-EntityBlockStorage-clearEntities.patch => 0597-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/server/{0600-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0598-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/server/{0601-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch => 0599-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0602-Inventory-close.patch => 0600-Inventory-close.patch} (90%) rename patches/server/{0603-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0601-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (100%) rename patches/server/{0604-Fix-CraftPotionBrewer-cache.patch => 0602-Fix-CraftPotionBrewer-cache.patch} (100%) rename patches/server/{0605-Add-basic-Datapack-API.patch => 0603-Add-basic-Datapack-API.patch} (94%) rename patches/server/{0606-Add-environment-variable-to-disable-server-gui.patch => 0604-Add-environment-variable-to-disable-server-gui.patch} (100%) rename patches/server/{0607-additions-to-PlayerGameModeChangeEvent.patch => 0605-additions-to-PlayerGameModeChangeEvent.patch} (94%) rename patches/server/{0608-ItemStack-repair-check-API.patch => 0606-ItemStack-repair-check-API.patch} (95%) rename patches/server/{0609-More-Enchantment-API.patch => 0607-More-Enchantment-API.patch} (97%) rename patches/server/{0610-Move-range-check-for-block-placing-up.patch => 0608-Move-range-check-for-block-placing-up.patch} (87%) rename patches/server/{0611-Fix-and-optimise-world-force-upgrading.patch => 0609-Fix-and-optimise-world-force-upgrading.patch} (97%) rename patches/server/{0612-Add-Mob-lookAt-API.patch => 0610-Add-Mob-lookAt-API.patch} (100%) rename patches/server/{0613-Add-Unix-domain-socket-support.patch => 0611-Add-Unix-domain-socket-support.patch} (98%) rename patches/server/{0614-Add-EntityInsideBlockEvent.patch => 0612-Add-EntityInsideBlockEvent.patch} (100%) rename patches/server/{0615-Attributes-API-for-item-defaults.patch => 0613-Attributes-API-for-item-defaults.patch} (91%) rename patches/server/{0616-Add-cause-to-Weather-ThunderChangeEvents.patch => 0614-Add-cause-to-Weather-ThunderChangeEvents.patch} (96%) rename patches/server/{0617-More-Lidded-Block-API.patch => 0615-More-Lidded-Block-API.patch} (100%) rename patches/server/{0618-Limit-item-frame-cursors-on-maps.patch => 0616-Limit-item-frame-cursors-on-maps.patch} (100%) rename patches/server/{0619-Add-PlayerKickEvent-causes.patch => 0617-Add-PlayerKickEvent-causes.patch} (95%) rename patches/server/{0620-Add-PufferFishStateChangeEvent.patch => 0618-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/server/{0621-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => 0619-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/server/{0622-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch => 0620-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch} (100%) rename patches/server/{0623-Add-option-to-fix-items-merging-through-walls.patch => 0621-Add-option-to-fix-items-merging-through-walls.patch} (100%) rename patches/server/{0624-Add-BellRevealRaiderEvent.patch => 0622-Add-BellRevealRaiderEvent.patch} (100%) rename patches/server/{0625-Fix-invulnerable-end-crystals.patch => 0623-Fix-invulnerable-end-crystals.patch} (100%) rename patches/server/{0626-Add-ElderGuardianAppearanceEvent.patch => 0624-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/server/{0627-Fix-dangerous-end-portal-logic.patch => 0625-Fix-dangerous-end-portal-logic.patch} (97%) rename patches/server/{0628-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0626-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (100%) rename patches/server/{0629-Make-item-validations-configurable.patch => 0627-Make-item-validations-configurable.patch} (90%) rename patches/server/{0630-Line-Of-Sight-Changes.patch => 0628-Line-Of-Sight-Changes.patch} (76%) rename patches/server/{0631-add-per-world-spawn-limits.patch => 0629-add-per-world-spawn-limits.patch} (86%) rename patches/server/{0632-Fix-potions-splash-events.patch => 0630-Fix-potions-splash-events.patch} (100%) rename patches/server/{0633-Add-more-LimitedRegion-API.patch => 0631-Add-more-LimitedRegion-API.patch} (93%) rename patches/server/{0634-Fix-PlayerDropItemEvent-using-wrong-item.patch => 0632-Fix-PlayerDropItemEvent-using-wrong-item.patch} (94%) rename patches/server/{0635-Missing-Entity-Behavior-API.patch => 0633-Missing-Entity-Behavior-API.patch} (98%) rename patches/server/{0636-Ensure-disconnect-for-book-edit-is-called-on-main.patch => 0634-Ensure-disconnect-for-book-edit-is-called-on-main.patch} (92%) rename patches/server/{0637-Fix-return-value-of-Block-applyBoneMeal-always-being.patch => 0635-Fix-return-value-of-Block-applyBoneMeal-always-being.patch} (84%) rename patches/server/{0638-Use-getChunkIfLoadedImmediately-in-places.patch => 0636-Use-getChunkIfLoadedImmediately-in-places.patch} (100%) rename patches/server/{0639-Fix-commands-from-signs-not-firing-command-events.patch => 0637-Fix-commands-from-signs-not-firing-command-events.patch} (100%) rename patches/server/{0640-Adds-PlayerArmSwingEvent.patch => 0638-Adds-PlayerArmSwingEvent.patch} (88%) rename patches/server/{0641-Fixes-kick-event-leave-message-not-being-sent.patch => 0639-Fixes-kick-event-leave-message-not-being-sent.patch} (93%) rename patches/server/{0642-Add-config-for-mobs-immune-to-default-effects.patch => 0640-Add-config-for-mobs-immune-to-default-effects.patch} (100%) rename patches/server/{0643-Fix-incorrect-message-for-outdated-client.patch => 0641-Fix-incorrect-message-for-outdated-client.patch} (100%) rename patches/server/{0644-Don-t-apply-cramming-damage-to-players.patch => 0642-Don-t-apply-cramming-damage-to-players.patch} (94%) rename patches/server/{0645-Rate-options-and-timings-for-sensors-and-behaviors.patch => 0643-Rate-options-and-timings-for-sensors-and-behaviors.patch} (100%) rename patches/server/{0646-Add-a-bunch-of-missing-forceDrop-toggles.patch => 0644-Add-a-bunch-of-missing-forceDrop-toggles.patch} (100%) rename patches/server/{0647-Stinger-API.patch => 0645-Stinger-API.patch} (89%) rename patches/server/{0648-Fix-incosistency-issue-with-empty-map-items-in-CB.patch => 0646-Fix-incosistency-issue-with-empty-map-items-in-CB.patch} (100%) rename patches/server/{0649-Add-System.out-err-catcher.patch => 0647-Add-System.out-err-catcher.patch} (97%) rename patches/server/{0650-Fix-test-not-bootstrapping.patch => 0648-Fix-test-not-bootstrapping.patch} (100%) rename patches/server/{0651-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch => 0649-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch} (100%) rename patches/server/{0652-Improve-boat-collision-performance.patch => 0650-Improve-boat-collision-performance.patch} (100%) rename patches/server/{0653-Prevent-AFK-kick-while-watching-end-credits.patch => 0651-Prevent-AFK-kick-while-watching-end-credits.patch} (93%) rename patches/server/{0654-Allow-skipping-writing-of-comments-to-server.propert.patch => 0652-Allow-skipping-writing-of-comments-to-server.propert.patch} (100%) rename patches/server/{0655-Add-PlayerSetSpawnEvent.patch => 0653-Add-PlayerSetSpawnEvent.patch} (97%) rename patches/server/{0656-Make-hoppers-respect-inventory-max-stack-size.patch => 0654-Make-hoppers-respect-inventory-max-stack-size.patch} (100%) rename patches/server/{0657-Optimize-entity-tracker-passenger-checks.patch => 0655-Optimize-entity-tracker-passenger-checks.patch} (100%) rename patches/server/{0658-Config-option-for-Piglins-guarding-chests.patch => 0656-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/server/{0659-Added-EntityDamageItemEvent.patch => 0657-Added-EntityDamageItemEvent.patch} (100%) rename patches/server/{0660-Optimize-indirect-passenger-iteration.patch => 0658-Optimize-indirect-passenger-iteration.patch} (96%) rename patches/server/{0661-Configurable-item-frame-map-cursor-update-interval.patch => 0659-Configurable-item-frame-map-cursor-update-interval.patch} (100%) rename patches/server/{0662-Make-EntityUnleashEvent-cancellable.patch => 0660-Make-EntityUnleashEvent-cancellable.patch} (100%) rename patches/server/{0663-Clear-bucket-NBT-after-dispense.patch => 0661-Clear-bucket-NBT-after-dispense.patch} (100%) rename patches/server/{0664-Change-EnderEye-target-without-changing-other-things.patch => 0662-Change-EnderEye-target-without-changing-other-things.patch} (100%) rename patches/server/{0665-Add-BlockBreakBlockEvent.patch => 0663-Add-BlockBreakBlockEvent.patch} (100%) rename patches/server/{0666-Option-to-prevent-NBT-copy-in-smithing-recipes.patch => 0664-Option-to-prevent-NBT-copy-in-smithing-recipes.patch} (100%) rename patches/server/{0667-More-CommandBlock-API.patch => 0665-More-CommandBlock-API.patch} (100%) rename patches/server/{0668-Add-missing-team-sidebar-display-slots.patch => 0666-Add-missing-team-sidebar-display-slots.patch} (100%) rename patches/server/{0669-Add-back-EntityPortalExitEvent.patch => 0667-Add-back-EntityPortalExitEvent.patch} (97%) rename patches/server/{0670-Add-methods-to-find-targets-for-lightning-strikes.patch => 0668-Add-methods-to-find-targets-for-lightning-strikes.patch} (94%) rename patches/server/{0671-Get-entity-default-attributes.patch => 0669-Get-entity-default-attributes.patch} (97%) rename patches/server/{0672-Left-handed-API.patch => 0670-Left-handed-API.patch} (100%) rename patches/server/{0673-Add-more-advancement-API.patch => 0671-Add-more-advancement-API.patch} (100%) rename patches/server/{0674-Add-ItemFactory-getSpawnEgg-API.patch => 0672-Add-ItemFactory-getSpawnEgg-API.patch} (89%) rename patches/server/{0675-Add-critical-damage-API.patch => 0673-Add-critical-damage-API.patch} (98%) rename patches/server/{0676-Fix-issues-with-mob-conversion.patch => 0674-Fix-issues-with-mob-conversion.patch} (100%) rename patches/server/{0677-Add-isCollidable-methods-to-various-places.patch => 0675-Add-isCollidable-methods-to-various-places.patch} (77%) rename patches/server/{0678-Goat-ram-API.patch => 0676-Goat-ram-API.patch} (100%) rename patches/server/{0679-Add-API-for-resetting-a-single-score.patch => 0677-Add-API-for-resetting-a-single-score.patch} (100%) rename patches/server/{0680-Add-Raw-Byte-Entity-Serialization.patch => 0678-Add-Raw-Byte-Entity-Serialization.patch} (91%) rename patches/server/{0681-Vanilla-command-permission-fixes.patch => 0679-Vanilla-command-permission-fixes.patch} (97%) rename patches/server/{0682-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch => 0680-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch} (97%) rename patches/server/{0683-Fix-GameProfileCache-concurrency.patch => 0681-Fix-GameProfileCache-concurrency.patch} (100%) rename patches/server/{0684-Improve-and-expand-AsyncCatcher.patch => 0682-Improve-and-expand-AsyncCatcher.patch} (96%) rename patches/server/{0685-Add-paper-mobcaps-and-paper-playermobcaps.patch => 0683-Add-paper-mobcaps-and-paper-playermobcaps.patch} (96%) rename patches/server/{0686-Sanitize-ResourceLocation-error-logging.patch => 0684-Sanitize-ResourceLocation-error-logging.patch} (100%) rename patches/server/{0687-Allow-controlled-flushing-for-network-manager.patch => 0685-Allow-controlled-flushing-for-network-manager.patch} (100%) rename patches/server/{0688-Optimise-general-POI-access.patch => 0686-Optimise-general-POI-access.patch} (100%) rename patches/server/{0689-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch => 0687-Optimize-anyPlayerCloseEnoughForSpawning-to-use-dist.patch} (99%) rename patches/server/{0690-Optimise-chunk-tick-iteration.patch => 0688-Optimise-chunk-tick-iteration.patch} (100%) rename patches/server/{0691-Execute-chunk-tasks-mid-tick.patch => 0689-Execute-chunk-tasks-mid-tick.patch} (97%) rename patches/server/{0692-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch => 0690-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch} (100%) rename patches/server/{0693-Custom-table-implementation-for-blockstate-state-loo.patch => 0691-Custom-table-implementation-for-blockstate-state-loo.patch} (100%) rename patches/server/{0694-Detail-more-information-in-watchdog-dumps.patch => 0692-Detail-more-information-in-watchdog-dumps.patch} (99%) rename patches/server/{0695-Manually-inline-methods-in-BlockPosition.patch => 0693-Manually-inline-methods-in-BlockPosition.patch} (100%) rename patches/server/{0696-Distance-manager-tick-timings.patch => 0694-Distance-manager-tick-timings.patch} (100%) rename patches/server/{0697-Name-craft-scheduler-threads-according-to-the-plugin.patch => 0695-Name-craft-scheduler-threads-according-to-the-plugin.patch} (100%) rename patches/server/{0698-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch => 0696-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch} (100%) rename patches/server/{0699-Add-packet-limiter-config.patch => 0697-Add-packet-limiter-config.patch} (100%) rename patches/server/{0700-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch => 0698-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch} (100%) rename patches/server/{0701-Consolidate-flush-calls-for-entity-tracker-packets.patch => 0699-Consolidate-flush-calls-for-entity-tracker-packets.patch} (100%) rename patches/server/{0702-Don-t-lookup-fluid-state-when-raytracing.patch => 0700-Don-t-lookup-fluid-state-when-raytracing.patch} (100%) rename patches/server/{0703-Time-scoreboard-search.patch => 0701-Time-scoreboard-search.patch} (96%) rename patches/server/{0704-Send-full-pos-packets-for-hard-colliding-entities.patch => 0702-Send-full-pos-packets-for-hard-colliding-entities.patch} (100%) rename patches/server/{0705-Do-not-run-raytrace-logic-for-AIR.patch => 0703-Do-not-run-raytrace-logic-for-AIR.patch} (100%) rename patches/server/{0706-Oprimise-map-impl-for-tracked-players.patch => 0704-Oprimise-map-impl-for-tracked-players.patch} (100%) rename patches/server/{0707-Optimise-BlockSoil-nearby-water-lookup.patch => 0705-Optimise-BlockSoil-nearby-water-lookup.patch} (100%) rename patches/server/{0708-Optimise-random-block-ticking.patch => 0706-Optimise-random-block-ticking.patch} (100%) rename patches/server/{0709-Optimise-non-flush-packet-sending.patch => 0707-Optimise-non-flush-packet-sending.patch} (100%) rename patches/server/{0710-Optimise-nearby-player-lookups.patch => 0708-Optimise-nearby-player-lookups.patch} (100%) rename patches/server/{0711-Remove-streams-for-villager-AI.patch => 0709-Remove-streams-for-villager-AI.patch} (100%) rename patches/server/{0712-Use-Velocity-compression-and-cipher-natives.patch => 0710-Use-Velocity-compression-and-cipher-natives.patch} (100%) rename patches/server/{0713-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch => 0711-Reduce-worldgen-thread-worker-count-for-low-core-cou.patch} (100%) rename patches/server/{0714-Fix-Bukkit-NamespacedKey-shenanigans.patch => 0712-Fix-Bukkit-NamespacedKey-shenanigans.patch} (100%) rename patches/server/{0715-Fix-merchant-inventory-not-closing-on-entity-removal.patch => 0713-Fix-merchant-inventory-not-closing-on-entity-removal.patch} (100%) rename patches/server/{0716-Check-requirement-before-suggesting-root-nodes.patch => 0714-Check-requirement-before-suggesting-root-nodes.patch} (100%) rename patches/server/{0717-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch => 0715-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch} (92%) rename patches/server/{0718-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch => 0716-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch} (100%) rename patches/server/{0719-Ensure-valid-vehicle-status.patch => 0717-Ensure-valid-vehicle-status.patch} (90%) rename patches/server/{0720-Prevent-softlocked-end-exit-portal-generation.patch => 0718-Prevent-softlocked-end-exit-portal-generation.patch} (100%) rename patches/server/{0721-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch => 0719-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch} (100%) rename patches/server/{0722-Don-t-log-debug-logging-being-disabled.patch => 0720-Don-t-log-debug-logging-being-disabled.patch} (100%) rename patches/server/{0723-fix-various-menus-with-empty-level-accesses.patch => 0721-fix-various-menus-with-empty-level-accesses.patch} (100%) rename patches/server/{0724-Preserve-overstacked-loot.patch => 0722-Preserve-overstacked-loot.patch} (100%) rename patches/server/{0725-Update-head-rotation-in-missing-places.patch => 0723-Update-head-rotation-in-missing-places.patch} (93%) rename patches/server/{0726-prevent-unintended-light-block-manipulation.patch => 0724-prevent-unintended-light-block-manipulation.patch} (100%) rename patches/server/{0727-Fix-CraftCriteria-defaults-map.patch => 0725-Fix-CraftCriteria-defaults-map.patch} (100%) rename patches/server/{0728-Fix-upstreams-block-state-factories.patch => 0726-Fix-upstreams-block-state-factories.patch} (100%) rename patches/server/{0729-Add-config-option-for-logging-player-ip-addresses.patch => 0727-Add-config-option-for-logging-player-ip-addresses.patch} (97%) rename patches/server/{0730-Configurable-feature-seeds.patch => 0728-Configurable-feature-seeds.patch} (100%) rename patches/server/{0731-VanillaCommandWrapper-didnt-account-for-entity-sende.patch => 0729-VanillaCommandWrapper-didnt-account-for-entity-sende.patch} (92%) rename patches/server/{0732-Add-root-admin-user-detection.patch => 0730-Add-root-admin-user-detection.patch} (100%) rename patches/server/{0733-Always-allow-item-changing-in-Fireball.patch => 0731-Always-allow-item-changing-in-Fireball.patch} (100%) rename patches/server/{0734-don-t-attempt-to-teleport-dead-entities.patch => 0732-don-t-attempt-to-teleport-dead-entities.patch} (91%) rename patches/server/{0735-Prevent-excessive-velocity-through-repeated-crits.patch => 0733-Prevent-excessive-velocity-through-repeated-crits.patch} (100%) rename patches/server/{0736-Remove-client-side-code-using-deprecated-for-removal.patch => 0734-Remove-client-side-code-using-deprecated-for-removal.patch} (100%) rename patches/server/{0737-Fix-removing-recipes-from-RecipeIterator.patch => 0735-Fix-removing-recipes-from-RecipeIterator.patch} (84%) rename patches/server/{0738-Prevent-sending-oversized-item-data-in-equipment-and.patch => 0736-Prevent-sending-oversized-item-data-in-equipment-and.patch} (100%) rename patches/server/{0739-Hide-unnecessary-itemmeta-from-clients.patch => 0737-Hide-unnecessary-itemmeta-from-clients.patch} (97%) rename patches/server/{0740-Fix-Spigot-growth-modifiers.patch => 0738-Fix-Spigot-growth-modifiers.patch} (100%) rename patches/server/{0741-Prevent-ContainerOpenersCounter-openCount-from-going.patch => 0739-Prevent-ContainerOpenersCounter-openCount-from-going.patch} (100%) rename patches/server/{0742-Add-PlayerItemFrameChangeEvent.patch => 0740-Add-PlayerItemFrameChangeEvent.patch} (100%) rename patches/server/{0743-Add-player-health-update-API.patch => 0741-Add-player-health-update-API.patch} (88%) rename patches/server/{0744-Optimize-HashMapPalette.patch => 0742-Optimize-HashMapPalette.patch} (100%) rename patches/server/{0745-Allow-delegation-to-vanilla-chunk-gen.patch => 0743-Allow-delegation-to-vanilla-chunk-gen.patch} (97%) rename patches/server/{0746-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch => 0744-Highly-optimise-single-and-multi-AABB-VoxelShapes-an.patch} (99%) rename patches/server/{0747-Optimise-collision-checking-in-player-move-packet-ha.patch => 0745-Optimise-collision-checking-in-player-move-packet-ha.patch} (98%) rename patches/server/{0748-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch => 0746-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch} (100%) rename patches/server/{0749-Add-more-Campfire-API.patch => 0747-Add-more-Campfire-API.patch} (100%) rename patches/server/{0750-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch => 0748-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch} (100%) rename patches/server/{0751-Fix-tripwire-state-inconsistency.patch => 0749-Fix-tripwire-state-inconsistency.patch} (100%) rename patches/server/{0752-Forward-CraftEntity-in-teleport-command.patch => 0750-Forward-CraftEntity-in-teleport-command.patch} (95%) rename patches/server/{0753-Improve-scoreboard-entries.patch => 0751-Improve-scoreboard-entries.patch} (78%) rename patches/server/{0754-Entity-powdered-snow-API.patch => 0752-Entity-powdered-snow-API.patch} (91%) rename patches/server/{0755-Add-API-for-item-entity-health.patch => 0753-Add-API-for-item-entity-health.patch} (100%) rename patches/server/{0756-Fix-entity-type-tags-suggestions-in-selectors.patch => 0754-Fix-entity-type-tags-suggestions-in-selectors.patch} (100%) rename patches/server/{0757-Configurable-max-block-light-for-monster-spawning.patch => 0755-Configurable-max-block-light-for-monster-spawning.patch} (100%) rename patches/server/{0758-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch => 0756-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch} (100%) rename patches/server/{0759-Load-effect-amplifiers-greater-than-127-correctly.patch => 0757-Load-effect-amplifiers-greater-than-127-correctly.patch} (100%) rename patches/server/{0760-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch => 0758-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch} (100%) rename patches/server/{0761-Fix-bees-aging-inside-hives.patch => 0759-Fix-bees-aging-inside-hives.patch} (100%) rename patches/server/{0762-Bucketable-API.patch => 0760-Bucketable-API.patch} (100%) rename patches/server/{0763-Validate-usernames.patch => 0761-Validate-usernames.patch} (97%) rename patches/server/{0764-Make-water-animal-spawn-height-configurable.patch => 0762-Make-water-animal-spawn-height-configurable.patch} (100%) rename patches/server/{0765-Expose-vanilla-BiomeProvider-from-WorldInfo.patch => 0763-Expose-vanilla-BiomeProvider-from-WorldInfo.patch} (94%) rename patches/server/{0766-Add-config-option-for-worlds-affected-by-time-cmd.patch => 0764-Add-config-option-for-worlds-affected-by-time-cmd.patch} (100%) rename patches/server/{0767-Add-new-overload-to-PersistentDataContainer-has.patch => 0765-Add-new-overload-to-PersistentDataContainer-has.patch} (83%) rename patches/server/{0768-Multiple-Entries-with-Scoreboards.patch => 0766-Multiple-Entries-with-Scoreboards.patch} (93%) rename patches/server/{0769-Reset-placed-block-on-exception.patch => 0767-Reset-placed-block-on-exception.patch} (100%) rename patches/server/{0770-Add-configurable-height-for-slime-spawn.patch => 0768-Add-configurable-height-for-slime-spawn.patch} (100%) rename patches/server/{0771-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch => 0769-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch} (100%) rename patches/server/{0772-Fix-xp-reward-for-baby-zombies.patch => 0770-Fix-xp-reward-for-baby-zombies.patch} (100%) rename patches/server/{0773-Kick-on-main-for-illegal-chat.patch => 0771-Kick-on-main-for-illegal-chat.patch} (90%) rename patches/server/{0774-Multi-Block-Change-API-Implementation.patch => 0772-Multi-Block-Change-API-Implementation.patch} (95%) rename patches/server/{0775-Fix-NotePlayEvent.patch => 0773-Fix-NotePlayEvent.patch} (100%) rename patches/server/{0776-Freeze-Tick-Lock-API.patch => 0774-Freeze-Tick-Lock-API.patch} (95%) rename patches/server/{0777-Dolphin-API.patch => 0775-Dolphin-API.patch} (100%) rename patches/server/{0778-More-PotionEffectType-API.patch => 0776-More-PotionEffectType-API.patch} (100%) rename patches/server/{0779-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch => 0777-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch} (100%) rename patches/server/{0780-API-for-creating-command-sender-which-forwards-feedb.patch => 0778-API-for-creating-command-sender-which-forwards-feedb.patch} (96%) rename patches/server/{0781-Add-missing-structure-set-seed-configs.patch => 0779-Add-missing-structure-set-seed-configs.patch} (100%) rename patches/server/{0782-Implement-regenerateChunk.patch => 0780-Implement-regenerateChunk.patch} (96%) rename patches/server/{0783-Fix-cancelled-powdered-snow-bucket-placement.patch => 0781-Fix-cancelled-powdered-snow-bucket-placement.patch} (100%) rename patches/server/{0784-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch => 0782-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch} (65%) rename patches/server/{0785-Add-GameEvent-tags.patch => 0783-Add-GameEvent-tags.patch} (95%) rename patches/server/{0786-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch => 0784-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch} (87%) rename patches/server/{0787-Furnace-RecipesUsed-API.patch => 0785-Furnace-RecipesUsed-API.patch} (100%) rename patches/server/{0788-Configurable-sculk-sensor-listener-range.patch => 0786-Configurable-sculk-sensor-listener-range.patch} (100%) rename patches/server/{0789-Add-missing-block-data-mins-and-maxes.patch => 0787-Add-missing-block-data-mins-and-maxes.patch} (100%) rename patches/server/{0790-Option-to-have-default-CustomSpawners-in-custom-worl.patch => 0788-Option-to-have-default-CustomSpawners-in-custom-worl.patch} (93%) rename patches/server/{0791-Put-world-into-worldlist-before-initing-the-world.patch => 0789-Put-world-into-worldlist-before-initing-the-world.patch} (85%) rename patches/server/{0792-Fix-Entity-Position-Desync.patch => 0790-Fix-Entity-Position-Desync.patch} (100%) rename patches/server/{0793-Custom-Potion-Mixes.patch => 0791-Custom-Potion-Mixes.patch} (94%) rename patches/server/{0794-Force-close-world-loading-screen.patch => 0792-Force-close-world-loading-screen.patch} (95%) rename patches/server/{0795-Fix-falling-block-spawn-methods.patch => 0793-Fix-falling-block-spawn-methods.patch} (80%) rename patches/server/{0796-Expose-furnace-minecart-push-values.patch => 0794-Expose-furnace-minecart-push-values.patch} (100%) rename patches/server/{0797-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch => 0795-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch} (100%) rename patches/server/{0798-More-Projectile-API.patch => 0796-More-Projectile-API.patch} (93%) rename patches/server/{0799-Fix-swamp-hut-cat-generation-deadlock.patch => 0797-Fix-swamp-hut-cat-generation-deadlock.patch} (100%) rename patches/server/{0800-Don-t-allow-vehicle-movement-from-players-while-tele.patch => 0798-Don-t-allow-vehicle-movement-from-players-while-tele.patch} (93%) rename patches/server/{0801-Implement-getComputedBiome-API.patch => 0799-Implement-getComputedBiome-API.patch} (87%) rename patches/server/{0802-Make-some-itemstacks-nonnull.patch => 0800-Make-some-itemstacks-nonnull.patch} (91%) rename patches/server/{0803-Implement-enchantWithLevels-API.patch => 0801-Implement-enchantWithLevels-API.patch} (68%) rename patches/server/{0804-Fix-saving-in-unloadWorld.patch => 0802-Fix-saving-in-unloadWorld.patch} (83%) rename patches/server/{0805-Buffer-OOB-setBlock-calls.patch => 0803-Buffer-OOB-setBlock-calls.patch} (100%) rename patches/server/{0806-Add-TameableDeathMessageEvent.patch => 0804-Add-TameableDeathMessageEvent.patch} (100%) rename patches/server/{0807-Fix-new-block-data-for-EntityChangeBlockEvent.patch => 0805-Fix-new-block-data-for-EntityChangeBlockEvent.patch} (100%) rename patches/server/{0808-fix-player-loottables-running-when-mob-loot-gamerule.patch => 0806-fix-player-loottables-running-when-mob-loot-gamerule.patch} (92%) rename patches/server/{0809-Ensure-entity-passenger-world-matches-ridden-entity.patch => 0807-Ensure-entity-passenger-world-matches-ridden-entity.patch} (92%) rename patches/server/{0810-Guard-against-invalid-entity-positions.patch => 0808-Guard-against-invalid-entity-positions.patch} (95%) rename patches/server/{0811-cache-resource-keys.patch => 0809-cache-resource-keys.patch} (94%) rename patches/server/{0812-Allow-to-change-the-podium-for-the-EnderDragon.patch => 0810-Allow-to-change-the-podium-for-the-EnderDragon.patch} (100%) rename patches/server/{0813-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch => 0811-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch} (100%) rename patches/server/{0814-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch => 0812-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch} (100%) rename patches/server/{0815-Prevent-tile-entity-copies-loading-chunks.patch => 0813-Prevent-tile-entity-copies-loading-chunks.patch} (89%) rename patches/server/{0816-Use-username-instead-of-display-name-in-PlayerList-g.patch => 0814-Use-username-instead-of-display-name-in-PlayerList-g.patch} (92%) rename patches/server/{0817-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch => 0815-Fix-slime-spawners-not-spawning-outside-slime-chunks.patch} (100%) rename patches/server/{0818-Pass-ServerLevel-for-gamerule-callbacks.patch => 0816-Pass-ServerLevel-for-gamerule-callbacks.patch} (96%) rename patches/server/{0819-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch => 0817-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch} (100%) rename patches/server/{0820-WorldCreator-keepSpawnLoaded.patch => 0818-WorldCreator-keepSpawnLoaded.patch} (85%) rename patches/server/{0821-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch => 0819-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch} (100%) rename patches/server/{0822-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0820-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/server/{0823-Fire-CauldronLevelChange-on-initial-fill.patch => 0821-Fire-CauldronLevelChange-on-initial-fill.patch} (100%) rename patches/server/{0824-fix-powder-snow-cauldrons-not-turning-to-water.patch => 0822-fix-powder-snow-cauldrons-not-turning-to-water.patch} (100%) rename patches/server/{0825-Add-PlayerStopUsingItemEvent.patch => 0823-Add-PlayerStopUsingItemEvent.patch} (100%) rename patches/server/{0826-FallingBlock-auto-expire-setting.patch => 0824-FallingBlock-auto-expire-setting.patch} (100%) rename patches/server/{0827-Don-t-tick-markers.patch => 0825-Don-t-tick-markers.patch} (97%) rename patches/server/{0828-Do-not-accept-invalid-client-settings.patch => 0826-Do-not-accept-invalid-client-settings.patch} (88%) rename patches/server/{0829-Add-support-for-Proxy-Protocol.patch => 0827-Add-support-for-Proxy-Protocol.patch} (100%) rename patches/server/{0830-Fix-OfflinePlayer-getBedSpawnLocation.patch => 0828-Fix-OfflinePlayer-getBedSpawnLocation.patch} (100%) rename patches/server/{0831-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch => 0829-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch} (100%) rename patches/server/{0832-Sanitize-Sent-BlockEntity-NBT.patch => 0830-Sanitize-Sent-BlockEntity-NBT.patch} (100%) rename patches/server/{0833-Disable-component-selector-resolving-in-books-by-def.patch => 0831-Disable-component-selector-resolving-in-books-by-def.patch} (100%) rename patches/server/{0834-Prevent-entity-loading-causing-async-lookups.patch => 0832-Prevent-entity-loading-causing-async-lookups.patch} (97%) rename patches/server/{0835-Throw-exception-on-world-create-while-being-ticked.patch => 0833-Throw-exception-on-world-create-while-being-ticked.patch} (85%) rename patches/server/{0836-Add-Alternate-Current-redstone-implementation.patch => 0834-Add-Alternate-Current-redstone-implementation.patch} (100%) rename patches/server/{0837-Dont-resent-entity-on-art-update.patch => 0835-Dont-resent-entity-on-art-update.patch} (100%) rename patches/server/{0838-Add-WardenAngerChangeEvent.patch => 0836-Add-WardenAngerChangeEvent.patch} (100%) rename patches/server/{0839-Add-option-for-strict-advancement-dimension-checks.patch => 0837-Add-option-for-strict-advancement-dimension-checks.patch} (94%) rename patches/server/{0840-Add-missing-important-BlockStateListPopulator-method.patch => 0838-Add-missing-important-BlockStateListPopulator-method.patch} (100%) rename patches/server/{0841-Nameable-Banner-API.patch => 0839-Nameable-Banner-API.patch} (100%) rename patches/server/{0842-Don-t-broadcast-messages-to-command-blocks.patch => 0840-Don-t-broadcast-messages-to-command-blocks.patch} (92%) rename patches/server/{0843-Prevent-empty-items-from-being-added-to-world.patch => 0841-Prevent-empty-items-from-being-added-to-world.patch} (100%) rename patches/server/{0844-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch => 0842-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch} (92%) rename patches/server/{0845-Don-t-print-component-in-resource-pack-rejection-mes.patch => 0843-Don-t-print-component-in-resource-pack-rejection-mes.patch} (90%) rename patches/server/{0846-Add-Player-getFishHook.patch => 0844-Add-Player-getFishHook.patch} (92%) rename patches/server/{0847-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch => 0845-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch} (100%) rename patches/server/{0848-Add-various-missing-EntityDropItemEvent-calls.patch => 0846-Add-various-missing-EntityDropItemEvent-calls.patch} (97%) rename patches/server/{0849-Add-some-minimal-debug-information-to-chat-packet-er.patch => 0847-Add-some-minimal-debug-information-to-chat-packet-er.patch} (90%) rename patches/server/{0850-Fix-Bee-flower-NPE.patch => 0848-Fix-Bee-flower-NPE.patch} (100%) rename patches/server/{0851-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch => 0849-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch} (87%) rename patches/server/{0852-More-Teleport-API.patch => 0850-More-Teleport-API.patch} (94%) rename patches/server/{0853-Add-EntityPortalReadyEvent.patch => 0851-Add-EntityPortalReadyEvent.patch} (95%) rename patches/server/{0854-Don-t-use-level-random-in-entity-constructors.patch => 0852-Don-t-use-level-random-in-entity-constructors.patch} (100%) rename patches/server/{0855-Send-block-entities-after-destroy-prediction.patch => 0853-Send-block-entities-after-destroy-prediction.patch} (97%) rename patches/server/{0856-Warn-on-plugins-accessing-faraway-chunks.patch => 0854-Warn-on-plugins-accessing-faraway-chunks.patch} (89%) rename patches/server/{0857-Custom-Chat-Completion-Suggestions-API.patch => 0855-Custom-Chat-Completion-Suggestions-API.patch} (90%) rename patches/server/{0858-Add-missing-BlockFadeEvents.patch => 0856-Add-missing-BlockFadeEvents.patch} (100%) rename patches/server/{0859-Collision-API.patch => 0857-Collision-API.patch} (88%) rename patches/server/{0860-Fix-suggest-command-message-for-brigadier-syntax-exc.patch => 0858-Fix-suggest-command-message-for-brigadier-syntax-exc.patch} (100%) rename patches/server/{0861-Remove-invalid-signature-login-stacktrace.patch => 0859-Remove-invalid-signature-login-stacktrace.patch} (88%) rename patches/server/{0862-Block-Ticking-API.patch => 0860-Block-Ticking-API.patch} (92%) rename patches/server/{0863-Add-Velocity-IP-Forwarding-Support.patch => 0861-Add-Velocity-IP-Forwarding-Support.patch} (99%) rename patches/server/{0864-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch => 0862-Use-thread-safe-random-in-ServerLoginPacketListenerI.patch} (100%) rename patches/server/{0865-Add-NamespacedKey-biome-methods.patch => 0863-Add-NamespacedKey-biome-methods.patch} (92%) rename patches/server/{0866-Fix-plugin-loggers-on-server-shutdown.patch => 0864-Fix-plugin-loggers-on-server-shutdown.patch} (92%) rename patches/server/{0867-Stop-large-look-changes-from-crashing-the-server.patch => 0865-Stop-large-look-changes-from-crashing-the-server.patch} (100%) rename patches/server/{0868-Fire-EntityChangeBlockEvent-in-more-places.patch => 0866-Fire-EntityChangeBlockEvent-in-more-places.patch} (100%) rename patches/server/{0869-Missing-eating-regain-reason.patch => 0867-Missing-eating-regain-reason.patch} (100%) rename patches/server/{0870-Missing-effect-cause.patch => 0868-Missing-effect-cause.patch} (100%) rename patches/server/{0871-Added-byte-array-serialization-deserialization-for-P.patch => 0869-Added-byte-array-serialization-deserialization-for-P.patch} (94%) rename patches/server/{0872-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch => 0870-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch} (88%) rename patches/server/{0873-Call-BlockPhysicsEvent-more-often.patch => 0871-Call-BlockPhysicsEvent-more-often.patch} (100%) rename patches/server/{0874-Configurable-chat-thread-limit.patch => 0872-Configurable-chat-thread-limit.patch} (100%) rename patches/server/{0875-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch => 0873-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch} (100%) rename patches/server/{0876-fix-Jigsaw-block-kicking-user.patch => 0874-fix-Jigsaw-block-kicking-user.patch} (100%) rename patches/server/{0877-use-BlockFormEvent-for-mud-converting-into-clay.patch => 0875-use-BlockFormEvent-for-mud-converting-into-clay.patch} (100%) rename patches/server/{0878-Add-getDrops-to-BlockState.patch => 0876-Add-getDrops-to-BlockState.patch} (92%) rename patches/server/{0879-Fix-a-bunch-of-vanilla-bugs.patch => 0877-Fix-a-bunch-of-vanilla-bugs.patch} (100%) rename patches/server/{0880-Remove-unnecessary-onTrackingStart-during-navigation.patch => 0878-Remove-unnecessary-onTrackingStart-during-navigation.patch} (100%) rename patches/server/{0881-Fix-custom-piglin-loved-items.patch => 0879-Fix-custom-piglin-loved-items.patch} (100%) rename patches/server/{0882-EntityPickupItemEvent-fixes.patch => 0880-EntityPickupItemEvent-fixes.patch} (100%) rename patches/server/{0883-Correctly-handle-interactions-with-items-on-cooldown.patch => 0881-Correctly-handle-interactions-with-items-on-cooldown.patch} (97%) rename patches/server/{0884-Add-PlayerInventorySlotChangeEvent.patch => 0882-Add-PlayerInventorySlotChangeEvent.patch} (97%) rename patches/server/{0885-Elder-Guardian-appearance-API.patch => 0883-Elder-Guardian-appearance-API.patch} (84%) rename patches/server/{0886-Allow-changing-bed-s-occupied-property.patch => 0884-Allow-changing-bed-s-occupied-property.patch} (100%) rename patches/server/{0887-Add-entity-knockback-API.patch => 0885-Add-entity-knockback-API.patch} (85%) rename patches/server/{0888-Detect-headless-JREs.patch => 0886-Detect-headless-JREs.patch} (100%) rename patches/server/{0889-fixed-entity-vehicle-collision-event-not-called.patch => 0887-fixed-entity-vehicle-collision-event-not-called.patch} (100%) rename patches/server/{0890-optimized-dirt-and-snow-spreading.patch => 0888-optimized-dirt-and-snow-spreading.patch} (100%) rename patches/server/{0891-Added-EntityToggleSitEvent.patch => 0889-Added-EntityToggleSitEvent.patch} (100%) rename patches/server/{0892-Add-fire-tick-delay-option.patch => 0890-Add-fire-tick-delay-option.patch} (100%) rename patches/server/{0893-Add-Moving-Piston-API.patch => 0891-Add-Moving-Piston-API.patch} (100%) rename patches/server/{0894-Ignore-impossible-spawn-tick.patch => 0892-Ignore-impossible-spawn-tick.patch} (90%) rename patches/server/{0895-Track-projectile-source-for-fireworks-from-dispenser.patch => 0893-Track-projectile-source-for-fireworks-from-dispenser.patch} (100%) rename patches/server/{0896-Fix-EntityArgument-suggestion-permissions-to-align-w.patch => 0894-Fix-EntityArgument-suggestion-permissions-to-align-w.patch} (100%) rename patches/server/{0897-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch => 0895-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch} (95%) rename patches/server/{0898-Prevent-compass-from-loading-chunks.patch => 0896-Prevent-compass-from-loading-chunks.patch} (100%) rename patches/server/{0899-Add-PrePlayerAttackEntityEvent.patch => 0897-Add-PrePlayerAttackEntityEvent.patch} (100%) rename patches/server/{0900-ensure-reset-EnderDragon-boss-event-name.patch => 0898-ensure-reset-EnderDragon-boss-event-name.patch} (100%) rename patches/server/{0901-fix-MC-252817-green-map-markers-do-not-disappear.patch => 0899-fix-MC-252817-green-map-markers-do-not-disappear.patch} (100%) rename patches/server/{0902-Add-Player-Warden-Warning-API.patch => 0900-Add-Player-Warden-Warning-API.patch} (93%) rename patches/server/{0903-More-vanilla-friendly-methods-to-update-trades.patch => 0901-More-vanilla-friendly-methods-to-update-trades.patch} (94%) rename patches/server/{0904-Add-paper-dumplisteners-command.patch => 0902-Add-paper-dumplisteners-command.patch} (100%) rename patches/server/{0905-check-global-player-list-where-appropriate.patch => 0903-check-global-player-list-where-appropriate.patch} (100%) rename patches/server/{0906-Fix-async-entity-add-due-to-fungus-trees.patch => 0904-Fix-async-entity-add-due-to-fungus-trees.patch} (95%) rename patches/server/{0907-ItemStack-damage-API.patch => 0905-ItemStack-damage-API.patch} (95%) rename patches/server/{0908-Friction-API.patch => 0906-Friction-API.patch} (97%) rename patches/server/{0909-Ability-to-control-player-s-insomnia-and-phantoms.patch => 0907-Ability-to-control-player-s-insomnia-and-phantoms.patch} (100%) rename patches/server/{0910-Fix-player-kick-on-shutdown.patch => 0908-Fix-player-kick-on-shutdown.patch} (100%) rename patches/server/{0911-Sync-offhand-slot-in-menus.patch => 0909-Sync-offhand-slot-in-menus.patch} (97%) rename patches/server/{0912-Player-Entity-Tracking-Events.patch => 0910-Player-Entity-Tracking-Events.patch} (94%) rename patches/server/{0913-Limit-pet-look-distance.patch => 0911-Limit-pet-look-distance.patch} (100%) rename patches/server/{0914-Properly-resend-entities.patch => 0912-Properly-resend-entities.patch} (96%) rename patches/server/{0915-Fixes-and-additions-to-the-SpawnReason-API.patch => 0913-Fixes-and-additions-to-the-SpawnReason-API.patch} (100%) create mode 100644 patches/server/0914-fix-Instruments.patch rename patches/server/{0917-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch => 0915-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch} (100%) rename patches/server/{0918-Fix-inconsistencies-in-dispense-events-regarding-sta.patch => 0916-Fix-inconsistencies-in-dispense-events-regarding-sta.patch} (100%) delete mode 100644 patches/server/0916-fix-Instruments.patch rename patches/server/{0919-Improve-logging-and-errors.patch => 0917-Improve-logging-and-errors.patch} (96%) rename patches/server/{0920-Add-BlockLockCheckEvent.patch => 0918-Add-BlockLockCheckEvent.patch} (100%) rename patches/server/{0921-Add-Sneaking-API-for-Entities.patch => 0919-Add-Sneaking-API-for-Entities.patch} (86%) rename patches/server/{0922-Improve-PortalEvents.patch => 0920-Improve-PortalEvents.patch} (93%) rename patches/server/{0923-Add-config-option-for-spider-worldborder-climbing.patch => 0921-Add-config-option-for-spider-worldborder-climbing.patch} (96%) rename patches/server/{0924-Add-missing-SpigotConfig-logCommands-check.patch => 0922-Add-missing-SpigotConfig-logCommands-check.patch} (88%) rename patches/server/{0925-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch => 0923-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch} (100%) rename patches/server/{0926-Flying-Fall-Damage.patch => 0924-Flying-Fall-Damage.patch} (93%) rename patches/server/{0927-Add-exploded-block-state-to-BlockExplodeEvent.patch => 0925-Add-exploded-block-state-to-BlockExplodeEvent.patch} (100%) rename patches/server/{0928-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch => 0926-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch} (91%) rename patches/server/{0929-config-for-disabling-entity-tag-tags.patch => 0927-config-for-disabling-entity-tag-tags.patch} (100%) rename patches/server/{0930-Use-single-player-info-update-packet-on-join.patch => 0928-Use-single-player-info-update-packet-on-join.patch} (92%) rename patches/server/{0931-Correctly-shrink-items-during-EntityResurrectEvent.patch => 0929-Correctly-shrink-items-during-EntityResurrectEvent.patch} (100%) rename patches/server/{0932-Win-Screen-API.patch => 0930-Win-Screen-API.patch} (88%) rename patches/server/{0933-Remove-CraftItemStack-setAmount-null-assignment.patch => 0931-Remove-CraftItemStack-setAmount-null-assignment.patch} (88%) rename patches/server/{0934-Fix-force-opening-enchantment-tables.patch => 0932-Fix-force-opening-enchantment-tables.patch} (91%) rename patches/server/{0935-Add-Entity-Body-Yaw-API.patch => 0933-Add-Entity-Body-Yaw-API.patch} (87%) rename patches/server/{0936-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch => 0934-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch} (100%) rename patches/server/{0937-Update-the-flag-when-a-captured-block-state-is-outda.patch => 0935-Update-the-flag-when-a-captured-block-state-is-outda.patch} (100%) rename patches/server/{0938-Add-EntityFertilizeEggEvent.patch => 0936-Add-EntityFertilizeEggEvent.patch} (97%) rename patches/server/{0939-Fix-HumanEntity-drop-not-updating-the-client-inv.patch => 0937-Fix-HumanEntity-drop-not-updating-the-client-inv.patch} (90%) rename patches/server/{0940-Add-CompostItemEvent-and-EntityCompostItemEvent.patch => 0938-Add-CompostItemEvent-and-EntityCompostItemEvent.patch} (100%) rename patches/server/{0941-Correctly-handle-ArmorStand-invisibility.patch => 0939-Correctly-handle-ArmorStand-invisibility.patch} (100%) rename patches/server/{0942-Fix-advancement-triggers-for-entity-damage.patch => 0940-Fix-advancement-triggers-for-entity-damage.patch} (100%) rename patches/server/{0943-Fix-text-display-error-on-spawn.patch => 0941-Fix-text-display-error-on-spawn.patch} (100%) rename patches/server/{0944-Fix-certain-inventories-returning-null-Locations.patch => 0942-Fix-certain-inventories-returning-null-Locations.patch} (100%) rename patches/server/{0945-Add-Shearable-API.patch => 0943-Add-Shearable-API.patch} (100%) rename patches/server/{0946-Fix-SpawnEggMeta-get-setSpawnedType.patch => 0944-Fix-SpawnEggMeta-get-setSpawnedType.patch} (100%) rename patches/server/{0947-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch => 0945-Fix-chiseled-bookshelf-and-jukebox-setItem-with-air.patch} (90%) rename patches/server/{0948-Optimize-Hoppers.patch => 0946-Optimize-Hoppers.patch} (99%) rename patches/server/{0949-Fix-beehives-generating-from-using-bonemeal.patch => 0947-Fix-beehives-generating-from-using-bonemeal.patch} (100%) rename patches/server/{0950-Fix-api-checking-banned-ips.patch => 0948-Fix-api-checking-banned-ips.patch} (81%) rename patches/server/{0951-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch => 0949-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch} (100%) rename patches/server/{0952-Treat-sequence-violations-like-they-should-be.patch => 0950-Treat-sequence-violations-like-they-should-be.patch} (86%) rename patches/server/{0953-remove-duplicate-animate-packet-for-records.patch => 0951-remove-duplicate-animate-packet-for-records.patch} (100%) rename patches/server/{0954-Prevent-causing-expired-keys-from-impacting-new-join.patch => 0952-Prevent-causing-expired-keys-from-impacting-new-join.patch} (95%) rename patches/server/{0955-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch => 0953-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch} (100%) rename patches/server/{0956-Use-array-for-gamerule-storage.patch => 0954-Use-array-for-gamerule-storage.patch} (100%) rename patches/server/{0957-Fix-a-couple-of-upstream-bed-issues.patch => 0955-Fix-a-couple-of-upstream-bed-issues.patch} (100%) rename patches/server/{0958-Fix-demo-flag-not-enabling-demo-mode.patch => 0956-Fix-demo-flag-not-enabling-demo-mode.patch} (100%) rename patches/server/{0959-Add-Mob-Experience-reward-API.patch => 0957-Add-Mob-Experience-reward-API.patch} (100%) rename patches/server/{0960-Break-redstone-on-top-of-trap-doors-early.patch => 0958-Break-redstone-on-top-of-trap-doors-early.patch} (100%) rename patches/server/{0961-Fix-DamageCause-for-Falling-Blocks.patch => 0959-Fix-DamageCause-for-Falling-Blocks.patch} (92%) rename patches/server/{0962-Avoid-Lazy-Initialization-for-Enum-Fields.patch => 0960-Avoid-Lazy-Initialization-for-Enum-Fields.patch} (100%) rename patches/server/{0963-More-accurate-isInOpenWater-impl.patch => 0961-More-accurate-isInOpenWater-impl.patch} (89%) rename patches/server/{0964-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch => 0962-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch} (100%) rename patches/server/{0965-Optimise-recalcBlockCounts-for-empty-sections.patch => 0963-Optimise-recalcBlockCounts-for-empty-sections.patch} (100%) rename patches/server/{0966-Fix-destroying-beehive-without-any-players-nearby-th.patch => 0964-Fix-destroying-beehive-without-any-players-nearby-th.patch} (100%) rename patches/server/{0967-Expand-PlayerItemMendEvent.patch => 0965-Expand-PlayerItemMendEvent.patch} (93%) rename patches/server/{0968-Refresh-ProjectileSource-for-projectiles.patch => 0966-Refresh-ProjectileSource-for-projectiles.patch} (97%) rename patches/server/{0969-Add-transient-modifier-API.patch => 0967-Add-transient-modifier-API.patch} (100%) rename patches/server/{0970-Fix-block-place-logic.patch => 0968-Fix-block-place-logic.patch} (100%) rename patches/server/{0971-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch => 0969-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch} (100%) rename patches/server/{0972-Ignore-inline-definitions-of-trim-material-pattern.patch => 0970-Ignore-inline-definitions-of-trim-material-pattern.patch} (100%) rename patches/server/{0973-Call-BlockGrowEvent-for-the-pitcher-crop.patch => 0971-Call-BlockGrowEvent-for-the-pitcher-crop.patch} (100%) rename patches/server/{0974-Add-API-for-waxed-signs.patch => 0972-Add-API-for-waxed-signs.patch} (100%) rename patches/server/{0975-Properly-remove-the-experimental-smithing-inventory-.patch => 0973-Properly-remove-the-experimental-smithing-inventory-.patch} (98%) rename patches/server/{0976-Fix-sendSignChange0-s-usage-of-SignText.patch => 0974-Fix-sendSignChange0-s-usage-of-SignText.patch} (92%) 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 @@ -1282,15 +1302,6 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca @NotNull 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. @@ -1298,14 +1309,23 @@ index 6f97c680535fabf88509a49ec21704eb527b2add..b516021b6772d8266ed72b73170510ca + * @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 * *

* Note: 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 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 * null and the name is null 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 null @@ -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 null 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 * null and the name is null 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 null @@ -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 null 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(org.bukkit.inventory.@org.jetbrains.annotations.NotNull 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 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 similarity index 100% rename from patches/api/0208-Add-BellRingEvent.patch rename to 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 -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 similarity index 100% rename from patches/api/0209-Add-moon-phase-API.patch rename to 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 similarity index 100% rename from patches/api/0210-Add-playPickupItemAnimation-to-LivingEntity.patch rename to 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 similarity index 100% rename from patches/api/0211-Add-more-Evoker-API.patch rename to 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 similarity index 100% rename from patches/api/0212-Add-methods-to-get-translation-keys.patch rename to 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 similarity index 100% rename from patches/api/0213-Create-HoverEvent-from-ItemStack-Entity.patch rename to 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 similarity index 100% rename from patches/api/0214-Add-additional-open-container-api-to-HumanEntity.patch rename to 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 similarity index 100% rename from patches/api/0215-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to 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 similarity index 100% rename from patches/api/0216-Entity-isTicking.patch rename to patches/api/0215-Entity-isTicking.patch diff --git a/patches/api/0217-Villager-resetOffers.patch b/patches/api/0216-Villager-resetOffers.patch similarity index 100% rename from patches/api/0217-Villager-resetOffers.patch rename to 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 similarity index 100% rename from patches/api/0218-Player-elytra-boost-API.patch rename to 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 similarity index 88% rename from patches/api/0219-Add-getOfflinePlayerIfCached-String.patch rename to 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 similarity index 100% rename from patches/api/0220-Add-ignore-discounts-API.patch rename to 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 similarity index 100% rename from patches/api/0221-Item-no-age-no-player-pickup.patch rename to 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 similarity index 100% rename from patches/api/0222-Beacon-API-custom-effect-ranges.patch rename to 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 similarity index 100% rename from patches/api/0223-Add-API-for-quit-reason.patch rename to 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 similarity index 100% rename from patches/api/0224-Add-Destroy-Speed-API.patch rename to 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 similarity index 100% rename from patches/api/0225-Add-LivingEntity-clearActiveItem.patch rename to patches/api/0224-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/api/0226-Add-PlayerItemCooldownEvent.patch b/patches/api/0225-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/api/0226-Add-PlayerItemCooldownEvent.patch rename to patches/api/0225-Add-PlayerItemCooldownEvent.patch diff --git a/patches/api/0227-More-lightning-API.patch b/patches/api/0226-More-lightning-API.patch similarity index 100% rename from patches/api/0227-More-lightning-API.patch rename to patches/api/0226-More-lightning-API.patch diff --git a/patches/api/0228-Add-PlayerShearBlockEvent.patch b/patches/api/0227-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/api/0228-Add-PlayerShearBlockEvent.patch rename to 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 similarity index 100% rename from patches/api/0229-Player-Chunk-Load-Unload-Events.patch rename to 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 similarity index 100% rename from patches/api/0230-Expose-LivingEntity-hurt-direction.patch rename to 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 similarity index 100% rename from patches/api/0231-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to 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 similarity index 100% rename from patches/api/0232-Added-PlayerTradeEvent.patch rename to patches/api/0231-Added-PlayerTradeEvent.patch diff --git a/patches/api/0233-Add-TargetHitEvent-API.patch b/patches/api/0232-Add-TargetHitEvent-API.patch similarity index 100% rename from patches/api/0233-Add-TargetHitEvent-API.patch rename to 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 similarity index 100% rename from patches/api/0234-Additional-Block-Material-API-s.patch rename to 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 similarity index 100% rename from patches/api/0235-Add-API-to-get-Material-from-Boats-and-Minecarts.patch rename to 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 similarity index 100% rename from patches/api/0236-Add-PlayerFlowerPotManipulateEvent.patch rename to 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 similarity index 100% rename from patches/api/0237-Zombie-API-breaking-doors.patch rename to patches/api/0236-Zombie-API-breaking-doors.patch diff --git a/patches/api/0238-Add-EntityLoadCrossbowEvent.patch b/patches/api/0237-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/api/0238-Add-EntityLoadCrossbowEvent.patch rename to patches/api/0237-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/api/0239-Added-WorldGameRuleChangeEvent.patch b/patches/api/0238-Added-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/api/0239-Added-WorldGameRuleChangeEvent.patch rename to patches/api/0238-Added-WorldGameRuleChangeEvent.patch diff --git a/patches/api/0240-Added-ServerResourcesReloadedEvent.patch b/patches/api/0239-Added-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/api/0240-Added-ServerResourcesReloadedEvent.patch rename to patches/api/0239-Added-ServerResourcesReloadedEvent.patch diff --git a/patches/api/0241-Add-BlockFailedDispenseEvent.patch b/patches/api/0240-Add-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/api/0241-Add-BlockFailedDispenseEvent.patch rename to patches/api/0240-Add-BlockFailedDispenseEvent.patch diff --git a/patches/api/0242-Added-PlayerLecternPageChangeEvent.patch b/patches/api/0241-Added-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/api/0242-Added-PlayerLecternPageChangeEvent.patch rename to patches/api/0241-Added-PlayerLecternPageChangeEvent.patch diff --git a/patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch b/patches/api/0242-Added-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/api/0243-Added-PlayerLoomPatternSelectEvent.patch rename to 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 similarity index 100% rename from patches/api/0244-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch rename to 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 similarity index 100% rename from patches/api/0245-Add-sendOpLevel-API.patch rename to patches/api/0244-Add-sendOpLevel-API.patch diff --git a/patches/api/0246-Add-PaperRegistry.patch b/patches/api/0245-Add-PaperRegistry.patch similarity index 100% rename from patches/api/0246-Add-PaperRegistry.patch rename to patches/api/0245-Add-PaperRegistry.patch diff --git a/patches/api/0247-Add-StructuresLocateEvent.patch b/patches/api/0246-Add-StructuresLocateEvent.patch similarity index 100% rename from patches/api/0247-Add-StructuresLocateEvent.patch rename to patches/api/0246-Add-StructuresLocateEvent.patch diff --git a/patches/api/0248-Add-BlockPreDispenseEvent.patch b/patches/api/0247-Add-BlockPreDispenseEvent.patch similarity index 100% rename from patches/api/0248-Add-BlockPreDispenseEvent.patch rename to 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 similarity index 100% rename from patches/api/0249-Added-missing-vanilla-tags.patch rename to patches/api/0248-Added-missing-vanilla-tags.patch diff --git a/patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch b/patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/api/0250-Added-PlayerChangeBeaconEffectEvent.patch rename to patches/api/0249-Added-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch b/patches/api/0250-Added-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/api/0251-Added-PlayerStonecutterRecipeSelectEvent.patch rename to 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 similarity index 100% rename from patches/api/0252-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to 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 similarity index 100% rename from patches/api/0253-add-DragonEggFormEvent.patch rename to patches/api/0252-add-DragonEggFormEvent.patch diff --git a/patches/api/0254-EntityMoveEvent.patch b/patches/api/0253-EntityMoveEvent.patch similarity index 100% rename from patches/api/0254-EntityMoveEvent.patch rename to 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 similarity index 100% rename from patches/api/0255-Allow-adding-items-to-BlockDropItemEvent.patch rename to 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 similarity index 100% rename from patches/api/0256-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to 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 similarity index 100% rename from patches/api/0257-living-entity-allow-attribute-registration.patch rename to 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 similarity index 100% rename from patches/api/0258-Add-missing-effects.patch rename to 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 similarity index 100% rename from patches/api/0259-Expose-Tracked-Players.patch rename to 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 similarity index 100% rename from patches/api/0260-Cache-the-result-of-Material-isBlock.patch rename to 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 similarity index 100% rename from patches/api/0261-Add-worldborder-events.patch rename to patches/api/0260-Add-worldborder-events.patch diff --git a/patches/api/0262-added-PlayerNameEntityEvent.patch b/patches/api/0261-added-PlayerNameEntityEvent.patch similarity index 100% rename from patches/api/0262-added-PlayerNameEntityEvent.patch rename to 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 similarity index 100% rename from patches/api/0263-Add-recipe-to-cook-events.patch rename to 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 similarity index 100% rename from patches/api/0264-Add-Block-isValidTool.patch rename to 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 similarity index 95% rename from patches/api/0265-Expand-world-key-API.patch rename to 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 similarity index 100% rename from patches/api/0266-Item-Rarity-API.patch rename to 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 similarity index 100% rename from patches/api/0267-Expose-protocol-version.patch rename to 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 similarity index 100% rename from patches/api/0268-add-isDeeplySleeping-to-HumanEntity.patch rename to 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 similarity index 100% rename from patches/api/0269-add-consumeFuel-to-FurnaceBurnEvent.patch rename to 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 similarity index 100% rename from patches/api/0270-add-get-set-drop-chance-to-EntityEquipment.patch rename to 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 similarity index 100% rename from patches/api/0271-Added-PlayerDeepSleepEvent.patch rename to patches/api/0270-Added-PlayerDeepSleepEvent.patch diff --git a/patches/api/0272-More-World-API.patch b/patches/api/0271-More-World-API.patch similarity index 100% rename from patches/api/0272-More-World-API.patch rename to patches/api/0271-More-World-API.patch diff --git a/patches/api/0273-Added-PlayerBedFailEnterEvent.patch b/patches/api/0272-Added-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/api/0273-Added-PlayerBedFailEnterEvent.patch rename to 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 similarity index 100% rename from patches/api/0274-Introduce-beacon-activation-deactivation-events.patch rename to 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 similarity index 100% rename from patches/api/0275-PlayerMoveEvent-Improvements.patch rename to 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 similarity index 100% rename from patches/api/0276-add-RespawnFlags-to-PlayerRespawnEvent.patch rename to 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 similarity index 100% rename from patches/api/0277-Add-more-WanderingTrader-API.patch rename to 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 similarity index 100% rename from patches/api/0278-Add-EntityBlockStorage-clearEntities.patch rename to 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 similarity index 100% rename from patches/api/0279-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to 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 similarity index 100% rename from patches/api/0280-Add-raw-address-to-AsyncPlayerPreLoginEvent.patch rename to 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 similarity index 100% rename from patches/api/0281-Inventory-close.patch rename to 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 similarity index 100% rename from patches/api/0282-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to 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 similarity index 91% rename from patches/api/0283-Add-basic-Datapack-API.patch rename to 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 similarity index 100% rename from patches/api/0284-additions-to-PlayerGameModeChangeEvent.patch rename to 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 similarity index 100% rename from patches/api/0285-ItemStack-repair-check-API.patch rename to 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 similarity index 100% rename from patches/api/0286-More-Enchantment-API.patch rename to 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 similarity index 100% rename from patches/api/0287-Add-Mob-lookAt-API.patch rename to patches/api/0286-Add-Mob-lookAt-API.patch diff --git a/patches/api/0288-ItemStack-editMeta.patch b/patches/api/0287-ItemStack-editMeta.patch similarity index 100% rename from patches/api/0288-ItemStack-editMeta.patch rename to patches/api/0287-ItemStack-editMeta.patch diff --git a/patches/api/0289-Add-EntityInsideBlockEvent.patch b/patches/api/0288-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/api/0289-Add-EntityInsideBlockEvent.patch rename to 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 similarity index 100% rename from patches/api/0290-Attributes-API-for-item-defaults.patch rename to 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 similarity index 100% rename from patches/api/0291-Add-cause-to-Weather-ThunderChangeEvents.patch rename to 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 similarity index 100% rename from patches/api/0292-More-Lidded-Block-API.patch rename to 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 similarity index 100% rename from patches/api/0293-Add-PlayerKickEvent-causes.patch rename to patches/api/0292-Add-PlayerKickEvent-causes.patch diff --git a/patches/api/0294-Add-PufferFishStateChangeEvent.patch b/patches/api/0293-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/api/0294-Add-PufferFishStateChangeEvent.patch rename to patches/api/0293-Add-PufferFishStateChangeEvent.patch diff --git a/patches/api/0295-Add-BellRevealRaiderEvent.patch b/patches/api/0294-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/api/0295-Add-BellRevealRaiderEvent.patch rename to patches/api/0294-Add-BellRevealRaiderEvent.patch diff --git a/patches/api/0296-Add-ElderGuardianAppearanceEvent.patch b/patches/api/0295-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/api/0296-Add-ElderGuardianAppearanceEvent.patch rename to 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 similarity index 100% rename from patches/api/0297-Add-more-line-of-sight-methods.patch rename to 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 similarity index 100% rename from patches/api/0298-Add-WaterBottleSplashEvent.patch rename to 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 similarity index 100% rename from patches/api/0299-Add-more-LimitedRegion-API.patch rename to 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 similarity index 100% rename from patches/api/0300-Missing-Entity-Behavior-API.patch rename to patches/api/0299-Missing-Entity-Behavior-API.patch diff --git a/patches/api/0301-Adds-PlayerArmSwingEvent.patch b/patches/api/0300-Adds-PlayerArmSwingEvent.patch similarity index 100% rename from patches/api/0301-Adds-PlayerArmSwingEvent.patch rename to patches/api/0300-Adds-PlayerArmSwingEvent.patch diff --git a/patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch b/patches/api/0301-Add-PlayerSignCommandPreprocessEvent.patch similarity index 100% rename from patches/api/0302-Add-PlayerSignCommandPreprocessEvent.patch rename to 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 similarity index 100% rename from patches/api/0303-fix-empty-array-elements-in-command-arguments.patch rename to 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 similarity index 100% rename from patches/api/0304-Stinger-API.patch rename to 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 similarity index 100% rename from patches/api/0305-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to 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 similarity index 100% rename from patches/api/0306-Add-PlayerSetSpawnEvent.patch rename to patches/api/0305-Add-PlayerSetSpawnEvent.patch diff --git a/patches/api/0307-Added-EntityDamageItemEvent.patch b/patches/api/0306-Added-EntityDamageItemEvent.patch similarity index 100% rename from patches/api/0307-Added-EntityDamageItemEvent.patch rename to patches/api/0306-Added-EntityDamageItemEvent.patch diff --git a/patches/api/0308-Make-EntityUnleashEvent-cancellable.patch b/patches/api/0307-Make-EntityUnleashEvent-cancellable.patch similarity index 100% rename from patches/api/0308-Make-EntityUnleashEvent-cancellable.patch rename to 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 similarity index 100% rename from patches/api/0309-Change-EnderEye-target-without-changing-other-things.patch rename to 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 similarity index 100% rename from patches/api/0310-Add-BlockBreakBlockEvent.patch rename to 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 similarity index 100% rename from patches/api/0311-Add-helpers-for-left-right-click-to-Action.patch rename to 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 similarity index 100% rename from patches/api/0312-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to 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 similarity index 100% rename from patches/api/0313-More-CommandBlock-API.patch rename to 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 similarity index 100% rename from patches/api/0314-Add-missing-team-sidebar-display-slots.patch rename to 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 similarity index 100% rename from patches/api/0315-add-back-EntityPortalExitEvent.patch rename to 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 similarity index 100% rename from patches/api/0316-Add-methods-to-find-targets-for-lightning-strikes.patch rename to 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 similarity index 100% rename from patches/api/0317-Get-entity-default-attributes.patch rename to 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 similarity index 100% rename from patches/api/0318-Left-handed-API.patch rename to 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 similarity index 100% rename from patches/api/0319-Add-more-advancement-API.patch rename to 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 similarity index 100% rename from patches/api/0320-Add-ItemFactory-getSpawnEgg-API.patch rename to 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 similarity index 100% rename from patches/api/0321-Add-critical-damage-API.patch rename to 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 similarity index 100% rename from patches/api/0322-Fix-issues-with-mob-conversion.patch rename to 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 similarity index 100% rename from patches/api/0323-Add-isCollidable-methods-to-various-places.patch rename to 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 similarity index 100% rename from patches/api/0324-Goat-ram-API.patch rename to 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 similarity index 100% rename from patches/api/0325-Add-API-for-resetting-a-single-score.patch rename to 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 similarity index 100% rename from patches/api/0326-Add-Raw-Byte-Entity-Serialization.patch rename to 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 similarity index 100% rename from patches/api/0327-Add-PlayerItemFrameChangeEvent.patch rename to 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 similarity index 100% rename from patches/api/0328-Add-player-health-update-API.patch rename to 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 similarity index 92% rename from patches/api/0329-Allow-delegation-to-vanilla-chunk-gen.patch rename to 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 similarity index 100% rename from patches/api/0330-Add-more-Campfire-API.patch rename to 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 similarity index 100% rename from patches/api/0331-Move-VehicleCollisionEvent-HandlerList-up.patch rename to 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 similarity index 100% rename from patches/api/0332-Improve-scoreboard-entries.patch rename to 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 similarity index 100% rename from patches/api/0333-Entity-powdered-snow-API.patch rename to 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 similarity index 100% rename from patches/api/0334-Add-API-for-item-entity-health.patch rename to 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 similarity index 100% rename from patches/api/0335-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to 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 similarity index 100% rename from patches/api/0336-Bucketable-API.patch rename to 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 similarity index 100% rename from patches/api/0337-System-prop-for-default-config-comment-parsing.patch rename to 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 similarity index 100% rename from patches/api/0338-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to 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 similarity index 100% rename from patches/api/0339-Add-new-overload-to-PersistentDataContainer-has.patch rename to 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 similarity index 100% rename from patches/api/0340-Multiple-Entries-with-Scoreboards.patch rename to 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 similarity index 100% rename from patches/api/0341-Added-getHostname-to-AsyncPlayerPreLoginEvent.patch rename to 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 similarity index 100% rename from patches/api/0342-Warn-on-strange-EventHandler-return-types.patch rename to 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 similarity index 100% rename from patches/api/0343-Multi-Block-Change-API.patch rename to patches/api/0342-Multi-Block-Change-API.patch diff --git a/patches/api/0344-Fix-NotePlayEvent.patch b/patches/api/0343-Fix-NotePlayEvent.patch similarity index 100% rename from patches/api/0344-Fix-NotePlayEvent.patch rename to 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 similarity index 100% rename from patches/api/0345-Freeze-Tick-Lock-API.patch rename to patches/api/0344-Freeze-Tick-Lock-API.patch diff --git a/patches/api/0346-Dolphin-API.patch b/patches/api/0345-Dolphin-API.patch similarity index 100% rename from patches/api/0346-Dolphin-API.patch rename to patches/api/0345-Dolphin-API.patch diff --git a/patches/api/0347-More-PotionEffectType-API.patch b/patches/api/0346-More-PotionEffectType-API.patch similarity index 100% rename from patches/api/0347-More-PotionEffectType-API.patch rename to 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 similarity index 87% rename from patches/api/0348-API-for-creating-command-sender-which-forwards-feedb.patch rename to 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 similarity index 100% rename from patches/api/0349-Implement-regenerateChunk.patch rename to patches/api/0348-Implement-regenerateChunk.patch diff --git a/patches/api/0350-Add-GameEvent-tags.patch b/patches/api/0349-Add-GameEvent-tags.patch similarity index 100% rename from patches/api/0350-Add-GameEvent-tags.patch rename to 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 similarity index 100% rename from patches/api/0351-Furnace-RecipesUsed-API.patch rename to 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 similarity index 100% rename from patches/api/0352-Configurable-sculk-sensor-listener-range.patch rename to 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 similarity index 100% rename from patches/api/0353-Add-missing-block-data-mins-and-maxes.patch rename to 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 similarity index 94% rename from patches/api/0354-Custom-Potion-Mixes.patch rename to 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 similarity index 100% rename from patches/api/0355-Expose-furnace-minecart-push-values.patch rename to 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 similarity index 100% rename from patches/api/0356-More-Projectile-API.patch rename to 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 similarity index 100% rename from patches/api/0357-Add-getComputedBiome-API.patch rename to 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 similarity index 100% rename from patches/api/0358-Add-enchantWithLevels-API.patch rename to patches/api/0357-Add-enchantWithLevels-API.patch diff --git a/patches/api/0359-Add-TameableDeathMessageEvent.patch b/patches/api/0358-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/api/0359-Add-TameableDeathMessageEvent.patch rename to 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 similarity index 100% rename from patches/api/0360-Allow-to-change-the-podium-of-the-EnderDragon.patch rename to 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 similarity index 100% rename from patches/api/0361-Add-pre-unbreaking-amount-to-PlayerItemDamageEvent.patch rename to 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 similarity index 100% rename from patches/api/0362-WorldCreator-keepSpawnLoaded.patch rename to 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 similarity index 100% rename from patches/api/0363-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to 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 similarity index 100% rename from patches/api/0364-Add-PlayerStopUsingItemEvent.patch rename to 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 similarity index 100% rename from patches/api/0365-FallingBlock-auto-expire-setting.patch rename to 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 similarity index 100% rename from patches/api/0366-Keyed-Cat-Type.patch rename to 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 similarity index 91% rename from patches/api/0367-Add-method-isTickingWorlds-to-Bukkit.patch rename to 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 getWorlds(); diff --git a/patches/api/0368-Add-WardenAngerChangeEvent.patch b/patches/api/0367-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/api/0368-Add-WardenAngerChangeEvent.patch rename to patches/api/0367-Add-WardenAngerChangeEvent.patch diff --git a/patches/api/0369-Nameable-Banner-API.patch b/patches/api/0368-Nameable-Banner-API.patch similarity index 100% rename from patches/api/0369-Nameable-Banner-API.patch rename to 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 similarity index 100% rename from patches/api/0370-Add-Player-getFishHook.patch rename to 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 similarity index 100% rename from patches/api/0371-More-Teleport-API.patch rename to patches/api/0370-More-Teleport-API.patch diff --git a/patches/api/0372-Add-EntityPortalReadyEvent.patch b/patches/api/0371-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/api/0372-Add-EntityPortalReadyEvent.patch rename to 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 similarity index 100% rename from patches/api/0373-Custom-Chat-Completion-Suggestions-API.patch rename to 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 similarity index 100% rename from patches/api/0374-Collision-API.patch rename to patches/api/0373-Collision-API.patch diff --git a/patches/api/0375-Block-Ticking-API.patch b/patches/api/0374-Block-Ticking-API.patch similarity index 100% rename from patches/api/0375-Block-Ticking-API.patch rename to 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 similarity index 100% rename from patches/api/0376-Add-NamespacedKey-biome-methods.patch rename to 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 similarity index 100% rename from patches/api/0377-Also-load-resources-from-LibraryLoader.patch rename to 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 similarity index 100% rename from patches/api/0378-Added-byte-array-serialization-deserialization-for-P.patch rename to 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 similarity index 100% rename from patches/api/0379-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to 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 similarity index 100% rename from patches/api/0380-Expose-codepoint-limit-in-YamlConfigOptions-and-incr.patch rename to 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 similarity index 100% rename from patches/api/0381-Add-getDrops-to-BlockState.patch rename to patches/api/0380-Add-getDrops-to-BlockState.patch diff --git a/patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch b/patches/api/0381-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/api/0382-Add-PlayerInventorySlotChangeEvent.patch rename to 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 similarity index 100% rename from patches/api/0383-Elder-Guardian-appearance-API.patch rename to 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 similarity index 100% rename from patches/api/0384-Allow-changing-bed-s-occupied-property.patch rename to 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 similarity index 100% rename from patches/api/0385-Add-EquipmentSlot-convenience-methods.patch rename to 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 similarity index 100% rename from patches/api/0386-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch rename to 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 similarity index 100% rename from patches/api/0387-Add-entity-knockback-API.patch rename to patches/api/0386-Add-entity-knockback-API.patch diff --git a/patches/api/0388-Added-EntityToggleSitEvent.patch b/patches/api/0387-Added-EntityToggleSitEvent.patch similarity index 100% rename from patches/api/0388-Added-EntityToggleSitEvent.patch rename to 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 similarity index 100% rename from patches/api/0389-Add-Moving-Piston-API.patch rename to patches/api/0388-Add-Moving-Piston-API.patch diff --git a/patches/api/0390-Add-PrePlayerAttackEntityEvent.patch b/patches/api/0389-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/api/0390-Add-PrePlayerAttackEntityEvent.patch rename to 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 similarity index 100% rename from patches/api/0391-Add-Player-Warden-Warning-API.patch rename to 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 similarity index 100% rename from patches/api/0392-More-vanilla-friendly-methods-to-update-trades.patch rename to 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 similarity index 100% rename from patches/api/0393-Add-paper-dumplisteners-command.patch rename to 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 similarity index 100% rename from patches/api/0394-ItemStack-damage-API.patch rename to 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 similarity index 100% rename from patches/api/0395-Add-Tick-TemporalUnit.patch rename to patches/api/0394-Add-Tick-TemporalUnit.patch diff --git a/patches/api/0396-Friction-API.patch b/patches/api/0395-Friction-API.patch similarity index 100% rename from patches/api/0396-Friction-API.patch rename to 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 similarity index 100% rename from patches/api/0397-Player-Entity-Tracking-Events.patch rename to 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 similarity index 100% rename from patches/api/0398-Add-missing-Fluid-type.patch rename to patches/api/0397-Add-missing-Fluid-type.patch diff --git a/patches/api/0399-fix-Instruments.patch b/patches/api/0398-fix-Instruments.patch similarity index 100% rename from patches/api/0399-fix-Instruments.patch rename to patches/api/0398-fix-Instruments.patch diff --git a/patches/api/0400-Add-BlockLockCheckEvent.patch b/patches/api/0399-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/api/0400-Add-BlockLockCheckEvent.patch rename to 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 similarity index 100% rename from patches/api/0401-Add-Sneaking-API-for-Entities.patch rename to 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 similarity index 100% rename from patches/api/0402-Improve-PortalEvents.patch rename to 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 similarity index 100% rename from patches/api/0403-Add-exploded-block-state-to-BlockExplodeEvent.patch rename to 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 similarity index 100% rename from patches/api/0404-Flying-Fall-Damage-API.patch rename to 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 similarity index 100% rename from patches/api/0405-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to 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 similarity index 100% rename from patches/api/0406-Replace-ItemFlag.HIDE_POTION_EFFECTS.patch rename to 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 similarity index 100% rename from patches/api/0407-Win-Screen-API.patch rename to 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 similarity index 100% rename from patches/api/0408-Add-Entity-Body-Yaw-API.patch rename to 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 similarity index 100% rename from patches/api/0409-Fix-HandlerList-for-InventoryBlockStartEvent-subclas.patch rename to 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 similarity index 100% rename from patches/api/0410-Add-EntityFertilizeEggEvent.patch rename to 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 similarity index 100% rename from patches/api/0411-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to 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 similarity index 100% rename from patches/api/0412-Add-Shearable-API.patch rename to 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 similarity index 100% rename from patches/api/0413-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to 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 similarity index 100% rename from patches/api/0414-Add-Mob-Experience-reward-API.patch rename to 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 similarity index 100% rename from patches/api/0415-Expand-PlayerItemMendEvent.patch rename to 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 similarity index 100% rename from patches/api/0416-Add-transient-modifier-API.patch rename to 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 similarity index 100% rename from patches/api/0417-Add-API-for-waxed-signs.patch rename to 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 similarity index 100% rename from patches/api/0418-Properly-remove-the-experimental-smithing-inventory-.patch rename to 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 void testExcessConstants(Class clazz, Registry registry) { ++ private void testExcessConstants(Class clazz, org.bukkit.Registry registry) { // Paper - remap fix + List 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 resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List 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 extends AbstractList implements List, RandomAcc +@@ -120,6 +120,32 @@ public class UnsafeList extends AbstractList implements List, 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 { -@@ -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 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 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 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 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> gamerules; public static synchronized Map> 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 { +@@ -16,9 +16,15 @@ public class LazyPlayerSet extends LazyHashSet { } @Override - HashSet makeReference() { + protected HashSet makeReference() { // Paper - protected - if (reference != null) { - throw new IllegalStateException("Reference already created!"); - } + Preconditions.checkState(reference == null, "Reference already created!"); List 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 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 implements CommandSource, AutoCloseable { -@@ -863,6 +863,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 5000000000L) { -@@ -1209,15 +1230,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 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 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 S spin(Function serverFactory) { AtomicReference 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 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit -@@ -1101,6 +1090,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 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> ret = new HashMap<>(); DistanceManager chunkDistanceManager = this.world.getChunkSource().chunkMap.distanceManager; @@ -22708,7 +22708,7 @@ index 711dbf6e5cf9b4ffabaab2bcf10f13711683a61e..7b6673c18d77dc03038924008775f73b long chunkKey = chunkTickets.getLongKey(); SortedArraySet> 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 processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public Commands vanillaCommandDispatcher; -@@ -294,7 +294,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 5000L && this.nextTickTime - this.lastOverloadWarning >= 30000L) { // CraftBukkit long j = i / 50L; -@@ -990,12 +1042,18 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 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 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 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 lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -220,7 +204,7 @@ index 16dd61b832d7b6519786072e41cdde9df3ab8e7f..5d892f76f42486ce1890fe0507b19b2f private Multimap 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 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(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 { -@@ -2326,9 +2328,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 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 processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -370,7 +370,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { 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 net.kyori.adventure.text.@org.jetbrains.annotations.NotNull 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 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