From d1a72eac31cdf532e77dce960c51b66d63f932ea Mon Sep 17 00:00:00 2001 From: Bjarne Koll Date: Sun, 15 Sep 2024 21:39:53 +0200 Subject: [PATCH] Updated Upstream (Bukkit/CraftBukkit/Spigot) (#11405) Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: 1fc1020a PR-1049: Add MenuType API 8ae2e3be PR-1055: Expand riptiding API cac68bfb SPIGOT-7890: AttributeModifier#getUniqueId() doesn't match the UUID passed to its constructor 7004fcf2 SPIGOT-7886: Fix mistake in AttributeModifier UUID shim 1ac7f950 PR-1054: Add FireworkMeta#hasPower 4cfb565f SPIGOT-7873: Add powered state for skulls CraftBukkit Changes: bbb30e7a8 SPIGOT-7894: NPE when sending tile entity update ba21e9472 SPIGOT-7895: PlayerItemBreakEvent not firing 0fb24bbe0 SPIGOT-7875: Fix PlayerItemConsumeEvent cancellation causing client-side desync 815066449 SPIGOT-7891: Can't remove second ingredient of MerchantRecipe 45c206f2c PR-1458: Add MenuType API 19c8ef9ae SPIGOT-7867: Merchant instanceof AbstractVillager always returns false 4e006d28f PR-1468: Expand riptiding API bd8aded7d Ignore checks in CraftPlayerProfile for ResolvableProfile used in profile components 8679620b5 SPIGOT-7889: Fix tool component deserialisation without speed and/or correct-for-drops 8d5222691 SPIGOT-7882, PR-1467: Fix conversion of name in Profile Component to empty if it is missing 63f91669a SPIGOT-7887: Remove duplicate ProjectileHitEvent for fireballs 7070de8c8 SPIGOT-7878: Server#getLootTable does not return null on invalid loot table 060ee6cae SPIGOT-7876: Can't kick player or disconnect player in PlayerLoginEvent when checking for cookies 7ccb86cc0 PR-1465: Add FireworkMeta#hasPower 804ad6491 SPIGOT-7873: Add powered state for skulls f9610cdcb Improve minecart movement Spigot Changes: a759b629 Rebuild patches Co-authored-by: Jake Potrebic --- patches/api/0004-Code-Generation.patch | 6 +- patches/api/0006-Adventure.patch | 68 ++++++++++++-- ...working-with-arrows-stuck-in-living-.patch | 4 +- patches/api/0053-Fix-upstream-javadocs.patch | 8 +- .../0059-Shoulder-Entities-Release-API.patch | 4 +- ...2-Add-openSign-method-to-HumanEntity.patch | 4 +- ...e-shield-blocking-delay-configurable.patch | 4 +- .../0114-LivingEntity-Active-Item-API.patch | 8 +- patches/api/0146-Material-API-additions.patch | 6 +- .../0166-Fix-Spigot-annotation-mistakes.patch | 24 ++--- patches/api/0178-Entity-Jump-API.patch | 4 +- ...yPickupItemAnimation-to-LivingEntity.patch | 4 +- ...-Add-methods-to-get-translation-keys.patch | 14 +-- ...215-Add-LivingEntity-clearActiveItem.patch | 4 +- ...0-Expose-LivingEntity-hurt-direction.patch | 6 +- ...gistryAccess-for-managing-registries.patch | 27 ++++-- .../api/0254-Improve-Item-Rarity-API.patch | 4 +- patches/api/0270-Add-basic-Datapack-API.patch | 4 +- ...7-Improve-item-default-attribute-API.patch | 8 +- patches/api/0287-Missing-Entity-API.patch | 8 +- ...sCollision-methods-to-various-places.patch | 8 +- .../api/0329-More-PotionEffectType-API.patch | 4 +- ...-swingHand-EquipmentSlot-convenience.patch | 4 +- .../api/0368-Add-entity-knockback-API.patch | 4 +- patches/api/0375-ItemStack-damage-API.patch | 4 +- .../api/0387-Add-Entity-Body-Yaw-API.patch | 4 +- ...-Attribute-Modifier-API-improvements.patch | 37 +------- ...0429-Experimental-annotations-change.patch | 10 +- patches/api/0431-Improve-Registry.patch | 6 +- .../api/0433-Add-missing-InventoryType.patch | 8 +- ...469-Fix-equipment-slot-and-group-API.patch | 8 +- patches/api/0471-General-ItemMeta-fixes.patch | 25 ----- .../api/0474-Registry-Modification-API.patch | 8 +- ...ntroduce-registry-entry-and-builders.patch | 4 +- patches/api/0487-Add-FeatureFlag-API.patch | 6 +- patches/server/0008-CB-fixes.patch | 23 +---- patches/server/0009-MC-Utils.patch | 10 +- patches/server/0010-Adventure.patch | 92 ++++++++++++------- patches/server/0017-Paper-command.patch | 4 +- patches/server/0023-Timings-v2.patch | 10 +- ...024-Further-improve-server-tick-loop.patch | 4 +- .../0051-Use-UserCache-for-player-heads.patch | 8 +- .../0059-Player-Tab-List-and-Title-APIs.patch | 4 +- ...working-with-arrows-stuck-in-living-.patch | 4 +- .../0066-Complete-resource-pack-API.patch | 6 +- ...llow-Reloading-of-Custom-Permissions.patch | 4 +- ...070-Handle-Item-Meta-Inconsistencies.patch | 18 ++-- ...3-Custom-replacement-for-eaten-items.patch | 8 +- ...110-Cache-user-authenticator-threads.patch | 12 +-- ...1-Allow-Reloading-of-Command-Aliases.patch | 4 +- .../0119-String-based-Action-Bar-API.patch | 4 +- ...20-Properly-fix-item-duplication-bug.patch | 4 +- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...-profile-lookups-to-worldgen-threads.patch | 4 +- .../server/0136-Basic-PlayerProfile-API.patch | 84 +++++++++++------ .../0138-Shoulder-Entities-Release-API.patch | 4 +- ...player-logins-during-server-shutdown.patch | 4 +- ...-a-custom-authentication-servers-dow.patch | 4 +- ...dle-ServerboundKeepAlivePacket-async.patch | 4 +- ...nt-protocol-version-and-virtual-host.patch | 4 +- ...rt-serverside-behavior-of-keepalives.patch | 8 +- ...rom-being-processed-when-the-player-.patch | 4 +- ...-get-a-BlockState-without-a-snapshot.patch | 4 +- ...-Add-setPlayerProfile-API-for-Skulls.patch | 39 ++++---- ...dd-more-fields-to-AsyncPreLoginEvent.patch | 10 +- .../0176-Player.setPlayerProfile-API.patch | 12 +-- ...2-Add-openSign-method-to-HumanEntity.patch | 4 +- ...e-shield-blocking-delay-configurable.patch | 8 +- .../0204-LivingEntity-Active-Item-API.patch | 4 +- .../0208-InventoryCloseEvent-Reason-API.patch | 10 +- ...-ray-tracing-methods-to-LivingEntity.patch | 6 +- ...252-Add-LivingEntity-getTargetEntity.patch | 6 +- ...store-custom-InventoryHolder-support.patch | 4 +- ...ault-permission-message-configurable.patch | 4 +- .../0270-Add-PlayerConnectionCloseEvent.patch | 4 +- ...l-to-changed-postToMainThread-method.patch | 4 +- ...291-Expose-the-internal-current-tick.patch | 4 +- ...gurable-projectile-relative-velocity.patch | 7 +- ...revent-consuming-the-wrong-itemstack.patch | 4 +- patches/server/0317-Entity-Jump-API.patch | 6 +- ...-Add-tick-times-API-and-mspt-command.patch | 4 +- ...327-Expose-MinecraftServer-isRunning.patch | 4 +- ...vent-opening-inventories-when-frozen.patch | 6 +- .../server/0354-Implement-Mob-Goal-API.patch | 4 +- patches/server/0393-Brand-support.patch | 10 +- ...yPickupItemAnimation-to-LivingEntity.patch | 4 +- ...rs-not-working-in-some-kick-messages.patch | 4 +- ...al-open-container-api-to-HumanEntity.patch | 4 +- .../server/0420-Villager-resetOffers.patch | 12 +-- .../0426-Add-ignore-discounts-API.patch | 4 +- .../server/0431-Add-API-for-quit-reason.patch | 6 +- ...435-Add-LivingEntity-clearActiveItem.patch | 4 +- ...6-Expose-LivingEntity-hurt-direction.patch | 6 +- ...nvalid-ingredient-lists-in-VillagerA.patch | 4 +- ...gistryAccess-for-managing-Registries.patch | 26 ++++-- ...n-for-requiring-a-player-participant.patch | 4 +- ...ileHitEvent-call-when-fireballs-dead.patch | 21 ----- ...nent-with-empty-text-instead-of-thr.patch} | 0 ...476-Make-schedule-command-per-world.patch} | 0 ...477-Configurable-max-leash-distance.patch} | 0 ...h => 0478-Add-BlockPreDispenseEvent.patch} | 2 +- ...9-Add-PlayerChangeBeaconEffectEvent.patch} | 0 ...e-for-always-placing-the-dragon-egg.patch} | 0 ...-PlayerStonecutterRecipeSelectEvent.patch} | 0 ...h => 0482-Expand-EntityUnleashEvent.patch} | 2 +- ...shield-blocking-on-dimension-change.patch} | 0 ...atch => 0484-Add-DragonEggFormEvent.patch} | 0 ...t.patch => 0485-Add-EntityMoveEvent.patch} | 2 +- ...isable-pathfinding-updates-on-block.patch} | 0 ... 0487-Inline-shift-direction-fields.patch} | 0 ...-adding-items-to-BlockDropItemEvent.patch} | 2 +- ...inThreadExecutor-to-BukkitScheduler.patch} | 0 ...entity-allow-attribute-registration.patch} | 4 +- ...ix-dead-slime-setSize-invincibility.patch} | 0 ...pes-should-return-an-immutable-list.patch} | 10 +- ...atch => 0493-Expose-Tracked-Players.patch} | 0 ...GUI.patch => 0494-Improve-ServerGUI.patch} | 0 ...495-fix-converting-txt-to-json-file.patch} | 2 +- ...atch => 0496-Add-worldborder-events.patch} | 0 ...h => 0497-Add-PlayerNameEntityEvent.patch} | 0 ...h => 0498-Add-recipe-to-cook-events.patch} | 0 ...patch => 0499-Add-Block-isValidTool.patch} | 0 ...using-signs-inside-spawn-protection.patch} | 0 ....patch => 0501-Expand-world-key-API.patch} | 2 +- ...ternative-constructor-for-Rotations.patch} | 0 ...d-item-when-player-has-disconnected.patch} | 2 +- ...elist-use-configurable-kick-message.patch} | 0 ...gnore-result-of-PlayerEditBookEvent.patch} | 0 ...tch => 0506-Expose-protocol-version.patch} | 0 ...ab-completions-for-brigadier-comman.patch} | 0 ...temConsumeEvent-cancelling-properly.patch} | 6 +- ...patch => 0509-Add-bypass-host-check.patch} | 0 ...0510-Set-area-affect-cloud-rotation.patch} | 0 ...add-isDeeplySleeping-to-HumanEntity.patch} | 2 +- ...add-consumeFuel-to-FurnaceBurnEvent.patch} | 0 ...-set-drop-chance-to-EntityEquipment.patch} | 0 ...ix-PigZombieAngerEvent-cancellation.patch} | 0 ...ix-PlayerItemHeldEvent-firing-twice.patch} | 0 ...ch => 0516-Add-PlayerDeepSleepEvent.patch} | 0 ...ld-API.patch => 0517-More-World-API.patch} | 0 ...=> 0518-Add-PlayerBedFailEnterEvent.patch} | 0 ...-to-convert-between-Component-and-B.patch} | 0 ...awnEvent-fix-passed-parameter-issue.patch} | 0 ...acon-activation-deactivation-events.patch} | 0 ...dd-Channel-initialization-listeners.patch} | 0 ...mands-if-tab-completion-is-disabled.patch} | 0 ...> 0524-Add-more-WanderingTrader-API.patch} | 0 ...dd-EntityBlockStorage-clearEntities.patch} | 0 ...ssage-to-PlayerAdvancementDoneEvent.patch} | 0 ... => 0527-Add-HiddenPotionEffect-API.patch} | 0 ...close.patch => 0528-Inventory-close.patch} | 0 ...-in-sunlight-API-for-Phantoms-and-S.patch} | 0 ...atch => 0530-Add-basic-Datapack-API.patch} | 4 +- ...ment-variable-to-disable-server-gui.patch} | 0 ...32-Expand-PlayerGameModeChangeEvent.patch} | 2 +- ... => 0533-ItemStack-repair-check-API.patch} | 0 ....patch => 0534-More-Enchantment-API.patch} | 0 ...ve-range-check-for-block-placing-up.patch} | 0 ...PI.patch => 0536-Add-Mob-lookAt-API.patch} | 0 ...f-bucket-dispenses-will-succeed-for.patch} | 0 ...0538-Add-Unix-domain-socket-support.patch} | 0 ... => 0539-Add-EntityInsideBlockEvent.patch} | 0 ...-Improve-item-default-attribute-API.patch} | 0 ...ause-to-Weather-ThunderChangeEvents.patch} | 0 ...patch => 0542-More-Lidded-Block-API.patch} | 0 ...43-Limit-item-frame-cursors-on-maps.patch} | 0 ... => 0544-Add-PlayerKickEvent-causes.patch} | 71 ++++++++++---- ...0545-Add-PufferFishStateChangeEvent.patch} | 0 ...erBucketEmptyEvent-result-itemstack.patch} | 0 ...tedContainer-instead-of-ThreadingDe.patch} | 0 ...-to-fix-items-merging-through-walls.patch} | 0 ...h => 0549-Add-BellRevealRaiderEvent.patch} | 0 ... 0550-Fix-invulnerable-end-crystals.patch} | 0 ...51-Add-ElderGuardianAppearanceEvent.patch} | 0 ...-Biome-Mob-Lookups-for-Mob-Spawning.patch} | 0 ...patch => 0553-Line-Of-Sight-Changes.patch} | 4 +- ... => 0554-add-per-world-spawn-limits.patch} | 0 ...h => 0555-Fix-potions-splash-events.patch} | 2 +- ... => 0556-Add-more-LimitedRegion-API.patch} | 0 ...layerDropItemEvent-using-wrong-item.patch} | 0 ...PI.patch => 0558-Missing-Entity-API.patch} | 4 +- ...of-Block-applyBoneMeal-always-being.patch} | 0 ...tChunkIfLoadedImmediately-in-places.patch} | 0 ...rom-signs-not-firing-command-events.patch} | 0 ...tch => 0562-Add-PlayerArmSwingEvent.patch} | 0 ...-event-leave-message-not-being-sent.patch} | 8 +- ...-t-apply-cramming-damage-to-players.patch} | 0 ...d-timings-for-sensors-and-behaviors.patch} | 0 ... 0566-Add-missing-forceDrop-toggles.patch} | 0 ...inger-API.patch => 0567-Stinger-API.patch} | 2 +- ... => 0568-Add-System.out-err-catcher.patch} | 2 +- ...AFK-kick-while-watching-end-credits.patch} | 0 ...iting-of-comments-to-server.propert.patch} | 0 ...tch => 0571-Add-PlayerSetSpawnEvent.patch} | 4 +- ...rs-respect-inventory-max-stack-size.patch} | 0 ...ize-entity-tracker-passenger-checks.patch} | 0 ...-option-for-Piglins-guarding-chests.patch} | 0 ...h => 0575-Add-EntityDamageItemEvent.patch} | 21 ++++- ...timize-indirect-passenger-iteration.patch} | 0 ...em-frame-map-cursor-update-interval.patch} | 0 ...arget-without-changing-other-things.patch} | 0 ...ch => 0579-Add-BlockBreakBlockEvent.patch} | 0 ...-data-components-copy-in-smithing-r.patch} | 0 ...patch => 0581-More-CommandBlock-API.patch} | 0 ...-missing-team-sidebar-display-slots.patch} | 0 ...0583-Add-back-EntityPortalExitEvent.patch} | 0 ...-find-targets-for-lightning-strikes.patch} | 0 ... 0585-Get-entity-default-attributes.patch} | 0 ...d-API.patch => 0586-Left-handed-API.patch} | 0 ...ch => 0587-Add-more-advancement-API.patch} | 0 ...588-Add-ItemFactory-getSpawnEgg-API.patch} | 0 ...tch => 0589-Add-critical-damage-API.patch} | 2 +- ...0590-Fix-issues-with-mob-conversion.patch} | 0 ...Collision-methods-to-various-places.patch} | 0 ...-ram-API.patch => 0592-Goat-ram-API.patch} | 0 ...dd-API-for-resetting-a-single-score.patch} | 0 ...4-Add-Raw-Byte-Entity-Serialization.patch} | 0 ...95-Vanilla-command-permission-fixes.patch} | 0 ...logic-for-inventories-on-chunk-unlo.patch} | 0 ...97-Fix-GameProfileCache-concurrency.patch} | 0 ...598-Improve-and-expand-AsyncCatcher.patch} | 4 +- ...per-mobcaps-and-paper-playermobcaps.patch} | 2 +- ...tize-ResourceLocation-error-logging.patch} | 0 ...lly-inline-methods-in-BlockPosition.patch} | 0 ...ler-threads-according-to-the-plugin.patch} | 0 ...-getChunkAt-has-inlined-logic-for-l.patch} | 0 ...our-chunk-data-off-disk-when-conver.patch} | 0 ...d-state-when-raytracing-skip-air-bl.patch} | 0 ...atch => 0606-Time-scoreboard-search.patch} | 0 ...rimise-map-impl-for-tracked-players.patch} | 0 ...h => 0608-Add-missing-InventoryType.patch} | 0 ...imise-BlockSoil-nearby-water-lookup.patch} | 0 ...ntory-not-closing-on-entity-removal.patch} | 0 ...rement-before-suggesting-root-nodes.patch} | 0 ...ServerboundCommandSuggestionPacket-.patch} | 0 ...h => 0613-Add-packet-limiter-config.patch} | 0 ...nColor-on-tropical-fish-bucket-meta.patch} | 0 ...=> 0615-Ensure-valid-vehicle-status.patch} | 0 ...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 => 0620-Preserve-overstacked-loot.patch} | 0 ...ate-head-rotation-in-missing-places.patch} | 0 ...unintended-light-block-manipulation.patch} | 0 ...0623-Fix-CraftCriteria-defaults-map.patch} | 0 ...Fix-upstreams-block-state-factories.patch} | 4 +- ... => 0625-Configurable-feature-seeds.patch} | 0 ... 0626-Add-root-admin-user-detection.patch} | 0 ...t-attempt-to-teleport-dead-entities.patch} | 0 ...ive-velocity-through-repeated-crits.patch} | 2 +- ...e-code-using-deprecated-for-removal.patch} | 0 ...=> 0630-Fix-Spigot-growth-modifiers.patch} | 0 ...OpenersCounter-openCount-from-going.patch} | 0 ...0632-Add-PlayerItemFrameChangeEvent.patch} | 0 ...tch => 0633-Optimize-HashMapPalette.patch} | 0 ...-isSectionEmpty-int-and-optimize-Pa.patch} | 0 ...patch => 0635-Add-more-Campfire-API.patch} | 0 ...data-to-disk-if-it-serializes-witho.patch} | 0 ...ard-CraftEntity-in-teleport-command.patch} | 0 ... => 0638-Improve-scoreboard-entries.patch} | 0 ...ch => 0639-Entity-powdered-snow-API.patch} | 0 ...0640-Add-API-for-item-entity-health.patch} | 0 ...ax-block-light-for-monster-spawning.patch} | 0 ...pistons-and-BlockPistonRetractEvent.patch} | 0 ...-canSmelt-methods-to-FurnaceInvento.patch} | 0 ...le-API.patch => 0644-Bucketable-API.patch} | 0 ...es.patch => 0645-Validate-usernames.patch} | 8 +- ...er-animal-spawn-height-configurable.patch} | 0 ...anilla-BiomeProvider-from-WorldInfo.patch} | 2 +- ...ion-for-worlds-affected-by-time-cmd.patch} | 0 ...heck-for-PersistentDataContainer-ha.patch} | 0 ...0-Multiple-Entries-with-Scoreboards.patch} | 0 ...651-Reset-placed-block-on-exception.patch} | 0 ...configurable-height-for-slime-spawn.patch} | 0 ...0653-Fix-xp-reward-for-baby-zombies.patch} | 0 ...lti-Block-Change-API-Implementation.patch} | 2 +- ...ent.patch => 0655-Fix-NotePlayEvent.patch} | 0 ....patch => 0656-Freeze-Tick-Lock-API.patch} | 2 +- ...h => 0657-More-PotionEffectType-API.patch} | 0 ...for-StructureTemplate.Pallete-cache.patch} | 0 ...command-sender-which-forwards-feedb.patch} | 2 +- ...-missing-structure-set-seed-configs.patch} | 0 ...lled-powdered-snow-bucket-placement.patch} | 2 +- ...ate-calls-to-CraftServer-getSpawnLi.patch} | 2 +- ...gs.patch => 0663-Add-GameEvent-tags.patch} | 2 +- ...ks-fairly-for-worlds-while-waiting-.patch} | 0 ...tch => 0665-Furnace-RecipesUsed-API.patch} | 0 ...gurable-sculk-sensor-listener-range.patch} | 0 ... => 0667-Add-missing-block-data-API.patch} | 0 ...fault-CustomSpawners-in-custom-worl.patch} | 0 ...-worldlist-before-initing-the-world.patch} | 2 +- ...s.patch => 0670-Custom-Potion-Mixes.patch} | 4 +- ...71-Force-close-world-loading-screen.patch} | 2 +- ...672-Fix-falling-block-spawn-methods.patch} | 0 ...Expose-furnace-minecart-push-values.patch} | 0 ...ojectileHitEvent-for-piercing-arrow.patch} | 0 ...I.patch => 0675-More-Projectile-API.patch} | 8 +- ...x-swamp-hut-cat-generation-deadlock.patch} | 0 ...le-movement-from-players-while-tele.patch} | 0 ...0678-Implement-getComputedBiome-API.patch} | 0 ...> 0679-Make-some-itemstacks-nonnull.patch} | 0 ...680-Implement-enchantWithLevels-API.patch} | 0 ...h => 0681-Fix-saving-in-unloadWorld.patch} | 2 +- ...h => 0682-Buffer-OOB-setBlock-calls.patch} | 0 ... 0683-Add-TameableDeathMessageEvent.patch} | 0 ...ock-data-for-EntityChangeBlockEvent.patch} | 2 +- ...bles-running-when-mob-loot-gamerule.patch} | 0 ...ssenger-world-matches-ridden-entity.patch} | 0 ...ys-and-optimize-reference-Holder-ta.patch} | 0 ...low-changing-the-EnderDragon-podium.patch} | 0 ...erriding-a-block-entity-during-worl.patch} | 0 ...t-tile-entity-copies-loading-chunks.patch} | 0 ...ead-of-display-name-in-PlayerList-g.patch} | 2 +- ...> 0692-Expand-PlayerItemDamageEvent.patch} | 2 +- ...> 0693-WorldCreator-keepSpawnLoaded.patch} | 2 +- ...-in-CraftPersistentDataTypeRegistry.patch} | 0 ...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 ...> 0699-Add-PlayerStopUsingItemEvent.patch} | 4 +- ...rs.patch => 0700-Don-t-tick-markers.patch} | 0 ...tch => 0701-Expand-FallingBlock-API.patch} | 0 ...0702-Add-support-for-Proxy-Protocol.patch} | 0 ...x-OfflinePlayer-getBedSpawnLocation.patch} | 0 ...tory-for-smokers-and-blast-furnaces.patch} | 0 ... 0705-Sanitize-sent-BlockEntity-NBT.patch} | 0 ...-selector-resolving-in-books-by-def.patch} | 0 ...ntity-loading-causing-async-lookups.patch} | 0 ...-on-world-create-while-being-ticked.patch} | 2 +- ...09-Dont-resent-entity-on-art-update.patch} | 0 ... => 0710-Add-WardenAngerChangeEvent.patch} | 0 ...strict-advancement-dimension-checks.patch} | 0 ...tant-BlockStateListPopulator-method.patch} | 0 ...I.patch => 0713-Nameable-Banner-API.patch} | 0 ...roadcast-messages-to-command-blocks.patch} | 2 +- ...pty-items-from-being-added-to-world.patch} | 0 ...hPotion-and-LingeringPotion-spawnin.patch} | 0 ...atch => 0717-Add-Player-getFishHook.patch} | 2 +- ...chunk-for-dynamic-game-event-listen.patch} | 0 ...s-missing-EntityDropItemEvent-calls.patch} | 0 ...PE.patch => 0720-Fix-Bee-flower-NPE.patch} | 0 ...-not-using-commands.spam-exclusions.patch} | 0 ...API.patch => 0722-More-Teleport-API.patch} | 2 +- ... => 0723-Add-EntityPortalReadyEvent.patch} | 0 ...level-random-in-entity-constructors.patch} | 0 ...k-entities-after-destroy-prediction.patch} | 0 ...on-plugins-accessing-faraway-chunks.patch} | 0 ...tom-Chat-Completion-Suggestions-API.patch} | 2 +- ...Add-and-fix-missing-BlockFadeEvents.patch} | 0 ...ion-API.patch => 0729-Collision-API.patch} | 0 ...nd-message-for-brigadier-syntax-exc.patch} | 0 ...API.patch => 0731-Block-Ticking-API.patch} | 0 ...-Add-Velocity-IP-Forwarding-Support.patch} | 12 +-- ...733-Add-NamespacedKey-biome-methods.patch} | 0 ...x-plugin-loggers-on-server-shutdown.patch} | 0 ...ok-changes-from-crashing-the-server.patch} | 6 +- ...tityChangeBlockEvent-in-more-places.patch} | 0 ...> 0737-Missing-eating-regain-reason.patch} | 0 ....patch => 0738-Missing-effect-cause.patch} | 12 +-- ...serialization-deserialization-for-P.patch} | 0 ...rameter-to-ProjectileSource-launchP.patch} | 2 +- ...1-Call-BlockPhysicsEvent-more-often.patch} | 0 ...0742-Configurable-chat-thread-limit.patch} | 0 ...of-WorldCreator-keepSpawnLoaded-ret.patch} | 0 ... 0744-fix-Jigsaw-block-kicking-user.patch} | 0 ...mEvent-for-mud-converting-into-clay.patch} | 0 ... => 0746-Add-getDrops-to-BlockState.patch} | 0 ...=> 0747-Fix-a-bunch-of-vanilla-bugs.patch} | 2 +- ...y-onTrackingStart-during-navigation.patch} | 0 ... 0749-Fix-custom-piglin-loved-items.patch} | 0 ...=> 0750-EntityPickupItemEvent-fixes.patch} | 0 ...interactions-with-items-on-cooldown.patch} | 2 +- ...-Add-PlayerInventorySlotChangeEvent.patch} | 0 ... 0753-Elder-Guardian-appearance-API.patch} | 2 +- ...ch => 0754-Add-entity-knockback-API.patch} | 4 +- ....patch => 0755-Detect-headless-JREs.patch} | 0 ...-vehicle-collision-event-not-called.patch} | 2 +- ...ch => 0757-Add-EntityToggleSitEvent.patch} | 0 ... => 0758-Add-fire-tick-delay-option.patch} | 0 ...patch => 0759-Add-Moving-Piston-API.patch} | 0 ...> 0760-Ignore-impossible-spawn-tick.patch} | 0 ...t-and-EntitySelectorParser-permissi.patch} | 0 ...Event-cancellation-cant-fully-preve.patch} | 0 ...0763-Add-PrePlayerAttackEntityEvent.patch} | 0 ...e-reset-EnderDragon-boss-event-name.patch} | 0 ... 0765-Add-Player-Warden-Warning-API.patch} | 2 +- ...a-friendly-methods-to-update-trades.patch} | 0 ...767-Add-paper-dumplisteners-command.patch} | 0 ...lobal-player-list-where-appropriate.patch} | 2 +- ...sync-entity-add-due-to-fungus-trees.patch} | 0 ....patch => 0770-ItemStack-damage-API.patch} | 16 ++-- ...tion-API.patch => 0771-Friction-API.patch} | 6 +- ...trol-player-s-insomnia-and-phantoms.patch} | 0 ...-premature-player-kicks-on-shutdown.patch} | 0 ... => 0774-Sync-offhand-slot-in-menus.patch} | 0 ... 0775-Player-Entity-Tracking-Events.patch} | 0 ...tch => 0776-Limit-pet-look-distance.patch} | 0 ...ments.patch => 0777-fix-Instruments.patch} | 2 +- ...for-some-hot-BlockBehavior-and-Flui.patch} | 0 ...es-in-dispense-events-regarding-sta.patch} | 0 ...tch => 0780-Add-BlockLockCheckEvent.patch} | 0 ... 0781-Add-Sneaking-API-for-Entities.patch} | 0 ... => 0782-Improve-logging-and-errors.patch} | 0 ....patch => 0783-Improve-PortalEvents.patch} | 0 ...ion-for-spider-worldborder-climbing.patch} | 0 ...sing-SpigotConfig-logCommands-check.patch} | 0 ...Allay-stopDancing-while-not-dancing.patch} | 0 ...ge.patch => 0787-Flying-Fall-Damage.patch} | 2 +- ...ion-moving-velocity-to-VehicleBlock.patch} | 0 ...onfig-for-disabling-entity-tag-tags.patch} | 0 ...e-player-info-update-packet-on-join.patch} | 2 +- ...k-items-during-EntityResurrectEvent.patch} | 2 +- ...en-API.patch => 0792-Win-Screen-API.patch} | 2 +- ...ItemStack-setAmount-null-assignment.patch} | 0 ...ix-force-opening-enchantment-tables.patch} | 4 +- ...tch => 0795-Add-Entity-Body-Yaw-API.patch} | 4 +- ...vent-sleeping-villagers-moving-towa.patch} | 0 ...=> 0797-Add-EntityFertilizeEggEvent.patch} | 2 +- ...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} | 2 +- ...802-Fix-text-display-error-on-spawn.patch} | 0 ...nventories-returning-null-Locations.patch} | 0 ...API.patch => 0804-Add-Shearable-API.patch} | 0 ...Fix-SpawnEggMeta-get-setSpawnedType.patch} | 0 ...g-to-bad-recipes-in-furnace-like-ti.patch} | 0 ...ence-violations-like-they-should-be.patch} | 0 ...xpired-keys-from-impacting-new-join.patch} | 0 ...ts-being-fired-from-unloaded-chunks.patch} | 0 ...0810-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 ... 0813-Add-Mob-Experience-reward-API.patch} | 0 ...redstone-on-top-of-trap-doors-early.patch} | 0 ...Lazy-Initialization-for-Enum-Fields.patch} | 0 ...16-More-accurate-isInOpenWater-impl.patch} | 0 ... => 0817-Expand-PlayerItemMendEvent.patch} | 4 +- ...sh-ProjectileSource-for-projectiles.patch} | 0 ... => 0819-Add-transient-modifier-API.patch} | 0 ...patch => 0820-Fix-block-place-logic.patch} | 0 ...nd-playing-for-BlockItem-ItemStacks.patch} | 2 +- ...l-BlockGrowEvent-for-missing-blocks.patch} | 0 ...nhasbukkit-default-if-alias-block-e.patch} | 2 +- ...pLike-spam-for-missing-key-selector.patch} | 0 ...-Fix-sniffer-removeExploredLocation.patch} | 0 ...to-remove-all-active-potion-effects.patch} | 2 +- ...rafting-result-amount-for-fireworks.patch} | 0 ...8-Add-event-for-player-editing-sign.patch} | 2 +- ...k-item-frames-if-players-can-see-it.patch} | 0 ...ermission-levels-for-command-blocks.patch} | 0 ...Add-option-to-disable-block-updates.patch} | 0 ...832-Call-missing-BlockDispenseEvent.patch} | 2 +- ...-chunks-for-supporting-block-checks.patch} | 0 ...Optimize-player-lookups-for-beacons.patch} | 0 ...I.patch => 0835-More-Sign-Block-API.patch} | 0 ...6-fix-item-meta-for-tadpole-buckets.patch} | 0 ...t-API.patch => 0837-Fix-BanList-API.patch} | 12 +-- ...d-water-fluid-explosion-resistance-.patch} | 0 ...x-possible-NPE-on-painting-creation.patch} | 0 ...imer-for-Wandering-Traders-spawned-.patch} | 0 ...nceOrb-should-call-EntitySpawnEvent.patch} | 2 +- ...t-throw-both-Spread-and-Grow-Events.patch} | 0 ....patch => 0843-Add-whitelist-events.patch} | 0 ... 0844-Implement-PlayerFailMoveEvent.patch} | 0 ...olia-scheduler-and-owned-region-API.patch} | 4 +- ...se-allay-memory-on-non-item-targets.patch} | 0 ...API-for-updating-recipes-on-clients.patch} | 4 +- ...tion-when-spawning-display-entities.patch} | 0 ...849-Only-capture-actual-tree-growth.patch} | 2 +- ...rce-for-mushroom-block-spread-event.patch} | 0 ...Data-on-more-entities-when-spawning.patch} | 0 ...-Use-correct-seed-on-api-world-load.patch} | 2 +- ...ta-neighbour-ticks-outside-of-range.patch} | 0 ...> 0854-Cache-map-ids-on-item-frames.patch} | 0 ...-custom-statistic-criteria-creation.patch} | 0 ...atch => 0856-Bandaid-fix-for-Effect.patch} | 2 +- ...tch => 0857-SculkCatalyst-bloom-API.patch} | 0 ...API-for-an-entity-s-scoreboard-name.patch} | 0 ...lace-methods-with-old-StructureType.patch} | 2 +- ...e-namespaced-commands-if-send-names.patch} | 0 ...-handle-BlockBreakEvent-isDropItems.patch} | 0 ...entity-death-event-for-ender-dragon.patch} | 0 ...tity-tracking-range-by-Y-coordinate.patch} | 0 ... => 0864-Add-Listing-API-for-Player.patch} | 4 +- ...figurable-Region-Compression-Format.patch} | 0 ...6-Add-BlockFace-to-BlockDamageEvent.patch} | 2 +- ...h => 0867-Fix-NPE-on-Boat-getStatus.patch} | 0 ...e-API.patch => 0868-Expand-Pose-API.patch} | 0 ...patch => 0869-More-DragonBattle-API.patch} | 0 ...tch => 0870-Add-PlayerPickItemEvent.patch} | 0 ...=> 0871-Allow-trident-custom-damage.patch} | 0 ...2-Expose-hand-in-BlockCanBuildEvent.patch} | 0 ...-nearest-structure-border-iteration.patch} | 0 ...Implement-OfflinePlayer-isConnected.patch} | 2 +- ...esync.patch => 0875-Fix-slot-desync.patch} | 0 ...titleOverride-to-InventoryOpenEvent.patch} | 10 +- ...77-Configure-sniffer-egg-hatch-time.patch} | 0 ...-proximity-check-before-entity-look.patch} | 0 ...kip-POI-finding-if-stuck-in-vehicle.patch} | 0 ...t-sanity-checks-in-container-clicks.patch} | 0 ...ll-BlockRedstoneEvents-for-lecterns.patch} | 0 ...roper-checking-of-empty-item-stacks.patch} | 0 ...ix-silent-equipment-change-for-mobs.patch} | 0 ...h => 0884-Fix-spigot-s-Forced-Stats.patch} | 0 ...ing-InventoryHolders-to-inventories.patch} | 0 ...entities-in-chunks-that-are-positio.patch} | 0 ...sing-logs-for-log-ips-config-option.patch} | 0 ...n-on-UpgradeData.BlockFixers-class-.patch} | 0 ...-AdvancementProgress-getDateAwarded.patch} | 0 ...idebar-objectives-not-being-cleared.patch} | 0 ...x-missing-map-initialize-event-call.patch} | 0 ...a-when-attaching-firework-to-entity.patch} | 0 ...93-Fix-UnsafeValues-loadAdvancement.patch} | 0 ...> 0894-Add-player-idle-duration-API.patch} | 2 +- ...-if-we-can-see-non-visible-entities.patch} | 0 ...NPE-in-SculkBloomEvent-world-access.patch} | 0 ...tack-for-Player-sendEquipmentChange.patch} | 2 +- ...Ints.patch => 0898-Optimize-VarInts.patch} | 0 ...e-collision-shape-of-a-block-before.patch} | 0 ...redicate-for-blocks-when-raytracing.patch} | 0 ...em-packets-with-collector-as-source.patch} | 2 +- ... => 0902-Expand-LingeringPotion-API.patch} | 0 ...ngEffect-powers-lightning-rods-and-.patch} | 0 ...h-event-for-all-player-interactions.patch} | 0 ...everal-issues-with-EntityBreedEvent.patch} | 0 ...906-Add-UUID-attribute-modifier-API.patch} | 0 ...-event-call-for-entity-teleport-API.patch} | 0 ...y-create-LootContext-for-criterions.patch} | 0 ...-t-fire-sync-events-during-worldgen.patch} | 2 +- ...tch => 0910-Add-Structure-check-API.patch} | 0 ...-getAttributeModifier-duplication-c.patch} | 0 ...store-vanilla-entity-drops-behavior.patch} | 4 +- ...-Dont-resend-blocks-on-interactions.patch} | 2 +- ...tch => 0914-add-more-scoreboard-API.patch} | 0 ...stry.patch => 0915-Improve-Registry.patch} | 8 +- ...on-null-loc-for-EntityTeleportEvent.patch} | 4 +- ...h => 0917-Add-experience-points-API.patch} | 2 +- ...h => 0918-Add-drops-to-shear-events.patch} | 2 +- ...> 0919-Add-PlayerShieldDisableEvent.patch} | 0 ...ate-ResourceLocation-in-NBT-reading.patch} | 4 +- ...-experience-dropping-on-block-break.patch} | 0 ...> 0922-Fixup-NamespacedKey-handling.patch} | 4 +- ...23-Expose-LootTable-of-DecoratedPot.patch} | 0 ...location-of-Vec3D-by-entity-tracker.patch} | 0 ...rTradeEvent-and-PlayerPurchaseEvent.patch} | 8 +- ...h => 0926-Add-ShulkerDuplicateEvent.patch} | 0 ...dd-api-for-spawn-egg-texture-colors.patch} | 0 ... => 0928-Add-Lifecycle-Event-system.patch} | 2 +- ...patch => 0929-ItemStack-Tooltip-API.patch} | 0 ...Snapshot-includeLightData-parameter.patch} | 0 ...PI.patch => 0931-Add-FluidState-API.patch} | 0 ...patch => 0932-add-number-format-api.patch} | 0 ...patch => 0933-improve-BanList-types.patch} | 2 +- ...I.patch => 0934-Expanded-Hopper-API.patch} | 0 ...5-Add-BlockBreakProgressUpdateEvent.patch} | 0 ...=> 0936-Deprecate-ItemStack-setType.patch} | 0 ...ch => 0937-Add-CartographyItemEvent.patch} | 0 ...aid-API.patch => 0938-More-Raid-API.patch} | 0 ...ng-message-for-initial-server-start.patch} | 0 ...-Configurable-max-block-fluid-ticks.patch} | 0 ...=> 0941-Fix-bees-aging-inside-hives.patch} | 0 ...2-Disable-memory-reserve-allocating.patch} | 0 ...ByEntityEvent-for-unowned-wither-sk.patch} | 0 ....patch => 0944-Fix-DamageSource-API.patch} | 2 +- ...nvalid-block-entity-during-world-ge.patch} | 0 ...ackOverflowError-for-some-dispenses.patch} | 0 ...=> 0947-Improve-tag-parser-handling.patch} | 0 ...s.patch => 0948-Item-Mutation-Fixes.patch} | 0 ...-Per-world-ticks-per-spawn-settings.patch} | 0 ...e-changed-item-from-dispense-events.patch} | 0 ...nd-End-Portal-Frames-from-being-des.patch} | 0 ...e-disarming-not-working-as-intended.patch} | 0 ...-for-mobs-immune-to-default-effects.patch} | 0 ... => 0954-Deep-clone-nbt-tags-in-PDC.patch} | 0 ...955-Support-old-UUID-format-for-NBT.patch} | 0 ...56-Fix-shield-disable-inconsistency.patch} | 2 +- ...-Large-Packets-disconnecting-client.patch} | 0 ...emFlags.patch => 0958-Fix-ItemFlags.patch} | 0 ...et-damage-reduction-inconsistencies.patch} | 2 +- .../0960-Fix-Player-setBlockUpdate.patch | 31 ------- ...-handling-of-LivingEntity-actuallyH.patch} | 2 +- ...e-checking-handled-tags-in-itemmeta.patch} | 10 +- ...atch => 0962-General-ItemMeta-fixes.patch} | 61 +++++------- ...63-Expose-hasColor-to-leather-armor.patch} | 0 ...-API-to-get-player-ha-proxy-address.patch} | 2 +- ....patch => 0965-More-Chest-Block-API.patch} | 0 ...ta-component-type-on-encoding-error.patch} | 0 ...=> 0967-Brigadier-based-command-API.patch} | 2 +- ... => 0968-Fix-issues-with-Recipe-API.patch} | 0 ...69-Fix-equipment-slot-and-group-API.patch} | 6 +- ...lugin-to-use-Paper-PluginLoader-API.patch} | 0 ...versized-item-data-in-equipment-and.patch} | 2 +- ...nt-NPE-if-hooked-entity-was-cleared.patch} | 0 ...ng-BlockPlaceEvent-calling-onRemove.patch} | 2 +- ...974-Add-missing-fishing-event-state.patch} | 0 ...ate-InvAction-HOTBAR_MOVE_AND_READD.patch} | 0 ...nnect-packet-in-phases-where-it-doe.patch} | 0 ...tch => 0977-Adopt-MaterialRerouting.patch} | 0 ...=> 0978-Suspicious-Effect-Entry-API.patch} | 0 ...eck-if-itemstack-is-stackable-first.patch} | 0 ...emoving-recipes-from-RecipeIterator.patch} | 0 ...mage-tick-when-blocking-with-shield.patch} | 2 +- ...he-experimental-smithing-inventory-.patch} | 0 ... 0983-Moonrise-optimisation-patches.patch} | 10 +- ...> 0984-Rewrite-dataconverter-system.patch} | 0 ...85-disable-forced-empty-world-ticks.patch} | 0 ...dBounds-and-getBlockState-for-inlin.patch} | 0 ...tem-frames-performance-and-bug-fixe.patch} | 0 ...ing-for-EntityLiving-hasLineOfSight.patch} | 2 +- ...Manager-and-add-advanced-packet-sup.patch} | 0 ...90-Allow-Saving-of-Oversized-Chunks.patch} | 0 ...991-Flat-bedrock-generator-settings.patch} | 0 ...=> 0992-Entity-Activation-Range-2.0.patch} | 0 ...0993-Optional-per-player-mob-spawns.patch} | 0 ...6-Anti-Xray.patch => 0994-Anti-Xray.patch} | 4 +- ...-Eigencraft-redstone-implementation.patch} | 0 ...ate-Current-redstone-implementation.patch} | 0 ...g-PreCreatureSpawnEvent-with-per-pl.patch} | 0 ...city-compression-and-cipher-natives.patch} | 4 +- ...timize-Collision-to-not-load-chunks.patch} | 2 +- ...alSelector-Goal.Flag-Set-operations.patch} | 0 ...pers.patch => 1001-Optimize-Hoppers.patch} | 2 +- ...02-Entity-load-save-limit-per-chunk.patch} | 0 ...> 1003-Optimize-Voxel-Shape-Merging.patch} | 0 ...Optimize-Bit-Operations-by-inlining.patch} | 0 ...> 1005-Remove-streams-from-hot-code.patch} | 0 ...er-Remove-Streams-Optimized-collect.patch} | 0 ...ementation-for-blockstate-state-loo.patch} | 0 ...-type-tags-suggestions-in-selectors.patch} | 0 ...-Oversized-block-entities-in-chunks.patch} | 0 ...> 1010-API-for-checking-sent-chunks.patch} | 4 +- ...eck-distance-in-entity-interactions.patch} | 2 +- ...ch => 1012-Configurable-Sand-Duping.patch} | 0 ...=> 1013-Optimise-general-POI-access.patch} | 0 ...-Improve-performance-of-mass-crafts.patch} | 0 ...ch => 1015-Properly-resend-entities.patch} | 44 ++++++++- ...h => 1016-Registry-Modification-API.patch} | 12 +-- ...017-Add-registry-entry-and-builders.patch} | 6 +- ...h => 1018-Improved-Watchdog-Support.patch} | 2 +- ...9-Proxy-ItemStack-to-CraftItemStack.patch} | 2 +- ...-accessible-directly-from-ItemStack.patch} | 2 +- ...aft-commands-in-function-parsing-an.patch} | 0 ...22-optimize-dirt-and-snow-spreading.patch} | 0 ... 1023-Fix-NPE-for-Jukebox-setRecord.patch} | 0 ...024-Fix-CraftWorld-isChunkGenerated.patch} | 0 ...patch => 1025-fix-horse-inventories.patch} | 0 ...ityDamageEvents-before-actuallyHurt.patch} | 2 +- ...r-desync-when-new-players-are-added.patch} | 0 ...atch => 1028-Lag-compensation-ticks.patch} | 4 +- ...-more-information-in-watchdog-dumps.patch} | 0 ...ch => 1030-Write-SavedData-IO-async.patch} | 0 ... => 1031-Add-ItemType-getItemRarity.patch} | 0 ...Incremental-chunk-and-player-saving.patch} | 4 +- ...ulate-regionfile-header-if-it-is-co.patch} | 0 ...-Correctly-call-PlayerItemBreakEvent.patch | 34 ------- ...le-spark.patch => 1034-Bundle-spark.patch} | 2 +- ... => 1035-Add-plugin-info-at-startup.patch} | 0 ...tion-leniency-distance-configurable.patch} | 0 ...1037-Fix-PickupStatus-getting-reset.patch} | 4 +- ...ype-in-SculkSensorBlock-canActivate.patch} | 0 ...anPlaceOn-and-CanDestroy-NBT-values.patch} | 2 +- ...on-for-horizontal-only-item-merging.patch} | 0 ...n-checking-in-player-move-packet-ha.patch} | 0 ...042-Add-skipping-world-symlink-scan.patch} | 0 ... 1043-Add-even-more-Enchantment-API.patch} | 0 ...ble-API.patch => 1044-Leashable-API.patch} | 2 +- ...=> 1045-Fix-CraftBukkit-drag-system.patch} | 0 ...ent-firing-for-block-entity-loading.patch} | 0 ...-lootable-item-function-from-compas.patch} | 0 ...y-placed-blocks-on-the-end-platform.patch} | 0 ...049-Add-enchantment-seed-update-API.patch} | 0 ...ending-chat-to-client-with-updating.patch} | 0 ...Fix-InventoryOpenEvent-cancellation.patch} | 2 +- ...ire-BlockExpEvent-on-grindstone-use.patch} | 0 ... => 1053-Check-dead-flag-in-isAlive.patch} | 2 +- ...I.patch => 1054-Add-FeatureFlag-API.patch} | 0 ....patch => 1055-Tag-Lifecycle-Events.patch} | 0 ... => 1056-Item-serialization-as-json.patch} | 0 work/Bukkit | 2 +- work/CraftBukkit | 2 +- work/Spigot | 2 +- 684 files changed, 864 insertions(+), 837 deletions(-) delete mode 100644 patches/server/0475-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename patches/server/{0476-Return-chat-component-with-empty-text-instead-of-thr.patch => 0475-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/server/{0477-Make-schedule-command-per-world.patch => 0476-Make-schedule-command-per-world.patch} (100%) rename patches/server/{0478-Configurable-max-leash-distance.patch => 0477-Configurable-max-leash-distance.patch} (100%) rename patches/server/{0479-Add-BlockPreDispenseEvent.patch => 0478-Add-BlockPreDispenseEvent.patch} (97%) rename patches/server/{0480-Add-PlayerChangeBeaconEffectEvent.patch => 0479-Add-PlayerChangeBeaconEffectEvent.patch} (100%) rename patches/server/{0481-Add-toggle-for-always-placing-the-dragon-egg.patch => 0480-Add-toggle-for-always-placing-the-dragon-egg.patch} (100%) rename patches/server/{0482-Add-PlayerStonecutterRecipeSelectEvent.patch => 0481-Add-PlayerStonecutterRecipeSelectEvent.patch} (100%) rename patches/server/{0483-Expand-EntityUnleashEvent.patch => 0482-Expand-EntityUnleashEvent.patch} (99%) rename patches/server/{0484-Reset-shield-blocking-on-dimension-change.patch => 0483-Reset-shield-blocking-on-dimension-change.patch} (100%) rename patches/server/{0485-Add-DragonEggFormEvent.patch => 0484-Add-DragonEggFormEvent.patch} (100%) rename patches/server/{0486-Add-EntityMoveEvent.patch => 0485-Add-EntityMoveEvent.patch} (97%) rename patches/server/{0487-added-option-to-disable-pathfinding-updates-on-block.patch => 0486-added-option-to-disable-pathfinding-updates-on-block.patch} (100%) rename patches/server/{0488-Inline-shift-direction-fields.patch => 0487-Inline-shift-direction-fields.patch} (100%) rename patches/server/{0489-Allow-adding-items-to-BlockDropItemEvent.patch => 0488-Allow-adding-items-to-BlockDropItemEvent.patch} (95%) rename patches/server/{0490-Add-getMainThreadExecutor-to-BukkitScheduler.patch => 0489-Add-getMainThreadExecutor-to-BukkitScheduler.patch} (100%) rename patches/server/{0491-living-entity-allow-attribute-registration.patch => 0490-living-entity-allow-attribute-registration.patch} (94%) rename patches/server/{0492-fix-dead-slime-setSize-invincibility.patch => 0491-fix-dead-slime-setSize-invincibility.patch} (100%) rename patches/server/{0493-Merchant-getRecipes-should-return-an-immutable-list.patch => 0492-Merchant-getRecipes-should-return-an-immutable-list.patch} (55%) rename patches/server/{0494-Expose-Tracked-Players.patch => 0493-Expose-Tracked-Players.patch} (100%) rename patches/server/{0495-Improve-ServerGUI.patch => 0494-Improve-ServerGUI.patch} (100%) rename patches/server/{0496-fix-converting-txt-to-json-file.patch => 0495-fix-converting-txt-to-json-file.patch} (97%) rename patches/server/{0497-Add-worldborder-events.patch => 0496-Add-worldborder-events.patch} (100%) rename patches/server/{0498-Add-PlayerNameEntityEvent.patch => 0497-Add-PlayerNameEntityEvent.patch} (100%) rename patches/server/{0499-Add-recipe-to-cook-events.patch => 0498-Add-recipe-to-cook-events.patch} (100%) rename patches/server/{0500-Add-Block-isValidTool.patch => 0499-Add-Block-isValidTool.patch} (100%) rename patches/server/{0501-Allow-using-signs-inside-spawn-protection.patch => 0500-Allow-using-signs-inside-spawn-protection.patch} (100%) rename patches/server/{0502-Expand-world-key-API.patch => 0501-Expand-world-key-API.patch} (97%) rename patches/server/{0503-Add-fast-alternative-constructor-for-Rotations.patch => 0502-Add-fast-alternative-constructor-for-Rotations.patch} (100%) rename patches/server/{0504-Drop-carried-item-when-player-has-disconnected.patch => 0503-Drop-carried-item-when-player-has-disconnected.patch} (93%) rename patches/server/{0505-forced-whitelist-use-configurable-kick-message.patch => 0504-forced-whitelist-use-configurable-kick-message.patch} (100%) rename patches/server/{0506-Don-t-ignore-result-of-PlayerEditBookEvent.patch => 0505-Don-t-ignore-result-of-PlayerEditBookEvent.patch} (100%) rename patches/server/{0507-Expose-protocol-version.patch => 0506-Expose-protocol-version.patch} (100%) rename patches/server/{0508-Enhance-console-tab-completions-for-brigadier-comman.patch => 0507-Enhance-console-tab-completions-for-brigadier-comman.patch} (100%) rename patches/server/{0509-Fix-PlayerItemConsumeEvent-cancelling-properly.patch => 0508-Fix-PlayerItemConsumeEvent-cancelling-properly.patch} (77%) rename patches/server/{0510-Add-bypass-host-check.patch => 0509-Add-bypass-host-check.patch} (100%) rename patches/server/{0511-Set-area-affect-cloud-rotation.patch => 0510-Set-area-affect-cloud-rotation.patch} (100%) rename patches/server/{0512-add-isDeeplySleeping-to-HumanEntity.patch => 0511-add-isDeeplySleeping-to-HumanEntity.patch} (90%) rename patches/server/{0513-add-consumeFuel-to-FurnaceBurnEvent.patch => 0512-add-consumeFuel-to-FurnaceBurnEvent.patch} (100%) rename patches/server/{0514-add-get-set-drop-chance-to-EntityEquipment.patch => 0513-add-get-set-drop-chance-to-EntityEquipment.patch} (100%) rename patches/server/{0515-fix-PigZombieAngerEvent-cancellation.patch => 0514-fix-PigZombieAngerEvent-cancellation.patch} (100%) rename patches/server/{0516-fix-PlayerItemHeldEvent-firing-twice.patch => 0515-fix-PlayerItemHeldEvent-firing-twice.patch} (100%) rename patches/server/{0517-Add-PlayerDeepSleepEvent.patch => 0516-Add-PlayerDeepSleepEvent.patch} (100%) rename patches/server/{0518-More-World-API.patch => 0517-More-World-API.patch} (100%) rename patches/server/{0519-Add-PlayerBedFailEnterEvent.patch => 0518-Add-PlayerBedFailEnterEvent.patch} (100%) rename patches/server/{0520-Implement-methods-to-convert-between-Component-and-B.patch => 0519-Implement-methods-to-convert-between-Component-and-B.patch} (100%) rename patches/server/{0521-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch => 0520-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch} (100%) rename patches/server/{0522-Introduce-beacon-activation-deactivation-events.patch => 0521-Introduce-beacon-activation-deactivation-events.patch} (100%) rename patches/server/{0523-Add-Channel-initialization-listeners.patch => 0522-Add-Channel-initialization-listeners.patch} (100%) rename patches/server/{0524-Send-empty-commands-if-tab-completion-is-disabled.patch => 0523-Send-empty-commands-if-tab-completion-is-disabled.patch} (100%) rename patches/server/{0525-Add-more-WanderingTrader-API.patch => 0524-Add-more-WanderingTrader-API.patch} (100%) rename patches/server/{0526-Add-EntityBlockStorage-clearEntities.patch => 0525-Add-EntityBlockStorage-clearEntities.patch} (100%) rename patches/server/{0527-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch => 0526-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch} (100%) rename patches/server/{0528-Add-HiddenPotionEffect-API.patch => 0527-Add-HiddenPotionEffect-API.patch} (100%) rename patches/server/{0529-Inventory-close.patch => 0528-Inventory-close.patch} (100%) rename patches/server/{0530-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch => 0529-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch} (100%) rename patches/server/{0531-Add-basic-Datapack-API.patch => 0530-Add-basic-Datapack-API.patch} (96%) rename patches/server/{0532-Add-environment-variable-to-disable-server-gui.patch => 0531-Add-environment-variable-to-disable-server-gui.patch} (100%) rename patches/server/{0533-Expand-PlayerGameModeChangeEvent.patch => 0532-Expand-PlayerGameModeChangeEvent.patch} (99%) rename patches/server/{0534-ItemStack-repair-check-API.patch => 0533-ItemStack-repair-check-API.patch} (100%) rename patches/server/{0535-More-Enchantment-API.patch => 0534-More-Enchantment-API.patch} (100%) rename patches/server/{0536-Move-range-check-for-block-placing-up.patch => 0535-Move-range-check-for-block-placing-up.patch} (100%) rename patches/server/{0537-Add-Mob-lookAt-API.patch => 0536-Add-Mob-lookAt-API.patch} (100%) rename patches/server/{0538-Correctly-check-if-bucket-dispenses-will-succeed-for.patch => 0537-Correctly-check-if-bucket-dispenses-will-succeed-for.patch} (100%) rename patches/server/{0539-Add-Unix-domain-socket-support.patch => 0538-Add-Unix-domain-socket-support.patch} (100%) rename patches/server/{0540-Add-EntityInsideBlockEvent.patch => 0539-Add-EntityInsideBlockEvent.patch} (100%) rename patches/server/{0541-Improve-item-default-attribute-API.patch => 0540-Improve-item-default-attribute-API.patch} (100%) rename patches/server/{0542-Add-cause-to-Weather-ThunderChangeEvents.patch => 0541-Add-cause-to-Weather-ThunderChangeEvents.patch} (100%) rename patches/server/{0543-More-Lidded-Block-API.patch => 0542-More-Lidded-Block-API.patch} (100%) rename patches/server/{0544-Limit-item-frame-cursors-on-maps.patch => 0543-Limit-item-frame-cursors-on-maps.patch} (100%) rename patches/server/{0545-Add-PlayerKickEvent-causes.patch => 0544-Add-PlayerKickEvent-causes.patch} (92%) rename patches/server/{0546-Add-PufferFishStateChangeEvent.patch => 0545-Add-PufferFishStateChangeEvent.patch} (100%) rename patches/server/{0547-Fix-PlayerBucketEmptyEvent-result-itemstack.patch => 0546-Fix-PlayerBucketEmptyEvent-result-itemstack.patch} (100%) rename patches/server/{0548-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch => 0547-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch} (100%) rename patches/server/{0549-Add-option-to-fix-items-merging-through-walls.patch => 0548-Add-option-to-fix-items-merging-through-walls.patch} (100%) rename patches/server/{0550-Add-BellRevealRaiderEvent.patch => 0549-Add-BellRevealRaiderEvent.patch} (100%) rename patches/server/{0551-Fix-invulnerable-end-crystals.patch => 0550-Fix-invulnerable-end-crystals.patch} (100%) rename patches/server/{0552-Add-ElderGuardianAppearanceEvent.patch => 0551-Add-ElderGuardianAppearanceEvent.patch} (100%) rename patches/server/{0553-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch => 0552-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch} (100%) rename patches/server/{0554-Line-Of-Sight-Changes.patch => 0553-Line-Of-Sight-Changes.patch} (95%) rename patches/server/{0555-add-per-world-spawn-limits.patch => 0554-add-per-world-spawn-limits.patch} (100%) rename patches/server/{0556-Fix-potions-splash-events.patch => 0555-Fix-potions-splash-events.patch} (99%) rename patches/server/{0557-Add-more-LimitedRegion-API.patch => 0556-Add-more-LimitedRegion-API.patch} (100%) rename patches/server/{0558-Fix-PlayerDropItemEvent-using-wrong-item.patch => 0557-Fix-PlayerDropItemEvent-using-wrong-item.patch} (100%) rename patches/server/{0559-Missing-Entity-API.patch => 0558-Missing-Entity-API.patch} (99%) rename patches/server/{0560-Fix-return-value-of-Block-applyBoneMeal-always-being.patch => 0559-Fix-return-value-of-Block-applyBoneMeal-always-being.patch} (100%) rename patches/server/{0561-Use-getChunkIfLoadedImmediately-in-places.patch => 0560-Use-getChunkIfLoadedImmediately-in-places.patch} (100%) rename patches/server/{0562-Fix-commands-from-signs-not-firing-command-events.patch => 0561-Fix-commands-from-signs-not-firing-command-events.patch} (100%) rename patches/server/{0563-Add-PlayerArmSwingEvent.patch => 0562-Add-PlayerArmSwingEvent.patch} (100%) rename patches/server/{0564-Fix-kick-event-leave-message-not-being-sent.patch => 0563-Fix-kick-event-leave-message-not-being-sent.patch} (96%) rename patches/server/{0565-Don-t-apply-cramming-damage-to-players.patch => 0564-Don-t-apply-cramming-damage-to-players.patch} (100%) rename patches/server/{0566-Rate-options-and-timings-for-sensors-and-behaviors.patch => 0565-Rate-options-and-timings-for-sensors-and-behaviors.patch} (100%) rename patches/server/{0567-Add-missing-forceDrop-toggles.patch => 0566-Add-missing-forceDrop-toggles.patch} (100%) rename patches/server/{0568-Stinger-API.patch => 0567-Stinger-API.patch} (95%) rename patches/server/{0569-Add-System.out-err-catcher.patch => 0568-Add-System.out-err-catcher.patch} (98%) rename patches/server/{0570-Prevent-AFK-kick-while-watching-end-credits.patch => 0569-Prevent-AFK-kick-while-watching-end-credits.patch} (100%) rename patches/server/{0571-Allow-skipping-writing-of-comments-to-server.propert.patch => 0570-Allow-skipping-writing-of-comments-to-server.propert.patch} (100%) rename patches/server/{0572-Add-PlayerSetSpawnEvent.patch => 0571-Add-PlayerSetSpawnEvent.patch} (98%) rename patches/server/{0573-Make-hoppers-respect-inventory-max-stack-size.patch => 0572-Make-hoppers-respect-inventory-max-stack-size.patch} (100%) rename patches/server/{0574-Optimize-entity-tracker-passenger-checks.patch => 0573-Optimize-entity-tracker-passenger-checks.patch} (100%) rename patches/server/{0575-Config-option-for-Piglins-guarding-chests.patch => 0574-Config-option-for-Piglins-guarding-chests.patch} (100%) rename patches/server/{0576-Add-EntityDamageItemEvent.patch => 0575-Add-EntityDamageItemEvent.patch} (82%) rename patches/server/{0577-Optimize-indirect-passenger-iteration.patch => 0576-Optimize-indirect-passenger-iteration.patch} (100%) rename patches/server/{0578-Configurable-item-frame-map-cursor-update-interval.patch => 0577-Configurable-item-frame-map-cursor-update-interval.patch} (100%) rename patches/server/{0579-Change-EnderEye-target-without-changing-other-things.patch => 0578-Change-EnderEye-target-without-changing-other-things.patch} (100%) rename patches/server/{0580-Add-BlockBreakBlockEvent.patch => 0579-Add-BlockBreakBlockEvent.patch} (100%) rename patches/server/{0581-Option-to-prevent-data-components-copy-in-smithing-r.patch => 0580-Option-to-prevent-data-components-copy-in-smithing-r.patch} (100%) rename patches/server/{0582-More-CommandBlock-API.patch => 0581-More-CommandBlock-API.patch} (100%) rename patches/server/{0583-Add-missing-team-sidebar-display-slots.patch => 0582-Add-missing-team-sidebar-display-slots.patch} (100%) rename patches/server/{0584-Add-back-EntityPortalExitEvent.patch => 0583-Add-back-EntityPortalExitEvent.patch} (100%) rename patches/server/{0585-Add-methods-to-find-targets-for-lightning-strikes.patch => 0584-Add-methods-to-find-targets-for-lightning-strikes.patch} (100%) rename patches/server/{0586-Get-entity-default-attributes.patch => 0585-Get-entity-default-attributes.patch} (100%) rename patches/server/{0587-Left-handed-API.patch => 0586-Left-handed-API.patch} (100%) rename patches/server/{0588-Add-more-advancement-API.patch => 0587-Add-more-advancement-API.patch} (100%) rename patches/server/{0589-Add-ItemFactory-getSpawnEgg-API.patch => 0588-Add-ItemFactory-getSpawnEgg-API.patch} (100%) rename patches/server/{0590-Add-critical-damage-API.patch => 0589-Add-critical-damage-API.patch} (98%) rename patches/server/{0591-Fix-issues-with-mob-conversion.patch => 0590-Fix-issues-with-mob-conversion.patch} (100%) rename patches/server/{0592-Add-hasCollision-methods-to-various-places.patch => 0591-Add-hasCollision-methods-to-various-places.patch} (100%) rename patches/server/{0593-Goat-ram-API.patch => 0592-Goat-ram-API.patch} (100%) rename patches/server/{0594-Add-API-for-resetting-a-single-score.patch => 0593-Add-API-for-resetting-a-single-score.patch} (100%) rename patches/server/{0595-Add-Raw-Byte-Entity-Serialization.patch => 0594-Add-Raw-Byte-Entity-Serialization.patch} (100%) rename patches/server/{0596-Vanilla-command-permission-fixes.patch => 0595-Vanilla-command-permission-fixes.patch} (100%) rename patches/server/{0597-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch => 0596-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch} (100%) rename patches/server/{0598-Fix-GameProfileCache-concurrency.patch => 0597-Fix-GameProfileCache-concurrency.patch} (100%) rename patches/server/{0599-Improve-and-expand-AsyncCatcher.patch => 0598-Improve-and-expand-AsyncCatcher.patch} (98%) rename patches/server/{0600-Add-paper-mobcaps-and-paper-playermobcaps.patch => 0599-Add-paper-mobcaps-and-paper-playermobcaps.patch} (99%) rename patches/server/{0601-Sanitize-ResourceLocation-error-logging.patch => 0600-Sanitize-ResourceLocation-error-logging.patch} (100%) rename patches/server/{0602-Manually-inline-methods-in-BlockPosition.patch => 0601-Manually-inline-methods-in-BlockPosition.patch} (100%) rename patches/server/{0603-Name-craft-scheduler-threads-according-to-the-plugin.patch => 0602-Name-craft-scheduler-threads-according-to-the-plugin.patch} (100%) rename patches/server/{0604-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch => 0603-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch} (100%) rename patches/server/{0605-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch => 0604-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch} (100%) rename patches/server/{0606-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch => 0605-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch} (100%) rename patches/server/{0607-Time-scoreboard-search.patch => 0606-Time-scoreboard-search.patch} (100%) rename patches/server/{0608-Oprimise-map-impl-for-tracked-players.patch => 0607-Oprimise-map-impl-for-tracked-players.patch} (100%) rename patches/server/{0609-Add-missing-InventoryType.patch => 0608-Add-missing-InventoryType.patch} (100%) rename patches/server/{0610-Optimise-BlockSoil-nearby-water-lookup.patch => 0609-Optimise-BlockSoil-nearby-water-lookup.patch} (100%) rename patches/server/{0611-Fix-merchant-inventory-not-closing-on-entity-removal.patch => 0610-Fix-merchant-inventory-not-closing-on-entity-removal.patch} (100%) rename patches/server/{0612-Check-requirement-before-suggesting-root-nodes.patch => 0611-Check-requirement-before-suggesting-root-nodes.patch} (100%) rename patches/server/{0613-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch => 0612-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch} (100%) rename patches/server/{0614-Add-packet-limiter-config.patch => 0613-Add-packet-limiter-config.patch} (100%) rename patches/server/{0615-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch => 0614-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch} (100%) rename patches/server/{0616-Ensure-valid-vehicle-status.patch => 0615-Ensure-valid-vehicle-status.patch} (100%) rename patches/server/{0617-Prevent-softlocked-end-exit-portal-generation.patch => 0616-Prevent-softlocked-end-exit-portal-generation.patch} (100%) rename patches/server/{0618-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch => 0617-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch} (100%) rename patches/server/{0619-Don-t-log-debug-logging-being-disabled.patch => 0618-Don-t-log-debug-logging-being-disabled.patch} (100%) rename patches/server/{0620-fix-various-menus-with-empty-level-accesses.patch => 0619-fix-various-menus-with-empty-level-accesses.patch} (100%) rename patches/server/{0621-Preserve-overstacked-loot.patch => 0620-Preserve-overstacked-loot.patch} (100%) rename patches/server/{0622-Update-head-rotation-in-missing-places.patch => 0621-Update-head-rotation-in-missing-places.patch} (100%) rename patches/server/{0623-prevent-unintended-light-block-manipulation.patch => 0622-prevent-unintended-light-block-manipulation.patch} (100%) rename patches/server/{0624-Fix-CraftCriteria-defaults-map.patch => 0623-Fix-CraftCriteria-defaults-map.patch} (100%) rename patches/server/{0625-Fix-upstreams-block-state-factories.patch => 0624-Fix-upstreams-block-state-factories.patch} (99%) rename patches/server/{0626-Configurable-feature-seeds.patch => 0625-Configurable-feature-seeds.patch} (100%) rename patches/server/{0627-Add-root-admin-user-detection.patch => 0626-Add-root-admin-user-detection.patch} (100%) rename patches/server/{0628-don-t-attempt-to-teleport-dead-entities.patch => 0627-don-t-attempt-to-teleport-dead-entities.patch} (100%) rename patches/server/{0629-Prevent-excessive-velocity-through-repeated-crits.patch => 0628-Prevent-excessive-velocity-through-repeated-crits.patch} (95%) rename patches/server/{0630-Remove-client-side-code-using-deprecated-for-removal.patch => 0629-Remove-client-side-code-using-deprecated-for-removal.patch} (100%) rename patches/server/{0631-Fix-Spigot-growth-modifiers.patch => 0630-Fix-Spigot-growth-modifiers.patch} (100%) rename patches/server/{0632-Prevent-ContainerOpenersCounter-openCount-from-going.patch => 0631-Prevent-ContainerOpenersCounter-openCount-from-going.patch} (100%) rename patches/server/{0633-Add-PlayerItemFrameChangeEvent.patch => 0632-Add-PlayerItemFrameChangeEvent.patch} (100%) rename patches/server/{0634-Optimize-HashMapPalette.patch => 0633-Optimize-HashMapPalette.patch} (100%) rename patches/server/{0635-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch => 0634-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch} (100%) rename patches/server/{0636-Add-more-Campfire-API.patch => 0635-Add-more-Campfire-API.patch} (100%) rename patches/server/{0637-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch => 0636-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch} (100%) rename patches/server/{0638-Forward-CraftEntity-in-teleport-command.patch => 0637-Forward-CraftEntity-in-teleport-command.patch} (100%) rename patches/server/{0639-Improve-scoreboard-entries.patch => 0638-Improve-scoreboard-entries.patch} (100%) rename patches/server/{0640-Entity-powdered-snow-API.patch => 0639-Entity-powdered-snow-API.patch} (100%) rename patches/server/{0641-Add-API-for-item-entity-health.patch => 0640-Add-API-for-item-entity-health.patch} (100%) rename patches/server/{0642-Configurable-max-block-light-for-monster-spawning.patch => 0641-Configurable-max-block-light-for-monster-spawning.patch} (100%) rename patches/server/{0643-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch => 0642-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch} (100%) rename patches/server/{0644-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch => 0643-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch} (100%) rename patches/server/{0645-Bucketable-API.patch => 0644-Bucketable-API.patch} (100%) rename patches/server/{0646-Validate-usernames.patch => 0645-Validate-usernames.patch} (92%) rename patches/server/{0647-Make-water-animal-spawn-height-configurable.patch => 0646-Make-water-animal-spawn-height-configurable.patch} (100%) rename patches/server/{0648-Expose-vanilla-BiomeProvider-from-WorldInfo.patch => 0647-Expose-vanilla-BiomeProvider-from-WorldInfo.patch} (99%) rename patches/server/{0649-Add-config-option-for-worlds-affected-by-time-cmd.patch => 0648-Add-config-option-for-worlds-affected-by-time-cmd.patch} (100%) rename patches/server/{0650-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch => 0649-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch} (100%) rename patches/server/{0651-Multiple-Entries-with-Scoreboards.patch => 0650-Multiple-Entries-with-Scoreboards.patch} (100%) rename patches/server/{0652-Reset-placed-block-on-exception.patch => 0651-Reset-placed-block-on-exception.patch} (100%) rename patches/server/{0653-Add-configurable-height-for-slime-spawn.patch => 0652-Add-configurable-height-for-slime-spawn.patch} (100%) rename patches/server/{0654-Fix-xp-reward-for-baby-zombies.patch => 0653-Fix-xp-reward-for-baby-zombies.patch} (100%) rename patches/server/{0655-Multi-Block-Change-API-Implementation.patch => 0654-Multi-Block-Change-API-Implementation.patch} (97%) rename patches/server/{0656-Fix-NotePlayEvent.patch => 0655-Fix-NotePlayEvent.patch} (100%) rename patches/server/{0657-Freeze-Tick-Lock-API.patch => 0656-Freeze-Tick-Lock-API.patch} (97%) rename patches/server/{0658-More-PotionEffectType-API.patch => 0657-More-PotionEffectType-API.patch} (100%) rename patches/server/{0659-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch => 0658-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch} (100%) rename patches/server/{0660-API-for-creating-command-sender-which-forwards-feedb.patch => 0659-API-for-creating-command-sender-which-forwards-feedb.patch} (98%) rename patches/server/{0661-Add-missing-structure-set-seed-configs.patch => 0660-Add-missing-structure-set-seed-configs.patch} (100%) rename patches/server/{0662-Fix-cancelled-powdered-snow-bucket-placement.patch => 0661-Fix-cancelled-powdered-snow-bucket-placement.patch} (95%) rename patches/server/{0663-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch => 0662-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch} (92%) rename patches/server/{0664-Add-GameEvent-tags.patch => 0663-Add-GameEvent-tags.patch} (97%) rename patches/server/{0665-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch => 0664-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch} (100%) rename patches/server/{0666-Furnace-RecipesUsed-API.patch => 0665-Furnace-RecipesUsed-API.patch} (100%) rename patches/server/{0667-Configurable-sculk-sensor-listener-range.patch => 0666-Configurable-sculk-sensor-listener-range.patch} (100%) rename patches/server/{0668-Add-missing-block-data-API.patch => 0667-Add-missing-block-data-API.patch} (100%) rename patches/server/{0669-Option-to-have-default-CustomSpawners-in-custom-worl.patch => 0668-Option-to-have-default-CustomSpawners-in-custom-worl.patch} (100%) rename patches/server/{0670-Put-world-into-worldlist-before-initing-the-world.patch => 0669-Put-world-into-worldlist-before-initing-the-world.patch} (95%) rename patches/server/{0671-Custom-Potion-Mixes.patch => 0670-Custom-Potion-Mixes.patch} (99%) rename patches/server/{0672-Force-close-world-loading-screen.patch => 0671-Force-close-world-loading-screen.patch} (95%) rename patches/server/{0673-Fix-falling-block-spawn-methods.patch => 0672-Fix-falling-block-spawn-methods.patch} (100%) rename patches/server/{0674-Expose-furnace-minecart-push-values.patch => 0673-Expose-furnace-minecart-push-values.patch} (100%) rename patches/server/{0675-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch => 0674-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch} (100%) rename patches/server/{0676-More-Projectile-API.patch => 0675-More-Projectile-API.patch} (99%) rename patches/server/{0677-Fix-swamp-hut-cat-generation-deadlock.patch => 0676-Fix-swamp-hut-cat-generation-deadlock.patch} (100%) rename patches/server/{0678-Don-t-allow-vehicle-movement-from-players-while-tele.patch => 0677-Don-t-allow-vehicle-movement-from-players-while-tele.patch} (100%) rename patches/server/{0679-Implement-getComputedBiome-API.patch => 0678-Implement-getComputedBiome-API.patch} (100%) rename patches/server/{0680-Make-some-itemstacks-nonnull.patch => 0679-Make-some-itemstacks-nonnull.patch} (100%) rename patches/server/{0681-Implement-enchantWithLevels-API.patch => 0680-Implement-enchantWithLevels-API.patch} (100%) rename patches/server/{0682-Fix-saving-in-unloadWorld.patch => 0681-Fix-saving-in-unloadWorld.patch} (90%) rename patches/server/{0683-Buffer-OOB-setBlock-calls.patch => 0682-Buffer-OOB-setBlock-calls.patch} (100%) rename patches/server/{0684-Add-TameableDeathMessageEvent.patch => 0683-Add-TameableDeathMessageEvent.patch} (100%) rename patches/server/{0685-Fix-new-block-data-for-EntityChangeBlockEvent.patch => 0684-Fix-new-block-data-for-EntityChangeBlockEvent.patch} (99%) rename patches/server/{0686-fix-player-loottables-running-when-mob-loot-gamerule.patch => 0685-fix-player-loottables-running-when-mob-loot-gamerule.patch} (100%) rename patches/server/{0687-Ensure-entity-passenger-world-matches-ridden-entity.patch => 0686-Ensure-entity-passenger-world-matches-ridden-entity.patch} (100%) rename patches/server/{0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch => 0687-Cache-resource-keys-and-optimize-reference-Holder-ta.patch} (100%) rename patches/server/{0689-Allow-changing-the-EnderDragon-podium.patch => 0688-Allow-changing-the-EnderDragon-podium.patch} (100%) rename patches/server/{0690-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch => 0689-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch} (100%) rename patches/server/{0691-Prevent-tile-entity-copies-loading-chunks.patch => 0690-Prevent-tile-entity-copies-loading-chunks.patch} (100%) rename patches/server/{0692-Use-username-instead-of-display-name-in-PlayerList-g.patch => 0691-Use-username-instead-of-display-name-in-PlayerList-g.patch} (92%) rename patches/server/{0693-Expand-PlayerItemDamageEvent.patch => 0692-Expand-PlayerItemDamageEvent.patch} (94%) rename patches/server/{0694-WorldCreator-keepSpawnLoaded.patch => 0693-WorldCreator-keepSpawnLoaded.patch} (92%) rename patches/server/{0695-Fix-CME-in-CraftPersistentDataTypeRegistry.patch => 0694-Fix-CME-in-CraftPersistentDataTypeRegistry.patch} (100%) rename patches/server/{0696-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch => 0695-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch} (100%) rename patches/server/{0697-Add-EntityDyeEvent-and-CollarColorable-interface.patch => 0696-Add-EntityDyeEvent-and-CollarColorable-interface.patch} (100%) rename patches/server/{0698-Fire-CauldronLevelChange-on-initial-fill.patch => 0697-Fire-CauldronLevelChange-on-initial-fill.patch} (100%) rename patches/server/{0699-fix-powder-snow-cauldrons-not-turning-to-water.patch => 0698-fix-powder-snow-cauldrons-not-turning-to-water.patch} (100%) rename patches/server/{0700-Add-PlayerStopUsingItemEvent.patch => 0699-Add-PlayerStopUsingItemEvent.patch} (85%) rename patches/server/{0701-Don-t-tick-markers.patch => 0700-Don-t-tick-markers.patch} (100%) rename patches/server/{0702-Expand-FallingBlock-API.patch => 0701-Expand-FallingBlock-API.patch} (100%) rename patches/server/{0703-Add-support-for-Proxy-Protocol.patch => 0702-Add-support-for-Proxy-Protocol.patch} (100%) rename patches/server/{0704-Fix-OfflinePlayer-getBedSpawnLocation.patch => 0703-Fix-OfflinePlayer-getBedSpawnLocation.patch} (100%) rename patches/server/{0705-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch => 0704-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch} (100%) rename patches/server/{0706-Sanitize-sent-BlockEntity-NBT.patch => 0705-Sanitize-sent-BlockEntity-NBT.patch} (100%) rename patches/server/{0707-Disable-component-selector-resolving-in-books-by-def.patch => 0706-Disable-component-selector-resolving-in-books-by-def.patch} (100%) rename patches/server/{0708-Prevent-entity-loading-causing-async-lookups.patch => 0707-Prevent-entity-loading-causing-async-lookups.patch} (100%) rename patches/server/{0709-Throw-exception-on-world-create-while-being-ticked.patch => 0708-Throw-exception-on-world-create-while-being-ticked.patch} (97%) rename patches/server/{0710-Dont-resent-entity-on-art-update.patch => 0709-Dont-resent-entity-on-art-update.patch} (100%) rename patches/server/{0711-Add-WardenAngerChangeEvent.patch => 0710-Add-WardenAngerChangeEvent.patch} (100%) rename patches/server/{0712-Add-option-for-strict-advancement-dimension-checks.patch => 0711-Add-option-for-strict-advancement-dimension-checks.patch} (100%) rename patches/server/{0713-Add-missing-important-BlockStateListPopulator-method.patch => 0712-Add-missing-important-BlockStateListPopulator-method.patch} (100%) rename patches/server/{0714-Nameable-Banner-API.patch => 0713-Nameable-Banner-API.patch} (100%) rename patches/server/{0715-Don-t-broadcast-messages-to-command-blocks.patch => 0714-Don-t-broadcast-messages-to-command-blocks.patch} (95%) rename patches/server/{0716-Prevent-empty-items-from-being-added-to-world.patch => 0715-Prevent-empty-items-from-being-added-to-world.patch} (100%) rename patches/server/{0717-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch => 0716-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch} (100%) rename patches/server/{0718-Add-Player-getFishHook.patch => 0717-Add-Player-getFishHook.patch} (92%) rename patches/server/{0719-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch => 0718-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch} (100%) rename patches/server/{0720-Add-various-missing-EntityDropItemEvent-calls.patch => 0719-Add-various-missing-EntityDropItemEvent-calls.patch} (100%) rename patches/server/{0721-Fix-Bee-flower-NPE.patch => 0720-Fix-Bee-flower-NPE.patch} (100%) rename patches/server/{0722-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch => 0721-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch} (100%) rename patches/server/{0723-More-Teleport-API.patch => 0722-More-Teleport-API.patch} (99%) rename patches/server/{0724-Add-EntityPortalReadyEvent.patch => 0723-Add-EntityPortalReadyEvent.patch} (100%) rename patches/server/{0725-Don-t-use-level-random-in-entity-constructors.patch => 0724-Don-t-use-level-random-in-entity-constructors.patch} (100%) rename patches/server/{0726-Send-block-entities-after-destroy-prediction.patch => 0725-Send-block-entities-after-destroy-prediction.patch} (100%) rename patches/server/{0727-Warn-on-plugins-accessing-faraway-chunks.patch => 0726-Warn-on-plugins-accessing-faraway-chunks.patch} (100%) rename patches/server/{0728-Custom-Chat-Completion-Suggestions-API.patch => 0727-Custom-Chat-Completion-Suggestions-API.patch} (94%) rename patches/server/{0729-Add-and-fix-missing-BlockFadeEvents.patch => 0728-Add-and-fix-missing-BlockFadeEvents.patch} (100%) rename patches/server/{0730-Collision-API.patch => 0729-Collision-API.patch} (100%) rename patches/server/{0731-Fix-suggest-command-message-for-brigadier-syntax-exc.patch => 0730-Fix-suggest-command-message-for-brigadier-syntax-exc.patch} (100%) rename patches/server/{0732-Block-Ticking-API.patch => 0731-Block-Ticking-API.patch} (100%) rename patches/server/{0733-Add-Velocity-IP-Forwarding-Support.patch => 0732-Add-Velocity-IP-Forwarding-Support.patch} (97%) rename patches/server/{0734-Add-NamespacedKey-biome-methods.patch => 0733-Add-NamespacedKey-biome-methods.patch} (100%) rename patches/server/{0735-Fix-plugin-loggers-on-server-shutdown.patch => 0734-Fix-plugin-loggers-on-server-shutdown.patch} (100%) rename patches/server/{0736-Stop-large-look-changes-from-crashing-the-server.patch => 0735-Stop-large-look-changes-from-crashing-the-server.patch} (91%) rename patches/server/{0737-Fire-EntityChangeBlockEvent-in-more-places.patch => 0736-Fire-EntityChangeBlockEvent-in-more-places.patch} (100%) rename patches/server/{0738-Missing-eating-regain-reason.patch => 0737-Missing-eating-regain-reason.patch} (100%) rename patches/server/{0739-Missing-effect-cause.patch => 0738-Missing-effect-cause.patch} (84%) rename patches/server/{0740-Added-byte-array-serialization-deserialization-for-P.patch => 0739-Added-byte-array-serialization-deserialization-for-P.patch} (100%) rename patches/server/{0741-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch => 0740-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch} (97%) rename patches/server/{0742-Call-BlockPhysicsEvent-more-often.patch => 0741-Call-BlockPhysicsEvent-more-often.patch} (100%) rename patches/server/{0743-Configurable-chat-thread-limit.patch => 0742-Configurable-chat-thread-limit.patch} (100%) rename patches/server/{0744-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch => 0743-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch} (100%) rename patches/server/{0745-fix-Jigsaw-block-kicking-user.patch => 0744-fix-Jigsaw-block-kicking-user.patch} (100%) rename patches/server/{0746-use-BlockFormEvent-for-mud-converting-into-clay.patch => 0745-use-BlockFormEvent-for-mud-converting-into-clay.patch} (100%) rename patches/server/{0747-Add-getDrops-to-BlockState.patch => 0746-Add-getDrops-to-BlockState.patch} (100%) rename patches/server/{0748-Fix-a-bunch-of-vanilla-bugs.patch => 0747-Fix-a-bunch-of-vanilla-bugs.patch} (99%) rename patches/server/{0749-Remove-unnecessary-onTrackingStart-during-navigation.patch => 0748-Remove-unnecessary-onTrackingStart-during-navigation.patch} (100%) rename patches/server/{0750-Fix-custom-piglin-loved-items.patch => 0749-Fix-custom-piglin-loved-items.patch} (100%) rename patches/server/{0751-EntityPickupItemEvent-fixes.patch => 0750-EntityPickupItemEvent-fixes.patch} (100%) rename patches/server/{0752-Correctly-handle-interactions-with-items-on-cooldown.patch => 0751-Correctly-handle-interactions-with-items-on-cooldown.patch} (97%) rename patches/server/{0753-Add-PlayerInventorySlotChangeEvent.patch => 0752-Add-PlayerInventorySlotChangeEvent.patch} (100%) rename patches/server/{0754-Elder-Guardian-appearance-API.patch => 0753-Elder-Guardian-appearance-API.patch} (90%) rename patches/server/{0755-Add-entity-knockback-API.patch => 0754-Add-entity-knockback-API.patch} (86%) rename patches/server/{0756-Detect-headless-JREs.patch => 0755-Detect-headless-JREs.patch} (100%) rename patches/server/{0757-fix-entity-vehicle-collision-event-not-called.patch => 0756-fix-entity-vehicle-collision-event-not-called.patch} (93%) rename patches/server/{0758-Add-EntityToggleSitEvent.patch => 0757-Add-EntityToggleSitEvent.patch} (100%) rename patches/server/{0759-Add-fire-tick-delay-option.patch => 0758-Add-fire-tick-delay-option.patch} (100%) rename patches/server/{0760-Add-Moving-Piston-API.patch => 0759-Add-Moving-Piston-API.patch} (100%) rename patches/server/{0761-Ignore-impossible-spawn-tick.patch => 0760-Ignore-impossible-spawn-tick.patch} (100%) rename patches/server/{0762-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch => 0761-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch} (100%) rename patches/server/{0763-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch => 0762-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch} (100%) rename patches/server/{0764-Add-PrePlayerAttackEntityEvent.patch => 0763-Add-PrePlayerAttackEntityEvent.patch} (100%) rename patches/server/{0765-ensure-reset-EnderDragon-boss-event-name.patch => 0764-ensure-reset-EnderDragon-boss-event-name.patch} (100%) rename patches/server/{0766-Add-Player-Warden-Warning-API.patch => 0765-Add-Player-Warden-Warning-API.patch} (95%) rename patches/server/{0767-More-vanilla-friendly-methods-to-update-trades.patch => 0766-More-vanilla-friendly-methods-to-update-trades.patch} (100%) rename patches/server/{0768-Add-paper-dumplisteners-command.patch => 0767-Add-paper-dumplisteners-command.patch} (100%) rename patches/server/{0769-check-global-player-list-where-appropriate.patch => 0768-check-global-player-list-where-appropriate.patch} (98%) rename patches/server/{0770-Fix-async-entity-add-due-to-fungus-trees.patch => 0769-Fix-async-entity-add-due-to-fungus-trees.patch} (100%) rename patches/server/{0771-ItemStack-damage-API.patch => 0770-ItemStack-damage-API.patch} (90%) rename patches/server/{0772-Friction-API.patch => 0771-Friction-API.patch} (96%) rename patches/server/{0773-Ability-to-control-player-s-insomnia-and-phantoms.patch => 0772-Ability-to-control-player-s-insomnia-and-phantoms.patch} (100%) rename patches/server/{0774-Fix-premature-player-kicks-on-shutdown.patch => 0773-Fix-premature-player-kicks-on-shutdown.patch} (100%) rename patches/server/{0775-Sync-offhand-slot-in-menus.patch => 0774-Sync-offhand-slot-in-menus.patch} (100%) rename patches/server/{0776-Player-Entity-Tracking-Events.patch => 0775-Player-Entity-Tracking-Events.patch} (100%) rename patches/server/{0777-Limit-pet-look-distance.patch => 0776-Limit-pet-look-distance.patch} (100%) rename patches/server/{0778-fix-Instruments.patch => 0777-fix-Instruments.patch} (96%) rename patches/server/{0779-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch => 0778-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch} (100%) rename patches/server/{0780-Fix-inconsistencies-in-dispense-events-regarding-sta.patch => 0779-Fix-inconsistencies-in-dispense-events-regarding-sta.patch} (100%) rename patches/server/{0781-Add-BlockLockCheckEvent.patch => 0780-Add-BlockLockCheckEvent.patch} (100%) rename patches/server/{0782-Add-Sneaking-API-for-Entities.patch => 0781-Add-Sneaking-API-for-Entities.patch} (100%) rename patches/server/{0783-Improve-logging-and-errors.patch => 0782-Improve-logging-and-errors.patch} (100%) rename patches/server/{0784-Improve-PortalEvents.patch => 0783-Improve-PortalEvents.patch} (100%) rename patches/server/{0785-Add-config-option-for-spider-worldborder-climbing.patch => 0784-Add-config-option-for-spider-worldborder-climbing.patch} (100%) rename patches/server/{0786-Add-missing-SpigotConfig-logCommands-check.patch => 0785-Add-missing-SpigotConfig-logCommands-check.patch} (100%) rename patches/server/{0787-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch => 0786-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch} (100%) rename patches/server/{0788-Flying-Fall-Damage.patch => 0787-Flying-Fall-Damage.patch} (96%) rename patches/server/{0789-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch => 0788-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch} (100%) rename patches/server/{0790-config-for-disabling-entity-tag-tags.patch => 0789-config-for-disabling-entity-tag-tags.patch} (100%) rename patches/server/{0791-Use-single-player-info-update-packet-on-join.patch => 0790-Use-single-player-info-update-packet-on-join.patch} (97%) rename patches/server/{0792-Correctly-shrink-items-during-EntityResurrectEvent.patch => 0791-Correctly-shrink-items-during-EntityResurrectEvent.patch} (95%) rename patches/server/{0793-Win-Screen-API.patch => 0792-Win-Screen-API.patch} (93%) rename patches/server/{0794-Remove-CraftItemStack-setAmount-null-assignment.patch => 0793-Remove-CraftItemStack-setAmount-null-assignment.patch} (100%) rename patches/server/{0795-Fix-force-opening-enchantment-tables.patch => 0794-Fix-force-opening-enchantment-tables.patch} (91%) rename patches/server/{0796-Add-Entity-Body-Yaw-API.patch => 0795-Add-Entity-Body-Yaw-API.patch} (92%) rename patches/server/{0797-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch => 0796-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch} (100%) rename patches/server/{0798-Add-EntityFertilizeEggEvent.patch => 0797-Add-EntityFertilizeEggEvent.patch} (98%) rename patches/server/{0799-Fix-HumanEntity-drop-not-updating-the-client-inv.patch => 0798-Fix-HumanEntity-drop-not-updating-the-client-inv.patch} (90%) rename patches/server/{0800-Add-CompostItemEvent-and-EntityCompostItemEvent.patch => 0799-Add-CompostItemEvent-and-EntityCompostItemEvent.patch} (100%) rename patches/server/{0801-Correctly-handle-ArmorStand-invisibility.patch => 0800-Correctly-handle-ArmorStand-invisibility.patch} (100%) rename patches/server/{0802-Fix-advancement-triggers-for-entity-damage.patch => 0801-Fix-advancement-triggers-for-entity-damage.patch} (97%) rename patches/server/{0803-Fix-text-display-error-on-spawn.patch => 0802-Fix-text-display-error-on-spawn.patch} (100%) rename patches/server/{0804-Fix-inventories-returning-null-Locations.patch => 0803-Fix-inventories-returning-null-Locations.patch} (100%) rename patches/server/{0805-Add-Shearable-API.patch => 0804-Add-Shearable-API.patch} (100%) rename patches/server/{0806-Fix-SpawnEggMeta-get-setSpawnedType.patch => 0805-Fix-SpawnEggMeta-get-setSpawnedType.patch} (100%) rename patches/server/{0807-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch => 0806-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch} (100%) rename patches/server/{0808-Treat-sequence-violations-like-they-should-be.patch => 0807-Treat-sequence-violations-like-they-should-be.patch} (100%) rename patches/server/{0809-Prevent-causing-expired-keys-from-impacting-new-join.patch => 0808-Prevent-causing-expired-keys-from-impacting-new-join.patch} (100%) rename patches/server/{0810-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch => 0809-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch} (100%) rename patches/server/{0811-Use-array-for-gamerule-storage.patch => 0810-Use-array-for-gamerule-storage.patch} (100%) rename patches/server/{0812-Fix-a-couple-of-upstream-bed-issues.patch => 0811-Fix-a-couple-of-upstream-bed-issues.patch} (100%) rename patches/server/{0813-Fix-demo-flag-not-enabling-demo-mode.patch => 0812-Fix-demo-flag-not-enabling-demo-mode.patch} (100%) rename patches/server/{0814-Add-Mob-Experience-reward-API.patch => 0813-Add-Mob-Experience-reward-API.patch} (100%) rename patches/server/{0815-Break-redstone-on-top-of-trap-doors-early.patch => 0814-Break-redstone-on-top-of-trap-doors-early.patch} (100%) rename patches/server/{0816-Avoid-Lazy-Initialization-for-Enum-Fields.patch => 0815-Avoid-Lazy-Initialization-for-Enum-Fields.patch} (100%) rename patches/server/{0817-More-accurate-isInOpenWater-impl.patch => 0816-More-accurate-isInOpenWater-impl.patch} (100%) rename patches/server/{0818-Expand-PlayerItemMendEvent.patch => 0817-Expand-PlayerItemMendEvent.patch} (96%) rename patches/server/{0819-Refresh-ProjectileSource-for-projectiles.patch => 0818-Refresh-ProjectileSource-for-projectiles.patch} (100%) rename patches/server/{0820-Add-transient-modifier-API.patch => 0819-Add-transient-modifier-API.patch} (100%) rename patches/server/{0821-Fix-block-place-logic.patch => 0820-Fix-block-place-logic.patch} (100%) rename patches/server/{0822-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch => 0821-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch} (94%) rename patches/server/{0823-Call-BlockGrowEvent-for-missing-blocks.patch => 0822-Call-BlockGrowEvent-for-missing-blocks.patch} (100%) rename patches/server/{0824-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch => 0823-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch} (94%) rename patches/server/{0825-fix-MapLike-spam-for-missing-key-selector.patch => 0824-fix-MapLike-spam-for-missing-key-selector.patch} (100%) rename patches/server/{0826-Fix-sniffer-removeExploredLocation.patch => 0825-Fix-sniffer-removeExploredLocation.patch} (100%) rename patches/server/{0827-Add-method-to-remove-all-active-potion-effects.patch => 0826-Add-method-to-remove-all-active-potion-effects.patch} (91%) rename patches/server/{0828-Fix-incorrect-crafting-result-amount-for-fireworks.patch => 0827-Fix-incorrect-crafting-result-amount-for-fireworks.patch} (100%) rename patches/server/{0829-Add-event-for-player-editing-sign.patch => 0828-Add-event-for-player-editing-sign.patch} (98%) rename patches/server/{0830-Only-tick-item-frames-if-players-can-see-it.patch => 0829-Only-tick-item-frames-if-players-can-see-it.patch} (100%) rename patches/server/{0831-Fix-cmd-permission-levels-for-command-blocks.patch => 0830-Fix-cmd-permission-levels-for-command-blocks.patch} (100%) rename patches/server/{0832-Add-option-to-disable-block-updates.patch => 0831-Add-option-to-disable-block-updates.patch} (100%) rename patches/server/{0833-Call-missing-BlockDispenseEvent.patch => 0832-Call-missing-BlockDispenseEvent.patch} (98%) rename patches/server/{0834-Don-t-load-chunks-for-supporting-block-checks.patch => 0833-Don-t-load-chunks-for-supporting-block-checks.patch} (100%) rename patches/server/{0835-Optimize-player-lookups-for-beacons.patch => 0834-Optimize-player-lookups-for-beacons.patch} (100%) rename patches/server/{0836-More-Sign-Block-API.patch => 0835-More-Sign-Block-API.patch} (100%) rename patches/server/{0837-fix-item-meta-for-tadpole-buckets.patch => 0836-fix-item-meta-for-tadpole-buckets.patch} (100%) rename patches/server/{0838-Fix-BanList-API.patch => 0837-Fix-BanList-API.patch} (97%) rename patches/server/{0839-Determine-lava-and-water-fluid-explosion-resistance-.patch => 0838-Determine-lava-and-water-fluid-explosion-resistance-.patch} (100%) rename patches/server/{0840-Fix-possible-NPE-on-painting-creation.patch => 0839-Fix-possible-NPE-on-painting-creation.patch} (100%) rename patches/server/{0841-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch => 0840-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch} (100%) rename patches/server/{0842-ExperienceOrb-should-call-EntitySpawnEvent.patch => 0841-ExperienceOrb-should-call-EntitySpawnEvent.patch} (93%) rename patches/server/{0843-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch => 0842-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch} (100%) rename patches/server/{0844-Add-whitelist-events.patch => 0843-Add-whitelist-events.patch} (100%) rename patches/server/{0845-Implement-PlayerFailMoveEvent.patch => 0844-Implement-PlayerFailMoveEvent.patch} (100%) rename patches/server/{0846-Folia-scheduler-and-owned-region-API.patch => 0845-Folia-scheduler-and-owned-region-API.patch} (99%) rename patches/server/{0847-Only-erase-allay-memory-on-non-item-targets.patch => 0846-Only-erase-allay-memory-on-non-item-targets.patch} (100%) rename patches/server/{0848-API-for-updating-recipes-on-clients.patch => 0847-API-for-updating-recipes-on-clients.patch} (95%) rename patches/server/{0849-Fix-rotation-when-spawning-display-entities.patch => 0848-Fix-rotation-when-spawning-display-entities.patch} (100%) rename patches/server/{0850-Only-capture-actual-tree-growth.patch => 0849-Only-capture-actual-tree-growth.patch} (98%) rename patches/server/{0851-Use-correct-source-for-mushroom-block-spread-event.patch => 0850-Use-correct-source-for-mushroom-block-spread-event.patch} (100%) rename patches/server/{0852-Respect-randomizeData-on-more-entities-when-spawning.patch => 0851-Respect-randomizeData-on-more-entities-when-spawning.patch} (100%) rename patches/server/{0853-Use-correct-seed-on-api-world-load.patch => 0852-Use-correct-seed-on-api-world-load.patch} (92%) rename patches/server/{0854-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch => 0853-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch} (100%) rename patches/server/{0855-Cache-map-ids-on-item-frames.patch => 0854-Cache-map-ids-on-item-frames.patch} (100%) rename patches/server/{0856-Fix-custom-statistic-criteria-creation.patch => 0855-Fix-custom-statistic-criteria-creation.patch} (100%) rename patches/server/{0857-Bandaid-fix-for-Effect.patch => 0856-Bandaid-fix-for-Effect.patch} (98%) rename patches/server/{0858-SculkCatalyst-bloom-API.patch => 0857-SculkCatalyst-bloom-API.patch} (100%) rename patches/server/{0859-API-for-an-entity-s-scoreboard-name.patch => 0858-API-for-an-entity-s-scoreboard-name.patch} (100%) rename patches/server/{0860-Deprecate-and-replace-methods-with-old-StructureType.patch => 0859-Deprecate-and-replace-methods-with-old-StructureType.patch} (96%) rename patches/server/{0861-Don-t-tab-complete-namespaced-commands-if-send-names.patch => 0860-Don-t-tab-complete-namespaced-commands-if-send-names.patch} (100%) rename patches/server/{0862-Properly-handle-BlockBreakEvent-isDropItems.patch => 0861-Properly-handle-BlockBreakEvent-isDropItems.patch} (100%) rename patches/server/{0863-Fire-entity-death-event-for-ender-dragon.patch => 0862-Fire-entity-death-event-for-ender-dragon.patch} (100%) rename patches/server/{0864-Configurable-entity-tracking-range-by-Y-coordinate.patch => 0863-Configurable-entity-tracking-range-by-Y-coordinate.patch} (100%) rename patches/server/{0865-Add-Listing-API-for-Player.patch => 0864-Add-Listing-API-for-Player.patch} (98%) rename patches/server/{0866-Configurable-Region-Compression-Format.patch => 0865-Configurable-Region-Compression-Format.patch} (100%) rename patches/server/{0867-Add-BlockFace-to-BlockDamageEvent.patch => 0866-Add-BlockFace-to-BlockDamageEvent.patch} (96%) rename patches/server/{0868-Fix-NPE-on-Boat-getStatus.patch => 0867-Fix-NPE-on-Boat-getStatus.patch} (100%) rename patches/server/{0869-Expand-Pose-API.patch => 0868-Expand-Pose-API.patch} (100%) rename patches/server/{0870-More-DragonBattle-API.patch => 0869-More-DragonBattle-API.patch} (100%) rename patches/server/{0871-Add-PlayerPickItemEvent.patch => 0870-Add-PlayerPickItemEvent.patch} (100%) rename patches/server/{0872-Allow-trident-custom-damage.patch => 0871-Allow-trident-custom-damage.patch} (100%) rename patches/server/{0873-Expose-hand-in-BlockCanBuildEvent.patch => 0872-Expose-hand-in-BlockCanBuildEvent.patch} (100%) rename patches/server/{0874-Optimize-nearest-structure-border-iteration.patch => 0873-Optimize-nearest-structure-border-iteration.patch} (100%) rename patches/server/{0875-Implement-OfflinePlayer-isConnected.patch => 0874-Implement-OfflinePlayer-isConnected.patch} (94%) rename patches/server/{0876-Fix-slot-desync.patch => 0875-Fix-slot-desync.patch} (100%) rename patches/server/{0877-Add-titleOverride-to-InventoryOpenEvent.patch => 0876-Add-titleOverride-to-InventoryOpenEvent.patch} (95%) rename patches/server/{0878-Configure-sniffer-egg-hatch-time.patch => 0877-Configure-sniffer-egg-hatch-time.patch} (100%) rename patches/server/{0879-Do-crystal-portal-proximity-check-before-entity-look.patch => 0878-Do-crystal-portal-proximity-check-before-entity-look.patch} (100%) rename patches/server/{0880-Skip-POI-finding-if-stuck-in-vehicle.patch => 0879-Skip-POI-finding-if-stuck-in-vehicle.patch} (100%) rename patches/server/{0881-Add-slot-sanity-checks-in-container-clicks.patch => 0880-Add-slot-sanity-checks-in-container-clicks.patch} (100%) rename patches/server/{0882-Call-BlockRedstoneEvents-for-lecterns.patch => 0881-Call-BlockRedstoneEvents-for-lecterns.patch} (100%) rename patches/server/{0883-Allow-proper-checking-of-empty-item-stacks.patch => 0882-Allow-proper-checking-of-empty-item-stacks.patch} (100%) rename patches/server/{0884-Fix-silent-equipment-change-for-mobs.patch => 0883-Fix-silent-equipment-change-for-mobs.patch} (100%) rename patches/server/{0885-Fix-spigot-s-Forced-Stats.patch => 0884-Fix-spigot-s-Forced-Stats.patch} (100%) rename patches/server/{0886-Add-missing-InventoryHolders-to-inventories.patch => 0885-Add-missing-InventoryHolders-to-inventories.patch} (100%) rename patches/server/{0887-Do-not-read-tile-entities-in-chunks-that-are-positio.patch => 0886-Do-not-read-tile-entities-in-chunks-that-are-positio.patch} (100%) rename patches/server/{0888-Add-missing-logs-for-log-ips-config-option.patch => 0887-Add-missing-logs-for-log-ips-config-option.patch} (100%) rename patches/server/{0889-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch => 0888-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch} (100%) rename patches/server/{0890-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch => 0889-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch} (100%) rename patches/server/{0891-Fix-team-sidebar-objectives-not-being-cleared.patch => 0890-Fix-team-sidebar-objectives-not-being-cleared.patch} (100%) rename patches/server/{0892-Fix-missing-map-initialize-event-call.patch => 0891-Fix-missing-map-initialize-event-call.patch} (100%) rename patches/server/{0893-Update-entity-data-when-attaching-firework-to-entity.patch => 0892-Update-entity-data-when-attaching-firework-to-entity.patch} (100%) rename patches/server/{0894-Fix-UnsafeValues-loadAdvancement.patch => 0893-Fix-UnsafeValues-loadAdvancement.patch} (100%) rename patches/server/{0895-Add-player-idle-duration-API.patch => 0894-Add-player-idle-duration-API.patch} (91%) rename patches/server/{0896-Don-t-check-if-we-can-see-non-visible-entities.patch => 0895-Don-t-check-if-we-can-see-non-visible-entities.patch} (100%) rename patches/server/{0897-Fix-NPE-in-SculkBloomEvent-world-access.patch => 0896-Fix-NPE-in-SculkBloomEvent-world-access.patch} (100%) rename patches/server/{0898-Allow-null-itemstack-for-Player-sendEquipmentChange.patch => 0897-Allow-null-itemstack-for-Player-sendEquipmentChange.patch} (90%) rename patches/server/{0899-Optimize-VarInts.patch => 0898-Optimize-VarInts.patch} (100%) rename patches/server/{0900-Add-API-to-get-the-collision-shape-of-a-block-before.patch => 0899-Add-API-to-get-the-collision-shape-of-a-block-before.patch} (100%) rename patches/server/{0901-Add-predicate-for-blocks-when-raytracing.patch => 0900-Add-predicate-for-blocks-when-raytracing.patch} (100%) rename patches/server/{0902-Broadcast-take-item-packets-with-collector-as-source.patch => 0901-Broadcast-take-item-packets-with-collector-as-source.patch} (92%) rename patches/server/{0903-Expand-LingeringPotion-API.patch => 0902-Expand-LingeringPotion-API.patch} (100%) rename patches/server/{0904-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch => 0903-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch} (100%) rename patches/server/{0905-Add-hand-to-fish-event-for-all-player-interactions.patch => 0904-Add-hand-to-fish-event-for-all-player-interactions.patch} (100%) rename patches/server/{0906-Fix-several-issues-with-EntityBreedEvent.patch => 0905-Fix-several-issues-with-EntityBreedEvent.patch} (100%) rename patches/server/{0907-Add-UUID-attribute-modifier-API.patch => 0906-Add-UUID-attribute-modifier-API.patch} (100%) rename patches/server/{0908-Fix-missing-event-call-for-entity-teleport-API.patch => 0907-Fix-missing-event-call-for-entity-teleport-API.patch} (100%) rename patches/server/{0909-Lazily-create-LootContext-for-criterions.patch => 0908-Lazily-create-LootContext-for-criterions.patch} (100%) rename patches/server/{0910-Don-t-fire-sync-events-during-worldgen.patch => 0909-Don-t-fire-sync-events-during-worldgen.patch} (99%) rename patches/server/{0911-Add-Structure-check-API.patch => 0910-Add-Structure-check-API.patch} (100%) rename patches/server/{0912-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch => 0911-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch} (100%) rename patches/server/{0913-Restore-vanilla-entity-drops-behavior.patch => 0912-Restore-vanilla-entity-drops-behavior.patch} (98%) rename patches/server/{0914-Dont-resend-blocks-on-interactions.patch => 0913-Dont-resend-blocks-on-interactions.patch} (99%) rename patches/server/{0915-add-more-scoreboard-API.patch => 0914-add-more-scoreboard-API.patch} (100%) rename patches/server/{0916-Improve-Registry.patch => 0915-Improve-Registry.patch} (94%) rename patches/server/{0917-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch => 0916-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch} (96%) rename patches/server/{0918-Add-experience-points-API.patch => 0917-Add-experience-points-API.patch} (97%) rename patches/server/{0919-Add-drops-to-shear-events.patch => 0918-Add-drops-to-shear-events.patch} (99%) rename patches/server/{0920-Add-PlayerShieldDisableEvent.patch => 0919-Add-PlayerShieldDisableEvent.patch} (100%) rename patches/server/{0921-Validate-ResourceLocation-in-NBT-reading.patch => 0920-Validate-ResourceLocation-in-NBT-reading.patch} (98%) rename patches/server/{0922-Properly-handle-experience-dropping-on-block-break.patch => 0921-Properly-handle-experience-dropping-on-block-break.patch} (100%) rename patches/server/{0923-Fixup-NamespacedKey-handling.patch => 0922-Fixup-NamespacedKey-handling.patch} (98%) rename patches/server/{0924-Expose-LootTable-of-DecoratedPot.patch => 0923-Expose-LootTable-of-DecoratedPot.patch} (100%) rename patches/server/{0925-Reduce-allocation-of-Vec3D-by-entity-tracker.patch => 0924-Reduce-allocation-of-Vec3D-by-entity-tracker.patch} (100%) rename patches/server/{0926-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch => 0925-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch} (97%) rename patches/server/{0927-Add-ShulkerDuplicateEvent.patch => 0926-Add-ShulkerDuplicateEvent.patch} (100%) rename patches/server/{0928-Add-api-for-spawn-egg-texture-colors.patch => 0927-Add-api-for-spawn-egg-texture-colors.patch} (100%) rename patches/server/{0929-Add-Lifecycle-Event-system.patch => 0928-Add-Lifecycle-Event-system.patch} (99%) rename patches/server/{0930-ItemStack-Tooltip-API.patch => 0929-ItemStack-Tooltip-API.patch} (100%) rename patches/server/{0931-Add-getChunkSnapshot-includeLightData-parameter.patch => 0930-Add-getChunkSnapshot-includeLightData-parameter.patch} (100%) rename patches/server/{0932-Add-FluidState-API.patch => 0931-Add-FluidState-API.patch} (100%) rename patches/server/{0933-add-number-format-api.patch => 0932-add-number-format-api.patch} (100%) rename patches/server/{0934-improve-BanList-types.patch => 0933-improve-BanList-types.patch} (93%) rename patches/server/{0935-Expanded-Hopper-API.patch => 0934-Expanded-Hopper-API.patch} (100%) rename patches/server/{0936-Add-BlockBreakProgressUpdateEvent.patch => 0935-Add-BlockBreakProgressUpdateEvent.patch} (100%) rename patches/server/{0937-Deprecate-ItemStack-setType.patch => 0936-Deprecate-ItemStack-setType.patch} (100%) rename patches/server/{0938-Add-CartographyItemEvent.patch => 0937-Add-CartographyItemEvent.patch} (100%) rename patches/server/{0939-More-Raid-API.patch => 0938-More-Raid-API.patch} (100%) rename patches/server/{0940-Add-onboarding-message-for-initial-server-start.patch => 0939-Add-onboarding-message-for-initial-server-start.patch} (100%) rename patches/server/{0941-Configurable-max-block-fluid-ticks.patch => 0940-Configurable-max-block-fluid-ticks.patch} (100%) rename patches/server/{0942-Fix-bees-aging-inside-hives.patch => 0941-Fix-bees-aging-inside-hives.patch} (100%) rename patches/server/{0943-Disable-memory-reserve-allocating.patch => 0942-Disable-memory-reserve-allocating.patch} (100%) rename patches/server/{0944-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch => 0943-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch} (100%) rename patches/server/{0945-Fix-DamageSource-API.patch => 0944-Fix-DamageSource-API.patch} (99%) rename patches/server/{0946-Fix-creation-of-invalid-block-entity-during-world-ge.patch => 0945-Fix-creation-of-invalid-block-entity-during-world-ge.patch} (100%) rename patches/server/{0947-Fix-possible-StackOverflowError-for-some-dispenses.patch => 0946-Fix-possible-StackOverflowError-for-some-dispenses.patch} (100%) rename patches/server/{0948-Improve-tag-parser-handling.patch => 0947-Improve-tag-parser-handling.patch} (100%) rename patches/server/{0949-Item-Mutation-Fixes.patch => 0948-Item-Mutation-Fixes.patch} (100%) rename patches/server/{0950-Per-world-ticks-per-spawn-settings.patch => 0949-Per-world-ticks-per-spawn-settings.patch} (100%) rename patches/server/{0951-Properly-track-the-changed-item-from-dispense-events.patch => 0950-Properly-track-the-changed-item-from-dispense-events.patch} (100%) rename patches/server/{0952-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch => 0951-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch} (100%) rename patches/server/{0953-Fix-tripwire-disarming-not-working-as-intended.patch => 0952-Fix-tripwire-disarming-not-working-as-intended.patch} (100%) rename patches/server/{0954-Add-config-for-mobs-immune-to-default-effects.patch => 0953-Add-config-for-mobs-immune-to-default-effects.patch} (100%) rename patches/server/{0955-Deep-clone-nbt-tags-in-PDC.patch => 0954-Deep-clone-nbt-tags-in-PDC.patch} (100%) rename patches/server/{0956-Support-old-UUID-format-for-NBT.patch => 0955-Support-old-UUID-format-for-NBT.patch} (100%) rename patches/server/{0957-Fix-shield-disable-inconsistency.patch => 0956-Fix-shield-disable-inconsistency.patch} (92%) rename patches/server/{0958-Handle-Large-Packets-disconnecting-client.patch => 0957-Handle-Large-Packets-disconnecting-client.patch} (100%) rename patches/server/{0959-Fix-ItemFlags.patch => 0958-Fix-ItemFlags.patch} (100%) rename patches/server/{0961-Fix-helmet-damage-reduction-inconsistencies.patch => 0959-Fix-helmet-damage-reduction-inconsistencies.patch} (92%) delete mode 100644 patches/server/0960-Fix-Player-setBlockUpdate.patch rename patches/server/{0962-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch => 0960-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch} (96%) rename patches/server/{0963-improve-checking-handled-tags-in-itemmeta.patch => 0961-improve-checking-handled-tags-in-itemmeta.patch} (99%) rename patches/server/{0964-General-ItemMeta-fixes.patch => 0962-General-ItemMeta-fixes.patch} (97%) rename patches/server/{0965-Expose-hasColor-to-leather-armor.patch => 0963-Expose-hasColor-to-leather-armor.patch} (100%) rename patches/server/{0966-Added-API-to-get-player-ha-proxy-address.patch => 0964-Added-API-to-get-player-ha-proxy-address.patch} (97%) rename patches/server/{0967-More-Chest-Block-API.patch => 0965-More-Chest-Block-API.patch} (100%) rename patches/server/{0968-Print-data-component-type-on-encoding-error.patch => 0966-Print-data-component-type-on-encoding-error.patch} (100%) rename patches/server/{0969-Brigadier-based-command-API.patch => 0967-Brigadier-based-command-API.patch} (99%) rename patches/server/{0970-Fix-issues-with-Recipe-API.patch => 0968-Fix-issues-with-Recipe-API.patch} (100%) rename patches/server/{0971-Fix-equipment-slot-and-group-API.patch => 0969-Fix-equipment-slot-and-group-API.patch} (96%) rename patches/server/{0972-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch => 0970-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch} (100%) rename patches/server/{0973-Prevent-sending-oversized-item-data-in-equipment-and.patch => 0971-Prevent-sending-oversized-item-data-in-equipment-and.patch} (99%) rename patches/server/{0974-Prevent-NPE-if-hooked-entity-was-cleared.patch => 0972-Prevent-NPE-if-hooked-entity-was-cleared.patch} (100%) rename patches/server/{0975-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch => 0973-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch} (97%) rename patches/server/{0976-Add-missing-fishing-event-state.patch => 0974-Add-missing-fishing-event-state.patch} (100%) rename patches/server/{0977-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch => 0975-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch} (100%) rename patches/server/{0978-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch => 0976-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch} (100%) rename patches/server/{0979-Adopt-MaterialRerouting.patch => 0977-Adopt-MaterialRerouting.patch} (100%) rename patches/server/{0980-Suspicious-Effect-Entry-API.patch => 0978-Suspicious-Effect-Entry-API.patch} (100%) rename patches/server/{0981-check-if-itemstack-is-stackable-first.patch => 0979-check-if-itemstack-is-stackable-first.patch} (100%) rename patches/server/{0982-Fix-removing-recipes-from-RecipeIterator.patch => 0980-Fix-removing-recipes-from-RecipeIterator.patch} (100%) rename patches/server/{0983-Configurable-damage-tick-when-blocking-with-shield.patch => 0981-Configurable-damage-tick-when-blocking-with-shield.patch} (92%) rename patches/server/{0984-Properly-remove-the-experimental-smithing-inventory-.patch => 0982-Properly-remove-the-experimental-smithing-inventory-.patch} (100%) rename patches/server/{0985-Moonrise-optimisation-patches.patch => 0983-Moonrise-optimisation-patches.patch} (99%) rename patches/server/{0986-Rewrite-dataconverter-system.patch => 0984-Rewrite-dataconverter-system.patch} (100%) rename patches/server/{0987-disable-forced-empty-world-ticks.patch => 0985-disable-forced-empty-world-ticks.patch} (100%) rename patches/server/{0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch => 0986-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch} (100%) rename patches/server/{0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch => 0987-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch} (100%) rename patches/server/{0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch => 0988-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch} (98%) rename patches/server/{0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch => 0989-Optimize-Network-Manager-and-add-advanced-packet-sup.patch} (100%) rename patches/server/{0992-Allow-Saving-of-Oversized-Chunks.patch => 0990-Allow-Saving-of-Oversized-Chunks.patch} (100%) rename patches/server/{0993-Flat-bedrock-generator-settings.patch => 0991-Flat-bedrock-generator-settings.patch} (100%) rename patches/server/{0994-Entity-Activation-Range-2.0.patch => 0992-Entity-Activation-Range-2.0.patch} (100%) rename patches/server/{0995-Optional-per-player-mob-spawns.patch => 0993-Optional-per-player-mob-spawns.patch} (100%) rename patches/server/{0996-Anti-Xray.patch => 0994-Anti-Xray.patch} (99%) rename patches/server/{0997-Eigencraft-redstone-implementation.patch => 0995-Eigencraft-redstone-implementation.patch} (100%) rename patches/server/{0998-Add-Alternate-Current-redstone-implementation.patch => 0996-Add-Alternate-Current-redstone-implementation.patch} (100%) rename patches/server/{0999-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch => 0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch} (100%) rename patches/server/{1000-Use-Velocity-compression-and-cipher-natives.patch => 0998-Use-Velocity-compression-and-cipher-natives.patch} (99%) rename patches/server/{1001-Optimize-Collision-to-not-load-chunks.patch => 0999-Optimize-Collision-to-not-load-chunks.patch} (98%) rename patches/server/{1002-Optimize-GoalSelector-Goal.Flag-Set-operations.patch => 1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch} (100%) rename patches/server/{1003-Optimize-Hoppers.patch => 1001-Optimize-Hoppers.patch} (99%) rename patches/server/{1004-Entity-load-save-limit-per-chunk.patch => 1002-Entity-load-save-limit-per-chunk.patch} (100%) rename patches/server/{1005-Optimize-Voxel-Shape-Merging.patch => 1003-Optimize-Voxel-Shape-Merging.patch} (100%) rename patches/server/{1006-Optimize-Bit-Operations-by-inlining.patch => 1004-Optimize-Bit-Operations-by-inlining.patch} (100%) rename patches/server/{1007-Remove-streams-from-hot-code.patch => 1005-Remove-streams-from-hot-code.patch} (100%) rename patches/server/{1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch => 1006-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch} (100%) rename patches/server/{1009-Custom-table-implementation-for-blockstate-state-loo.patch => 1007-Custom-table-implementation-for-blockstate-state-loo.patch} (100%) rename patches/server/{1010-Fix-entity-type-tags-suggestions-in-selectors.patch => 1008-Fix-entity-type-tags-suggestions-in-selectors.patch} (100%) rename patches/server/{1011-Handle-Oversized-block-entities-in-chunks.patch => 1009-Handle-Oversized-block-entities-in-chunks.patch} (100%) rename patches/server/{1012-API-for-checking-sent-chunks.patch => 1010-API-for-checking-sent-chunks.patch} (94%) rename patches/server/{1013-Check-distance-in-entity-interactions.patch => 1011-Check-distance-in-entity-interactions.patch} (97%) rename patches/server/{1014-Configurable-Sand-Duping.patch => 1012-Configurable-Sand-Duping.patch} (100%) rename patches/server/{1015-Optimise-general-POI-access.patch => 1013-Optimise-general-POI-access.patch} (100%) rename patches/server/{1016-Improve-performance-of-mass-crafts.patch => 1014-Improve-performance-of-mass-crafts.patch} (100%) rename patches/server/{1017-Properly-resend-entities.patch => 1015-Properly-resend-entities.patch} (82%) rename patches/server/{1018-Registry-Modification-API.patch => 1016-Registry-Modification-API.patch} (99%) rename patches/server/{1019-Add-registry-entry-and-builders.patch => 1017-Add-registry-entry-and-builders.patch} (99%) rename patches/server/{1020-Improved-Watchdog-Support.patch => 1018-Improved-Watchdog-Support.patch} (99%) rename patches/server/{1021-Proxy-ItemStack-to-CraftItemStack.patch => 1019-Proxy-ItemStack-to-CraftItemStack.patch} (99%) rename patches/server/{1022-Make-a-PDC-view-accessible-directly-from-ItemStack.patch => 1020-Make-a-PDC-view-accessible-directly-from-ItemStack.patch} (99%) rename patches/server/{1023-Prioritize-Minecraft-commands-in-function-parsing-an.patch => 1021-Prioritize-Minecraft-commands-in-function-parsing-an.patch} (100%) rename patches/server/{1024-optimize-dirt-and-snow-spreading.patch => 1022-optimize-dirt-and-snow-spreading.patch} (100%) rename patches/server/{1025-Fix-NPE-for-Jukebox-setRecord.patch => 1023-Fix-NPE-for-Jukebox-setRecord.patch} (100%) rename patches/server/{1026-Fix-CraftWorld-isChunkGenerated.patch => 1024-Fix-CraftWorld-isChunkGenerated.patch} (100%) rename patches/server/{1027-fix-horse-inventories.patch => 1025-fix-horse-inventories.patch} (100%) rename patches/server/{1028-Only-call-EntityDamageEvents-before-actuallyHurt.patch => 1026-Only-call-EntityDamageEvents-before-actuallyHurt.patch} (97%) rename patches/server/{1029-Fix-entity-tracker-desync-when-new-players-are-added.patch => 1027-Fix-entity-tracker-desync-when-new-players-are-added.patch} (100%) rename patches/server/{1030-Lag-compensation-ticks.patch => 1028-Lag-compensation-ticks.patch} (97%) rename patches/server/{1031-Detail-more-information-in-watchdog-dumps.patch => 1029-Detail-more-information-in-watchdog-dumps.patch} (100%) rename patches/server/{1032-Write-SavedData-IO-async.patch => 1030-Write-SavedData-IO-async.patch} (100%) rename patches/server/{1034-Add-ItemType-getItemRarity.patch => 1031-Add-ItemType-getItemRarity.patch} (100%) rename patches/server/{1035-Incremental-chunk-and-player-saving.patch => 1032-Incremental-chunk-and-player-saving.patch} (98%) rename patches/server/{1036-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch => 1033-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch} (100%) delete mode 100644 patches/server/1033-Correctly-call-PlayerItemBreakEvent.patch rename patches/server/{1037-Bundle-spark.patch => 1034-Bundle-spark.patch} (99%) rename patches/server/{1038-Add-plugin-info-at-startup.patch => 1035-Add-plugin-info-at-startup.patch} (100%) rename patches/server/{1039-Make-interaction-leniency-distance-configurable.patch => 1036-Make-interaction-leniency-distance-configurable.patch} (100%) rename patches/server/{1040-Fix-PickupStatus-getting-reset.patch => 1037-Fix-PickupStatus-getting-reset.patch} (95%) rename patches/server/{1041-Check-for-block-type-in-SculkSensorBlock-canActivate.patch => 1038-Check-for-block-type-in-SculkSensorBlock-canActivate.patch} (100%) rename patches/server/{1042-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch => 1039-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch} (98%) rename patches/server/{1043-Configuration-for-horizontal-only-item-merging.patch => 1040-Configuration-for-horizontal-only-item-merging.patch} (100%) rename patches/server/{1044-Optimise-collision-checking-in-player-move-packet-ha.patch => 1041-Optimise-collision-checking-in-player-move-packet-ha.patch} (100%) rename patches/server/{1045-Add-skipping-world-symlink-scan.patch => 1042-Add-skipping-world-symlink-scan.patch} (100%) rename patches/server/{1046-Add-even-more-Enchantment-API.patch => 1043-Add-even-more-Enchantment-API.patch} (100%) rename patches/server/{1047-Leashable-API.patch => 1044-Leashable-API.patch} (98%) rename patches/server/{1048-Fix-CraftBukkit-drag-system.patch => 1045-Fix-CraftBukkit-drag-system.patch} (100%) rename patches/server/{1049-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch => 1046-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch} (100%) rename patches/server/{1050-Remove-set-damage-lootable-item-function-from-compas.patch => 1047-Remove-set-damage-lootable-item-function-from-compas.patch} (100%) rename patches/server/{1051-Properly-destroy-placed-blocks-on-the-end-platform.patch => 1048-Properly-destroy-placed-blocks-on-the-end-platform.patch} (100%) rename patches/server/{1052-Add-enchantment-seed-update-API.patch => 1049-Add-enchantment-seed-update-API.patch} (100%) rename patches/server/{1053-Fix-synchronise-sending-chat-to-client-with-updating.patch => 1050-Fix-synchronise-sending-chat-to-client-with-updating.patch} (100%) rename patches/server/{1054-Fix-InventoryOpenEvent-cancellation.patch => 1051-Fix-InventoryOpenEvent-cancellation.patch} (99%) rename patches/server/{1055-Fire-BlockExpEvent-on-grindstone-use.patch => 1052-Fire-BlockExpEvent-on-grindstone-use.patch} (100%) rename patches/server/{1056-Check-dead-flag-in-isAlive.patch => 1053-Check-dead-flag-in-isAlive.patch} (93%) rename patches/server/{1057-Add-FeatureFlag-API.patch => 1054-Add-FeatureFlag-API.patch} (100%) rename patches/server/{1058-Tag-Lifecycle-Events.patch => 1055-Tag-Lifecycle-Events.patch} (100%) rename patches/server/{1059-Item-serialization-as-json.patch => 1056-Item-serialization-as-json.patch} (100%) diff --git a/patches/api/0004-Code-Generation.patch b/patches/api/0004-Code-Generation.patch index db8cb5a43c..ba80e55b13 100644 --- a/patches/api/0004-Code-Generation.patch +++ b/patches/api/0004-Code-Generation.patch @@ -85,10 +85,10 @@ index 0000000000000000000000000000000000000000..2512dba27edfdccbc4430815b6cba048 +} diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java new file mode 100644 -index 0000000000000000000000000000000000000000..76daccf4ea502e1747a6f9176dc16fd20c561286 +index 0000000000000000000000000000000000000000..7763ea28a00c25ffd8ba8941cff29bae5ae117a2 --- /dev/null +++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java -@@ -0,0 +1,147 @@ +@@ -0,0 +1,149 @@ +package io.papermc.paper.registry; + +import net.kyori.adventure.key.Keyed; @@ -114,6 +114,7 @@ index 0000000000000000000000000000000000000000..76daccf4ea502e1747a6f9176dc16fd2 +import org.bukkit.generator.structure.Structure; +import org.bukkit.generator.structure.StructureType; +import org.bukkit.inventory.ItemType; ++import org.bukkit.inventory.MenuType; +import org.bukkit.inventory.meta.trim.TrimMaterial; +import org.bukkit.inventory.meta.trim.TrimPattern; +import org.bukkit.map.MapCursor; @@ -235,6 +236,7 @@ index 0000000000000000000000000000000000000000..76daccf4ea502e1747a6f9176dc16fd2 + RegistryKey FLUID = create("fluid"); + RegistryKey FROG_VARIANT = create("frog_variant"); + RegistryKey MAP_DECORATION_TYPE = create("map_decoration_type"); ++ RegistryKey MENU = create("menu"); +} diff --git a/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java b/src/main/java/io/papermc/paper/registry/RegistryKeyImpl.java new file mode 100644 diff --git a/patches/api/0006-Adventure.patch b/patches/api/0006-Adventure.patch index e7fba0f826..2297127642 100644 --- a/patches/api/0006-Adventure.patch +++ b/patches/api/0006-Adventure.patch @@ -3343,16 +3343,16 @@ index 133760be6c73436512ba684a3ac77a514b2d8765..9473303bd8ab1f6b63b6999a5f5ff3ec * Gets how much EXP the Player should have at respawn. *

diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index c5734d66686e68080f55034754d43ae55030c3eb..32cd8ee2e849df602a7e10aa5d0a218007faa0ac 100644 +index 094963b16eccc303fb1a10b1e052feebe4a4d68b..3e6ac5beb137efd8ecd80e2e9b17015cb38e8a0a 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -161,6 +161,18 @@ public enum InventoryType { +@@ -163,7 +163,18 @@ public enum InventoryType { private final String title; + private final MenuType menuType; private final boolean isCreatable; - + // Paper start + private final net.kyori.adventure.text.Component defaultTitleComponent; -+ + + /** + * Gets the inventory's default title. + * @@ -3362,18 +3362,18 @@ index c5734d66686e68080f55034754d43ae55030c3eb..32cd8ee2e849df602a7e10aa5d0a2180 + return defaultTitleComponent; + } + // Paper end - private InventoryType(int defaultSize, /*@NotNull*/ String defaultTitle) { - this(defaultSize, defaultTitle, true); + private InventoryType(int defaultSize, /*@NotNull*/ String defaultTitle, @Nullable MenuType type) { + this(defaultSize, defaultTitle, type, true); } -@@ -169,6 +181,7 @@ public enum InventoryType { - size = defaultSize; +@@ -173,6 +184,7 @@ public enum InventoryType { title = defaultTitle; + this.menuType = type; this.isCreatable = isCreatable; + this.defaultTitleComponent = net.kyori.adventure.text.Component.text(defaultTitle); // Paper - Adventure } public int getDefaultSize() { -@@ -176,6 +189,7 @@ public enum InventoryType { +@@ -180,6 +192,7 @@ public enum InventoryType { } @NotNull @@ -4421,6 +4421,56 @@ index eade62328895133c026e7e678e648e1fc846f5ee..730c42eddd38acec1cdbb19dfc8c6757 + } + // Paper end } +diff --git a/src/main/java/org/bukkit/inventory/MenuType.java b/src/main/java/org/bukkit/inventory/MenuType.java +index ee39bf9019fa0377beb895a22db0b2a0934a4d84..29dfad691cbdd09d043f6171defc8a7fabbc2b75 100644 +--- a/src/main/java/org/bukkit/inventory/MenuType.java ++++ b/src/main/java/org/bukkit/inventory/MenuType.java +@@ -146,11 +146,45 @@ public interface MenuType extends Keyed { + * @param player the player the view belongs to + * @param title the title of the view + * @return the created {@link InventoryView} ++ * @deprecated Use {@link #create(HumanEntity, net.kyori.adventure.text.Component)} instead. + */ + @NotNull ++ @Deprecated(since = "1.21") // Paper - adventure + V create(@NotNull HumanEntity player, @NotNull String title); ++ ++ // Paper start - adventure ++ /** ++ * Creates a view of the specified menu type. ++ *

++ * The player provided to create this view must be the player the view ++ * is opened for. See {@link HumanEntity#openInventory(InventoryView)} ++ * for more information. ++ * ++ * @param player the player the view belongs to ++ * @param title the title of the view ++ * @return the created {@link InventoryView} ++ */ ++ @NotNull ++ V create(@NotNull HumanEntity player, @NotNull net.kyori.adventure.text.Component title); ++ // Paper end - adventure + } + ++ // Paper start - adventure ++ /** ++ * Creates a view of the specified menu type. ++ *

++ * The player provided to create this view must be the player the view ++ * is opened for. See {@link HumanEntity#openInventory(InventoryView)} ++ * for more information. ++ * ++ * @param player the player the view belongs to ++ * @param title the title of the view ++ * @return the created {@link InventoryView} ++ */ ++ @NotNull ++ InventoryView create(@NotNull HumanEntity player, @NotNull net.kyori.adventure.text.Component title); ++ // Paper end - adventure ++ + /** + * Yields this MenuType as a typed version of itself with a plain + * {@link InventoryView} representing it. diff --git a/src/main/java/org/bukkit/inventory/meta/BookMeta.java b/src/main/java/org/bukkit/inventory/meta/BookMeta.java index 9bab73c3c2ca759b8e1c7d07d98cc593c961666a..f0c6943da3f783101ca647b75b3230fae3a310da 100644 --- a/src/main/java/org/bukkit/inventory/meta/BookMeta.java diff --git a/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch index 471ee35ff8..75f427c672 100644 --- a/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/api/0025-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,7 +7,7 @@ Upstream added methods for this so the original methods are now deprecated diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 67115810d5e837f154c3accd92dbb5e4192d264f..32e89741ffd895e31af0104a0126c2f72742a1bb 100644 +index b5a302ba913d2de97f1bcd7c60fd5cd4f245d275..cafa79f80eec5ec6d8d31d40cc2b46acc06831f9 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -243,12 +243,44 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -56,7 +56,7 @@ index 67115810d5e837f154c3accd92dbb5e4192d264f..32e89741ffd895e31af0104a0126c2f7 /** * Returns the living entity's current maximum no damage ticks. -@@ -777,4 +809,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -787,4 +819,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @return Whether the entity is invisible */ public boolean isInvisible(); diff --git a/patches/api/0053-Fix-upstream-javadocs.patch b/patches/api/0053-Fix-upstream-javadocs.patch index 67aa32c200..dc20117029 100644 --- a/patches/api/0053-Fix-upstream-javadocs.patch +++ b/patches/api/0053-Fix-upstream-javadocs.patch @@ -200,10 +200,10 @@ index 9885fd1adc1f93a80d650e6d42dfa3a0b084db9f..c4f2f03ec31998d486dad1d45ef83df3 *

* The {@code radius} is not a rigid square radius. Each structure may alter diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java -index d66502c9df2592cd18694481e7e90a71a5c3a359..ee39c0b83e558681e8b006172d34c98e2c83cda2 100644 +index 6ffc895138088162cab827b3ca6c68961b7bcc64..8c53ac6b4381f3cf8b5e989c8b2a3ba77bd4e475 100644 --- a/src/main/java/org/bukkit/attribute/AttributeModifier.java +++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java -@@ -117,8 +117,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { +@@ -129,8 +129,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { } /** @@ -430,7 +430,7 @@ index 4e1fb0974d061d5bb64899cac576318d2e6f8bf6..539b3527d0c66611e21712f29b90fba9 public int getEntityId(); diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 8fdfa1d79daf464f8e364fd9e19d1de3a2a6848c..195a7fa0ea8e056cbde7b9152cc014d2c94353ff 100644 +index 40214a136894270695746ac83fb5f7bcc406f34a..2bb4d2da99d3f0f70e19381c13b43c147c34f944 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -22,6 +22,11 @@ import org.jetbrains.annotations.Nullable; @@ -459,7 +459,7 @@ index b688b3856cb3068a539fcecfbfa113f8ab4160a9..c275b881cbd11307a6dcc7190d7a7d40 * @return whether the item frame is visible or not */ diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 32e89741ffd895e31af0104a0126c2f72742a1bb..bc17c86da49faf4b6e07d4fb4c53649da0384d69 100644 +index cafa79f80eec5ec6d8d31d40cc2b46acc06831f9..b0fbad5de65c33710ec46734ad6c69ec9b2769d5 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -502,7 +502,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource diff --git a/patches/api/0059-Shoulder-Entities-Release-API.patch b/patches/api/0059-Shoulder-Entities-Release-API.patch index 6ac15e28ab..51832da222 100644 --- a/patches/api/0059-Shoulder-Entities-Release-API.patch +++ b/patches/api/0059-Shoulder-Entities-Release-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 195a7fa0ea8e056cbde7b9152cc014d2c94353ff..85eec2e57b03c11f4737addb0fa88b7bf29dc9e5 100644 +index 2bb4d2da99d3f0f70e19381c13b43c147c34f944..b8431d9722ef9fce0ac9e18367abef22717997ca 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -337,6 +337,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -346,6 +346,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ public int getExpToLevel(); diff --git a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch index 3fdf10fbfc..102ec8ae00 100644 --- a/patches/api/0092-Add-openSign-method-to-HumanEntity.patch +++ b/patches/api/0092-Add-openSign-method-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add openSign method to HumanEntity diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 85eec2e57b03c11f4737addb0fa88b7bf29dc9e5..58dbe34ab1b603c2cd53af1625c1f82f8890da01 100644 +index b8431d9722ef9fce0ac9e18367abef22717997ca..0d01fe9c96a1b9076dbd6d031fa8cd41954ea8db 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -498,6 +498,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -507,6 +507,26 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder */ @Deprecated public void setShoulderEntityRight(@Nullable Entity entity); diff --git a/patches/api/0107-Make-shield-blocking-delay-configurable.patch b/patches/api/0107-Make-shield-blocking-delay-configurable.patch index e6c6e635ca..10d09ee21c 100644 --- a/patches/api/0107-Make-shield-blocking-delay-configurable.patch +++ b/patches/api/0107-Make-shield-blocking-delay-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index f154c5607b1dc3585052d9f02cf8b28cf8a3c886..7b53064364e206bc1a0f4b7af4931f6c658b7c55 100644 +index e6bdfd14bffa394cd717de7118de951a997f50b3..2d4d93a4fc3f712a21bd61e203407f3a84e16310 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -837,5 +837,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -847,5 +847,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ @Deprecated void setArrowsStuck(int arrows); diff --git a/patches/api/0114-LivingEntity-Active-Item-API.patch b/patches/api/0114-LivingEntity-Active-Item-API.patch index 0081842496..89c2ebf217 100644 --- a/patches/api/0114-LivingEntity-Active-Item-API.patch +++ b/patches/api/0114-LivingEntity-Active-Item-API.patch @@ -9,10 +9,10 @@ such as a bow or eating food. Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index 58dbe34ab1b603c2cd53af1625c1f82f8890da01..9cbb9093e7d8cd21eef6a23c265d68d7d0ee97b8 100644 +index 0d01fe9c96a1b9076dbd6d031fa8cd41954ea8db..b0cb4377e14da5ef1e155513046c2340ab6e525e 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java -@@ -327,7 +327,9 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder +@@ -336,7 +336,9 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder * blocking). * * @return Whether their hand is raised @@ -23,7 +23,7 @@ index 58dbe34ab1b603c2cd53af1625c1f82f8890da01..9cbb9093e7d8cd21eef6a23c265d68d7 /** diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 7b53064364e206bc1a0f4b7af4931f6c658b7c55..0ed64618b3f62ee984fe4f99dc6a52d5fad7b3cc 100644 +index 2d4d93a4fc3f712a21bd61e203407f3a84e16310..434ad8b07b6ee0b0919de8044d14fe3c789e203f 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -202,15 +202,19 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -56,7 +56,7 @@ index 7b53064364e206bc1a0f4b7af4931f6c658b7c55..0ed64618b3f62ee984fe4f99dc6a52d5 public void setItemInUseTicks(int ticks); /** -@@ -852,4 +858,130 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -862,4 +868,130 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setShieldBlockingDelay(int delay); // Paper end diff --git a/patches/api/0146-Material-API-additions.patch b/patches/api/0146-Material-API-additions.patch index 2b4bfbc34d..6867aebfcd 100644 --- a/patches/api/0146-Material-API-additions.patch +++ b/patches/api/0146-Material-API-additions.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 019cc6baf8c767d973feba55ddc99a8d222e00d8..6ffed5ef4331498ff318ffc5850f8b9a0b85eba7 100644 +index 111c9a6be1f3d095cf8e82b118371986b6cc0fc7..c407bc264ab6c2e5aa7122d4caec63f9b482d76d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -127,6 +127,7 @@ import org.jetbrains.annotations.Nullable; +@@ -129,6 +129,7 @@ import org.jetbrains.annotations.Nullable; /** * An enum of all material IDs accepted by the official server and client */ @@ -16,7 +16,7 @@ index 019cc6baf8c767d973feba55ddc99a8d222e00d8..6ffed5ef4331498ff318ffc5850f8b9a public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4660,6 +4661,22 @@ public enum Material implements Keyed, Translatable { +@@ -4662,6 +4663,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch index a66f2b4a3b..857c948a66 100644 --- a/patches/api/0166-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0166-Fix-Spigot-annotation-mistakes.patch @@ -300,10 +300,10 @@ index c30600666e7b32b8b4ba1e20ede04fd5ebd5a692..eec6c9cd7da6938351905129bb5a66f4 if (this.world == null) { return null; diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 6ffed5ef4331498ff318ffc5850f8b9a0b85eba7..444406eb7f0c3cd13039bf809254e480ee6fa24f 100644 +index c407bc264ab6c2e5aa7122d4caec63f9b482d76d..a432e1c776cd5bda7ba9da8a1b608cb30495e647 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4681,20 +4681,20 @@ public enum Material implements Keyed, Translatable { +@@ -4683,20 +4683,20 @@ public enum Material implements Keyed, Translatable { * Do not use for any reason. * * @return ID of this material @@ -328,7 +328,7 @@ index 6ffed5ef4331498ff318ffc5850f8b9a0b85eba7..444406eb7f0c3cd13039bf809254e480 public boolean isLegacy() { return legacy; } -@@ -4770,8 +4770,10 @@ public enum Material implements Keyed, Translatable { +@@ -4772,8 +4772,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -339,7 +339,7 @@ index 6ffed5ef4331498ff318ffc5850f8b9a0b85eba7..444406eb7f0c3cd13039bf809254e480 public Class getData() { Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material"); return ctor.getDeclaringClass(); -@@ -5227,7 +5229,11 @@ public enum Material implements Keyed, Translatable { +@@ -5229,7 +5231,11 @@ public enum Material implements Keyed, Translatable { * material. * * @return true if this material can be interacted with. @@ -453,10 +453,10 @@ index 48aecc9421c500137bbef1dfe3bec8de277c3ff9..aff858346776386f1288b648b221404f return note; } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index d1906d150a7d4c4852e085d6fd480aec317c22e4..e9edc8c17cbd29cfdad31df13acb15bab2304735 100644 +index 883338632b81f6eebc03c95d5883536a5d87fc59..fbede496b05c4b9b1ecd12e711a100586776d469 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -220,14 +220,12 @@ public interface Registry extends Iterable { +@@ -228,14 +228,12 @@ public interface Registry extends Iterable { * * @see TrimMaterial */ @@ -471,7 +471,7 @@ index d1906d150a7d4c4852e085d6fd480aec317c22e4..e9edc8c17cbd29cfdad31df13acb15ba Registry TRIM_PATTERN = Bukkit.getRegistry(TrimPattern.class); /** * Damage types. -@@ -335,8 +333,11 @@ public interface Registry extends Iterable { +@@ -343,8 +341,11 @@ public interface Registry extends Iterable { * * @param input non-null input * @return registered object or null if does not exist @@ -890,7 +890,7 @@ index bafef53c1d449135f1300c8c8fbb06f482ba67e1..f50aaddf8582be55fd4860ad374d8f22 +@Deprecated(forRemoval = true) // Paper public interface LingeringPotion extends ThrownPotion { } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 3f1b74af137868e502792c65ccd7ca74f3c3cb8c..c89ffb0f98dccd015e80e299142252fed3ece4a8 100644 +index 9e0137ea412ec8c65b2903a76499ba8222446ea3..db7dafba43b50146a32d749ec043c5d548b0d6e3 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java @@ -716,7 +716,9 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @@ -903,7 +903,7 @@ index 3f1b74af137868e502792c65ccd7ca74f3c3cb8c..c89ffb0f98dccd015e80e299142252fe public void setSwimming(boolean swimming); /** -@@ -971,7 +973,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -981,7 +983,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * @deprecated entity groupings are now managed by tags, not categories */ @NotNull @@ -1267,16 +1267,16 @@ index f2a2a2ad9930499c5bf624e73571a3294a90db14..c8540a42ab44647fdd112ce4f731f3dc return getView().getCursor(); } diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 32cd8ee2e849df602a7e10aa5d0a218007faa0ac..fbdbd2f4da5e09d4b111ddcf72e2d7dd59046bd7 100644 +index 3e6ac5beb137efd8ecd80e2e9b17015cb38e8a0a..ae4ae1fa6d407665ef03edcdef683d741668acf1 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -153,7 +153,7 @@ public enum InventoryType { +@@ -155,7 +155,7 @@ public enum InventoryType { * * @deprecated use {@link #SMITHING} */ - @Deprecated + @Deprecated(forRemoval = true) // Paper - SMITHING_NEW(4, "Upgrade Gear"), + SMITHING_NEW(4, "Upgrade Gear", MenuType.SMITHING), ; diff --git a/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java b/src/main/java/org/bukkit/event/player/PlayerBedLeaveEvent.java diff --git a/patches/api/0178-Entity-Jump-API.patch b/patches/api/0178-Entity-Jump-API.patch index 2360a174f5..d751390145 100644 --- a/patches/api/0178-Entity-Jump-API.patch +++ b/patches/api/0178-Entity-Jump-API.patch @@ -61,10 +61,10 @@ index 0000000000000000000000000000000000000000..a6306c957fcacdcbcc8037b4ee33a167 + } +} diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index ec35111df4b38fd55cc34f4baedebcf39c7fc92b..fdb985763d0a7b0a31ad938616e11ef244f63062 100644 +index db7dafba43b50146a32d749ec043c5d548b0d6e3..c2352d75e02f7be27fcf9ea69df1bd104a2449bd 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1149,4 +1149,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1159,4 +1159,26 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource return this.getActiveItemHand(); } // Paper end - active item API diff --git a/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch index 28bd4b6872..9147c42dbf 100644 --- a/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/api/0200-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index fdb985763d0a7b0a31ad938616e11ef244f63062..d87c49550e697ad545742baed40068623e83bf0b 100644 +index c2352d75e02f7be27fcf9ea69df1bd104a2449bd..88d6a5aaf2a686186fab4916480a04f6503d887c 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1171,4 +1171,29 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1181,4 +1181,29 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setJumping(boolean jumping); // Paper end - entity jump API diff --git a/patches/api/0202-Add-methods-to-get-translation-keys.patch b/patches/api/0202-Add-methods-to-get-translation-keys.patch index 0cc7a454f5..428beed21e 100644 --- a/patches/api/0202-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0202-Add-methods-to-get-translation-keys.patch @@ -144,10 +144,10 @@ index dc66bd69646ac949d1386ce8f6ff913e9475439d..4482e8f2c617c2f51b2b53762e775d11 + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 444406eb7f0c3cd13039bf809254e480ee6fa24f..c12bb07fcf29be1a284f5f272b35edf206633d4a 100644 +index a432e1c776cd5bda7ba9da8a1b608cb30495e647..c2552d37295443f79abfe58f91c8261ce06661e8 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -128,7 +128,7 @@ import org.jetbrains.annotations.Nullable; +@@ -130,7 +130,7 @@ import org.jetbrains.annotations.Nullable; * An enum of all material IDs accepted by the official server and client */ @SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper @@ -156,7 +156,7 @@ index 444406eb7f0c3cd13039bf809254e480ee6fa24f..c12bb07fcf29be1a284f5f272b35edf2 // AIR(9648, 0), STONE(22948), -@@ -4677,6 +4677,17 @@ public enum Material implements Keyed, Translatable { +@@ -4679,6 +4679,17 @@ public enum Material implements Keyed, Translatable { } // Paper end @@ -174,7 +174,7 @@ index 444406eb7f0c3cd13039bf809254e480ee6fa24f..c12bb07fcf29be1a284f5f272b35edf2 /** * Do not use for any reason. * -@@ -5426,9 +5437,11 @@ public enum Material implements Keyed, Translatable { +@@ -5428,9 +5439,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() @@ -312,10 +312,10 @@ index 745413357506fa7399f8ba44dfe222d1f0c919f1..25db31b2e9a6d75f0c59f75237842f9a // Paper end } diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java -index 4288bebf690a9cee6ff9a712352d1dcbb035eb77..a08c52949af1d2416ecb089fc559db2e3b29105c 100644 +index dfd8187ef941e8afe9cb28a26bf0d2cf2e4c4bc5..8d85d74605457724cc206a55dbb16679c3791ea1 100644 --- a/src/main/java/org/bukkit/block/BlockType.java +++ b/src/main/java/org/bukkit/block/BlockType.java -@@ -123,7 +123,7 @@ import org.jetbrains.annotations.Nullable; +@@ -125,7 +125,7 @@ import org.jetbrains.annotations.Nullable; * changes may occur. Do not use this API in plugins. */ @ApiStatus.Internal @@ -324,7 +324,7 @@ index 4288bebf690a9cee6ff9a712352d1dcbb035eb77..a08c52949af1d2416ecb089fc559db2e /** * Typed represents a subtype of {@link BlockType}s that have a known block -@@ -3491,4 +3491,13 @@ public interface BlockType extends Keyed, Translatable { +@@ -3493,4 +3493,13 @@ public interface BlockType extends Keyed, Translatable { @Nullable @Deprecated Material asMaterial(); diff --git a/patches/api/0215-Add-LivingEntity-clearActiveItem.patch b/patches/api/0215-Add-LivingEntity-clearActiveItem.patch index 64de25a82d..57fefd81de 100644 --- a/patches/api/0215-Add-LivingEntity-clearActiveItem.patch +++ b/patches/api/0215-Add-LivingEntity-clearActiveItem.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index d87c49550e697ad545742baed40068623e83bf0b..a2489932c07b1b56d3e340ecfeddd3df95cf4eb6 100644 +index 88d6a5aaf2a686186fab4916480a04f6503d887c..784da48ffc63bc932caafe58cf56ad30e7a86be6 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1061,6 +1061,11 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1071,6 +1071,11 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ org.bukkit.inventory.@NotNull ItemStack getActiveItem(); diff --git a/patches/api/0220-Expose-LivingEntity-hurt-direction.patch b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch index d8800e48d1..cd51cbd838 100644 --- a/patches/api/0220-Expose-LivingEntity-hurt-direction.patch +++ b/patches/api/0220-Expose-LivingEntity-hurt-direction.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose LivingEntity hurt direction diff --git a/src/main/java/org/bukkit/entity/HumanEntity.java b/src/main/java/org/bukkit/entity/HumanEntity.java -index f20b0a439c4d5cd2c6caa70a46b1b49f8ab23425..937c136f2499bd1660989d14c0f50a7ef9a1a2b6 100644 +index d06539841d973030c0cd5bb06a085ed2f0f73af6..7759062ca34506c56d2d1340cf1d9c2d36151d48 100644 --- a/src/main/java/org/bukkit/entity/HumanEntity.java +++ b/src/main/java/org/bukkit/entity/HumanEntity.java @@ -356,6 +356,16 @@ public interface HumanEntity extends LivingEntity, AnimalTamer, InventoryHolder @@ -26,10 +26,10 @@ index f20b0a439c4d5cd2c6caa70a46b1b49f8ab23425..937c136f2499bd1660989d14c0f50a7e * Get the sleep ticks of the player. This value may be capped. * diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index a2489932c07b1b56d3e340ecfeddd3df95cf4eb6..4327045ec437c9c81bcd4c34c4959de6d5798132 100644 +index 784da48ffc63bc932caafe58cf56ad30e7a86be6..49352ed3928163c6322634b8e6f1d3dd8caa5e74 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1201,4 +1201,22 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1211,4 +1211,22 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void playPickupItemAnimation(@NotNull Item item, int quantity); // Paper end - pickup animation API diff --git a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch index a931d297be..cce62703ab 100644 --- a/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch +++ b/patches/api/0236-Add-RegistryAccess-for-managing-registries.patch @@ -206,10 +206,10 @@ index e0f652117e585882693736de8165ae9c689e1d68..fbe14c327ee9c1ac07893853ca7c699e return server.getRegistry(tClass); } diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a9434e718b2f 100644 +index fbede496b05c4b9b1ecd12e711a100586776d469..3777f9c92d0c183d0ab5e28bbe73f2125babf61c 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -87,8 +87,10 @@ public interface Registry extends Iterable { +@@ -88,8 +88,10 @@ public interface Registry extends Iterable { * Server banner patterns. * * @see PatternType @@ -221,7 +221,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Server biomes. * -@@ -102,7 +104,7 @@ public interface Registry extends Iterable { +@@ -103,7 +105,7 @@ public interface Registry extends Iterable { * @apiNote BlockType is not ready for public usage yet */ @ApiStatus.Internal @@ -230,7 +230,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Custom boss bars. * -@@ -134,13 +136,15 @@ public interface Registry extends Iterable { +@@ -135,13 +137,15 @@ public interface Registry extends Iterable { * * @see Cat.Type */ @@ -248,7 +248,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Server entity types. * -@@ -152,7 +156,7 @@ public interface Registry extends Iterable { +@@ -153,7 +157,7 @@ public interface Registry extends Iterable { * * @see MusicInstrument */ @@ -257,7 +257,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Server item types. * -@@ -160,7 +164,7 @@ public interface Registry extends Iterable { +@@ -161,7 +165,7 @@ public interface Registry extends Iterable { * @apiNote ItemType is not ready for public usage yet */ @ApiStatus.Internal @@ -266,7 +266,14 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Default server loot tables. * -@@ -178,7 +182,7 @@ public interface Registry extends Iterable { +@@ -180,13 +184,13 @@ public interface Registry extends Iterable { + * @see MenuType + */ + @ApiStatus.Experimental +- Registry MENU = Objects.requireNonNull(Bukkit.getRegistry(MenuType.class), "No registry present for MenuType. This is a bug."); ++ Registry MENU = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.MENU); // Paper + /** + * Server mob effects. * * @see PotionEffectType */ @@ -275,7 +282,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Server particles. * -@@ -201,14 +205,16 @@ public interface Registry extends Iterable { +@@ -209,14 +213,16 @@ public interface Registry extends Iterable { * Server structures. * * @see Structure @@ -294,7 +301,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Sound keys. * -@@ -219,40 +225,47 @@ public interface Registry extends Iterable { +@@ -227,40 +233,47 @@ public interface Registry extends Iterable { * Trim materials. * * @see TrimMaterial @@ -349,7 +356,7 @@ index e9edc8c17cbd29cfdad31df13acb15bab2304735..d855e703339e6f6e50fcb19e8954a943 /** * Memory Keys. * -@@ -289,25 +302,27 @@ public interface Registry extends Iterable { +@@ -297,25 +310,27 @@ public interface Registry extends Iterable { * * @see Frog.Variant */ diff --git a/patches/api/0254-Improve-Item-Rarity-API.patch b/patches/api/0254-Improve-Item-Rarity-API.patch index 0882e2924c..7139be3251 100644 --- a/patches/api/0254-Improve-Item-Rarity-API.patch +++ b/patches/api/0254-Improve-Item-Rarity-API.patch @@ -43,10 +43,10 @@ index 0000000000000000000000000000000000000000..f1cd5a4f37eee8975ac3d0421b524afc + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index c12bb07fcf29be1a284f5f272b35edf206633d4a..cc25734f3dcf6075eb44e39da01ed2f1b59b618e 100644 +index c2552d37295443f79abfe58f91c8261ce06661e8..7f6cb6471c5f324e2bcdf47d6c7628c2231d7727 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4688,6 +4688,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4690,6 +4690,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla } // Paper end - add Translatable diff --git a/patches/api/0270-Add-basic-Datapack-API.patch b/patches/api/0270-Add-basic-Datapack-API.patch index 8a3ae9cf95..bbf88037ca 100644 --- a/patches/api/0270-Add-basic-Datapack-API.patch +++ b/patches/api/0270-Add-basic-Datapack-API.patch @@ -101,10 +101,10 @@ index b558fa73dbcf3747690933e6aadf7061a0de2630..be68351555bde59a4e55bf1bad261e9f @NotNull diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index cc25734f3dcf6075eb44e39da01ed2f1b59b618e..2721ad40d6ba025caad16455f74f2350dcb7a4ff 100644 +index 7f6cb6471c5f324e2bcdf47d6c7628c2231d7727..d0aaf145cf34e0c02d5c7b842c203d0630b04b53 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -5497,6 +5497,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5499,6 +5499,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla * @param world the world to check * @return true if this material can be used in this World. */ diff --git a/patches/api/0277-Improve-item-default-attribute-API.patch b/patches/api/0277-Improve-item-default-attribute-API.patch index e7c6fb4cd2..4f60142e56 100644 --- a/patches/api/0277-Improve-item-default-attribute-API.patch +++ b/patches/api/0277-Improve-item-default-attribute-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve item default attribute API diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index cc25734f3dcf6075eb44e39da01ed2f1b59b618e..8b04e0d81c56712057f1fee288b3609ef5718c60 100644 +index d0aaf145cf34e0c02d5c7b842c203d0630b04b53..5c869feaecd95dbdd658e16f5739bb41540f18bd 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4703,6 +4703,23 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4705,6 +4705,23 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla } // Paper end - item rarity API @@ -32,7 +32,7 @@ index cc25734f3dcf6075eb44e39da01ed2f1b59b618e..8b04e0d81c56712057f1fee288b3609e /** * Do not use for any reason. * -@@ -5410,13 +5427,34 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5412,13 +5429,34 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla } } @@ -72,7 +72,7 @@ index cc25734f3dcf6075eb44e39da01ed2f1b59b618e..8b04e0d81c56712057f1fee288b3609e * * @param slot the {@link EquipmentSlot} to check diff --git a/src/main/java/org/bukkit/inventory/ItemType.java b/src/main/java/org/bukkit/inventory/ItemType.java -index 5dd1c084e42ee93f3a358f58ed76b0a7d36f0713..94587a97fcea81a43b160b01d2c81cef2b7f4413 100644 +index 2b5a18fe7e885fa9b581c0afb299e31f3db2690c..a6d1dde422de98f178c0c9add99e01203a35e5cb 100644 --- a/src/main/java/org/bukkit/inventory/ItemType.java +++ b/src/main/java/org/bukkit/inventory/ItemType.java @@ -2261,6 +2261,21 @@ public interface ItemType extends Keyed, Translatable, net.kyori.adventure.trans diff --git a/patches/api/0287-Missing-Entity-API.patch b/patches/api/0287-Missing-Entity-API.patch index a6478a10f4..928fcd36a5 100644 --- a/patches/api/0287-Missing-Entity-API.patch +++ b/patches/api/0287-Missing-Entity-API.patch @@ -609,10 +609,10 @@ index 6b3c9bef9a8a34ddc6ff42cf358541a2665bf5e3..9c618a27d590f186f29c5d9094fc565e + // Paper end } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 4ba92fe8979ed127c18cb78c2b8204daa2425ed7..73247ab2cd2cf0035cf88c98250736f9bc9ee517 100644 +index 2eb6f650610ca1a9b9fca49e453f79e08944be75..c0772f72768846cffd065c53de7326f9fe6386a2 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -994,6 +994,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1004,6 +1004,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * * @param invisible If the entity is invisible */ @@ -620,7 +620,7 @@ index 4ba92fe8979ed127c18cb78c2b8204daa2425ed7..73247ab2cd2cf0035cf88c98250736f9 public void setInvisible(boolean invisible); /** -@@ -1001,6 +1002,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1011,6 +1012,7 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource * * @return Whether the entity is invisible */ @@ -628,7 +628,7 @@ index 4ba92fe8979ed127c18cb78c2b8204daa2425ed7..73247ab2cd2cf0035cf88c98250736f9 public boolean isInvisible(); // Paper start -@@ -1037,6 +1039,57 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1047,6 +1049,57 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource void setShieldBlockingDelay(int delay); // Paper end diff --git a/patches/api/0309-Add-hasCollision-methods-to-various-places.patch b/patches/api/0309-Add-hasCollision-methods-to-various-places.patch index aad90b390e..b0ce648c9d 100644 --- a/patches/api/0309-Add-hasCollision-methods-to-various-places.patch +++ b/patches/api/0309-Add-hasCollision-methods-to-various-places.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add hasCollision methods to various places diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 8b04e0d81c56712057f1fee288b3609ef5718c60..c4f067598a40b0381bc9e601a3809e2683c10407 100644 +index 5c869feaecd95dbdd658e16f5739bb41540f18bd..6959f36023b12ec2dece9b91a3b8a5d07b635430 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4720,6 +4720,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4722,6 +4722,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla } // Paper end - item default attributes API @@ -67,10 +67,10 @@ index f4a739d8022d19a7ae0ee9bf93eb5c4846b4bd40..94e1278340c0d9d2be9edc68f6454143 + // Paper end } diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java -index a08c52949af1d2416ecb089fc559db2e3b29105c..8f430a4067fc722ebfbca846cccded4fb0a3a4e5 100644 +index 8d85d74605457724cc206a55dbb16679c3791ea1..3dc165265af4a9cb0e05018b9273b7dfdecf730a 100644 --- a/src/main/java/org/bukkit/block/BlockType.java +++ b/src/main/java/org/bukkit/block/BlockType.java -@@ -3500,4 +3500,13 @@ public interface BlockType extends Keyed, Translatable, net.kyori.adventure.tran +@@ -3502,4 +3502,13 @@ public interface BlockType extends Keyed, Translatable, net.kyori.adventure.tran @Override @NotNull String getTranslationKey(); // Paper end - add Translatable diff --git a/patches/api/0329-More-PotionEffectType-API.patch b/patches/api/0329-More-PotionEffectType-API.patch index c361faf34d..580e9eceb4 100644 --- a/patches/api/0329-More-PotionEffectType-API.patch +++ b/patches/api/0329-More-PotionEffectType-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 5dbbc4eb764650395c6ebaaf5fdf0466ca107439..0ee9a8728035217bb95c7fba917b45a5ef2ea533 100644 +index c1f46c27f0571ce54f35ee0fab9b586ea62ee832..7870a796e719148a42d18f1497b56c0d8f651a43 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -323,6 +323,33 @@ public interface Registry extends Iterable { +@@ -331,6 +331,33 @@ public interface Registry extends Iterable { * @see GameEvent */ Registry GAME_EVENT = io.papermc.paper.registry.RegistryAccess.registryAccess().getRegistry(io.papermc.paper.registry.RegistryKey.GAME_EVENT); // Paper diff --git a/patches/api/0367-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch b/patches/api/0367-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch index 2a6826e5c3..178ca5316c 100644 --- a/patches/api/0367-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch +++ b/patches/api/0367-Add-LivingEntity-swingHand-EquipmentSlot-convenience.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#swingHand(EquipmentSlot) convenience method diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 0c7d96bc296b56dc9ff0ada89bb4d715716f8adc..fb62933d589ccbe4181a7b9633bb742ae35f68dd 100644 +index f7a3dd62ae5e492a7bccf8167cec0fc560499fa2..4ed60d7eae1b1c8980f8844b33151fd7c53207c2 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1331,4 +1331,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1341,4 +1341,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource @Deprecated void setHurtDirection(float hurtDirection); // Paper end - hurt direction API diff --git a/patches/api/0368-Add-entity-knockback-API.patch b/patches/api/0368-Add-entity-knockback-API.patch index 33ebf42097..0dbd403581 100644 --- a/patches/api/0368-Add-entity-knockback-API.patch +++ b/patches/api/0368-Add-entity-knockback-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index fb62933d589ccbe4181a7b9633bb742ae35f68dd..597a3b581cb6fa2605fd5916e5639c1020d688b7 100644 +index 4ed60d7eae1b1c8980f8844b33151fd7c53207c2..86c5ceddc722d28261f8a6d8368400fe2731aaf0 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1351,4 +1351,18 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1361,4 +1361,18 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource } } // Paper end - swing hand API diff --git a/patches/api/0375-ItemStack-damage-API.patch b/patches/api/0375-ItemStack-damage-API.patch index 9c25426479..2f8f215ed9 100644 --- a/patches/api/0375-ItemStack-damage-API.patch +++ b/patches/api/0375-ItemStack-damage-API.patch @@ -8,10 +8,10 @@ to simulate damage done to an itemstack and all the logic associated with damaging them diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 597a3b581cb6fa2605fd5916e5639c1020d688b7..c9c3b926c5bb408d964ed5acc9f95c8527837a25 100644 +index 86c5ceddc722d28261f8a6d8368400fe2731aaf0..9f3e2903c955f2a5d1b25825c49188df62d20cef 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1365,4 +1365,53 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1375,4 +1375,53 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void knockback(double strength, double directionX, double directionZ); // Paper end - knockback API diff --git a/patches/api/0387-Add-Entity-Body-Yaw-API.patch b/patches/api/0387-Add-Entity-Body-Yaw-API.patch index 9351e36f78..17277b2e80 100644 --- a/patches/api/0387-Add-Entity-Body-Yaw-API.patch +++ b/patches/api/0387-Add-Entity-Body-Yaw-API.patch @@ -53,10 +53,10 @@ index 6dcaf7e9bc9afb708ab569e82f27c87833450ff1..a76e537c9b3b9519cd46894c90b750f0 // Paper start - Collision API diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 7c027d7bbd6b8a1543fa92d44e99674925f093b3..f5149d54d6cb5019f398718b9aa52bc3ab34a5ae 100644 +index 016529563381a674db8050cb328f9e8f16e72e93..c610731928ac9b01b111a7ccf0340ad59fcfb867 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1414,4 +1414,22 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1424,4 +1424,22 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void damageItemStack(org.bukkit.inventory.@NotNull EquipmentSlot slot, int amount); // Paper end - ItemStack damage API diff --git a/patches/api/0425-Attribute-Modifier-API-improvements.patch b/patches/api/0425-Attribute-Modifier-API-improvements.patch index acf67fcd39..d4b0442c30 100644 --- a/patches/api/0425-Attribute-Modifier-API-improvements.patch +++ b/patches/api/0425-Attribute-Modifier-API-improvements.patch @@ -70,34 +70,10 @@ index f08ee26cc4d479e1bfc5264b8cbe721315de91f2..f1fa86ddf1f50a357c9e94cc61261d8c * Remove a modifier from this instance. * diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java -index ee39c0b83e558681e8b006172d34c98e2c83cda2..c57690798108e9f91f8c552f39dcc2b080fe1b61 100644 +index 8c53ac6b4381f3cf8b5e989c8b2a3ba77bd4e475..def473b6424da1e81448bd492b7fef46691eaf8c 100644 --- a/src/main/java/org/bukkit/attribute/AttributeModifier.java +++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java -@@ -25,26 +25,32 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { - private final Operation operation; - private final EquipmentSlotGroup slot; - -- @Deprecated -+ @Deprecated(forRemoval = true, since = "1.21") - public AttributeModifier(@NotNull String name, double amount, @NotNull Operation operation) { - this(UUID.randomUUID(), name, amount, operation); - } - -- @Deprecated -+ @Deprecated(forRemoval = true, since = "1.21") - public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation) { - this(uuid, name, amount, operation, (EquipmentSlot) null); - } - -- @Deprecated -+ @Deprecated(forRemoval = true, since = "1.21") - public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation, @Nullable EquipmentSlot slot) { - this(uuid, name, amount, operation, (slot) == null ? EquipmentSlotGroup.ANY : slot.getGroup()); - } - -- @Deprecated -+ @Deprecated(forRemoval = true, since = "1.21") - public AttributeModifier(@NotNull UUID uuid, @NotNull String name, double amount, @NotNull Operation operation, @NotNull EquipmentSlotGroup slot) { +@@ -48,6 +48,12 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { this(NamespacedKey.fromString(uuid.toString()), amount, operation, slot); } @@ -110,12 +86,3 @@ index ee39c0b83e558681e8b006172d34c98e2c83cda2..c57690798108e9f91f8c552f39dcc2b0 public AttributeModifier(@NotNull NamespacedKey key, double amount, @NotNull Operation operation, @NotNull EquipmentSlotGroup slot) { Preconditions.checkArgument(key != null, "Key cannot be null"); Preconditions.checkArgument(operation != null, "Operation cannot be null"); -@@ -63,7 +69,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { - * @deprecated attributes are now identified by keys - */ - @NotNull -- @Deprecated -+ @Deprecated(forRemoval = true, since = "1.21") - public UUID getUniqueId() { - return UUID.fromString(getKey().toString()); - } diff --git a/patches/api/0429-Experimental-annotations-change.patch b/patches/api/0429-Experimental-annotations-change.patch index 9ea8f3a126..1b4b1cf589 100644 --- a/patches/api/0429-Experimental-annotations-change.patch +++ b/patches/api/0429-Experimental-annotations-change.patch @@ -25,10 +25,10 @@ index 7522c611b5214dd09867c434d5f7cf161f5c04ca..026b1832bcd163ab89668c991bf002e6 /** diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index c4f067598a40b0381bc9e601a3809e2683c10407..54704da43cf9c429f3914f0580246dde99aa93c0 100644 +index 6959f36023b12ec2dece9b91a3b8a5d07b635430..de469f32dd9a01e0e2fde016044a783dde0c5b98 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -2497,6 +2497,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -2499,6 +2499,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla EGG(21603, 16), COMPASS(24139), RECOVERY_COMPASS(12710), @@ -162,15 +162,15 @@ index 4adc91ba3dff00ab44303778e9d4499f7808ad00..beb62426490a361af793fb530106d854 } diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index fbdbd2f4da5e09d4b111ddcf72e2d7dd59046bd7..126d60a4d0b3b140b922fb24aa425e805892ad32 100644 +index ae4ae1fa6d407665ef03edcdef683d741668acf1..b4fe8108e8b36b8ce859cdd4a5b557034f923c85 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -146,7 +146,6 @@ public enum InventoryType { +@@ -148,7 +148,6 @@ public enum InventoryType { /** * A crafter inventory, with 9 CRAFTING slots. */ - @ApiStatus.Experimental - CRAFTER(9, "Crafter"), + CRAFTER(9, "Crafter", MenuType.CRAFTER_3X3), /** * The new smithing inventory, with 3 CRAFTING slots and 1 RESULT slot. diff --git a/src/main/java/org/bukkit/inventory/CrafterInventory.java b/src/main/java/org/bukkit/inventory/CrafterInventory.java diff --git a/patches/api/0431-Improve-Registry.patch b/patches/api/0431-Improve-Registry.patch index 1ae2f1b345..45bd41d64f 100644 --- a/patches/api/0431-Improve-Registry.patch +++ b/patches/api/0431-Improve-Registry.patch @@ -49,10 +49,10 @@ index 62d2b3f950860dee0898d77b0a29635c3f9a7e23..98fdfc8978fea1937e31a7427433a192 @Override public @NotNull String translationKey() { diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 1df2b8fcf90333d5981f16d9dddddd48289f94e4..5d21459e9128c515508a2b4b2265d9824e10d9d5 100644 +index 7870a796e719148a42d18f1497b56c0d8f651a43..ff82bf3ea959c78e71ec7b0972a2d472f20aaf04 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -359,6 +359,79 @@ public interface Registry extends Iterable { +@@ -367,6 +367,79 @@ public interface Registry extends Iterable { @Nullable T get(@NotNull NamespacedKey key); @@ -132,7 +132,7 @@ index 1df2b8fcf90333d5981f16d9dddddd48289f94e4..5d21459e9128c515508a2b4b2265d982 /** * Returns a new stream, which contains all registry items, which are registered to the registry. * -@@ -433,5 +506,12 @@ public interface Registry extends Iterable { +@@ -441,5 +514,12 @@ public interface Registry extends Iterable { public Class getType() { return this.type; } diff --git a/patches/api/0433-Add-missing-InventoryType.patch b/patches/api/0433-Add-missing-InventoryType.patch index 34200f73ee..3735af5696 100644 --- a/patches/api/0433-Add-missing-InventoryType.patch +++ b/patches/api/0433-Add-missing-InventoryType.patch @@ -6,18 +6,18 @@ Subject: [PATCH] Add missing InventoryType Upstream did not add a DECORATED_POT inventory type diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 126d60a4d0b3b140b922fb24aa425e805892ad32..398f74ba0d2e890fb556cd964f61da7c623a7c6d 100644 +index b4fe8108e8b36b8ce859cdd4a5b557034f923c85..7184f80899206bedeac387e9f8a35482801efd4b 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -143,6 +143,12 @@ public enum InventoryType { +@@ -145,6 +145,12 @@ public enum InventoryType { * Pseudo jukebox inventory with 1 slot of undefined type. */ - JUKEBOX(1, "Jukebox", false), + JUKEBOX(1, "Jukebox", null, false), + // Paper start - add missing type + /** + * Pseudo decorated pot with 1 slot of undefined type. + */ -+ DECORATED_POT(1, "Decorated Pot", false), ++ DECORATED_POT(1, "Decorated Pot", null, false), + // Paper end - add missing type /** * A crafter inventory, with 9 CRAFTING slots. diff --git a/patches/api/0469-Fix-equipment-slot-and-group-API.patch b/patches/api/0469-Fix-equipment-slot-and-group-API.patch index b6b99f5eab..81d91485d7 100644 --- a/patches/api/0469-Fix-equipment-slot-and-group-API.patch +++ b/patches/api/0469-Fix-equipment-slot-and-group-API.patch @@ -10,10 +10,10 @@ Adds the following: Co-authored-by: SoSeDiK diff --git a/src/main/java/org/bukkit/attribute/AttributeModifier.java b/src/main/java/org/bukkit/attribute/AttributeModifier.java -index c57690798108e9f91f8c552f39dcc2b080fe1b61..bfa378fe3d074bafbc0af2c4d858e2a34d3126bd 100644 +index def473b6424da1e81448bd492b7fef46691eaf8c..027a7d3b6feb52f6c3424edc0820d29fdaf6ebae 100644 --- a/src/main/java/org/bukkit/attribute/AttributeModifier.java +++ b/src/main/java/org/bukkit/attribute/AttributeModifier.java -@@ -118,6 +118,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { +@@ -130,6 +130,7 @@ public class AttributeModifier implements ConfigurationSerializable, Keyed { */ @Nullable @Deprecated @@ -22,10 +22,10 @@ index c57690798108e9f91f8c552f39dcc2b080fe1b61..bfa378fe3d074bafbc0af2c4d858e2a3 return slot == EquipmentSlotGroup.ANY ? null : slot.getExample(); } diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index 8369da45206d2606f0715f3d803163dd8028251e..fcdc5fce88720cc926a3953d80b5045113d1516c 100644 +index 51a428473e702be3ab79bd1e579d1114f747791b..68c08e7a212bc3e3885f9b5a4d9aef85fcb3b029 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1447,4 +1447,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1457,4 +1457,15 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setBodyYaw(float bodyYaw); // Paper end - body yaw API diff --git a/patches/api/0471-General-ItemMeta-fixes.patch b/patches/api/0471-General-ItemMeta-fixes.patch index 34bd355a54..e5a4527859 100644 --- a/patches/api/0471-General-ItemMeta-fixes.patch +++ b/patches/api/0471-General-ItemMeta-fixes.patch @@ -132,31 +132,6 @@ index ff6818b6d9e0207eafdd749928f33aeac3f27191..992f39da07bafe9769effaa7dc6adc01 /** * Checks to see if this item has a maximum amount of damage. * -diff --git a/src/main/java/org/bukkit/inventory/meta/FireworkMeta.java b/src/main/java/org/bukkit/inventory/meta/FireworkMeta.java -index 9bd15803cd3526da951ed197305a1b9385305927..5833c4c16b08a0f338a5cd7c0011e82eeda222c2 100644 ---- a/src/main/java/org/bukkit/inventory/meta/FireworkMeta.java -+++ b/src/main/java/org/bukkit/inventory/meta/FireworkMeta.java -@@ -75,10 +75,20 @@ public interface FireworkMeta extends ItemMeta { - */ - boolean hasEffects(); - -+ // Paper start - add hasPower -+ /** -+ * Checks if power is defined on this meta. -+ * -+ * @return true if there is a power specified -+ */ -+ boolean hasPower(); -+ // Paper end - add hasPower -+ - /** - * Gets the approximate height the firework will fly. - * - * @return approximate flight height of the firework. -+ * @see #hasPower() - */ - int getPower(); - diff --git a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java b/src/main/java/org/bukkit/inventory/meta/ItemMeta.java index 1a4260b00b193b94ce4b1b2954644f4e41baff4c..5d5fcb2720b62e47d47f441032c4de02574b051a 100644 --- a/src/main/java/org/bukkit/inventory/meta/ItemMeta.java diff --git a/patches/api/0474-Registry-Modification-API.patch b/patches/api/0474-Registry-Modification-API.patch index 58de2e6b76..78231b787d 100644 --- a/patches/api/0474-Registry-Modification-API.patch +++ b/patches/api/0474-Registry-Modification-API.patch @@ -795,10 +795,10 @@ index 0000000000000000000000000000000000000000..5fde17e97eddcd1d01ee39694c9159d0 + } +} diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java -index 5d21459e9128c515508a2b4b2265d9824e10d9d5..20015393f91af405c99db2635a471fb6ff19e4bf 100644 +index ff82bf3ea959c78e71ec7b0972a2d472f20aaf04..1392a1295349cfc43fbc115c912c1995779ffe62 100644 --- a/src/main/java/org/bukkit/Registry.java +++ b/src/main/java/org/bukkit/Registry.java -@@ -358,6 +358,27 @@ public interface Registry extends Iterable { +@@ -366,6 +366,27 @@ public interface Registry extends Iterable { */ @Nullable T get(@NotNull NamespacedKey key); @@ -826,7 +826,7 @@ index 5d21459e9128c515508a2b4b2265d9824e10d9d5..20015393f91af405c99db2635a471fb6 // Paper start - improve Registry /** -@@ -432,6 +453,34 @@ public interface Registry extends Iterable { +@@ -440,6 +461,34 @@ public interface Registry extends Iterable { } // Paper end - improve Registry @@ -861,7 +861,7 @@ index 5d21459e9128c515508a2b4b2265d9824e10d9d5..20015393f91af405c99db2635a471fb6 /** * Returns a new stream, which contains all registry items, which are registered to the registry. * -@@ -513,5 +562,23 @@ public interface Registry extends Iterable { +@@ -521,5 +570,23 @@ public interface Registry extends Iterable { return value.getKey(); } // Paper end - improve Registry diff --git a/patches/api/0475-Introduce-registry-entry-and-builders.patch b/patches/api/0475-Introduce-registry-entry-and-builders.patch index 44bdb4b36f..2251dfb44b 100644 --- a/patches/api/0475-Introduce-registry-entry-and-builders.patch +++ b/patches/api/0475-Introduce-registry-entry-and-builders.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Introduce registry entry and builders diff --git a/src/main/java/io/papermc/paper/registry/RegistryKey.java b/src/main/java/io/papermc/paper/registry/RegistryKey.java -index 76daccf4ea502e1747a6f9176dc16fd20c561286..2945dde566682f977e84fde5d473a6c69be24df1 100644 +index 7763ea28a00c25ffd8ba8941cff29bae5ae117a2..ccbe3fa2e01a80abb801d14891dce34ed179b5ee 100644 --- a/src/main/java/io/papermc/paper/registry/RegistryKey.java +++ b/src/main/java/io/papermc/paper/registry/RegistryKey.java -@@ -76,9 +76,10 @@ public sealed interface RegistryKey extends Keyed permits RegistryKeyImpl { +@@ -77,9 +77,10 @@ public sealed interface RegistryKey extends Keyed permits RegistryKeyImpl { @ApiStatus.Internal RegistryKey BLOCK = create("block"); /** diff --git a/patches/api/0487-Add-FeatureFlag-API.patch b/patches/api/0487-Add-FeatureFlag-API.patch index 9ac403aad4..e919666123 100644 --- a/patches/api/0487-Add-FeatureFlag-API.patch +++ b/patches/api/0487-Add-FeatureFlag-API.patch @@ -242,10 +242,10 @@ index 330e3013eda204aa9b33d5e1c3104e0b595abdbc..c80e0ef587a001ee6de3f5c182cc9696 /** * Do not use, method will get removed, and the plugin won't run diff --git a/src/main/java/org/bukkit/block/BlockType.java b/src/main/java/org/bukkit/block/BlockType.java -index 8f430a4067fc722ebfbca846cccded4fb0a3a4e5..a98cc1bc25fcde49b525ae6f841ea2841111e028 100644 +index 3dc165265af4a9cb0e05018b9273b7dfdecf730a..72aa7e4004afcaa132dc4dbbe2ff050b503928af 100644 --- a/src/main/java/org/bukkit/block/BlockType.java +++ b/src/main/java/org/bukkit/block/BlockType.java -@@ -123,7 +123,7 @@ import org.jetbrains.annotations.Nullable; +@@ -125,7 +125,7 @@ import org.jetbrains.annotations.Nullable; * changes may occur. Do not use this API in plugins. */ @ApiStatus.Internal @@ -254,7 +254,7 @@ index 8f430a4067fc722ebfbca846cccded4fb0a3a4e5..a98cc1bc25fcde49b525ae6f841ea284 /** * Typed represents a subtype of {@link BlockType}s that have a known block -@@ -3479,7 +3479,9 @@ public interface BlockType extends Keyed, Translatable, net.kyori.adventure.tran +@@ -3481,7 +3481,9 @@ public interface BlockType extends Keyed, Translatable, net.kyori.adventure.tran * * @param world the world to check * @return true if this BlockType can be used in this World. diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 000d9843e7..d2f68ddc07 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -82,27 +82,8 @@ index 85c7f3027978b1d7d6c31b7ad21b3377cdda5925..e34deaf398dc6722c3128bdd6b9bc16d + } + // Paper end } -diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 751900e0c2a946ba4291174c81b2bdbdbe994e94..f04c0f8b3905b488aac221fedde335a54ad1ff58 100644 ---- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java -+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2522,7 +2522,13 @@ public final class CraftServer implements Server { - Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); - - ReloadableServerRegistries.Holder registry = this.getServer().reloadableRegistries(); -- return new CraftLootTable(key, registry.getLootTable(CraftLootTable.bukkitKeyToMinecraft(key))); -+ // Paper start - honor method contract -+ final ResourceKey lootTableKey = CraftLootTable.bukkitKeyToMinecraft(key); -+ final Optional table = registry.get().lookup(Registries.LOOT_TABLE) -+ .flatMap(registryEntryLookup -> registryEntryLookup.get(lootTableKey)) -+ .map(net.minecraft.core.Holder::value); -+ return table.map(lootTable -> new CraftLootTable(key, lootTable)).orElse(null); -+ // Paper end - } - - @Override diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index dbcde37cfdeb6141c3f5c4f8b95d60fca91c7977..2122d7316f55ab5bec7058fe1b8ee3ceb42deea7 100644 +index cf06abf508fab734f5945e1d292c01512a50749e..42a1a0588e2b506082499ac9791d039089a64631 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -123,6 +123,7 @@ public class Main { @@ -134,7 +115,7 @@ index 905adf97c0d1f0d1c774a6835a5dffcfea884e58..c017ce2ca1bc535795c958a2e509af2a public class CraftScheduler implements BukkitScheduler { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index cfb4cf66aa5f32a96a15886c6cf4a3946bd232ec..aa6a9dcd5528df38dddc0c661334c35658a19cee 100644 +index b0cc506f1b3eb53e8e2299787071de707a036df0..eeffc4be4ae7168c9f69edbbff6642fd4c214b3d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -240,7 +240,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index 1fc2a2627a..8ace4e3739 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -5052,7 +5052,7 @@ index 05a4056b242159b1c85aa6ebf43b69cf85c00021..06cbe7a7ea131a8bead857cbfbd27810 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 12db4c5db3d7951df984db03d09d14d808e58699..44d4aee059d74676bffb8b6bc6f6ad4dd96fcb33 100644 +index c1db114edd9e31273b76374cbd19710b01cada2b..26064174397dc95f9b117d901e22c55abebf3c39 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -282,6 +282,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -5064,7 +5064,7 @@ index 12db4c5db3d7951df984db03d09d14d808e58699..44d4aee059d74676bffb8b6bc6f6ad4d @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index d7a3f704cce228c50d26f1ecd98e819eca561bfc..3457e1c9791b294b5e4dab478d90cdd1a1cf7fef 100644 +index 5fa5c6fa8c143e1aa1dacc7a6b63b11ad4b074ec..5025f7f5d66f2aedd57db137ae2dc69c723768b3 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -953,6 +953,25 @@ public final class ItemStack implements DataComponentHolder { @@ -5563,10 +5563,10 @@ index 34933c5324126f9afdc5cba9dea997ace8f01806..1cfc906317f07a44f06a4adf021c44e3 return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a094eb1348509fea0c3d253cddfe409998dcbf23..2ea3ad9ab43dec0555d6716bebefbc3bb6553f1a 100644 +index 4c5b6f8d63e4c60a1dc81e68117fa049b956819a..958925a980f50cc85b10d36bcc343947cec8f285 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2601,4 +2601,9 @@ public final class CraftServer implements Server { +@@ -2598,4 +2598,9 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -5657,7 +5657,7 @@ index 508419378c88ba8688edbd5142d9d8ba52396507..69c62699e3412f2730e3db65f196099d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e130d0aa64d0caaa7760d8de4b1f989523f9de20..9ca244b69995552df63fb5d4e3d6961b585bcc47 100644 +index 4cbf0d797fc2d57c822877c111698b2077399d32..9cd22b09b295ecd95d17d1dd5edb96f916eb6c09 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2420,4 +2420,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index c0eaef344c..6ea30f61a7 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2786,10 +2786,10 @@ index cb136a30287a17947ed018cdc48e6f91ed904072..ee5188f3aa2ff71306f5af8046e8ddf9 this.chatVisibility = clientOptions.chatVisibility(); this.canChatColor = clientOptions.chatColors(); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95d5e0bdac 100644 +index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e1a9322c4 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -67,7 +67,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -72,7 +72,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private static final Component TIMEOUT_DISCONNECTION_MESSAGE = Component.translatable("disconnect.timeout"); static final Component DISCONNECT_UNEXPECTED_QUERY = Component.translatable("multiplayer.disconnect.unexpected_query_response"); protected final MinecraftServer server; @@ -2798,7 +2798,7 @@ index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95 private final boolean transferred; private long keepAliveTime; private boolean keepAlivePending; -@@ -76,6 +76,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -81,6 +81,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private boolean closed = false; private int latency; private volatile boolean suspendFlushingOnServerThread = false; @@ -2806,7 +2806,7 @@ index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -189,6 +190,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -194,6 +195,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack ServerCommonPacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack {} rejection", this.playerProfile().getName(), packet.id()); this.disconnect((Component) Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -2825,7 +2825,7 @@ index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packet.id(), PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()])); // CraftBukkit } -@@ -275,6 +288,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -280,6 +293,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } @@ -2838,7 +2838,7 @@ index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95 public void disconnect(Component reason) { this.disconnect(new DisconnectionDetails(reason)); } -@@ -305,9 +324,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -310,9 +329,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack return; } @@ -2850,7 +2850,7 @@ index 677ee8dfa0d2f5bcb23ee870a76bcee63e557813..678f12679985c6fa9effe8beec306d95 if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -319,7 +338,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -324,7 +343,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent // Send the possibly modified leave message @@ -2947,10 +2947,10 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd @Override diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 8e715261b99bcc19b6f4b9787987c59aa19ba70e..851e4bdf1739736fd193786a6541ffb341525dcb 100644 +index b53e3e5e02ed501d30c3fca4c3130263c32cd2f5..b2f7c76207f2dc0c62f608f21aba4b531f8f523f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -333,7 +333,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -338,7 +338,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) { final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId); if (asyncEvent.getResult() != PlayerPreLoginEvent.Result.ALLOWED) { @@ -2959,7 +2959,7 @@ index 8e715261b99bcc19b6f4b9787987c59aa19ba70e..851e4bdf1739736fd193786a6541ffb3 } Waitable waitable = new Waitable() { @Override -@@ -345,12 +345,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -350,12 +350,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.this.server.processQueue.add(waitable); if (waitable.get() != PlayerPreLoginEvent.Result.ALLOWED) { @@ -3242,7 +3242,7 @@ index ed54c81a3269360acce674aa4e1d54ccb2461841..c9c849534c3998cfcab7ddcb12a71ccb } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 3457e1c9791b294b5e4dab478d90cdd1a1cf7fef..1138d238caa18171b6562cc748c92cec03bfbb97 100644 +index 5025f7f5d66f2aedd57db137ae2dc69c723768b3..1cc9078fa63da4f39ef4a551cd6a5ff207f58306 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -183,7 +183,15 @@ public final class ItemStack implements DataComponentHolder { @@ -3327,7 +3327,7 @@ index 49c037e961c5ca5ba8d6a870cb32ffe8719adc91..2772c19f58a35713d61aab24f6f0d6f5 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2ea3ad9ab43dec0555d6716bebefbc3bb6553f1a..be068650a568fc1d0d3b9c5acd040adafb2344e1 100644 +index 958925a980f50cc85b10d36bcc343947cec8f285..ee0fbba1ae29bb809303ccc09f64d48c54d426cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -644,8 +644,10 @@ public final class CraftServer implements Server { @@ -3346,13 +3346,13 @@ index 2ea3ad9ab43dec0555d6716bebefbc3bb6553f1a..be068650a568fc1d0d3b9c5acd040ada } + // Paper start -+ @Override + @Override + public net.kyori.adventure.text.Component shutdownMessage() { + String msg = getShutdownMessage(); + return msg != null ? net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(msg) : null; + } + // Paper end - @Override ++ @Override + @Deprecated // Paper public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); @@ -3429,12 +3429,12 @@ index 2ea3ad9ab43dec0555d6716bebefbc3bb6553f1a..be068650a568fc1d0d3b9c5acd040ada } + // Paper start -+ @Override + @Override + public Merchant createMerchant(net.kyori.adventure.text.Component title) { + return new org.bukkit.craftbukkit.inventory.CraftMerchantCustom(title == null ? InventoryType.MERCHANT.defaultTitle() : title); + } + // Paper end - @Override ++ @Override + @Deprecated // Paper public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); @@ -3457,7 +3457,7 @@ index 2ea3ad9ab43dec0555d6716bebefbc3bb6553f1a..be068650a568fc1d0d3b9c5acd040ada @Override public String getMotd() { return this.console.getMotd(); -@@ -2606,4 +2663,57 @@ public final class CraftServer implements Server { +@@ -2603,4 +2660,57 @@ public final class CraftServer implements Server { public double[] getTPS() { return new double[]{0, 0, 0}; // TODO } @@ -4096,10 +4096,10 @@ index d09102fe44dffa61dff883488f47715effaa8211..269326e7689eba91bcfd3475006e8cbf @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 59107e11f29e2c6dd213966b3000c79eabdbd39b..0c94a1094a3af0232bb2957708fa997933db621b 100644 +index f77f14d549479a5e6d4ef823c137954de746a5ce..a93895a6e656c25e819354ecf5c73ff4bae83675 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -321,9 +321,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -329,9 +329,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { container = CraftEventFactory.callInventoryOpenEvent(player, container); if (container == null) return; @@ -4114,7 +4114,7 @@ index 59107e11f29e2c6dd213966b3000c79eabdbd39b..0c94a1094a3af0232bb2957708fa9979 player.containerMenu = container; player.initMenu(container); } -@@ -393,8 +396,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -401,8 +404,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Now open the window MenuType windowType = CraftContainer.getNotchInventoryType(inventory.getTopInventory()); @@ -4148,10 +4148,10 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917 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 9ca244b69995552df63fb5d4e3d6961b585bcc47..807184636a99c17fe6ed8dd1cd07e1872d613657 100644 +index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca40d70f9d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -388,14 +388,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -390,14 +390,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -4192,7 +4192,7 @@ index 9ca244b69995552df63fb5d4e3d6961b585bcc47..807184636a99c17fe6ed8dd1cd07e187 @Override public String getPlayerListName() { return this.getHandle().listName == null ? this.getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -407,6 +433,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -409,6 +435,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { name = this.getName(); } this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name); @@ -4200,7 +4200,7 @@ index 9ca244b69995552df63fb5d4e3d6961b585bcc47..807184636a99c17fe6ed8dd1cd07e187 for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -414,42 +441,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -416,42 +443,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } @@ -4253,7 +4253,7 @@ index 9ca244b69995552df63fb5d4e3d6961b585bcc47..807184636a99c17fe6ed8dd1cd07e187 } @@ -481,6 +508,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - this.getHandle().connection.disconnect(CraftChatMessage.fromStringOrEmpty(message, true)); + this.getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true)); } + // Paper start @@ -4677,7 +4677,7 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364 @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 20eb63eeac7f5c9a1d98a9aa8f90a588cb036c70..8f468a3bfa8ef381eabb45ebb3dd9a4942e98dd5 100644 +index 7719afbb1af4091f688a75c92ee8cae8669974ff..34636f7a05d868c4df86316a65c4e008f54db634 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -917,7 +917,7 @@ public class CraftEventFactory { @@ -4699,7 +4699,7 @@ index 20eb63eeac7f5c9a1d98a9aa8f90a588cb036c70..8f468a3bfa8ef381eabb45ebb3dd9a49 return event; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 42c888af154a133e118a9ff9fef587e345c13e19..867091ff253541ec45b6ae7f1fb3acc83a5c4966 100644 +index 45a8d918d9ecf459a4e66dca555a022ceb507222..1a2329021a6b29777c637ee4dc8cd69ed18001c9 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -72,6 +72,13 @@ public class CraftContainer extends AbstractContainerMenu { @@ -4846,29 +4846,55 @@ index 500bfe5dd745327f953a314e863f7318953bf3bc..e2daeeba1bacbb5c5ca2aa922fa67b02 + } + // Paper end - Adventure } +diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java +index b09f794abd68551058e5764749d76c9ce8d2b849..d658634ea4468c9dbfb29bc12282441c96358566 100644 +--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java ++++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMenuType.java +@@ -37,6 +37,12 @@ public class CraftMenuType implements MenuType.Typed + + @Override + public V create(final HumanEntity player, final String title) { ++ // Paper start - adventure ++ return create(player, net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(title)); ++ } ++ @Override ++ public V create(final HumanEntity player, final net.kyori.adventure.text.Component title) { ++ // Paper end - adventure + Preconditions.checkArgument(player != null, "The given player must not be null"); + Preconditions.checkArgument(title != null, "The given title must not be null"); + Preconditions.checkArgument(player instanceof CraftHumanEntity, "The given player must be a CraftHumanEntity"); +@@ -45,7 +51,7 @@ public class CraftMenuType implements MenuType.Typed + final ServerPlayer serverPlayer = (ServerPlayer) craftHuman.getHandle(); + + final AbstractContainerMenu container = this.typeData.get().menuBuilder().build(serverPlayer, this.handle); +- container.setTitle(CraftChatMessage.fromString(title)[0]); ++ container.setTitle(io.papermc.paper.adventure.PaperAdventure.asVanilla(title)); // Paper - adventure + container.checkReachable = false; + return (V) container.getBukkitView(); + } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index 9e05a8515c5f6f340182e91150fcad8bbf80a22b..adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3 100644 +index b9025adf652f22b0ba703b4e249a25b80ee6359d..ef47eb9a321a7b082413d3986d3d394afb899610 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; +@@ -15,10 +15,17 @@ public class CraftMerchantCustom implements CraftMerchant { - public class CraftMerchantCustom extends CraftMerchant { + private MinecraftMerchant merchant; + @Deprecated // Paper - Adventure public CraftMerchantCustom(String title) { - super(new MinecraftMerchant(title)); + this.merchant = new MinecraftMerchant(title); this.getMerchant().craftMerchant = this; } + // Paper start + public CraftMerchantCustom(net.kyori.adventure.text.Component title) { -+ super(new MinecraftMerchant(title)); ++ this.merchant = new MinecraftMerchant(title); + getMerchant().craftMerchant = this; + } + // Paper end @Override public String toString() { -@@ -35,10 +42,17 @@ public class CraftMerchantCustom extends CraftMerchant { +@@ -37,10 +44,17 @@ public class CraftMerchantCustom implements CraftMerchant { private Player tradingPlayer; protected CraftMerchant craftMerchant; diff --git a/patches/server/0017-Paper-command.patch b/patches/server/0017-Paper-command.patch index c38bec538a..63333dfff9 100644 --- a/patches/server/0017-Paper-command.patch +++ b/patches/server/0017-Paper-command.patch @@ -617,7 +617,7 @@ index bb59986c211f7d6ea50b1ad4bd5565227bec8a6c..9c950fc1de15b5039e34a9fdf893e97a this.setPvpAllowed(dedicatedserverproperties.pvp); this.setFlightAllowed(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 17df1085e29429b202a6f9003343b15b15e2f8f7..29f94e574e39714caec95af5c176c9dba481728e 100644 +index c6cc48c955f052d8f98e3b28c80910b299467480..3ef43c8d39f6012e0b8e98fd216b34a20449cca0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -986,6 +986,7 @@ public final class CraftServer implements Server { @@ -628,7 +628,7 @@ index 17df1085e29429b202a6f9003343b15b15e2f8f7..29f94e574e39714caec95af5c176c9db this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2711,6 +2712,34 @@ public final class CraftServer implements Server { +@@ -2708,6 +2709,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/server/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch index 2af23f8ad7..5bce386799 100644 --- a/patches/server/0023-Timings-v2.patch +++ b/patches/server/0023-Timings-v2.patch @@ -1229,7 +1229,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 556d8f23ee2de77cea71abcc0e56718e60b20b05..47e1640cafc8087d94d0b88b8b3117591f9f238e 100644 +index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ecf7898551 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -330,7 +330,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -1378,7 +1378,7 @@ index e465aaa4fd29b4966ea8d88316c6d8f217da2e73..474f020371bb9e5fd2c5b22e44d79029 } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 44d4aee059d74676bffb8b6bc6f6ad4dd96fcb33..97ad63aad3c559feb1e762af1e00fd550aa5b251 100644 +index 26064174397dc95f9b117d901e22c55abebf3c39..d1e042ec0c1a818d713b31c3d81b48327c3578d5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -156,7 +156,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -1590,7 +1590,7 @@ index 46a090123e205394791cdbde2af84c58ce55f7e1..47f5f3d58bb3bf85cf35f9baae77df7f }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ee63b8134b8b3187a65d2b99962cfacbee18ff9f..29bb34e9207bd6c49cfbe58d4b598dcd35b7a65c 100644 +index 25a03307a576368f417f1ec3f44213ed469dcd71..b3d4cb03f6d3951632fd15101aa68e130a43879b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -376,7 +376,7 @@ public final class CraftServer implements Server { @@ -1602,7 +1602,7 @@ index ee63b8134b8b3187a65d2b99962cfacbee18ff9f..29bb34e9207bd6c49cfbe58d4b598dcd this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); -@@ -2620,12 +2620,31 @@ public final class CraftServer implements Server { +@@ -2617,12 +2617,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1804,7 +1804,7 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 807184636a99c17fe6ed8dd1cd07e1872d613657..68b9b4aba7dba31e4526165e6efb8c40f9e841bc 100644 +index 69b8d0f73ced69cd88029a5d7e11aca40d70f9d1..e4ea877228102ccf93fe8c92b0cec8ebd89771a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2782,6 +2782,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0024-Further-improve-server-tick-loop.patch b/patches/server/0024-Further-improve-server-tick-loop.patch index 63028f2e6f..03bcb73a6e 100644 --- a/patches/server/0024-Further-improve-server-tick-loop.patch +++ b/patches/server/0024-Further-improve-server-tick-loop.patch @@ -146,10 +146,10 @@ index d76dae9ce9022308b316080ac48b7030d674cc6b..e9d56d75b7c648f04d3a56942b286609 this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f2355612b497079f1de84e953c36720794da51d8..1056badff06575ef13907afac60af734ffa2b863 100644 +index b3d4cb03f6d3951632fd15101aa68e130a43879b..90da60f7cdfe809c2035c9cd242f748ec8bf5eb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2673,7 +2673,11 @@ public final class CraftServer implements Server { +@@ -2670,7 +2670,11 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { diff --git a/patches/server/0051-Use-UserCache-for-player-heads.patch b/patches/server/0051-Use-UserCache-for-player-heads.patch index e0b11bcf11..b7c3f11a27 100644 --- a/patches/server/0051-Use-UserCache-for-player-heads.patch +++ b/patches/server/0051-Use-UserCache-for-player-heads.patch @@ -5,20 +5,20 @@ Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index f6a53ac07ff2decf4bcd35d1a9d7352965f75e7f..a36fcd9bfcbd2b37d7cf40b32abc0aea2761ce15 100644 +index 43609c99347c2e3e6ee9a1b8926b32b458781fba..7181d81c231908f208b48a29f918136cb143f476 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -177,7 +177,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -172,7 +172,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { this.setProfile(null); } else { -- this.setProfile(new GameProfile(Util.NIL_UUID, name)); +- this.setProfile(new ResolvableProfile(new GameProfile(Util.NIL_UUID, name))); + // Paper start - Use Online Players Skull + GameProfile newProfile = null; + net.minecraft.server.level.ServerPlayer player = net.minecraft.server.MinecraftServer.getServer().getPlayerList().getPlayerByName(name); + if (player != null) newProfile = player.getGameProfile(); + if (newProfile == null) newProfile = new GameProfile(Util.NIL_UUID, name); -+ this.setProfile(newProfile); ++ this.setProfile(new ResolvableProfile(newProfile)); + // Paper end } diff --git a/patches/server/0059-Player-Tab-List-and-Title-APIs.patch b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch index db2fa88567..93c3f67151 100644 --- a/patches/server/0059-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0059-Player-Tab-List-and-Title-APIs.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player Tab List and Title APIs diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 68df6270f7d08cde78235749950e05bf60c1641c..ef3f1d00a595fd1fb7297d7ab96e791acbcbbed6 100644 +index 9751cace64d9ad2b8b55080b13834e8ccb056b42..951b89ced33b2a12dff90e32201643bee64962e1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -386,6 +386,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -388,6 +388,98 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch index ddf3e716bc..626a91f8db 100644 --- a/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,7 +7,7 @@ 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 e6c68fd9a5fcd374cd7feca081189c9ba9225743..c36e4c1802e304853320576e0521dbc53cd25425 100644 +index 812a4db4a91b887ef61b3ead9fa781561e6039ce..238ec25cc3109659d524fcc1de48afcd5f59552b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -283,10 +283,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -41,7 +41,7 @@ index e6c68fd9a5fcd374cd7feca081189c9ba9225743..c36e4c1802e304853320576e0521dbc5 @Override public void damage(double amount) { -@@ -802,4 +821,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -807,4 +826,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().persistentInvisibility = invisible; this.getHandle().setSharedFlag(5, invisible); } diff --git a/patches/server/0066-Complete-resource-pack-API.patch b/patches/server/0066-Complete-resource-pack-API.patch index 02e8bb2c5d..64768be860 100644 --- a/patches/server/0066-Complete-resource-pack-API.patch +++ b/patches/server/0066-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/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 678f12679985c6fa9effe8beec306d95d5e0bdac..8520f0f2b4b4e758b2e2fae206b7fd818a6fa14f 100644 +index b2bddc6183204b9f519549073e38741e1a9322c4..9bfdcdf427f7c0689d346d17942b5902a9138a4e 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -202,7 +202,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -207,7 +207,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack callback.packEventReceived(packet.id(), net.kyori.adventure.resource.ResourcePackStatus.valueOf(packet.action().name()), this.getCraftPlayer()); } // Paper end @@ -22,7 +22,7 @@ index 678f12679985c6fa9effe8beec306d95d5e0bdac..8520f0f2b4b4e758b2e2fae206b7fd81 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ef3f1d00a595fd1fb7297d7ab96e791acbcbbed6..174c86a7213ecf3c8dc03aeaf55c56a4c4ce55ad 100644 +index 951b89ced33b2a12dff90e32201643bee64962e1..a19e1c7821c6abfa4288d8a16e30b2160be742f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -208,6 +208,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0068-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0068-Allow-Reloading-of-Custom-Permissions.patch index b3e1413c02..fcc08616d6 100644 --- a/patches/server/0068-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0068-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 da2e0bb591468e7940f057a583ce166abc79d399..99571e69aabbbfb0e439a42d113c206decb1377b 100644 +index c8d8161bc8558be20583ca9e68611ea26e61deb0..ca2a17db0713fdb332549a76bee7e56502f96e56 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2793,5 +2793,23 @@ public final class CraftServer implements Server { +@@ -2790,5 +2790,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch index 00c91ac5e5..29c426b5db 100644 --- a/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0070-Handle-Item-Meta-Inconsistencies.patch @@ -263,10 +263,10 @@ index 7ae3cdb80335cbeb0ff695eb719a170651586722..97c40582bca095532fff9a81515f38ea + } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 358af0121ce3d87a9f51da2bae0699034c1560b4..94cae8f3c13d0afcbe97478fba34ff4f12f8c7ee 100644 +index e7deba518b8a3df9e642a1bcd7b6642c3dc7583b..26a7c2d37e6a8284ab444a9edad967bdcad1e5a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -@@ -37,6 +37,17 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -40,6 +40,17 @@ public final class CraftPlayerProfile implements PlayerProfile { boolean isValidSkullProfile = (gameProfile.getName() != null) || gameProfile.getProperties().containsKey(CraftPlayerTextures.PROPERTY_NAME); Preconditions.checkArgument(isValidSkullProfile, "The skull profile is missing a name or textures!"); @@ -284,16 +284,16 @@ index 358af0121ce3d87a9f51da2bae0699034c1560b4..94cae8f3c13d0afcbe97478fba34ff4f return gameProfile; } -@@ -53,6 +64,8 @@ public final class CraftPlayerProfile implements PlayerProfile { - - public CraftPlayerProfile(UUID uniqueId, String name) { - Preconditions.checkArgument((uniqueId != null) || !StringUtils.isBlank(name), "uniqueId is null or name is blank"); +@@ -67,6 +78,8 @@ public final class CraftPlayerProfile implements PlayerProfile { + if (applyPreconditions) { + Preconditions.checkArgument((uniqueId != null) || !StringUtils.isBlank(name), "uniqueId is null or name is blank"); + } + Preconditions.checkArgument(name == null || name.length() <= 16, "The name of the profile is longer than 16 characters"); // Paper - Validate + Preconditions.checkArgument(name == null || net.minecraft.util.StringUtil.isValidPlayerName(name), "The name of the profile contains invalid characters: %s", name); // Paper - Validate - this.uniqueId = (uniqueId == null) ? Util.NIL_UUID : uniqueId; - this.name = (name == null) ? "" : name; + this.uniqueId = uniqueId; + this.name = name; } -@@ -89,6 +102,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -114,6 +127,7 @@ public final class CraftPlayerProfile implements PlayerProfile { // Assert: (property == null) || property.getName().equals(propertyName) this.removeProperty(propertyName); if (property != null) { diff --git a/patches/server/0073-Custom-replacement-for-eaten-items.patch b/patches/server/0073-Custom-replacement-for-eaten-items.patch index ad90d60cf5..c7a07a4358 100644 --- a/patches/server/0073-Custom-replacement-for-eaten-items.patch +++ b/patches/server/0073-Custom-replacement-for-eaten-items.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom replacement for eaten items diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ba194f42217f1176ac08123d3bb5cb24e1a6c119..e7b308ba4a253b270aebebd19e2671514c5357ca 100644 +index a5f7289158623c8fb9fd02beecc2ce9f2057a00c..b8a69688bcc69dff11e4bceb06ab435bfc6b3fc9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3858,10 +3858,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -13,7 +13,7 @@ index ba194f42217f1176ac08123d3bb5cb24e1a6c119..e7b308ba4a253b270aebebd19e267151 // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; + PlayerItemConsumeEvent event = null; // Paper - if (this instanceof ServerPlayer) { + if (this instanceof ServerPlayer entityPlayer) { org.bukkit.inventory.ItemStack craftItem = CraftItemStack.asBukkitCopy(this.useItem); org.bukkit.inventory.EquipmentSlot hand = org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(enumhand); - PlayerItemConsumeEvent event = new PlayerItemConsumeEvent((Player) this.getBukkitEntity(), craftItem, hand); @@ -21,7 +21,7 @@ index ba194f42217f1176ac08123d3bb5cb24e1a6c119..e7b308ba4a253b270aebebd19e267151 this.level().getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -3875,6 +3876,12 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3878,6 +3879,12 @@ public abstract class LivingEntity extends Entity implements Attackable { } else { itemstack = this.useItem.finishUsingItem(this.level(), this); } @@ -34,7 +34,7 @@ index ba194f42217f1176ac08123d3bb5cb24e1a6c119..e7b308ba4a253b270aebebd19e267151 // CraftBukkit end if (itemstack != this.useItem) { -@@ -3882,6 +3889,11 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3885,6 +3892,11 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.stopUsingItem(); diff --git a/patches/server/0110-Cache-user-authenticator-threads.patch b/patches/server/0110-Cache-user-authenticator-threads.patch index 27f8fcc1fd..f16083a26e 100644 --- a/patches/server/0110-Cache-user-authenticator-threads.patch +++ b/patches/server/0110-Cache-user-authenticator-threads.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Cache user authenticator threads diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 851e4bdf1739736fd193786a6541ffb341525dcb..6b490eb5b14cb2d3174aff79d1144c87665c7d38 100644 +index b2f7c76207f2dc0c62f608f21aba4b531f8f523f..e65c582635317b9f8a1af4e6f6a5fb916f73cc35 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -71,6 +71,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -76,6 +76,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, // CraftBukkit end private static final AtomicInteger UNIQUE_THREAD_ID = new AtomicInteger(0); static final Logger LOGGER = LogUtils.getLogger(); @@ -16,7 +16,7 @@ index 851e4bdf1739736fd193786a6541ffb341525dcb..6b490eb5b14cb2d3174aff79d1144c87 private static final int MAX_TICKS_BEFORE_LOGIN = 600; private final byte[] challenge; final MinecraftServer server; -@@ -169,7 +170,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -174,7 +175,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge, true)); } else { // CraftBukkit start @@ -26,7 +26,7 @@ index 851e4bdf1739736fd193786a6541ffb341525dcb..6b490eb5b14cb2d3174aff79d1144c87 @Override public void run() { -@@ -184,10 +186,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -189,10 +191,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.this.server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + ServerLoginPacketListenerImpl.this.requestedUsername, ex); } } @@ -39,7 +39,7 @@ index 851e4bdf1739736fd193786a6541ffb341525dcb..6b490eb5b14cb2d3174aff79d1144c87 // CraftBukkit end } -@@ -266,7 +266,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -271,7 +271,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, throw new IllegalStateException("Protocol error", cryptographyexception); } @@ -49,7 +49,7 @@ index 851e4bdf1739736fd193786a6541ffb341525dcb..6b490eb5b14cb2d3174aff79d1144c87 public void run() { String s1 = (String) Objects.requireNonNull(ServerLoginPacketListenerImpl.this.requestedUsername, "Player name not initialized"); -@@ -314,10 +315,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -319,10 +320,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, return ServerLoginPacketListenerImpl.this.server.getPreventProxyConnections() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch index c2d729c66f..c9a7a105f5 100644 --- a/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0111-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff807bfe89708d9c680b84eda902b49f3167f3a4..eb12f17b58256489717a0462964b1cef5bc3624b 100644 +index 20076b59ed7433cc280e2574a09e8db1d58eb027..67805fe23d91961b036089674e4f6202fad3c505 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2819,5 +2819,24 @@ public final class CraftServer implements Server { +@@ -2816,5 +2816,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0119-String-based-Action-Bar-API.patch b/patches/server/0119-String-based-Action-Bar-API.patch index b4a1ec6598..31024a0f8e 100644 --- a/patches/server/0119-String-based-Action-Bar-API.patch +++ b/patches/server/0119-String-based-Action-Bar-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] String based Action Bar API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c399264ccffe646be10b3f13ebe0c0103d97f62c..d471e9370fdbcbce5357e52e8ea2a10c196cd33d 100644 +index cdcb2fb6229277872db36b6a4c439080f083f64c..258808bcb6f853c5679476305074823a7bb8b379 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -388,6 +388,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -390,6 +390,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/server/0120-Properly-fix-item-duplication-bug.patch b/patches/server/0120-Properly-fix-item-duplication-bug.patch index 95bf2bd4b5..9fb45d2886 100644 --- a/patches/server/0120-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0120-Properly-fix-item-duplication-bug.patch @@ -19,10 +19,10 @@ index 984dc7f7f7315b8a8cdb9744ef8454a330888ba7..f067b10e13f01e751fc4ebf088740c7d @Override diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 8520f0f2b4b4e758b2e2fae206b7fd818a6fa14f..73d40f768b6882062656cba30acc5f86f26d1a96 100644 +index 9bfdcdf427f7c0689d346d17942b5902a9138a4e..5f3b3f03936cfe23ed792c57d342a9932ea2e962 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -179,7 +179,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -184,7 +184,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } public final boolean isDisconnected() { diff --git a/patches/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch index eeb9245931..1335654905 100644 --- a/patches/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index eb12f17b58256489717a0462964b1cef5bc3624b..1fd2f6053e660674baa239f142a720d59e64c776 100644 +index 67805fe23d91961b036089674e4f6202fad3c505..16110e41480ad4508e56c196c551debdf0e96811 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2838,5 +2838,10 @@ public final class CraftServer implements Server { +@@ -2835,5 +2835,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch index 57ef5ff7bb..415b98a1a9 100644 --- a/patches/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch @@ -63,10 +63,10 @@ index f720c5ef71edd65de76bcac9632173184576ea9e..c278caa030ceccec8e2721068848a34b public static void clear() { diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 94cae8f3c13d0afcbe97478fba34ff4f12f8c7ee..c49db689827b20ad211f06b9bad7062c8ef82c68 100644 +index 56a71862eac5c45fde2e1d9e96e763d9dbf24cc4..0c250e5b0bd3232d829b0c028f237e6bf5fd334d 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -@@ -136,7 +136,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -161,7 +161,7 @@ public final class CraftPlayerProfile implements PlayerProfile { @Override public CompletableFuture update() { diff --git a/patches/server/0136-Basic-PlayerProfile-API.patch b/patches/server/0136-Basic-PlayerProfile-API.patch index c6ad6df561..5937b44272 100644 --- a/patches/server/0136-Basic-PlayerProfile-API.patch +++ b/patches/server/0136-Basic-PlayerProfile-API.patch @@ -16,10 +16,10 @@ public org.bukkit.craftbukkit.profile.CraftPlayerProfile setProperty(Ljava/lang/ diff --git a/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java new file mode 100644 -index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980efd65eb9a1 +index 0000000000000000000000000000000000000000..23181027bb077417655913c29377bed720c9e9c1 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/CraftPlayerProfile.java -@@ -0,0 +1,422 @@ +@@ -0,0 +1,449 @@ +package com.destroystokyo.paper.profile; + +import com.google.common.base.Preconditions; @@ -34,6 +34,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef +import net.minecraft.server.MinecraftServer; +import net.minecraft.server.players.GameProfileCache; +import net.minecraft.util.StringUtil; ++import net.minecraft.world.item.component.ResolvableProfile; +import org.apache.commons.lang3.StringUtils; +import org.apache.commons.lang3.Validate; +import org.bukkit.configuration.serialization.SerializableAs; @@ -52,6 +53,8 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef +@SerializableAs("PlayerProfile") +public class CraftPlayerProfile implements PlayerProfile, SharedPlayerProfile { + ++ private boolean emptyName; ++ private boolean emptyUUID; + private GameProfile profile; + private final PropertySet properties = new PropertySet(); + @@ -61,6 +64,8 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + + public CraftPlayerProfile(UUID id, String name) { + this.profile = createAuthLibProfile(id, name); ++ this.emptyName = name == null; ++ this.emptyUUID = id == null; + } + + public CraftPlayerProfile(GameProfile profile) { @@ -68,6 +73,11 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + this.profile = profile; + } + ++ public CraftPlayerProfile(ResolvableProfile resolvableProfile) { ++ this(resolvableProfile.id().orElse(null), resolvableProfile.name().orElse(null)); ++ copyProfileProperties(resolvableProfile.gameProfile(), this.profile); ++ } ++ + @Override + public boolean hasProperty(String property) { + return profile.getProperties().containsKey(property); @@ -106,7 +116,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + @Nullable + @Override + public UUID getId() { -+ return profile.getId().equals(Util.NIL_UUID) ? null : profile.getId(); ++ return this.emptyUUID ? null : this.profile.getId(); + } + + @Override @@ -116,6 +126,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + final UUID previousId = this.getId(); + this.profile = createAuthLibProfile(uuid, previousProfile.getName()); + copyProfileProperties(previousProfile, this.profile); ++ this.emptyUUID = uuid == null; + return previousId; + } + @@ -127,7 +138,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + @Nullable + @Override + public String getName() { -+ return profile.getName(); ++ return this.emptyName ? null : this.profile.getName(); + } + + @Override @@ -136,6 +147,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + GameProfile prev = this.profile; + this.profile = createAuthLibProfile(prev.getId(), name); + copyProfileProperties(prev, this.profile); ++ this.emptyName = name == null; + return prev.getName(); + } + @@ -184,6 +196,15 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + } + + @Override ++ public @NotNull ResolvableProfile buildResolvableProfile() { ++ if (this.emptyName || this.emptyUUID) { ++ return new ResolvableProfile(this.emptyName ? Optional.empty() : Optional.of(this.profile.getName()), this.emptyUUID ? Optional.empty() : Optional.of(this.profile.getId()), this.profile.getProperties()); ++ } else { ++ return new ResolvableProfile(this.buildGameProfile()); ++ } ++ } ++ ++ @Override + public CraftPlayerProfile clone() { + CraftPlayerProfile clone = new CraftPlayerProfile(this.getId(), this.getName()); + clone.setProperties(getProperties()); @@ -251,6 +272,7 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + public boolean complete(boolean textures) { + return complete(textures, GlobalConfiguration.get().proxies.isProxyOnlineMode()); + } ++ + public boolean complete(boolean textures, boolean onlineMode) { + if (this.isComplete() && (!textures || hasTextures())) { // Don't do lookup if we already have everything + return true; @@ -328,6 +350,10 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + return craft.getGameProfile(); + } + ++ public static ResolvableProfile asResolvableProfileCopy(PlayerProfile profile) { ++ return ((SharedPlayerProfile) profile).buildResolvableProfile(); ++ } ++ + @Override + public @NotNull Map serialize() { + Map map = new LinkedHashMap<>(); @@ -368,10 +394,16 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + } + + @Override -+ public boolean equals(Object obj) { -+ if (this == obj) return true; -+ if (!(obj instanceof CraftPlayerProfile otherProfile)) return false; -+ return Objects.equals(this.profile, otherProfile.profile); ++ public boolean equals(final Object o) { ++ if (this == o) return true; ++ if (o == null || this.getClass() != o.getClass()) return false; ++ final CraftPlayerProfile that = (CraftPlayerProfile) o; ++ return this.emptyName == that.emptyName && this.emptyUUID == that.emptyUUID && Objects.equals(this.profile, that.profile); ++ } ++ ++ @Override ++ public int hashCode() { ++ return Objects.hash(this.emptyName, this.emptyUUID, this.profile); + } + + @Override @@ -382,11 +414,6 @@ index 0000000000000000000000000000000000000000..cbe2789f8a055550dd7840a7bed980ef + "]"; + } + -+ @Override -+ public int hashCode() { -+ return this.profile.hashCode(); -+ } -+ + private class PropertySet extends AbstractSet { + + @Override @@ -531,14 +558,15 @@ index 0000000000000000000000000000000000000000..985e6fc43a0946943847e0c283426242 +} diff --git a/src/main/java/com/destroystokyo/paper/profile/SharedPlayerProfile.java b/src/main/java/com/destroystokyo/paper/profile/SharedPlayerProfile.java new file mode 100644 -index 0000000000000000000000000000000000000000..7ac27392a8647ef7d0dc78efe78703e993885017 +index 0000000000000000000000000000000000000000..332700f84c5587e47a4d2056bfbb5413de97e9f2 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/profile/SharedPlayerProfile.java -@@ -0,0 +1,23 @@ +@@ -0,0 +1,26 @@ +package com.destroystokyo.paper.profile; + +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.properties.Property; ++import net.minecraft.world.item.component.ResolvableProfile; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + @@ -557,6 +585,8 @@ index 0000000000000000000000000000000000000000..7ac27392a8647ef7d0dc78efe78703e9 + @Nullable void setProperty(@NotNull String propertyName, @Nullable Property property); + + @NotNull GameProfile buildGameProfile(); ++ ++ @NotNull ResolvableProfile buildResolvableProfile(); +} diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java index 6afede80c10503a261d0f735c351d943597be9ff..993296f9c2457809bd6b844c309895f417eb42a5 100644 @@ -594,7 +624,7 @@ index 416b26c2ab62b29d640169166980e398d5824b14..774d81c702edb76a2f6184d4dc53687d 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 1fd2f6053e660674baa239f142a720d59e64c776..5ab2836f14e1a7482e7136004507d66c4abb4bdd 100644 +index 16110e41480ad4508e56c196c551debdf0e96811..c5618c1a773442c9c016b67ea64d83f8efcb3b89 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -262,6 +262,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; @@ -615,7 +645,7 @@ index 1fd2f6053e660674baa239f142a720d59e64c776..5ab2836f14e1a7482e7136004507d66c CraftItemFactory.instance(); CraftEntityFactory.instance(); } -@@ -2843,5 +2847,39 @@ public final class CraftServer implements Server { +@@ -2840,5 +2844,39 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } @@ -656,11 +686,11 @@ index 1fd2f6053e660674baa239f142a720d59e64c776..5ab2836f14e1a7482e7136004507d66c // 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 c49db689827b20ad211f06b9bad7062c8ef82c68..ce30a8853d5095ce5bf1ec902b41d27db9e35b4f 100644 +index 210fdad5f2041368fc359b275f1cbf05b70b6989..d9cc76d7e60001957c0f59fdc32d016f3589aa08 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -@@ -28,7 +28,7 @@ import org.bukkit.profile.PlayerProfile; - import org.bukkit.profile.PlayerTextures; +@@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerTextures; + import org.jetbrains.annotations.ApiStatus; @SerializableAs("PlayerProfile") -public final class CraftPlayerProfile implements PlayerProfile { @@ -668,7 +698,7 @@ index c49db689827b20ad211f06b9bad7062c8ef82c68..ce30a8853d5095ce5bf1ec902b41d27d @Nonnull public static GameProfile validateSkullProfile(@Nonnull GameProfile gameProfile) { -@@ -107,8 +107,10 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -132,8 +132,10 @@ public final class CraftPlayerProfile implements PlayerProfile { } } @@ -681,16 +711,16 @@ index c49db689827b20ad211f06b9bad7062c8ef82c68..ce30a8853d5095ce5bf1ec902b41d27d } void rebuildDirtyProperties() { -@@ -251,6 +253,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -283,6 +285,7 @@ public final class CraftPlayerProfile implements PlayerProfile { @Override public Map serialize() { + // Paper - diff on change Map map = new LinkedHashMap<>(); - if (this.getUniqueId() != null) { - map.put("uniqueId", this.getUniqueId().toString()); -@@ -266,10 +269,12 @@ public final class CraftPlayerProfile implements PlayerProfile { - }); + if (this.uniqueId != null) { + map.put("uniqueId", this.uniqueId.toString()); +@@ -296,10 +299,12 @@ public final class CraftPlayerProfile implements PlayerProfile { + this.properties.forEach((propertyName, property) -> propertiesData.add(CraftProfileProperty.serialize(property))); map.put("properties", propertiesData); } + // Paper - diff on change @@ -702,7 +732,7 @@ index c49db689827b20ad211f06b9bad7062c8ef82c68..ce30a8853d5095ce5bf1ec902b41d27d UUID uniqueId = ConfigSerializationUtil.getUuid(map, "uniqueId", true); String name = ConfigSerializationUtil.getString(map, "name", true); -@@ -283,7 +288,7 @@ public final class CraftPlayerProfile implements PlayerProfile { +@@ -313,7 +318,7 @@ public final class CraftPlayerProfile implements PlayerProfile { profile.properties.put(property.name(), property); } } diff --git a/patches/server/0138-Shoulder-Entities-Release-API.patch b/patches/server/0138-Shoulder-Entities-Release-API.patch index b0762a4548..c169c6edc6 100644 --- a/patches/server/0138-Shoulder-Entities-Release-API.patch +++ b/patches/server/0138-Shoulder-Entities-Release-API.patch @@ -59,10 +59,10 @@ index 7995a4626b3ed68234d468418408b9a8e179b6f6..362d75522aaa721e9fb1d12a149d0efe @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 0c94a1094a3af0232bb2957708fa997933db621b..9574d5e0ee9109155f16861d0c46e45ef4c1d1a8 100644 +index a93895a6e656c25e819354ecf5c73ff4bae83675..f0efea03165039525a98dc30c34d876972d9fe71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -512,6 +512,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -520,6 +520,32 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { this.getHandle().getCooldowns().addCooldown(CraftItemType.bukkitToMinecraft(material), ticks); } diff --git a/patches/server/0140-Block-player-logins-during-server-shutdown.patch b/patches/server/0140-Block-player-logins-during-server-shutdown.patch index 0dc0c7b69b..5609f83757 100644 --- a/patches/server/0140-Block-player-logins-during-server-shutdown.patch +++ b/patches/server/0140-Block-player-logins-during-server-shutdown.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block player logins during server shutdown diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 6b490eb5b14cb2d3174aff79d1144c87665c7d38..556a7d082f0c33606a0231aa1b52d0c12d57035c 100644 +index e65c582635317b9f8a1af4e6f6a5fb916f73cc35..0c2137dda44f2341bffe0928dc77be8ca6371bc9 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -97,6 +97,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -102,6 +102,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void tick() { diff --git a/patches/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch index adf56dbfaf..062c5f0c8d 100644 --- a/patches/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/patches/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow specifying a custom "authentication servers down" kick diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 556a7d082f0c33606a0231aa1b52d0c12d57035c..d1a05c93ba7b9d1cb3427a4a90346b4364784846 100644 +index 0c2137dda44f2341bffe0928dc77be8ca6371bc9..0d995abe33f41b96823d3e5a51e33f3dcb11d564 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -303,7 +303,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -308,7 +308,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.LOGGER.warn("Authentication servers are down but will let them in anyway!"); ServerLoginPacketListenerImpl.this.startClientVerification(ServerLoginPacketListenerImpl.this.createOfflineProfile(s1)); // Spigot } else { diff --git a/patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch index 4bf90ddb29..f3e7e73c5c 100644 --- a/patches/server/0152-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0152-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/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 73d40f768b6882062656cba30acc5f86f26d1a96..07d2e60bcd7d1f3ba2f8005ec496561b3648ae86 100644 +index 5f3b3f03936cfe23ed792c57d342a9932ea2e962..5e5e669f564c6130d1dea004ae8810939954da98 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -117,14 +117,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -122,14 +122,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch index 08669dde95..9dfb157c03 100644 --- a/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0153-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 7ae4279768b70a4fdc8f4438898871a17c8fe402..582bbb376c75ab5bf737f3015ce8ad45 private void beginLogin(ClientIntentionPacket packet, boolean transfer) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d471e9370fdbcbce5357e52e8ea2a10c196cd33d..f53504221e660bfe86220a8cc1ae28750794f0cf 100644 +index 258808bcb6f853c5679476305074823a7bb8b379..d099b898208392f380eb9ccd49bf84d54c194e67 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -334,6 +334,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -336,6 +336,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().transferCookieConnection.sendPacket(new ClientboundTransferPacket(host, port)); } diff --git a/patches/server/0154-revert-serverside-behavior-of-keepalives.patch b/patches/server/0154-revert-serverside-behavior-of-keepalives.patch index 349786b31a..ee6e8a16c5 100644 --- a/patches/server/0154-revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/0154-revert-serverside-behavior-of-keepalives.patch @@ -17,10 +17,10 @@ from networking or during connections flood of chunk packets on slower clients, at the cost of dead connections being kept open for longer. diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 07d2e60bcd7d1f3ba2f8005ec496561b3648ae86..382920335337c8d0abd8b1f600fddd391249fe21 100644 +index 5e5e669f564c6130d1dea004ae8810939954da98..9b1df397e1d2d8ca04b34012808be2110526f401 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -69,7 +69,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -74,7 +74,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack protected final MinecraftServer server; public final Connection connection; // Paper private final boolean transferred; @@ -29,7 +29,7 @@ index 07d2e60bcd7d1f3ba2f8005ec496561b3648ae86..382920335337c8d0abd8b1f600fddd39 private boolean keepAlivePending; private long keepAliveChallenge; private long closedListenerTime; -@@ -77,6 +77,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -82,6 +82,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private int latency; private volatile boolean suspendFlushingOnServerThread = false; public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks @@ -37,7 +37,7 @@ index 07d2e60bcd7d1f3ba2f8005ec496561b3648ae86..382920335337c8d0abd8b1f600fddd39 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -227,18 +228,22 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -232,18 +233,22 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack protected void keepConnectionAlive() { this.server.getProfiler().push("keepAlive"); diff --git a/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch index d98153e8db..5d453de7b9 100644 --- a/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/patches/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Prevent logins from being processed when the player has diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index d1a05c93ba7b9d1cb3427a4a90346b4364784846..3bcce44fd8f7964a2f9b0d9c778b995975a8c049 100644 +index 0d995abe33f41b96823d3e5a51e33f3dcb11d564..bfda68254b39f301ba2d3d70beeb35317d262c43 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -104,7 +104,9 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -109,7 +109,9 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } // Paper end - Do not allow logins while the server is shutting down if (this.state == ServerLoginPacketListenerImpl.State.VERIFYING) { diff --git a/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch index b2a5f27dd2..07ae928840 100644 --- a/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch @@ -69,7 +69,7 @@ index a1c1a101aa424e74309f6f4c0a53a6a8db5df441..013298c424025cd88f15d61e50d196f7 public Biome getBiome() { return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ()); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index f8b5595dc92036cc1889c0835f69389c93501fa7..a7bb7d263cb981fcf6dd35a3b32270e89e96945a 100644 +index 9df2da091082071e3461b8900af4879e80cd4d93..1ca25dfdb9ec5c3a4d26b71484e1326e1f50b40d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -24,15 +24,26 @@ public class CraftBlockEntityState extends CraftBlockStat @@ -101,7 +101,7 @@ index f8b5595dc92036cc1889c0835f69389c93501fa7..a7bb7d263cb981fcf6dd35a3b32270e8 } protected CraftBlockEntityState(CraftBlockEntityState state, Location location) { -@@ -169,4 +180,11 @@ public class CraftBlockEntityState extends CraftBlockStat +@@ -176,4 +187,11 @@ public class CraftBlockEntityState extends CraftBlockStat public CraftBlockEntityState copy(Location location) { return new CraftBlockEntityState<>(this, location); } diff --git a/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch index d8b7b10015..3b0eaf2557 100644 --- a/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0165-Add-setPlayerProfile-API-for-Skulls.patch @@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java -index 08838e17979b59555adc242ccdd7af7cbf11f9d6..23374a104510025fd8f882361a29825d0bec6ee0 100644 +index 95045d09a3581816770a195db87086c616b843a7..bae6f6132189fc82ec56f0fedee3518a143ed883 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java @@ -98,7 +98,22 @@ public class CraftSkull extends CraftBlockEntityState implemen @@ -18,13 +18,13 @@ index 08838e17979b59555adc242ccdd7af7cbf11f9d6..23374a104510025fd8f882361a29825d @Override + public void setPlayerProfile(com.destroystokyo.paper.profile.PlayerProfile profile) { + Preconditions.checkNotNull(profile, "profile"); -+ this.profile = com.destroystokyo.paper.profile.CraftPlayerProfile.asAuthlibCopy(profile); ++ this.profile = com.destroystokyo.paper.profile.CraftPlayerProfile.asResolvableProfileCopy(profile); + } + + @javax.annotation.Nullable + @Override + public com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile() { -+ return profile != null ? com.destroystokyo.paper.profile.CraftPlayerProfile.asBukkitCopy(profile) : null; ++ return profile != null ? new com.destroystokyo.paper.profile.CraftPlayerProfile(profile) : null; + } + // Paper end + @@ -42,36 +42,36 @@ index 08838e17979b59555adc242ccdd7af7cbf11f9d6..23374a104510025fd8f882361a29825d if (profile == null) { this.profile = null; } else { -- this.profile = CraftPlayerProfile.validateSkullProfile(((CraftPlayerProfile) profile).buildGameProfile()); -+ this.profile = CraftPlayerProfile.validateSkullProfile(((com.destroystokyo.paper.profile.SharedPlayerProfile) profile).buildGameProfile()); // Paper +- this.profile = new ResolvableProfile(CraftPlayerProfile.validateSkullProfile(((CraftPlayerProfile) profile).buildGameProfile())); ++ this.profile = CraftPlayerProfile.validateSkullProfile(((com.destroystokyo.paper.profile.SharedPlayerProfile) profile).buildResolvableProfile()); // Paper } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index a36fcd9bfcbd2b37d7cf40b32abc0aea2761ce15..d6e161374e0235031128a6ee86d1ffa875ea48aa 100644 +index 7181d81c231908f208b48a29f918136cb143f476..ca714e165e453d1072d083441d8b985290ada75a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -153,6 +153,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { - return this.hasOwner() ? this.profile.getName() : null; +@@ -148,6 +148,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { + return this.hasOwner() ? this.profile.name().orElse(null) : null; } + // Paper start + @Override + public void setPlayerProfile(@org.jetbrains.annotations.Nullable com.destroystokyo.paper.profile.PlayerProfile profile) { -+ setProfile((profile == null) ? null : com.destroystokyo.paper.profile.CraftPlayerProfile.asAuthlibCopy(profile)); ++ setProfile((profile == null) ? null : com.destroystokyo.paper.profile.CraftPlayerProfile.asResolvableProfileCopy(profile)); + } + + @org.jetbrains.annotations.Nullable + @Override + public com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile() { -+ return profile != null ? com.destroystokyo.paper.profile.CraftPlayerProfile.asBukkitCopy(profile) : null; ++ return profile != null ? new com.destroystokyo.paper.profile.CraftPlayerProfile(profile) : null; + } + // Paper end + @Override public OfflinePlayer getOwningPlayer() { if (this.hasOwner()) { -@@ -203,6 +216,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -198,6 +211,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { } @Override @@ -79,24 +79,23 @@ index a36fcd9bfcbd2b37d7cf40b32abc0aea2761ce15..d6e161374e0235031128a6ee86d1ffa8 public PlayerProfile getOwnerProfile() { if (!this.hasOwner()) { return null; -@@ -212,11 +226,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -207,9 +221,10 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { } @Override + @Deprecated // Paper public void setOwnerProfile(PlayerProfile profile) { - if (profile == null) { - this.setProfile(null); +- if (profile instanceof CraftPlayerProfile craftPlayerProfile) { +- this.setProfile(CraftPlayerProfile.validateSkullProfile(craftPlayerProfile.buildResolvableProfile())); ++ if (profile instanceof final com.destroystokyo.paper.profile.SharedPlayerProfile sharedProfile) { ++ this.setProfile(CraftPlayerProfile.validateSkullProfile(sharedProfile.buildResolvableProfile())); // Paper } else { -- this.setProfile(CraftPlayerProfile.validateSkullProfile(((CraftPlayerProfile) profile).buildGameProfile())); -+ this.setProfile(CraftPlayerProfile.validateSkullProfile(((com.destroystokyo.paper.profile.SharedPlayerProfile) profile).buildGameProfile())); // Paper + this.setProfile(null); } - } - -@@ -271,7 +286,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -263,7 +278,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { super.serialize(builder); - if (this.profile != null) { + if (this.hasOwner()) { - builder.put(CraftMetaSkull.SKULL_OWNER.BUKKIT, new CraftPlayerProfile(this.profile)); + builder.put(CraftMetaSkull.SKULL_OWNER.BUKKIT, new com.destroystokyo.paper.profile.CraftPlayerProfile(this.profile)); // Paper } diff --git a/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch index 4e9f640751..a3e943365e 100644 --- a/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch +++ b/patches/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch @@ -7,10 +7,10 @@ Co-authored-by: Connor Linfoot Co-authored-by: MCMDEV diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 3bcce44fd8f7964a2f9b0d9c778b995975a8c049..2d9db1ac80216a509a7590254e422b3c4792e3ec 100644 +index bfda68254b39f301ba2d3d70beeb35317d262c43..30e55f693b963496b85afa32da9c15cacb738836 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -186,7 +186,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -191,7 +191,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, try { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.createOfflineProfile(ServerLoginPacketListenerImpl.this.requestedUsername); // Spigot @@ -19,7 +19,7 @@ index 3bcce44fd8f7964a2f9b0d9c778b995975a8c049..2d9db1ac80216a509a7590254e422b3c ServerLoginPacketListenerImpl.LOGGER.info("UUID of player {} is {}", gameprofile.getName(), gameprofile.getId()); ServerLoginPacketListenerImpl.this.startClientVerification(gameprofile); } catch (Exception ex) { -@@ -289,7 +289,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -294,7 +294,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, if (!ServerLoginPacketListenerImpl.this.connection.isConnected()) { return; } @@ -28,7 +28,7 @@ index 3bcce44fd8f7964a2f9b0d9c778b995975a8c049..2d9db1ac80216a509a7590254e422b3c // CraftBukkit end ServerLoginPacketListenerImpl.LOGGER.info("UUID of player {} is {}", gameprofile.getName(), gameprofile.getId()); ServerLoginPacketListenerImpl.this.startClientVerification(gameprofile); -@@ -328,14 +328,23 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -333,14 +333,23 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } // CraftBukkit start @@ -54,7 +54,7 @@ index 3bcce44fd8f7964a2f9b0d9c778b995975a8c049..2d9db1ac80216a509a7590254e422b3c if (PlayerPreLoginEvent.getHandlerList().getRegisteredListeners().length != 0) { final PlayerPreLoginEvent event = new PlayerPreLoginEvent(playerName, address, uniqueId); -@@ -353,14 +362,13 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -358,14 +367,13 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.this.server.processQueue.add(waitable); if (waitable.get() != PlayerPreLoginEvent.Result.ALLOWED) { this.disconnect(io.papermc.paper.adventure.PaperAdventure.asVanilla(event.kickMessage())); // Paper - Adventure diff --git a/patches/server/0176-Player.setPlayerProfile-API.patch b/patches/server/0176-Player.setPlayerProfile-API.patch index 21f5229b12..89d168e8a4 100644 --- a/patches/server/0176-Player.setPlayerProfile-API.patch +++ b/patches/server/0176-Player.setPlayerProfile-API.patch @@ -9,7 +9,7 @@ This can be useful for changing name or skins after a player has logged in. public-f net.minecraft.world.entity.player.Player gameProfile diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ec80a9138260497d0deccf3ade3f44fc849de1d5..72edfb965aca81c2d2442b794b42baa04ec713b3 100644 +index 6cdbd0281e38d7107f239e6e052c08e4ab12b552..0073c6c5433be3193a01257a26c7035e544f37dd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1472,7 +1472,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -22,10 +22,10 @@ index ec80a9138260497d0deccf3ade3f44fc849de1d5..72edfb965aca81c2d2442b794b42baa0 if (Float.isNaN(f)) { f = 0; diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 2d9db1ac80216a509a7590254e422b3c4792e3ec..b31f00f2f0b7cec59301afe36c9dd7cdc120fc9d 100644 +index 30e55f693b963496b85afa32da9c15cacb738836..636b8aef2348fa4cfe63a9b7d77a64b14dc7a42c 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -336,11 +336,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -341,11 +341,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, // Paper start - Add more fields to AsyncPlayerPreLoginEvent final InetAddress rawAddress = ((InetSocketAddress) this.connection.channel.remoteAddress()).getAddress(); @@ -62,7 +62,7 @@ index 768a5c6ebc4466aae4108a79e1564b2bfc93463a..26cee48ea3650aaf87fd2ba9c70d4ca9 public void tick() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index 818df09e9245b5d89b4180b1eaa51470b7539341..461656e1cb095243bfe7a9ee2906e5b00574ae78 100644 +index 818df09e9245b5d89b4180b1eaa51470b7539341..f6b2ca92fd3510a76cbf56d0ea55aa6caaf12ba1 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -82,8 +82,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -72,12 +72,12 @@ index 818df09e9245b5d89b4180b1eaa51470b7539341..461656e1cb095243bfe7a9ee2906e5b0 - public PlayerProfile getPlayerProfile() { - return new CraftPlayerProfile(this.profile); + public com.destroystokyo.paper.profile.PlayerProfile getPlayerProfile() { // Paper -+ return new com.destroystokyo.paper.profile.CraftPlayerProfile(this.profile); // Paper ++ return com.destroystokyo.paper.profile.CraftPlayerProfile.asBukkitCopy(this.profile); // Paper } public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4602c3d0be94f0146a2b205268f70aaf85410f20..422c25577a0d95b31b5528fad8fc9b3ae97fa7f0 100644 +index 8521f728088d16ecbaa0119983a9f12a649ac847..9136feac48244dc68bff92b52643f2adefba5205 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -249,11 +249,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0182-Add-openSign-method-to-HumanEntity.patch b/patches/server/0182-Add-openSign-method-to-HumanEntity.patch index 83658d2f8b..51a6489c06 100644 --- a/patches/server/0182-Add-openSign-method-to-HumanEntity.patch +++ b/patches/server/0182-Add-openSign-method-to-HumanEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add openSign method to HumanEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 9574d5e0ee9109155f16861d0c46e45ef4c1d1a8..2e02fc22a889c9c8010ae8bff1b59a13219ae014 100644 +index f0efea03165039525a98dc30c34d876972d9fe71..e59fee587c2d90df5a6aa7a3df0eefc0cb5165ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -622,6 +622,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -630,6 +630,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } } diff --git a/patches/server/0199-Make-shield-blocking-delay-configurable.patch b/patches/server/0199-Make-shield-blocking-delay-configurable.patch index 9468400c10..aff86fa3d7 100644 --- a/patches/server/0199-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0199-Make-shield-blocking-delay-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 21d00a73ad8287d61eda1ab91b88ea3264aff021..cccc60602360f25f0aeddbd16dad2bb63a1728a8 100644 +index 7a7c404778757e6778305c9f8334a4fba1f466a6..d58439f85f4d3a9b863ecadb3b42b2ee3270a772 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3966,12 +3966,24 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3969,12 +3969,24 @@ public abstract class LivingEntity extends Entity implements Attackable { if (this.isUsingItem() && !this.useItem.isEmpty()) { Item item = this.useItem.getItem(); @@ -35,10 +35,10 @@ index 21d00a73ad8287d61eda1ab91b88ea3264aff021..cccc60602360f25f0aeddbd16dad2bb6 return this.isShiftKeyDown(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index fe631496aa551a0029eff7b4d4a5daf16dddac50..bb81e0bfe0692e8f8421758cd21c003978853a08 100644 +index 475fcc2d1d61a94b81dc839ba0240f317afcfe56..5ca07b2cdc30f23632a23249c615ac9a8c7c96c7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -842,5 +842,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -847,5 +847,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { public void setArrowsStuck(final int arrows) { this.getHandle().setArrowCount(arrows); } diff --git a/patches/server/0204-LivingEntity-Active-Item-API.patch b/patches/server/0204-LivingEntity-Active-Item-API.patch index a39708f120..29cf3d86f5 100644 --- a/patches/server/0204-LivingEntity-Active-Item-API.patch +++ b/patches/server/0204-LivingEntity-Active-Item-API.patch @@ -13,10 +13,10 @@ public net/minecraft/server/level/ServerPlayer completeUsingItem()V Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index bb81e0bfe0692e8f8421758cd21c003978853a08..e77380686b9f0c5695be36b3e16e11b2646ac00a 100644 +index 5ca07b2cdc30f23632a23249c615ac9a8c7c96c7..4f0f21bb1f2d37a798065b7c5e0b2a77a8122823 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -853,4 +853,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -858,4 +858,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { getHandle().setShieldBlockingDelay(delay); } // Paper end diff --git a/patches/server/0208-InventoryCloseEvent-Reason-API.patch b/patches/server/0208-InventoryCloseEvent-Reason-API.patch index 6e38650f62..69dc41d4ee 100644 --- a/patches/server/0208-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0208-InventoryCloseEvent-Reason-API.patch @@ -136,10 +136,10 @@ index 1b13096da1f0bc49efe25677ec24e6abe7ff2879..b70fbc1a93271bbf28402afbe9c6e538 this.containerMenu = this.inventoryMenu; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 2e02fc22a889c9c8010ae8bff1b59a13219ae014..703bb1bb42b1668c04824489fd2f349052025979 100644 +index e59fee587c2d90df5a6aa7a3df0eefc0cb5165ac..ee7cf7f1d491ffdf26c3f156d299e2f517a05608 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -378,7 +378,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -386,7 +386,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { if (((ServerPlayer) this.getHandle()).connection == null) return; if (this.getHandle().containerMenu != this.getHandle().inventoryMenu) { // fire INVENTORY_CLOSE if one already open @@ -148,7 +148,7 @@ index 2e02fc22a889c9c8010ae8bff1b59a13219ae014..703bb1bb42b1668c04824489fd2f3490 } ServerPlayer player = (ServerPlayer) this.getHandle(); AbstractContainerMenu container; -@@ -448,8 +448,14 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -456,8 +456,14 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @Override public void closeInventory() { @@ -165,7 +165,7 @@ index 2e02fc22a889c9c8010ae8bff1b59a13219ae014..703bb1bb42b1668c04824489fd2f3490 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e5dba1da323f12d77a36635c9227b1239856254..12c61db6d4b1284765f9bed3ae26131a118b318e 100644 +index 18bcc27d07d7ab4b57148521891670ab61d6432c..35addb8d7620eeeede31c4831983a2c8bfb23ef5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1273,7 +1273,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -178,7 +178,7 @@ index 4e5dba1da323f12d77a36635c9227b1239856254..12c61db6d4b1284765f9bed3ae26131a // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3059a21b554db99af96c76f72dd08591c00e3e08..9b6607700ed23b97755a2171a49b22d498a60626 100644 +index 7b1f55d02c2c1f3598b7b67c4c3d26c11c7450ae..889a2094850e6c5bda1efeac2e26bf77a007f4f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1283,7 +1283,7 @@ public class CraftEventFactory { diff --git a/patches/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch index 1f0a581e4e..c84def987a 100644 --- a/patches/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ray tracing methods to LivingEntity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ada79af49d1cafe25ca6c1fb456e1c4c3a42cb73..39dff0a38b53624c935f27cc86ff036c831f407f 100644 +index d90e74b7323a60e781d942baffe9b4bdb8ae2943..08f756b4fbb4732d73ca281b7006024b21504880 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3977,6 +3977,19 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3980,6 +3980,19 @@ public abstract class LivingEntity extends Entity implements Attackable { } // Paper start - Make shield blocking delay configurable @@ -29,7 +29,7 @@ index ada79af49d1cafe25ca6c1fb456e1c4c3a42cb73..39dff0a38b53624c935f27cc86ff036c public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index e77380686b9f0c5695be36b3e16e11b2646ac00a..f58c9edd68b02bbca10897320fae63cee1562fe3 100644 +index 4f0f21bb1f2d37a798065b7c5e0b2a77a8122823..aa5b67c704a1ae95f4b6e01696c1489c07625d16 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0252-Add-LivingEntity-getTargetEntity.patch b/patches/server/0252-Add-LivingEntity-getTargetEntity.patch index e11276838f..e8c8b04095 100644 --- a/patches/server/0252-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0252-Add-LivingEntity-getTargetEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index bdee5725029eda3a0e7bee407286480c0bb47db1..689aaf4ceedc598fe71db726215cceae6cc97296 100644 +index 64aa52c2d1fe50d304d75ebb197e8a834016c3cf..7bc0a66602d77902d83d6ca515da48e3453de900 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -127,6 +127,7 @@ import net.minecraft.world.level.storage.loot.LootTable; @@ -16,7 +16,7 @@ index bdee5725029eda3a0e7bee407286480c0bb47db1..689aaf4ceedc598fe71db726215cceae import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.scores.PlayerTeam; -@@ -4041,6 +4042,38 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4044,6 +4045,38 @@ public abstract class LivingEntity extends Entity implements Attackable { return this.level().clip(raytrace); } @@ -56,7 +56,7 @@ index bdee5725029eda3a0e7bee407286480c0bb47db1..689aaf4ceedc598fe71db726215cceae public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f58c9edd68b02bbca10897320fae63cee1562fe3..9a159f0c7489d2924dabe3fd250d844899ae5761 100644 +index aa5b67c704a1ae95f4b6e01696c1489c07625d16..97e76c3701c5e58ff5c8cd0f243efd7998f1c93d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0263-Restore-custom-InventoryHolder-support.patch b/patches/server/0263-Restore-custom-InventoryHolder-support.patch index 4fa1d8fac1..f86f8995c6 100644 --- a/patches/server/0263-Restore-custom-InventoryHolder-support.patch +++ b/patches/server/0263-Restore-custom-InventoryHolder-support.patch @@ -161,7 +161,7 @@ index 0000000000000000000000000000000000000000..224d4b2cc45b0d02230a76caee9c8857 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java -index 867091ff253541ec45b6ae7f1fb3acc83a5c4966..10a5b1853d3984427209c87bdec1d471dddb1244 100644 +index 1a2329021a6b29777c637ee4dc8cd69ed18001c9..674e3a827f8fb64e5c0beefb3c1874d6e8aee4e5 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftContainer.java @@ -49,7 +49,7 @@ public class CraftContainer extends AbstractContainerMenu { @@ -182,7 +182,7 @@ index 867091ff253541ec45b6ae7f1fb3acc83a5c4966..10a5b1853d3984427209c87bdec1d471 } // Paper end -@@ -252,6 +252,10 @@ public class CraftContainer extends AbstractContainerMenu { +@@ -214,6 +214,10 @@ public class CraftContainer extends AbstractContainerMenu { this.lastSlots = this.delegate.lastSlots; this.slots = this.delegate.slots; this.remoteSlots = this.delegate.remoteSlots; diff --git a/patches/server/0266-Make-the-default-permission-message-configurable.patch b/patches/server/0266-Make-the-default-permission-message-configurable.patch index 45ffed84a2..9b2ee34d9e 100644 --- a/patches/server/0266-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0266-Make-the-default-permission-message-configurable.patch @@ -18,10 +18,10 @@ index 5b070d158760789bbcaa984426a55d20767abe4a..e1820a339452cd3388dd7cbb928c5f58 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a4e969a82eabc5ffdb776d1574f5b003fc19b177..f727b7882a86b1e3f736816634ab4b61f69d1dff 100644 +index ffe53ca530da2b2a1b28c7ee59a7f5599949a0a1..6b63938514977f8fdfb019d55f8da28718f4cf1c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2875,6 +2875,16 @@ public final class CraftServer implements Server { +@@ -2872,6 +2872,16 @@ public final class CraftServer implements Server { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0270-Add-PlayerConnectionCloseEvent.patch b/patches/server/0270-Add-PlayerConnectionCloseEvent.patch index 5c63a589af..fd1a1d334b 100644 --- a/patches/server/0270-Add-PlayerConnectionCloseEvent.patch +++ b/patches/server/0270-Add-PlayerConnectionCloseEvent.patch @@ -69,10 +69,10 @@ index c45b8b2c89ffec7bd6a6875963c61f11185d3ee1..38947f40864f3661df2eb4baa0aef574 } } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index b31f00f2f0b7cec59301afe36c9dd7cdc120fc9d..53b1fd2d1328bde3fe195964ce39ff5c0f5a7c05 100644 +index 636b8aef2348fa4cfe63a9b7d77a64b14dc7a42c..de25b9ea8aa4b7d6fd3fed12cdd16be9ddfcbfff 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -81,7 +81,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -86,7 +86,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Nullable String requestedUsername; @Nullable diff --git a/patches/server/0288-Fix-CB-call-to-changed-postToMainThread-method.patch b/patches/server/0288-Fix-CB-call-to-changed-postToMainThread-method.patch index 06263e3eef..b135e59221 100644 --- a/patches/server/0288-Fix-CB-call-to-changed-postToMainThread-method.patch +++ b/patches/server/0288-Fix-CB-call-to-changed-postToMainThread-method.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix CB call to changed postToMainThread method diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 382920335337c8d0abd8b1f600fddd391249fe21..2d1fad00ee084841618f0da8113c7aac8c0e2b0d 100644 +index 9b1df397e1d2d8ca04b34012808be2110526f401..4f62abfe62c951b7a1df36ece34747100d6a4ff7 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -366,7 +366,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -371,7 +371,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack Objects.requireNonNull(this.connection); // CraftBukkit - Don't wait diff --git a/patches/server/0291-Expose-the-internal-current-tick.patch b/patches/server/0291-Expose-the-internal-current-tick.patch index 479758b47f..1cedc35404 100644 --- a/patches/server/0291-Expose-the-internal-current-tick.patch +++ b/patches/server/0291-Expose-the-internal-current-tick.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose the internal current tick diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f727b7882a86b1e3f736816634ab4b61f69d1dff..285bdabc7cb231d95e2a55684fbcfc81ed794117 100644 +index 6b63938514977f8fdfb019d55f8da28718f4cf1c..ae4e3c137498ff390c8cae7315c7ebfe125efc35 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2918,5 +2918,10 @@ public final class CraftServer implements Server { +@@ -2915,5 +2915,10 @@ public final class CraftServer implements Server { profile.getGameProfile().getProperties().putAll(((CraftPlayer) player).getHandle().getGameProfile().getProperties()); return profile; } diff --git a/patches/server/0294-Configurable-projectile-relative-velocity.patch b/patches/server/0294-Configurable-projectile-relative-velocity.patch index 1616b1c050..29613c9f00 100644 --- a/patches/server/0294-Configurable-projectile-relative-velocity.patch +++ b/patches/server/0294-Configurable-projectile-relative-velocity.patch @@ -25,18 +25,15 @@ P3) Solutions for 1) and especially 2) might not be future-proof, while this server-internal fix makes this change future-proof. diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 30eb86b52f00cfa61af4f93aca50ffc3547c95e8..19452d1e591afc06675d57bbebae963517ab7217 100644 +index 30eb86b52f00cfa61af4f93aca50ffc3547c95e8..d27e17ebf25cd842a943cf82bde05b2248c74414 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -182,8 +182,14 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -182,8 +182,11 @@ public abstract class Projectile extends Entity implements TraceableEntity { this.shoot((double) f5, (double) f6, (double) f7, speed, divergence); Vec3 vec3d = shooter.getKnownMovement(); - + // Paper start - allow disabling relative velocity -+ if (vec3d.lengthSqr() > 4D * 4D) { -+ vec3d = vec3d.normalize().scale(2D); -+ } + if (!shooter.level().paperConfig().misc.disableRelativeProjectileVelocity) { this.setDeltaMovement(this.getDeltaMovement().add(vec3d.x, shooter.onGround() ? 0.0D : vec3d.y, vec3d.z)); + } diff --git a/patches/server/0296-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0296-Prevent-consuming-the-wrong-itemstack.patch index b0a13ebab5..c0dbff9a6b 100644 --- a/patches/server/0296-Prevent-consuming-the-wrong-itemstack.patch +++ b/patches/server/0296-Prevent-consuming-the-wrong-itemstack.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent consuming the wrong itemstack diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index fad0445628499ac14cd9d8ab7f618c490885e798..6bec55f685dddc4d6e541f1edf3b5c4f756f8b33 100644 +index a23baa42fd3bb09f619fd6528a8a4f97d189cde6..8ee6d25c3860fe7f2e5039c74c736d82eefda237 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3855,9 +3855,14 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -32,7 +32,7 @@ index fad0445628499ac14cd9d8ab7f618c490885e798..6bec55f685dddc4d6e541f1edf3b5c4f this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; -@@ -3976,8 +3982,8 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3979,8 +3985,8 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.stopUsingItem(); diff --git a/patches/server/0317-Entity-Jump-API.patch b/patches/server/0317-Entity-Jump-API.patch index eebb514dc6..1c521e9d99 100644 --- a/patches/server/0317-Entity-Jump-API.patch +++ b/patches/server/0317-Entity-Jump-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Entity Jump API public net.minecraft.world.entity.LivingEntity jumping diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6bec55f685dddc4d6e541f1edf3b5c4f756f8b33..bfa914857ff36d6c2f5f96a1ddbc4ca96c3ee7ac 100644 +index 8ee6d25c3860fe7f2e5039c74c736d82eefda237..4c32b26e29ca3db0a2f62052e14bcc3e4c1cdea5 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3433,8 +3433,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -50,10 +50,10 @@ index 4d91bc4b90a208fec789325dbcec8cc56d1a2a8b..aa4111eef22546f8aa630228c51ef576 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9a159f0c7489d2924dabe3fd250d844899ae5761..94f2b0fa94ebc2572c33623fa5883dd7ed56c55a 100644 +index 97e76c3701c5e58ff5c8cd0f243efd7998f1c93d..b6238c327e91a52b77135290762feb8b1085fc7e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -963,4 +963,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -968,4 +968,20 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return org.bukkit.craftbukkit.CraftEquipmentSlot.getHand(this.getHandle().getUsedItemHand()); } // Paper end - active item API diff --git a/patches/server/0326-Add-tick-times-API-and-mspt-command.patch b/patches/server/0326-Add-tick-times-API-and-mspt-command.patch index 22290805e9..e1bd6dcc6c 100644 --- a/patches/server/0326-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0326-Add-tick-times-API-and-mspt-command.patch @@ -184,10 +184,10 @@ index 3ffb330a16797c04694f73b0cd9f5b38a07641b4..ff73167bfe210305491e35f18adc2755 + // Paper end - Add tick times API and /mspt command } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 285bdabc7cb231d95e2a55684fbcfc81ed794117..3f8076d077844e272e544a600f8f63611674ac62 100644 +index ae4e3c137498ff390c8cae7315c7ebfe125efc35..55b11cb574d1fd634b4f445a0605249a296c6779 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2689,6 +2689,16 @@ public final class CraftServer implements Server { +@@ -2686,6 +2686,16 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0327-Expose-MinecraftServer-isRunning.patch b/patches/server/0327-Expose-MinecraftServer-isRunning.patch index ec3e02234c..38e7506126 100644 --- a/patches/server/0327-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0327-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3f8076d077844e272e544a600f8f63611674ac62..7b0f0777dd20c5fd1813fabf8d34bc99659be9d2 100644 +index 55b11cb574d1fd634b4f445a0605249a296c6779..01415a1523a783d8581e463dcea4f96ff8d0807e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2933,5 +2933,10 @@ public final class CraftServer implements Server { +@@ -2930,5 +2930,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0339-Prevent-opening-inventories-when-frozen.patch b/patches/server/0339-Prevent-opening-inventories-when-frozen.patch index 1e3d68bf93..3f6f9857e6 100644 --- a/patches/server/0339-Prevent-opening-inventories-when-frozen.patch +++ b/patches/server/0339-Prevent-opening-inventories-when-frozen.patch @@ -27,10 +27,10 @@ index f8d4bd18f98ed914e116d0cc4a80140e4e8d759f..7daa310dd5d3eb1befb9983ce85e0354 this.initMenu(container); return OptionalInt.of(this.containerCounter); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 703bb1bb42b1668c04824489fd2f349052025979..b55919a0e61a36697c95599dba17dbe2b788fd2a 100644 +index ee7cf7f1d491ffdf26c3f156d299e2f517a05608..ba63c58d40cb3b8655fdb8177c423c67ac7cc3ef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -326,7 +326,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -334,7 +334,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { if (adventure$title == null) adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(container.getBukkitView().getTitle()); // Paper //player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, CraftChatMessage.fromString(title)[0])); // Paper - comment @@ -39,7 +39,7 @@ index 703bb1bb42b1668c04824489fd2f349052025979..b55919a0e61a36697c95599dba17dbe2 player.containerMenu = container; player.initMenu(container); } -@@ -401,7 +401,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -409,7 +409,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { net.kyori.adventure.text.Component adventure$title = inventory.title(); // Paper if (adventure$title == null) adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(inventory.getTitle()); // Paper //player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, CraftChatMessage.fromString(title)[0])); // Paper - comment diff --git a/patches/server/0354-Implement-Mob-Goal-API.patch b/patches/server/0354-Implement-Mob-Goal-API.patch index 940e3b1ee1..9382352103 100644 --- a/patches/server/0354-Implement-Mob-Goal-API.patch +++ b/patches/server/0354-Implement-Mob-Goal-API.patch @@ -780,10 +780,10 @@ index 6667ecc4b7eded4e20a415cef1e1b1179e6710b8..16f9a98b8a939e5ca7e2dc04f87134a7 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9699d15f1194af7a565504cbae5aa9e3743665ec..0b87d9c3fb7e2442798faacdd49d3fd368e64b7d 100644 +index 6ea6e3280015a31a1679a874ca63c90be8252a86..48c3d926682dd72ba476b4afc9e44e0113af0b46 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2939,5 +2939,11 @@ public final class CraftServer implements Server { +@@ -2936,5 +2936,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0393-Brand-support.patch b/patches/server/0393-Brand-support.patch index bb0376315f..af42b533fd 100644 --- a/patches/server/0393-Brand-support.patch +++ b/patches/server/0393-Brand-support.patch @@ -17,10 +17,10 @@ index e6e7dc17d1196a8211a565355f34b5dcfd478852..45181bc9c422507682d479e4d43177ec public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 2d1fad00ee084841618f0da8113c7aac8c0e2b0d..a3c67bdc2c08b3550534f37d15b0db90b479e34f 100644 +index 4f62abfe62c951b7a1df36ece34747100d6a4ff7..48085b2e7197dc44e76b812bdd514af729e21e83 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -78,6 +78,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -83,6 +83,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private volatile boolean suspendFlushingOnServerThread = false; public final java.util.Map packCallbacks = new java.util.concurrent.ConcurrentHashMap<>(); // Paper - adventure resource pack callbacks private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit @@ -28,7 +28,7 @@ index 2d1fad00ee084841618f0da8113c7aac8c0e2b0d..a3c67bdc2c08b3550534f37d15b0db90 public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -143,6 +144,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -148,6 +149,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { @@ -40,7 +40,7 @@ index 2d1fad00ee084841618f0da8113c7aac8c0e2b0d..a3c67bdc2c08b3550534f37d15b0db90 if (!(packet.payload() instanceof DiscardedPayload)) { return; } -@@ -174,6 +180,15 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -179,6 +185,15 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack try { byte[] data = new byte[payload.readableBytes()]; payload.readBytes(data); @@ -57,7 +57,7 @@ index 2d1fad00ee084841618f0da8113c7aac8c0e2b0d..a3c67bdc2c08b3550534f37d15b0db90 } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b9487ce9391413c4c596cc5450ed5c396347ec1b..12e38fcbd3a3bcf102244a2b246c090c57ef327b 100644 +index 068ff2c228308ec87fcc6d1352bd63b91bd34a93..854533854dfba24b59a15265ac759331e3ddfc74 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3139,6 +3139,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0394-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0394-Add-playPickupItemAnimation-to-LivingEntity.patch index 0fcb956c33..7fe52b1b6a 100644 --- a/patches/server/0394-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0394-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9cf3e1e20799caf4ba469ef6d5d86bfe176641f7..344ef786330d1247fdfb56ef04be130c9ffb7d8f 100644 +index b1c4970920ca8972f637c846106ae37822e495cf..cf17328aef60e5c6a0d168d2ed4d181cf47ee0b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -979,4 +979,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -984,4 +984,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { } } // Paper end - entity jump API diff --git a/patches/server/0403-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/server/0403-Fix-hex-colors-not-working-in-some-kick-messages.patch index f6f865ab1a..6124f32529 100644 --- a/patches/server/0403-Fix-hex-colors-not-working-in-some-kick-messages.patch +++ b/patches/server/0403-Fix-hex-colors-not-working-in-some-kick-messages.patch @@ -29,10 +29,10 @@ index 946b423d2184f903dc29c923d7dbe05aaa469c09..0c1bdf2329936ce479a2cc53e8a46bd2 this.connection.disconnect((Component) ichatmutablecomponent); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 53b1fd2d1328bde3fe195964ce39ff5c0f5a7c05..baedae23865ea80c6546d1f6f439e1d7712258b9 100644 +index de25b9ea8aa4b7d6fd3fed12cdd16be9ddfcbfff..d2d153e587e624025ef01fbe3dcfa4bf06f1a06b 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -128,7 +128,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -133,7 +133,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, // CraftBukkit start @Deprecated public void disconnect(String s) { diff --git a/patches/server/0409-Add-additional-open-container-api-to-HumanEntity.patch b/patches/server/0409-Add-additional-open-container-api-to-HumanEntity.patch index be29dd6b1c..15f9a92e44 100644 --- a/patches/server/0409-Add-additional-open-container-api-to-HumanEntity.patch +++ b/patches/server/0409-Add-additional-open-container-api-to-HumanEntity.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add additional open container api to HumanEntity public net/minecraft/world/level/block/state/BlockBehaviour getMenuProvider(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/MenuProvider; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 084938fa2ffa7ee462766bf03f8e2b4c0fd4bf6b..8f4c4fed41676157b717c20a5ccbfe6ad4bdb3c4 100644 +index c17dd4205983855615289cf0a5619056d237f325..6cda13df52ee4d56dd1d3c213307bfd38175584c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -463,6 +463,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -471,6 +471,70 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { return this.getHandle().containerMenu.getBukkitView(); } diff --git a/patches/server/0420-Villager-resetOffers.patch b/patches/server/0420-Villager-resetOffers.patch index 77f071ec77..ce8f9949cd 100644 --- a/patches/server/0420-Villager-resetOffers.patch +++ b/patches/server/0420-Villager-resetOffers.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Villager#resetOffers diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 5ee34073e4bd5a4765d7954b6620c0d05d8c7bc9..80fe2e3e5b97e9b6af98b73f19f8c2f5fca279fe 100644 +index 89e14bb2662fe03b4661aaa54fd65af41b1d438b..fcb3b66617150ad503bffe65de4900b1e3af8764 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -@@ -116,6 +116,13 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa +@@ -114,6 +114,13 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa return this.tradingPlayer != null; } @@ -23,12 +23,12 @@ index 5ee34073e4bd5a4765d7954b6620c0d05d8c7bc9..80fe2e3e5b97e9b6af98b73f19f8c2f5 public MerchantOffers getOffers() { if (this.level().isClientSide) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractVillager.java -index 19833c1fc6ee85e031e3c6aac3b00f44730c5e02..34e4c763c7ec971885147ab2509281fad56e1ca6 100644 +index e5f733a765068b5640e811abf9fda945a9e91c7c..3199f04d00836a0a51547c679f3f3c80d00da502 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractVillager.java -@@ -70,4 +70,11 @@ public class CraftAbstractVillager extends CraftAgeable implements AbstractVilla - public HumanEntity getTrader() { - return this.getMerchant().getTrader(); +@@ -34,4 +34,11 @@ public class CraftAbstractVillager extends CraftAgeable implements CraftMerchant + public Inventory getInventory() { + return new CraftInventory(this.getHandle().getInventory()); } + + // Paper start - Villager#resetOffers diff --git a/patches/server/0426-Add-ignore-discounts-API.patch b/patches/server/0426-Add-ignore-discounts-API.patch index 5a2d4be36b..65a552a605 100644 --- a/patches/server/0426-Add-ignore-discounts-API.patch +++ b/patches/server/0426-Add-ignore-discounts-API.patch @@ -87,7 +87,7 @@ index 89982d25f60c8b60ba91e559ef88278f338fe215..0efc8d997b34302c3e0a5d7ec73a11a9 public ItemStack getBaseCostA() { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java -index 3bf9b5c016fa638fd0377d2a031a7359430b79ce..a18088125254178d362fdd283bff704a9ccdd0a7 100644 +index 86c5bc01d5b87b4301fb83d55cf3046985c45d0f..c9e23a71a35214c363318c48d38c49b695d1ffd4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantRecipe.java @@ -22,11 +22,19 @@ public class CraftMerchantRecipe extends MerchantRecipe { @@ -139,7 +139,7 @@ index 3bf9b5c016fa638fd0377d2a031a7359430b79ce..a18088125254178d362fdd283bff704a public net.minecraft.world.item.trading.MerchantOffer toMinecraft() { List ingredients = this.getIngredients(); Preconditions.checkState(!ingredients.isEmpty(), "No offered ingredients"); -@@ -128,7 +149,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { +@@ -130,7 +151,7 @@ public class CraftMerchantRecipe extends MerchantRecipe { if (recipe instanceof CraftMerchantRecipe) { return (CraftMerchantRecipe) recipe; } else { diff --git a/patches/server/0431-Add-API-for-quit-reason.patch b/patches/server/0431-Add-API-for-quit-reason.patch index de4285201f..c4ed7bf11f 100644 --- a/patches/server/0431-Add-API-for-quit-reason.patch +++ b/patches/server/0431-Add-API-for-quit-reason.patch @@ -40,10 +40,10 @@ index 45181bc9c422507682d479e4d43177ecd3253971..2ea613f818403f8e8ece4b3689173813 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index a3c67bdc2c08b3550534f37d15b0db90b479e34f..24bf661e76fb421a8be565d9ea68edf7205254d2 100644 +index 48085b2e7197dc44e76b812bdd514af729e21e83..a1124405412cdac673f34a63988e7be957506dba 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -371,6 +371,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -376,6 +376,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private void disconnect0(DisconnectionDetails disconnectiondetails) { // CraftBukkit end @@ -52,7 +52,7 @@ index a3c67bdc2c08b3550534f37d15b0db90b479e34f..24bf661e76fb421a8be565d9ea68edf7 this.connection.disconnect(disconnectiondetails); })); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9044ed6cba10314c52c44a19be1fa88771c54be6..45e7b41f746ceb2ef295a81fa65795df062844ef 100644 +index 6f587c4bb4704d93552ba61335d87b1852fc169c..98eb00a8ee23543714d424d3ff5ca19887d6db19 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -570,7 +570,7 @@ public abstract class PlayerList { diff --git a/patches/server/0435-Add-LivingEntity-clearActiveItem.patch b/patches/server/0435-Add-LivingEntity-clearActiveItem.patch index a5b17788b8..e3b86150d3 100644 --- a/patches/server/0435-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0435-Add-LivingEntity-clearActiveItem.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index af5aab1755f80222a249b1cc7da595af78dccbbd..02160f138128cbb1f7391061128f8b6e74549f50 100644 +index 3cd21778018db5e05ee26ba35c34a89619b3d1d8..5e8225a6ae004795b4d44c4f88f262664f632589 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -937,6 +937,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -942,6 +942,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().getUseItem().asBukkitMirror(); } diff --git a/patches/server/0446-Expose-LivingEntity-hurt-direction.patch b/patches/server/0446-Expose-LivingEntity-hurt-direction.patch index f43a7b04aa..d0db144113 100644 --- a/patches/server/0446-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0446-Expose-LivingEntity-hurt-direction.patch @@ -18,7 +18,7 @@ index cb89b020d93ac838843ec2cbad562326a1e4257b..513e6505706e64f9410fa190014976dc public Vec3 currentImpulseImpactPos; @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 8f4c4fed41676157b717c20a5ccbfe6ad4bdb3c4..87d067c3a83283931bc16dccf6a304142848cd6a 100644 +index 6cda13df52ee4d56dd1d3c213307bfd38175584c..24aa891ffa9115c05439b06aece85df7a382b7c4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -125,6 +125,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { @@ -36,10 +36,10 @@ index 8f4c4fed41676157b717c20a5ccbfe6ad4bdb3c4..87d067c3a83283931bc16dccf6a30414 public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 02160f138128cbb1f7391061128f8b6e74549f50..498d5097597a35827f4293b303a956fcf63bb52d 100644 +index 5e8225a6ae004795b4d44c4f88f262664f632589..0e0c65534a782ce8d73d38efd5e2c847f685fb89 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -994,4 +994,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -999,4 +999,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().take(((CraftItem) item).getHandle(), quantity); } // Paper end - pickup animation API diff --git a/patches/server/0448-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/server/0448-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch index 4186b39237..7ac0fb0202 100644 --- a/patches/server/0448-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch +++ b/patches/server/0448-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix crash from invalid ingredient lists in diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 80fe2e3e5b97e9b6af98b73f19f8c2f5fca279fe..6139361c0e733f981506abdd7101e5ca20eeb88f 100644 +index fcb3b66617150ad503bffe65de4900b1e3af8764..2a155d3611ca2370830ca763d40074df6641958f 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -@@ -275,7 +275,11 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa +@@ -273,7 +273,11 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa Bukkit.getPluginManager().callEvent(event); } if (!event.isCancelled()) { diff --git a/patches/server/0472-Add-RegistryAccess-for-managing-Registries.patch b/patches/server/0472-Add-RegistryAccess-for-managing-Registries.patch index 7ab8906051..a13748ed84 100644 --- a/patches/server/0472-Add-RegistryAccess-for-managing-Registries.patch +++ b/patches/server/0472-Add-RegistryAccess-for-managing-Registries.patch @@ -12,10 +12,10 @@ public net.minecraft.server.RegistryLayer STATIC_ACCESS diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java new file mode 100644 -index 0000000000000000000000000000000000000000..675f5d03478907e3d8284cbea191f01c1eb15769 +index 0000000000000000000000000000000000000000..70e2c3b5cac9a0dfb043de218df20dc1ab2cc070 --- /dev/null +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -@@ -0,0 +1,143 @@ +@@ -0,0 +1,146 @@ +package io.papermc.paper.registry; + +import io.papermc.paper.adventure.PaperAdventure; @@ -50,6 +50,7 @@ index 0000000000000000000000000000000000000000..675f5d03478907e3d8284cbea191f01c +import org.bukkit.craftbukkit.generator.structure.CraftStructure; +import org.bukkit.craftbukkit.generator.structure.CraftStructureType; +import org.bukkit.craftbukkit.inventory.CraftItemType; ++import org.bukkit.craftbukkit.inventory.CraftMenuType; +import org.bukkit.craftbukkit.inventory.trim.CraftTrimMaterial; +import org.bukkit.craftbukkit.inventory.trim.CraftTrimPattern; +import org.bukkit.craftbukkit.legacy.FieldRename; @@ -64,6 +65,7 @@ index 0000000000000000000000000000000000000000..675f5d03478907e3d8284cbea191f01c +import org.bukkit.entity.memory.MemoryKey; +import org.bukkit.generator.structure.StructureType; +import org.bukkit.inventory.ItemType; ++import org.bukkit.inventory.MenuType; +import org.bukkit.inventory.meta.trim.TrimMaterial; +import org.bukkit.inventory.meta.trim.TrimPattern; +import org.bukkit.map.MapCursor; @@ -95,6 +97,7 @@ index 0000000000000000000000000000000000000000..675f5d03478907e3d8284cbea191f01c + entry(Registries.VILLAGER_PROFESSION, RegistryKey.VILLAGER_PROFESSION, Villager.Profession.class, CraftVillager.CraftProfession::new), + entry(Registries.VILLAGER_TYPE, RegistryKey.VILLAGER_TYPE, Villager.Type.class, CraftVillager.CraftType::new), + entry(Registries.MAP_DECORATION_TYPE, RegistryKey.MAP_DECORATION_TYPE, MapCursor.Type.class, CraftMapCursor.CraftType::new), ++ entry(Registries.MENU, RegistryKey.MENU, MenuType.class, CraftMenuType::new), + + // data-drivens + entry(Registries.STRUCTURE, RegistryKey.STRUCTURE, Structure.class, CraftStructure::new).delayed(), @@ -729,10 +732,10 @@ index 1dd22f11b7e2983a3069dea94c0f02b43ff1f736..397bdacab9517354875ebc0bc68d3505 String string = Registries.elementsDirPath(type.registryKey()); SimpleJsonResourceReloadListener.scanDirectory(resourceManager, string, GSON, map); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index a9832482500f08df30568ecbc65e4496ee01b414..154733684a53ff84ca8c2a994b96b68733e9fba5 100644 +index 06c6342fad78d9c845e9987c460f5990505f5059..d1db491027a5e2d22a6c956b26a974a284d44c57 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -120,78 +120,12 @@ public class CraftRegistry implements Registry { +@@ -122,81 +122,12 @@ public class CraftRegistry implements Registry { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } @@ -753,6 +756,9 @@ index a9832482500f08df30568ecbc65e4496ee01b414..154733684a53ff84ca8c2a994b96b687 - if (bukkitClass == MusicInstrument.class) { - return new CraftRegistry<>(MusicInstrument.class, registryHolder.registryOrThrow(Registries.INSTRUMENT), CraftMusicInstrument::new, FieldRename.NONE); - } +- if (bukkitClass == MenuType.class) { +- return new CraftRegistry<>(MenuType.class, registryHolder.registryOrThrow(Registries.MENU), CraftMenuType::new, FieldRename.NONE); +- } - if (bukkitClass == PotionEffectType.class) { - return new CraftRegistry<>(PotionEffectType.class, registryHolder.registryOrThrow(Registries.MOB_EFFECT), CraftPotionEffectType::new, FieldRename.NONE); - } @@ -814,7 +820,7 @@ index a9832482500f08df30568ecbc65e4496ee01b414..154733684a53ff84ca8c2a994b96b687 } if (bukkit instanceof Registry.SimpleRegistry simple) { -@@ -217,23 +151,21 @@ public class CraftRegistry implements Registry { +@@ -222,23 +153,21 @@ public class CraftRegistry implements Registry { return bukkit.get(namespacedKey); } @@ -844,7 +850,7 @@ index a9832482500f08df30568ecbc65e4496ee01b414..154733684a53ff84ca8c2a994b96b687 @Override public B get(NamespacedKey namespacedKey) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 75fe99d8ec74435cf62b427d6bed89c76c0cf6d9..f79af6910c4c83f1c56bc73434846f3e5270509f 100644 +index ae594610d1c5665aa142522a9cbb97cf6e4d10f2..e4fab101b2d10759b9bd65d35715e377236a5989 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -281,7 +281,7 @@ public final class CraftServer implements Server { @@ -864,7 +870,7 @@ index 75fe99d8ec74435cf62b427d6bed89c76c0cf6d9..f79af6910c4c83f1c56bc73434846f3e ConfigurationSection compatibilities = this.configuration.getConfigurationSection("settings.compatibility"); if (compatibilities == null) { this.activeCompatibilities = Collections.emptySet(); -@@ -2729,7 +2730,7 @@ public final class CraftServer implements Server { +@@ -2726,7 +2727,7 @@ public final class CraftServer implements Server { @Override public Registry getRegistry(Class aClass) { @@ -1162,7 +1168,7 @@ index bfbd80b60ac5df500d03c80de57e38aa7548dd46..cce9e2226ef554c10e1df1dbaa179165 when(instance.getTag(any(), any(), any())).then(mock -> { String registry = mock.getArgument(0); diff --git a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java -index 9d6c3d91b505a683b353577bf39f869173243459..c1f886c906a9f9313d97a223f719095fa2624c57 100644 +index 185f219b23ac57e15f8d0167b0077b7103a2f3f9..f4ba15a1b4b43822bd81b513af56c6667237c327 100644 --- a/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java +++ b/src/test/java/org/bukkit/support/provider/RegistriesArgumentProvider.java @@ -1,6 +1,7 @@ @@ -1173,7 +1179,7 @@ index 9d6c3d91b505a683b353577bf39f869173243459..c1f886c906a9f9313d97a223f719095f import java.util.List; import java.util.stream.Stream; import net.minecraft.core.registries.Registries; -@@ -59,35 +60,34 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { +@@ -61,36 +62,35 @@ public class RegistriesArgumentProvider implements ArgumentsProvider { private static final List DATA = Lists.newArrayList(); static { @@ -1181,6 +1187,7 @@ index 9d6c3d91b505a683b353577bf39f869173243459..c1f886c906a9f9313d97a223f719095f - register(Enchantment.class, Registries.ENCHANTMENT, CraftEnchantment.class, net.minecraft.world.item.enchantment.Enchantment.class); - register(GameEvent.class, Registries.GAME_EVENT, CraftGameEvent.class, net.minecraft.world.level.gameevent.GameEvent.class); - register(MusicInstrument.class, Registries.INSTRUMENT, CraftMusicInstrument.class, Instrument.class); +- register(MenuType.class, Registries.MENU, CraftMenuType.class, net.minecraft.world.inventory.MenuType.class); - register(PotionEffectType.class, Registries.MOB_EFFECT, CraftPotionEffectType.class, MobEffect.class); - register(Structure.class, Registries.STRUCTURE, CraftStructure.class, net.minecraft.world.level.levelgen.structure.Structure.class); - register(StructureType.class, Registries.STRUCTURE_TYPE, CraftStructureType.class, net.minecraft.world.level.levelgen.structure.StructureType.class); @@ -1218,6 +1225,7 @@ index 9d6c3d91b505a683b353577bf39f869173243459..c1f886c906a9f9313d97a223f719095f + register(RegistryKey.CAT_VARIANT, Cat.Type.class, Registries.CAT_VARIANT, CraftCat.CraftType.class, CatVariant.class); + register(RegistryKey.MAP_DECORATION_TYPE, MapCursor.Type.class, Registries.MAP_DECORATION_TYPE, CraftMapCursor.CraftType.class, MapDecorationType.class); + register(RegistryKey.BANNER_PATTERN, PatternType.class, Registries.BANNER_PATTERN, CraftPatternType.class, BannerPattern.class); ++ register(RegistryKey.MENU, MenuType.class, Registries.MENU, CraftMenuType.class, net.minecraft.world.inventory.MenuType.class); } - private static void register(Class bukkit, ResourceKey registry, Class craft, Class minecraft) { diff --git a/patches/server/0474-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0474-Collision-option-for-requiring-a-player-participant.patch index 1725f5c65d..28b12f77f8 100644 --- a/patches/server/0474-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0474-Collision-option-for-requiring-a-player-participant.patch @@ -17,10 +17,10 @@ index bed376337035545e7ec677f2f7fe3372a3c9ea25..7d131f3b3f5739468aa3115e97ed28b6 double d1 = entity.getZ() - this.getZ(); double d2 = Mth.absMax(d0, d1); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 119d6f4ec8ca6867f75f9fd2f1dc46962f16afee..2bd3ba073843b1680eeb81f7dede5973bb4f446d 100644 +index 4d8c14d3a42f3e4b963cf5f8fa764df79813912b..93634fb01962ca7a35026e3c365f2a7f6b258a39 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -789,6 +789,7 @@ public abstract class AbstractMinecart extends VehicleEntity { +@@ -799,6 +799,7 @@ public abstract class AbstractMinecart extends VehicleEntity { public void push(Entity entity) { if (!this.level().isClientSide) { if (!entity.noPhysics && !this.noPhysics) { diff --git a/patches/server/0475-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0475-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch deleted file mode 100644 index 265be53faf..0000000000 --- a/patches/server/0475-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch +++ /dev/null @@ -1,21 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Aikar -Date: Sat, 16 Jan 2021 14:30:12 -0500 -Subject: [PATCH] Remove ProjectileHitEvent call when fireballs dead - -The duplicate ProjectileHitEvent in EntityFireball was removed. The -event was always called before the duplicate call. - -diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -index beff021b589b0e34f1111b6fae92bcdd6f059de6..3107ad04dda9f43976a385976d6952e2f2af3939 100644 ---- a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -+++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -@@ -91,7 +91,7 @@ public abstract class AbstractHurtingProjectile extends Projectile { - - // CraftBukkit start - Fire ProjectileHitEvent - if (this.isRemoved()) { -- CraftEventFactory.callProjectileHitEvent(this, movingobjectposition); -+ // CraftEventFactory.callProjectileHitEvent(this, movingobjectposition); // Paper - this is an undesired duplicate event - } - // CraftBukkit end - } diff --git a/patches/server/0476-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0475-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/server/0476-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0475-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/server/0477-Make-schedule-command-per-world.patch b/patches/server/0476-Make-schedule-command-per-world.patch similarity index 100% rename from patches/server/0477-Make-schedule-command-per-world.patch rename to patches/server/0476-Make-schedule-command-per-world.patch diff --git a/patches/server/0478-Configurable-max-leash-distance.patch b/patches/server/0477-Configurable-max-leash-distance.patch similarity index 100% rename from patches/server/0478-Configurable-max-leash-distance.patch rename to patches/server/0477-Configurable-max-leash-distance.patch diff --git a/patches/server/0479-Add-BlockPreDispenseEvent.patch b/patches/server/0478-Add-BlockPreDispenseEvent.patch similarity index 97% rename from patches/server/0479-Add-BlockPreDispenseEvent.patch rename to patches/server/0478-Add-BlockPreDispenseEvent.patch index a2d508ee1c..6e9bb3b216 100644 --- a/patches/server/0479-Add-BlockPreDispenseEvent.patch +++ b/patches/server/0478-Add-BlockPreDispenseEvent.patch @@ -29,7 +29,7 @@ index 91b514967405115f22edf4255775361a672e5c2f..ddecf443df3679e3098eb54edd19585a } else { // CraftBukkit start - Fire event when pushing items into other inventories diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index c5166b0876eb925d30803277beb181ee01120586..6cc729446ff21a5718ff01fcea1496c71f77480c 100644 +index 9e67dc35ea12149265517b951a96828460b2ca67..251b605396b77b0c449972c1da75978f57587e1a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -2134,5 +2134,11 @@ public class CraftEventFactory { diff --git a/patches/server/0480-Add-PlayerChangeBeaconEffectEvent.patch b/patches/server/0479-Add-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/server/0480-Add-PlayerChangeBeaconEffectEvent.patch rename to patches/server/0479-Add-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/server/0481-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/server/0480-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/server/0481-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/server/0480-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/server/0482-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/server/0481-Add-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/server/0482-Add-PlayerStonecutterRecipeSelectEvent.patch rename to patches/server/0481-Add-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/server/0483-Expand-EntityUnleashEvent.patch b/patches/server/0482-Expand-EntityUnleashEvent.patch similarity index 99% rename from patches/server/0483-Expand-EntityUnleashEvent.patch rename to patches/server/0482-Expand-EntityUnleashEvent.patch index 8d0a37b004..39bfff3811 100644 --- a/patches/server/0483-Expand-EntityUnleashEvent.patch +++ b/patches/server/0482-Expand-EntityUnleashEvent.patch @@ -140,7 +140,7 @@ index 3c0af74ed65610b1d5e3b72fdcf28c5a3423f0da..01173fc7177d78588978e087e63efda0 flag1 = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6cc729446ff21a5718ff01fcea1496c71f77480c..ad49a7cb16de3dac7a5232abded3635a4b0b8848 100644 +index 251b605396b77b0c449972c1da75978f57587e1a..c48a9026c4db2005b67c5f70e9e1fa95b7820bc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1598,8 +1598,10 @@ public class CraftEventFactory { diff --git a/patches/server/0484-Reset-shield-blocking-on-dimension-change.patch b/patches/server/0483-Reset-shield-blocking-on-dimension-change.patch similarity index 100% rename from patches/server/0484-Reset-shield-blocking-on-dimension-change.patch rename to patches/server/0483-Reset-shield-blocking-on-dimension-change.patch diff --git a/patches/server/0485-Add-DragonEggFormEvent.patch b/patches/server/0484-Add-DragonEggFormEvent.patch similarity index 100% rename from patches/server/0485-Add-DragonEggFormEvent.patch rename to patches/server/0484-Add-DragonEggFormEvent.patch diff --git a/patches/server/0486-Add-EntityMoveEvent.patch b/patches/server/0485-Add-EntityMoveEvent.patch similarity index 97% rename from patches/server/0486-Add-EntityMoveEvent.patch rename to patches/server/0485-Add-EntityMoveEvent.patch index bb3bf939b2..d8d3a7c5ca 100644 --- a/patches/server/0486-Add-EntityMoveEvent.patch +++ b/patches/server/0485-Add-EntityMoveEvent.patch @@ -29,7 +29,7 @@ index 373560fc82e491e6c8b755fecfe78d49a2fc3e2f..644341b8bc3079c6f092226acd11667f public LevelChunk getChunkIfLoaded(int x, int z) { return this.chunkSource.getChunk(x, z, false); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 40b86b9b25135e55cc01e502dbc8cc22344efa5d..205d2b50232447a4b8b6180a622b968a32311c5f 100644 +index d94c3e86885c5a8ba636988d29f98b496e13b627..a89c6ba4140f15e7f68f0df5cf64a176d350123b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3510,6 +3510,20 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0487-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/server/0486-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 100% rename from patches/server/0487-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/server/0486-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/server/0488-Inline-shift-direction-fields.patch b/patches/server/0487-Inline-shift-direction-fields.patch similarity index 100% rename from patches/server/0488-Inline-shift-direction-fields.patch rename to patches/server/0487-Inline-shift-direction-fields.patch diff --git a/patches/server/0489-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0488-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 95% rename from patches/server/0489-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/server/0488-Allow-adding-items-to-BlockDropItemEvent.patch index 5082d493dc..4753f93e41 100644 --- a/patches/server/0489-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0488-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ad49a7cb16de3dac7a5232abded3635a4b0b8848..3e1a70fe1e523946512ac71772439f7fd292623f 100644 +index c48a9026c4db2005b67c5f70e9e1fa95b7820bc0..36adcab02e97cae2d087bae74cc4ceaf3052a9f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -462,13 +462,30 @@ public class CraftEventFactory { diff --git a/patches/server/0490-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/server/0489-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/server/0490-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/server/0489-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/server/0491-living-entity-allow-attribute-registration.patch b/patches/server/0490-living-entity-allow-attribute-registration.patch similarity index 94% rename from patches/server/0491-living-entity-allow-attribute-registration.patch rename to patches/server/0490-living-entity-allow-attribute-registration.patch index 586ae419e6..365f0f8320 100644 --- a/patches/server/0491-living-entity-allow-attribute-registration.patch +++ b/patches/server/0490-living-entity-allow-attribute-registration.patch @@ -38,10 +38,10 @@ index 5678d2007d5adf45dec0638c5dd848b601801814..0a7ed5a4f1644a70d8f98ad7a6962b81 + // Paper end - living entity allow attribute registration } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 498d5097597a35827f4293b303a956fcf63bb52d..e03a8bbd13da81644d9f302724c27705d812a10f 100644 +index 0e0c65534a782ce8d73d38efd5e2c847f685fb89..6a4e5a08acbadf05f93bd663148a8d2400325da3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -757,6 +757,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -762,6 +762,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { return this.getHandle().craftAttributes.getAttribute(attribute); } diff --git a/patches/server/0492-fix-dead-slime-setSize-invincibility.patch b/patches/server/0491-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/server/0492-fix-dead-slime-setSize-invincibility.patch rename to patches/server/0491-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/server/0493-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/server/0492-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 55% rename from patches/server/0493-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/server/0492-Merchant-getRecipes-should-return-an-immutable-list.patch index cbb0cdc052..d40a7cf8d7 100644 --- a/patches/server/0493-Merchant-getRecipes-should-return-an-immutable-list.patch +++ b/patches/server/0492-Merchant-getRecipes-should-return-an-immutable-list.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Merchant#getRecipes should return an immutable list diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchant.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchant.java -index 425c8de426cecc9919d03dc64325494104d1b294..71be1e4f17ded6ea42e36be0a9b534c6a65ec640 100644 +index 770686757a87d923ecb0361ba0939b4f7d184d76..72b5f6724278ec78605d7f435ef7ca340f195f5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchant.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchant.java -@@ -24,7 +24,7 @@ public class CraftMerchant implements Merchant { +@@ -16,7 +16,7 @@ public interface CraftMerchant extends Merchant { @Override - public List getRecipes() { -- return Collections.unmodifiableList(Lists.transform(this.merchant.getOffers(), new Function() { -+ return List.copyOf(Lists.transform(this.merchant.getOffers(), new Function() { // Paper - javadoc says 'an immutable list of trades' - not 'an unmodifiable view of a list of trades'. fixes issue with setRecipes(getRecipes()) + default List getRecipes() { +- return Collections.unmodifiableList(Lists.transform(this.getMerchant().getOffers(), new Function() { ++ return List.copyOf(Lists.transform(this.getMerchant().getOffers(), new Function() { // Paper - javadoc says 'an immutable list of trades' - not 'an unmodifiable view of a list of trades'. fixes issue with setRecipes(getRecipes()) @Override public MerchantRecipe apply(net.minecraft.world.item.trading.MerchantOffer recipe) { return recipe.asBukkit(); diff --git a/patches/server/0494-Expose-Tracked-Players.patch b/patches/server/0493-Expose-Tracked-Players.patch similarity index 100% rename from patches/server/0494-Expose-Tracked-Players.patch rename to patches/server/0493-Expose-Tracked-Players.patch diff --git a/patches/server/0495-Improve-ServerGUI.patch b/patches/server/0494-Improve-ServerGUI.patch similarity index 100% rename from patches/server/0495-Improve-ServerGUI.patch rename to patches/server/0494-Improve-ServerGUI.patch diff --git a/patches/server/0496-fix-converting-txt-to-json-file.patch b/patches/server/0495-fix-converting-txt-to-json-file.patch similarity index 97% rename from patches/server/0496-fix-converting-txt-to-json-file.patch rename to patches/server/0495-fix-converting-txt-to-json-file.patch index 8657ccb6b3..2134c10628 100644 --- a/patches/server/0496-fix-converting-txt-to-json-file.patch +++ b/patches/server/0495-fix-converting-txt-to-json-file.patch @@ -48,7 +48,7 @@ index 2b1d7a2360a9ee7bca9d93a2dc8c61d1648a8348..d5153f804cfcfd1a70c46975e3fb1e50 if (!OldUsersConverter.serverReadyAfterUserconversion(this)) { return false; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7c334ac1ae2a1b14b7570127e775a5e7d7ab2ae7..3ed10df63671725b823247840bb057292f747f3f 100644 +index 9b94ca912f99a3a465f30130b24347fc9aca72ff..123fe4f5b98a7483af86695ec82987abd45eafb2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -179,6 +179,7 @@ public abstract class PlayerList { diff --git a/patches/server/0497-Add-worldborder-events.patch b/patches/server/0496-Add-worldborder-events.patch similarity index 100% rename from patches/server/0497-Add-worldborder-events.patch rename to patches/server/0496-Add-worldborder-events.patch diff --git a/patches/server/0498-Add-PlayerNameEntityEvent.patch b/patches/server/0497-Add-PlayerNameEntityEvent.patch similarity index 100% rename from patches/server/0498-Add-PlayerNameEntityEvent.patch rename to patches/server/0497-Add-PlayerNameEntityEvent.patch diff --git a/patches/server/0499-Add-recipe-to-cook-events.patch b/patches/server/0498-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/server/0499-Add-recipe-to-cook-events.patch rename to patches/server/0498-Add-recipe-to-cook-events.patch diff --git a/patches/server/0500-Add-Block-isValidTool.patch b/patches/server/0499-Add-Block-isValidTool.patch similarity index 100% rename from patches/server/0500-Add-Block-isValidTool.patch rename to patches/server/0499-Add-Block-isValidTool.patch diff --git a/patches/server/0501-Allow-using-signs-inside-spawn-protection.patch b/patches/server/0500-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/server/0501-Allow-using-signs-inside-spawn-protection.patch rename to patches/server/0500-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/server/0502-Expand-world-key-API.patch b/patches/server/0501-Expand-world-key-API.patch similarity index 97% rename from patches/server/0502-Expand-world-key-API.patch rename to patches/server/0501-Expand-world-key-API.patch index bf1f6198d8..f2077e285b 100644 --- a/patches/server/0502-Expand-world-key-API.patch +++ b/patches/server/0501-Expand-world-key-API.patch @@ -20,7 +20,7 @@ index 1963e826548c5a8859c50f57654784c3aef50e44..04a39cb6c13c26e2cb1d73a9da98df5d // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f79af6910c4c83f1c56bc73434846f3e5270509f..3b1e073f8873e23eee187a2d60529c044e3d2f55 100644 +index e4fab101b2d10759b9bd65d35715e377236a5989..99ff052c1935b9eba5fc519ae18c335893595337 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1181,9 +1181,15 @@ public final class CraftServer implements Server { diff --git a/patches/server/0503-Add-fast-alternative-constructor-for-Rotations.patch b/patches/server/0502-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/server/0503-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/server/0502-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/server/0504-Drop-carried-item-when-player-has-disconnected.patch b/patches/server/0503-Drop-carried-item-when-player-has-disconnected.patch similarity index 93% rename from patches/server/0504-Drop-carried-item-when-player-has-disconnected.patch rename to patches/server/0503-Drop-carried-item-when-player-has-disconnected.patch index e7dd2e05b7..ababb3984c 100644 --- a/patches/server/0504-Drop-carried-item-when-player-has-disconnected.patch +++ b/patches/server/0503-Drop-carried-item-when-player-has-disconnected.patch @@ -7,7 +7,7 @@ Fixes disappearance of held items, when a player gets disconnected and PlayerDro Closes #5036 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3ed10df63671725b823247840bb057292f747f3f..28d99ca33606d2ff44c639c78edfcaa131faf626 100644 +index 123fe4f5b98a7483af86695ec82987abd45eafb2..bbc6f64a3b2c0702a0a752acd48145cdcafd742e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -588,6 +588,14 @@ public abstract class PlayerList { diff --git a/patches/server/0505-forced-whitelist-use-configurable-kick-message.patch b/patches/server/0504-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/server/0505-forced-whitelist-use-configurable-kick-message.patch rename to patches/server/0504-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/server/0506-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/server/0505-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/server/0506-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/server/0505-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/server/0507-Expose-protocol-version.patch b/patches/server/0506-Expose-protocol-version.patch similarity index 100% rename from patches/server/0507-Expose-protocol-version.patch rename to patches/server/0506-Expose-protocol-version.patch diff --git a/patches/server/0508-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/server/0507-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/server/0508-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/server/0507-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/server/0509-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/server/0508-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 77% rename from patches/server/0509-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/server/0508-Fix-PlayerItemConsumeEvent-cancelling-properly.patch index b131d8d3a7..a47593aa71 100644 --- a/patches/server/0509-Fix-PlayerItemConsumeEvent-cancelling-properly.patch +++ b/patches/server/0508-Fix-PlayerItemConsumeEvent-cancelling-properly.patch @@ -9,7 +9,7 @@ till their item is switched. This patch clears the active item when the event is cancelled diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 205d2b50232447a4b8b6180a622b968a32311c5f..5b0ff701bd9dd9ccd9596a68732241d689b530d5 100644 +index a89c6ba4140f15e7f68f0df5cf64a176d350123b..afa2d3f5199fcac5c83639bb87e31425da4c5310 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -4011,6 +4011,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -18,5 +18,5 @@ index 205d2b50232447a4b8b6180a622b968a32311c5f..5b0ff701bd9dd9ccd9596a68732241d6 if (event.isCancelled()) { + this.stopUsingItem(); // Paper - event is using an item, clear active item to reset its use // Update client - ((ServerPlayer) this).getBukkitEntity().updateInventory(); - ((ServerPlayer) this).getBukkitEntity().updateScaledHealth(); + if (this.useItem.getItem() instanceof net.minecraft.world.item.SuspiciousStewItem itemSuspiciousStew) { + itemSuspiciousStew.cancelUsingItem(entityPlayer, this.useItem); diff --git a/patches/server/0510-Add-bypass-host-check.patch b/patches/server/0509-Add-bypass-host-check.patch similarity index 100% rename from patches/server/0510-Add-bypass-host-check.patch rename to patches/server/0509-Add-bypass-host-check.patch diff --git a/patches/server/0511-Set-area-affect-cloud-rotation.patch b/patches/server/0510-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/server/0511-Set-area-affect-cloud-rotation.patch rename to patches/server/0510-Set-area-affect-cloud-rotation.patch diff --git a/patches/server/0512-add-isDeeplySleeping-to-HumanEntity.patch b/patches/server/0511-add-isDeeplySleeping-to-HumanEntity.patch similarity index 90% rename from patches/server/0512-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/server/0511-add-isDeeplySleeping-to-HumanEntity.patch index 8784fcb163..eaac6f65d8 100644 --- a/patches/server/0512-add-isDeeplySleeping-to-HumanEntity.patch +++ b/patches/server/0511-add-isDeeplySleeping-to-HumanEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add isDeeplySleeping to HumanEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 87d067c3a83283931bc16dccf6a304142848cd6a..148279d06dc5bf46aa5d4319f0b7d2ebfcee412d 100644 +index 24aa891ffa9115c05439b06aece85df7a382b7c4..0222b6c68112551336f17a722fc3399898cdc7bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -132,6 +132,13 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0513-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/server/0512-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/server/0513-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/server/0512-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/server/0514-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/server/0513-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/server/0514-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/server/0513-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/server/0515-fix-PigZombieAngerEvent-cancellation.patch b/patches/server/0514-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/server/0515-fix-PigZombieAngerEvent-cancellation.patch rename to patches/server/0514-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/server/0516-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/server/0515-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/server/0516-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/server/0515-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/server/0517-Add-PlayerDeepSleepEvent.patch b/patches/server/0516-Add-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/server/0517-Add-PlayerDeepSleepEvent.patch rename to patches/server/0516-Add-PlayerDeepSleepEvent.patch diff --git a/patches/server/0518-More-World-API.patch b/patches/server/0517-More-World-API.patch similarity index 100% rename from patches/server/0518-More-World-API.patch rename to patches/server/0517-More-World-API.patch diff --git a/patches/server/0519-Add-PlayerBedFailEnterEvent.patch b/patches/server/0518-Add-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/server/0519-Add-PlayerBedFailEnterEvent.patch rename to patches/server/0518-Add-PlayerBedFailEnterEvent.patch diff --git a/patches/server/0520-Implement-methods-to-convert-between-Component-and-B.patch b/patches/server/0519-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/server/0520-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/server/0519-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/server/0521-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/server/0520-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch similarity index 100% rename from patches/server/0521-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch rename to patches/server/0520-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch diff --git a/patches/server/0522-Introduce-beacon-activation-deactivation-events.patch b/patches/server/0521-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/server/0522-Introduce-beacon-activation-deactivation-events.patch rename to patches/server/0521-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/server/0523-Add-Channel-initialization-listeners.patch b/patches/server/0522-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/server/0523-Add-Channel-initialization-listeners.patch rename to patches/server/0522-Add-Channel-initialization-listeners.patch diff --git a/patches/server/0524-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/server/0523-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/server/0524-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/server/0523-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/server/0525-Add-more-WanderingTrader-API.patch b/patches/server/0524-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/server/0525-Add-more-WanderingTrader-API.patch rename to patches/server/0524-Add-more-WanderingTrader-API.patch diff --git a/patches/server/0526-Add-EntityBlockStorage-clearEntities.patch b/patches/server/0525-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/server/0526-Add-EntityBlockStorage-clearEntities.patch rename to patches/server/0525-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/server/0527-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/server/0526-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/server/0527-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/server/0526-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/server/0528-Add-HiddenPotionEffect-API.patch b/patches/server/0527-Add-HiddenPotionEffect-API.patch similarity index 100% rename from patches/server/0528-Add-HiddenPotionEffect-API.patch rename to patches/server/0527-Add-HiddenPotionEffect-API.patch diff --git a/patches/server/0529-Inventory-close.patch b/patches/server/0528-Inventory-close.patch similarity index 100% rename from patches/server/0529-Inventory-close.patch rename to patches/server/0528-Inventory-close.patch diff --git a/patches/server/0530-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/server/0529-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/server/0530-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/server/0529-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/server/0531-Add-basic-Datapack-API.patch b/patches/server/0530-Add-basic-Datapack-API.patch similarity index 96% rename from patches/server/0531-Add-basic-Datapack-API.patch rename to patches/server/0530-Add-basic-Datapack-API.patch index a01b7be0cd..fbd2c201df 100644 --- a/patches/server/0531-Add-basic-Datapack-API.patch +++ b/patches/server/0530-Add-basic-Datapack-API.patch @@ -92,7 +92,7 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3b1e073f8873e23eee187a2d60529c044e3d2f55..46a763c111e97c60f44f1a3bb35bedcc33f97817 100644 +index 99ff052c1935b9eba5fc519ae18c335893595337..1b320ab17379da9b82320e63babb0f395d4b85a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -305,6 +305,7 @@ public final class CraftServer implements Server { @@ -111,7 +111,7 @@ index 3b1e073f8873e23eee187a2d60529c044e3d2f55..46a763c111e97c60f44f1a3bb35bedcc } public boolean getCommandBlockOverride(String command) { -@@ -3009,5 +3011,11 @@ public final class CraftServer implements Server { +@@ -3006,5 +3008,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0532-Add-environment-variable-to-disable-server-gui.patch b/patches/server/0531-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/server/0532-Add-environment-variable-to-disable-server-gui.patch rename to patches/server/0531-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/server/0533-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0532-Expand-PlayerGameModeChangeEvent.patch similarity index 99% rename from patches/server/0533-Expand-PlayerGameModeChangeEvent.patch rename to patches/server/0532-Expand-PlayerGameModeChangeEvent.patch index 3d09038111..08394e448a 100644 --- a/patches/server/0533-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0532-Expand-PlayerGameModeChangeEvent.patch @@ -147,7 +147,7 @@ index 276c0b017452a1d7b60a2a8e779f2f3fcf4960cc..9781047aa5e0a6e6bc9f9c43a1eb347b } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3bc62788d63e98eb9b2a2b381272b262040dcb5f..c9dc7c570e86f420cf8c6343c6ffbdbca427e7a7 100644 +index 7de53f6750d478a052bc8ade6edac056565fe068..a85983b947147a1557908846b8773aab29c17fae 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1654,7 +1654,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0534-ItemStack-repair-check-API.patch b/patches/server/0533-ItemStack-repair-check-API.patch similarity index 100% rename from patches/server/0534-ItemStack-repair-check-API.patch rename to patches/server/0533-ItemStack-repair-check-API.patch diff --git a/patches/server/0535-More-Enchantment-API.patch b/patches/server/0534-More-Enchantment-API.patch similarity index 100% rename from patches/server/0535-More-Enchantment-API.patch rename to patches/server/0534-More-Enchantment-API.patch diff --git a/patches/server/0536-Move-range-check-for-block-placing-up.patch b/patches/server/0535-Move-range-check-for-block-placing-up.patch similarity index 100% rename from patches/server/0536-Move-range-check-for-block-placing-up.patch rename to patches/server/0535-Move-range-check-for-block-placing-up.patch diff --git a/patches/server/0537-Add-Mob-lookAt-API.patch b/patches/server/0536-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/server/0537-Add-Mob-lookAt-API.patch rename to patches/server/0536-Add-Mob-lookAt-API.patch diff --git a/patches/server/0538-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/0537-Correctly-check-if-bucket-dispenses-will-succeed-for.patch similarity index 100% rename from patches/server/0538-Correctly-check-if-bucket-dispenses-will-succeed-for.patch rename to patches/server/0537-Correctly-check-if-bucket-dispenses-will-succeed-for.patch diff --git a/patches/server/0539-Add-Unix-domain-socket-support.patch b/patches/server/0538-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/server/0539-Add-Unix-domain-socket-support.patch rename to patches/server/0538-Add-Unix-domain-socket-support.patch diff --git a/patches/server/0540-Add-EntityInsideBlockEvent.patch b/patches/server/0539-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/server/0540-Add-EntityInsideBlockEvent.patch rename to patches/server/0539-Add-EntityInsideBlockEvent.patch diff --git a/patches/server/0541-Improve-item-default-attribute-API.patch b/patches/server/0540-Improve-item-default-attribute-API.patch similarity index 100% rename from patches/server/0541-Improve-item-default-attribute-API.patch rename to patches/server/0540-Improve-item-default-attribute-API.patch diff --git a/patches/server/0542-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0541-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/server/0542-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/server/0541-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/server/0543-More-Lidded-Block-API.patch b/patches/server/0542-More-Lidded-Block-API.patch similarity index 100% rename from patches/server/0543-More-Lidded-Block-API.patch rename to patches/server/0542-More-Lidded-Block-API.patch diff --git a/patches/server/0544-Limit-item-frame-cursors-on-maps.patch b/patches/server/0543-Limit-item-frame-cursors-on-maps.patch similarity index 100% rename from patches/server/0544-Limit-item-frame-cursors-on-maps.patch rename to patches/server/0543-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/server/0545-Add-PlayerKickEvent-causes.patch b/patches/server/0544-Add-PlayerKickEvent-causes.patch similarity index 92% rename from patches/server/0545-Add-PlayerKickEvent-causes.patch rename to patches/server/0544-Add-PlayerKickEvent-causes.patch index a70065712f..f970c99ba4 100644 --- a/patches/server/0545-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0544-Add-PlayerKickEvent-causes.patch @@ -95,10 +95,21 @@ index d1caaecfdfba1cdeba032f0bc38c06541fa61633..6468b3a25c7527a2fde6899e4812b5cb i++; } diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246e73c0236 100644 +index a1124405412cdac673f34a63988e7be957506dba..64450024ce8094874875321537ddab71ab5206fa 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -128,7 +128,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -62,8 +62,8 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack + } + + @Override +- public void kickPlayer(Component reason) { +- this.disconnect(reason); ++ public void kickPlayer(Component reason, org.bukkit.event.player.PlayerKickEvent.Cause cause) { // Paper - kick event causes ++ this.disconnect(reason, cause); // Paper - kick event causes + } + // CraftBukkit end + private static final Logger LOGGER = LogUtils.getLogger(); +@@ -133,7 +133,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } else if (!this.isSingleplayerOwner()) { // Paper start - This needs to be handled on the main thread for plugins server.submit(() -> { @@ -107,7 +118,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 }); // Paper end - This needs to be handled on the main thread for plugins } -@@ -164,7 +164,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -169,7 +169,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t register custom payload", ex); @@ -116,7 +127,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } } else if (identifier.equals(ServerCommonPacketListenerImpl.CUSTOM_UNREGISTER)) { try { -@@ -174,7 +174,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -179,7 +179,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); @@ -125,7 +136,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } } else { try { -@@ -192,7 +192,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -197,7 +197,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack this.cserver.getMessenger().dispatchIncomingMessage(this.player.getBukkitEntity(), identifier.toString(), data); } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); @@ -134,7 +145,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } } -@@ -208,7 +208,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -213,7 +213,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack PacketUtils.ensureRunningOnSameThread(packet, this, (BlockableEventLoop) this.server); if (packet.action() == ServerboundResourcePackPacket.Action.DECLINED && this.server.isResourcePackRequired()) { ServerCommonPacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack {} rejection", this.playerProfile().getName(), packet.id()); @@ -143,7 +154,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } // Paper start - adventure pack callbacks // call the callbacks before the previously-existing event so the event has final say -@@ -238,7 +238,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -243,7 +243,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack return; } // CraftBukkit end @@ -152,7 +163,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } protected void keepConnectionAlive() { -@@ -250,7 +250,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -255,7 +255,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack if (!this.isSingleplayerOwner() && elapsedTime >= 15000L) { // Paper - use vanilla's 15000L between keep alive packets if (this.keepAlivePending && !this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // Paper - check keepalive limit, don't fire if already disconnected @@ -161,7 +172,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } else if (this.checkIfClosed(currentTime)) { // Paper this.keepAlivePending = true; this.keepAliveTime = currentTime; -@@ -266,7 +266,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -271,7 +271,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private boolean checkIfClosed(long time) { if (this.closed) { if (time - this.closedListenerTime >= 15000L) { @@ -170,7 +181,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 } return false; -@@ -318,15 +318,25 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -323,15 +323,25 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack // Paper start - adventure public void disconnect(final net.kyori.adventure.text.Component reason) { @@ -199,7 +210,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 // CraftBukkit start - fire PlayerKickEvent if (this.processedDisconnect) { return; -@@ -335,7 +345,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -340,7 +350,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack Waitable waitable = new Waitable() { @Override protected Object evaluate() { @@ -208,7 +219,7 @@ index 24bf661e76fb421a8be565d9ea68edf7205254d2..feb529adf2168025c785ab92d95a3246 return null; } }; -@@ -354,7 +364,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -359,7 +369,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack net.kyori.adventure.text.Component leaveMessage = net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? this.player.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(this.player.getScoreboardName())); // Paper - Adventure @@ -418,8 +429,21 @@ index 568f5d7165521304c7a92f32984a1d605d545ad5..b30c71ad0cc2602d2c026433a94c9ca4 } } +diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +index d2d153e587e624025ef01fbe3dcfa4bf06f1a06b..e0a10f1d8bf2c0df66e62bdf2a174ce6a66bbd6d 100644 +--- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +@@ -70,7 +70,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + } + + @Override +- public void kickPlayer(Component reason) { ++ public void kickPlayer(Component reason, org.bukkit.event.player.PlayerKickEvent.Cause cause) { // Paper - kick event causes - during login, no event can be called. + this.disconnect(reason); + } + // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a0e570ae008647c236d24a86325d9bab404f6c9e..a8a92f0bb76467c106da62720dbf9be29caac265 100644 +index bbc6f64a3b2c0702a0a752acd48145cdcafd742e..55a2f234436808258ef59f889a9b253fe79b82e8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -675,7 +675,7 @@ public abstract class PlayerList { @@ -471,15 +495,24 @@ index f472dea0bd4f834c0c8f0aa59ae7cdae082b14af..2fa51c3a70f43cd23b8f494fc643d66c } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c9dc7c570e86f420cf8c6343c6ffbdbca427e7a7..7fb6bfe2863d856f27da29a77026f4bc821c929c 100644 +index a85983b947147a1557908846b8773aab29c17fae..b747df28b862990d5db08329149272c67eb17d94 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -635,7 +635,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot - if (this.getHandle().connection == null) return; +@@ -275,7 +275,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { -- this.getHandle().connection.disconnect(CraftChatMessage.fromStringOrEmpty(message, true)); -+ this.getHandle().connection.disconnect(CraftChatMessage.fromStringOrEmpty(message, true), org.bukkit.event.player.PlayerKickEvent.Cause.PLUGIN); // Paper - kick event cause + void sendPacket(Packet packet); + +- void kickPlayer(Component reason); ++ void kickPlayer(Component reason, org.bukkit.event.player.PlayerKickEvent.Cause cause); // Paper - kick event causes + } + + public record CookieFuture(ResourceLocation key, CompletableFuture future) { +@@ -635,7 +635,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + @Override + public void kickPlayer(String message) { + org.spigotmc.AsyncCatcher.catchOp("player kick"); // Spigot +- this.getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true)); ++ this.getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true), org.bukkit.event.player.PlayerKickEvent.Cause.PLUGIN); // Paper - kick event cause } // Paper start diff --git a/patches/server/0546-Add-PufferFishStateChangeEvent.patch b/patches/server/0545-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/server/0546-Add-PufferFishStateChangeEvent.patch rename to patches/server/0545-Add-PufferFishStateChangeEvent.patch diff --git a/patches/server/0547-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/server/0546-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/server/0547-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/server/0546-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/server/0548-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/server/0547-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch similarity index 100% rename from patches/server/0548-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch rename to patches/server/0547-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch diff --git a/patches/server/0549-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0548-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/server/0549-Add-option-to-fix-items-merging-through-walls.patch rename to patches/server/0548-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/server/0550-Add-BellRevealRaiderEvent.patch b/patches/server/0549-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/server/0550-Add-BellRevealRaiderEvent.patch rename to patches/server/0549-Add-BellRevealRaiderEvent.patch diff --git a/patches/server/0551-Fix-invulnerable-end-crystals.patch b/patches/server/0550-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/server/0551-Fix-invulnerable-end-crystals.patch rename to patches/server/0550-Fix-invulnerable-end-crystals.patch diff --git a/patches/server/0552-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0551-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/server/0552-Add-ElderGuardianAppearanceEvent.patch rename to patches/server/0551-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/server/0553-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0552-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/server/0553-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/server/0552-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/server/0554-Line-Of-Sight-Changes.patch b/patches/server/0553-Line-Of-Sight-Changes.patch similarity index 95% rename from patches/server/0554-Line-Of-Sight-Changes.patch rename to patches/server/0553-Line-Of-Sight-Changes.patch index 14cbad6db3..d2ab96a4d9 100644 --- a/patches/server/0554-Line-Of-Sight-Changes.patch +++ b/patches/server/0553-Line-Of-Sight-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Line Of Sight Changes diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5b0ff701bd9dd9ccd9596a68732241d689b530d5..a3a19f288643ce290c1e2119ba794f2409e83ed0 100644 +index afa2d3f5199fcac5c83639bb87e31425da4c5310..e56ae5170526fdc9d4e6f8b94a1e6ebc77cae582 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3755,7 +3755,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -45,7 +45,7 @@ index 04a39cb6c13c26e2cb1d73a9da98df5d04df69bc..5d137f8c42356359701e1bea7525f82c // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index e03a8bbd13da81644d9f302724c27705d812a10f..64a6ceeccc1464c83a837bdedbe729273cad5343 100644 +index 6a4e5a08acbadf05f93bd663148a8d2400325da3..9032f0d30a781ac142e9a3d3a07cc4d4d51fc92f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -630,6 +630,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0555-add-per-world-spawn-limits.patch b/patches/server/0554-add-per-world-spawn-limits.patch similarity index 100% rename from patches/server/0555-add-per-world-spawn-limits.patch rename to patches/server/0554-add-per-world-spawn-limits.patch diff --git a/patches/server/0556-Fix-potions-splash-events.patch b/patches/server/0555-Fix-potions-splash-events.patch similarity index 99% rename from patches/server/0556-Fix-potions-splash-events.patch rename to patches/server/0555-Fix-potions-splash-events.patch index 27cedac8c8..38cfaf9769 100644 --- a/patches/server/0556-Fix-potions-splash-events.patch +++ b/patches/server/0555-Fix-potions-splash-events.patch @@ -143,7 +143,7 @@ index be787a5b52e90796d4f06e17e564f4324807c3e6..cb34cc9443da56c0497c7a0192c8b836 public boolean isLingering() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3e1a70fe1e523946512ac71772439f7fd292623f..88a5b50396fddc18b733a52ad66eedd10751f8ea 100644 +index 36adcab02e97cae2d087bae74cc4ceaf3052a9f8..b93fa1ea73f0b218e6c6bed8bd36694e26544ab0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -886,6 +886,32 @@ public class CraftEventFactory { diff --git a/patches/server/0557-Add-more-LimitedRegion-API.patch b/patches/server/0556-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/server/0557-Add-more-LimitedRegion-API.patch rename to patches/server/0556-Add-more-LimitedRegion-API.patch diff --git a/patches/server/0558-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0557-Fix-PlayerDropItemEvent-using-wrong-item.patch similarity index 100% rename from patches/server/0558-Fix-PlayerDropItemEvent-using-wrong-item.patch rename to patches/server/0557-Fix-PlayerDropItemEvent-using-wrong-item.patch diff --git a/patches/server/0559-Missing-Entity-API.patch b/patches/server/0558-Missing-Entity-API.patch similarity index 99% rename from patches/server/0559-Missing-Entity-API.patch rename to patches/server/0558-Missing-Entity-API.patch index 2537e57c32..14e5128e24 100644 --- a/patches/server/0559-Missing-Entity-API.patch +++ b/patches/server/0558-Missing-Entity-API.patch @@ -828,7 +828,7 @@ index 2cec61a1bb050c1ef81c5fc3d0afafe9ff29d459..97fa4e1e70203194bd939618b2fad926 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 64a6ceeccc1464c83a837bdedbe729273cad5343..543c5b53b0bf32ad8f9a87437fa8b3a472de178b 100644 +index 9032f0d30a781ac142e9a3d3a07cc4d4d51fc92f..73719d488d165ec66a0a1f0301a1bd1ba435259a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -123,6 +123,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -845,7 +845,7 @@ index 64a6ceeccc1464c83a837bdedbe729273cad5343..543c5b53b0bf32ad8f9a87437fa8b3a4 @Override public double getAbsorptionAmount() { return this.getHandle().getAbsorptionAmount(); -@@ -909,14 +916,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -914,14 +921,29 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @Override public boolean isInvisible() { diff --git a/patches/server/0560-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0559-Fix-return-value-of-Block-applyBoneMeal-always-being.patch similarity index 100% rename from patches/server/0560-Fix-return-value-of-Block-applyBoneMeal-always-being.patch rename to patches/server/0559-Fix-return-value-of-Block-applyBoneMeal-always-being.patch diff --git a/patches/server/0561-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0560-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 100% rename from patches/server/0561-Use-getChunkIfLoadedImmediately-in-places.patch rename to patches/server/0560-Use-getChunkIfLoadedImmediately-in-places.patch diff --git a/patches/server/0562-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0561-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/server/0562-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/server/0561-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/server/0563-Add-PlayerArmSwingEvent.patch b/patches/server/0562-Add-PlayerArmSwingEvent.patch similarity index 100% rename from patches/server/0563-Add-PlayerArmSwingEvent.patch rename to patches/server/0562-Add-PlayerArmSwingEvent.patch diff --git a/patches/server/0564-Fix-kick-event-leave-message-not-being-sent.patch b/patches/server/0563-Fix-kick-event-leave-message-not-being-sent.patch similarity index 96% rename from patches/server/0564-Fix-kick-event-leave-message-not-being-sent.patch rename to patches/server/0563-Fix-kick-event-leave-message-not-being-sent.patch index 04ae800110..461885e49a 100644 --- a/patches/server/0564-Fix-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0563-Fix-kick-event-leave-message-not-being-sent.patch @@ -17,10 +17,10 @@ index f20019261a09f425137731f7a4b92e889b617334..9982940af7d10ca7799e2c21ac994ea3 public boolean isRealPlayer; // Paper public com.destroystokyo.paper.event.entity.PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - PlayerNaturallySpawnCreaturesEvent diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index feb529adf2168025c785ab92d95a3246e73c0236..b43f87ff4b9853b5d4bbea5ff9686d64d9d0d26b 100644 +index 64450024ce8094874875321537ddab71ab5206fa..6998f32f8d79dbdb6b31ffaa126602fc4a428616 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -110,6 +110,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -115,6 +115,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void onDisconnect(DisconnectionDetails info) { @@ -32,7 +32,7 @@ index feb529adf2168025c785ab92d95a3246e73c0236..b43f87ff4b9853b5d4bbea5ff9686d64 if (this.isSingleplayerOwner()) { ServerCommonPacketListenerImpl.LOGGER.info("Stopping singleplayer server as player logged out"); this.server.halt(false); -@@ -374,18 +379,17 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -379,18 +384,17 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack // Do not kick the player return; } @@ -101,7 +101,7 @@ index 3b20dce53403e241261f270f0a9e32f12b9e368a..08c4d0b79dc1c6e51105487b96e9333a this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2b15648549245962c6427af27c3ea34e443b37f3..2f22ae87cd467b73883a38553fab23f8590d17a1 100644 +index 55a2f234436808258ef59f889a9b253fe79b82e8..2b0eed116327e74ff66aa065e42899e74b90abf1 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -561,6 +561,11 @@ public abstract class PlayerList { diff --git a/patches/server/0565-Don-t-apply-cramming-damage-to-players.patch b/patches/server/0564-Don-t-apply-cramming-damage-to-players.patch similarity index 100% rename from patches/server/0565-Don-t-apply-cramming-damage-to-players.patch rename to patches/server/0564-Don-t-apply-cramming-damage-to-players.patch diff --git a/patches/server/0566-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0565-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/server/0566-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/server/0565-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/server/0567-Add-missing-forceDrop-toggles.patch b/patches/server/0566-Add-missing-forceDrop-toggles.patch similarity index 100% rename from patches/server/0567-Add-missing-forceDrop-toggles.patch rename to patches/server/0566-Add-missing-forceDrop-toggles.patch diff --git a/patches/server/0568-Stinger-API.patch b/patches/server/0567-Stinger-API.patch similarity index 95% rename from patches/server/0568-Stinger-API.patch rename to patches/server/0567-Stinger-API.patch index 766da8df45..0ace28bb68 100644 --- a/patches/server/0568-Stinger-API.patch +++ b/patches/server/0567-Stinger-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stinger API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 543c5b53b0bf32ad8f9a87437fa8b3a472de178b..e3487e8429b285519a0a12d6d283266225b75a80 100644 +index 73719d488d165ec66a0a1f0301a1bd1ba435259a..1f704ba3b67838718913f892d810364ae6a71d54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -361,6 +361,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0569-Add-System.out-err-catcher.patch b/patches/server/0568-Add-System.out-err-catcher.patch similarity index 98% rename from patches/server/0569-Add-System.out-err-catcher.patch rename to patches/server/0568-Add-System.out-err-catcher.patch index 738711cfd7..139b410ef1 100644 --- a/patches/server/0569-Add-System.out-err-catcher.patch +++ b/patches/server/0568-Add-System.out-err-catcher.patch @@ -105,7 +105,7 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 46a763c111e97c60f44f1a3bb35bedcc33f97817..1fd9a651e469fcf46752e97bc42d68961b0f2df0 100644 +index 1b320ab17379da9b82320e63babb0f395d4b85a8..e09b0a624a80216db5b6f7882c3765f2eb967b06 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -307,6 +307,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0570-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0569-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 100% rename from patches/server/0570-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/server/0569-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/server/0571-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0570-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/server/0571-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/server/0570-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/server/0572-Add-PlayerSetSpawnEvent.patch b/patches/server/0571-Add-PlayerSetSpawnEvent.patch similarity index 98% rename from patches/server/0572-Add-PlayerSetSpawnEvent.patch rename to patches/server/0571-Add-PlayerSetSpawnEvent.patch index 2ab6dede65..28e265e406 100644 --- a/patches/server/0572-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0571-Add-PlayerSetSpawnEvent.patch @@ -154,7 +154,7 @@ index d1b21afe48dbe1e53d4a046434336be580497165..2dd10cada8d36ed5565481f3f5a5fba1 public SectionPos getLastSectionPos() { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3e323c55c01d75b7d2f25d32710afb990b0eee10..5665a0d6ed14e17e1a343794f10e173d864ad9de 100644 +index 2b0eed116327e74ff66aa065e42899e74b90abf1..c7dc335d6da208c224d94256eab11b2c3c63745f 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -845,7 +845,7 @@ public abstract class PlayerList { @@ -187,7 +187,7 @@ index ba22ad1e4253477572d10d71db6db0ebc14d6755..94d067e9eeee73183de25165d8c97043 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7fb6bfe2863d856f27da29a77026f4bc821c929c..2f9c5d6825795b6dc8074d04bec944f93ac71a5a 100644 +index b747df28b862990d5db08329149272c67eb17d94..bc0d63f90e352ad4158d1dcc0f21a34954279095 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1413,9 +1413,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0573-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0572-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 100% rename from patches/server/0573-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/server/0572-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/server/0574-Optimize-entity-tracker-passenger-checks.patch b/patches/server/0573-Optimize-entity-tracker-passenger-checks.patch similarity index 100% rename from patches/server/0574-Optimize-entity-tracker-passenger-checks.patch rename to patches/server/0573-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/server/0575-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0574-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/server/0575-Config-option-for-Piglins-guarding-chests.patch rename to patches/server/0574-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/server/0576-Add-EntityDamageItemEvent.patch b/patches/server/0575-Add-EntityDamageItemEvent.patch similarity index 82% rename from patches/server/0576-Add-EntityDamageItemEvent.patch rename to patches/server/0575-Add-EntityDamageItemEvent.patch index e289bb08f8..1adcd93580 100644 --- a/patches/server/0576-Add-EntityDamageItemEvent.patch +++ b/patches/server/0575-Add-EntityDamageItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 2ee949e1b0015c62499c557d5e359df4b9de6027..14d6e4548703b9b8640913f77406fff85f28d7ef 100644 +index 7497471649bec04ab8b43dec06b31edd892a5cfb..ad1cb11245108b5cb187b686ed7e6bc769193b52 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -646,14 +646,14 @@ public final class ItemStack implements DataComponentHolder { @@ -52,15 +52,26 @@ index 2ee949e1b0015c62499c557d5e359df4b9de6027..14d6e4548703b9b8640913f77406fff8 } int j = this.getDamageValue() + amount; -@@ -701,7 +709,7 @@ public final class ItemStack implements DataComponentHolder { +@@ -681,8 +689,8 @@ public final class ItemStack implements DataComponentHolder { + if (j >= this.getMaxDamage()) { + Item item = this.getItem(); + // CraftBukkit start - Check for item breaking +- if (this.count == 1) { +- org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent(player, this); ++ if (this.count == 1 && player instanceof final ServerPlayer serverPlayer) { // Paper - Add EntityDamageItemEvent ++ org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent(serverPlayer, this); // Paper - Add EntityDamageItemEvent + } + // CraftBukkit end + +@@ -706,7 +714,7 @@ public final class ItemStack implements DataComponentHolder { entityplayer = null; } - this.hurtAndBreak(amount, worldserver, entityplayer, (item) -> { + this.hurtAndBreak(amount, worldserver, entity, (item) -> { // Paper - Add EntityDamageItemEvent - // CraftBukkit start - Check for item breaking - if (this.count == 1 && entity instanceof net.minecraft.world.entity.player.Player) { - org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((net.minecraft.world.entity.player.Player) entity, this); + entity.onEquippedItemBroken(item, slot); + }); + } diff --git a/src/main/java/net/minecraft/world/item/enchantment/effects/DamageItem.java b/src/main/java/net/minecraft/world/item/enchantment/effects/DamageItem.java index 70796eef426eece0bc93a173f54e90645377b502..82ac989ca836e3beef7c3773db0183a7e51780e0 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/effects/DamageItem.java diff --git a/patches/server/0577-Optimize-indirect-passenger-iteration.patch b/patches/server/0576-Optimize-indirect-passenger-iteration.patch similarity index 100% rename from patches/server/0577-Optimize-indirect-passenger-iteration.patch rename to patches/server/0576-Optimize-indirect-passenger-iteration.patch diff --git a/patches/server/0578-Configurable-item-frame-map-cursor-update-interval.patch b/patches/server/0577-Configurable-item-frame-map-cursor-update-interval.patch similarity index 100% rename from patches/server/0578-Configurable-item-frame-map-cursor-update-interval.patch rename to patches/server/0577-Configurable-item-frame-map-cursor-update-interval.patch diff --git a/patches/server/0579-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0578-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/server/0579-Change-EnderEye-target-without-changing-other-things.patch rename to patches/server/0578-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/server/0580-Add-BlockBreakBlockEvent.patch b/patches/server/0579-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/server/0580-Add-BlockBreakBlockEvent.patch rename to patches/server/0579-Add-BlockBreakBlockEvent.patch diff --git a/patches/server/0581-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/server/0580-Option-to-prevent-data-components-copy-in-smithing-r.patch similarity index 100% rename from patches/server/0581-Option-to-prevent-data-components-copy-in-smithing-r.patch rename to patches/server/0580-Option-to-prevent-data-components-copy-in-smithing-r.patch diff --git a/patches/server/0582-More-CommandBlock-API.patch b/patches/server/0581-More-CommandBlock-API.patch similarity index 100% rename from patches/server/0582-More-CommandBlock-API.patch rename to patches/server/0581-More-CommandBlock-API.patch diff --git a/patches/server/0583-Add-missing-team-sidebar-display-slots.patch b/patches/server/0582-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/server/0583-Add-missing-team-sidebar-display-slots.patch rename to patches/server/0582-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0584-Add-back-EntityPortalExitEvent.patch b/patches/server/0583-Add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/server/0584-Add-back-EntityPortalExitEvent.patch rename to patches/server/0583-Add-back-EntityPortalExitEvent.patch diff --git a/patches/server/0585-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0584-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/server/0585-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/server/0584-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/server/0586-Get-entity-default-attributes.patch b/patches/server/0585-Get-entity-default-attributes.patch similarity index 100% rename from patches/server/0586-Get-entity-default-attributes.patch rename to patches/server/0585-Get-entity-default-attributes.patch diff --git a/patches/server/0587-Left-handed-API.patch b/patches/server/0586-Left-handed-API.patch similarity index 100% rename from patches/server/0587-Left-handed-API.patch rename to patches/server/0586-Left-handed-API.patch diff --git a/patches/server/0588-Add-more-advancement-API.patch b/patches/server/0587-Add-more-advancement-API.patch similarity index 100% rename from patches/server/0588-Add-more-advancement-API.patch rename to patches/server/0587-Add-more-advancement-API.patch diff --git a/patches/server/0589-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0588-Add-ItemFactory-getSpawnEgg-API.patch similarity index 100% rename from patches/server/0589-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/server/0588-Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/server/0590-Add-critical-damage-API.patch b/patches/server/0589-Add-critical-damage-API.patch similarity index 98% rename from patches/server/0590-Add-critical-damage-API.patch rename to patches/server/0589-Add-critical-damage-API.patch index dd78b506dd..554a8471d9 100644 --- a/patches/server/0590-Add-critical-damage-API.patch +++ b/patches/server/0589-Add-critical-damage-API.patch @@ -61,7 +61,7 @@ index 746bb8a36bd6c6ef953289576af499caad588d79..57ebb96707748e90810dc07471f9769f int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 88a5b50396fddc18b733a52ad66eedd10751f8ea..03a6ca13218d43ad0c5fc461564d004008ee3e06 100644 +index b93fa1ea73f0b218e6c6bed8bd36694e26544ab0..5fc6ef13cdc9df11b0fd2b0baf3cec862ccb5e37 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1080,7 +1080,7 @@ public class CraftEventFactory { diff --git a/patches/server/0591-Fix-issues-with-mob-conversion.patch b/patches/server/0590-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/server/0591-Fix-issues-with-mob-conversion.patch rename to patches/server/0590-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0592-Add-hasCollision-methods-to-various-places.patch b/patches/server/0591-Add-hasCollision-methods-to-various-places.patch similarity index 100% rename from patches/server/0592-Add-hasCollision-methods-to-various-places.patch rename to patches/server/0591-Add-hasCollision-methods-to-various-places.patch diff --git a/patches/server/0593-Goat-ram-API.patch b/patches/server/0592-Goat-ram-API.patch similarity index 100% rename from patches/server/0593-Goat-ram-API.patch rename to patches/server/0592-Goat-ram-API.patch diff --git a/patches/server/0594-Add-API-for-resetting-a-single-score.patch b/patches/server/0593-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/server/0594-Add-API-for-resetting-a-single-score.patch rename to patches/server/0593-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0595-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0594-Add-Raw-Byte-Entity-Serialization.patch similarity index 100% rename from patches/server/0595-Add-Raw-Byte-Entity-Serialization.patch rename to patches/server/0594-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/server/0596-Vanilla-command-permission-fixes.patch b/patches/server/0595-Vanilla-command-permission-fixes.patch similarity index 100% rename from patches/server/0596-Vanilla-command-permission-fixes.patch rename to patches/server/0595-Vanilla-command-permission-fixes.patch diff --git a/patches/server/0597-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0596-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 100% rename from patches/server/0597-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/server/0596-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch diff --git a/patches/server/0598-Fix-GameProfileCache-concurrency.patch b/patches/server/0597-Fix-GameProfileCache-concurrency.patch similarity index 100% rename from patches/server/0598-Fix-GameProfileCache-concurrency.patch rename to patches/server/0597-Fix-GameProfileCache-concurrency.patch diff --git a/patches/server/0599-Improve-and-expand-AsyncCatcher.patch b/patches/server/0598-Improve-and-expand-AsyncCatcher.patch similarity index 98% rename from patches/server/0599-Improve-and-expand-AsyncCatcher.patch rename to patches/server/0598-Improve-and-expand-AsyncCatcher.patch index aa1ddf28cc..08143bc4aa 100644 --- a/patches/server/0599-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0598-Improve-and-expand-AsyncCatcher.patch @@ -29,7 +29,7 @@ index 44d1cd3e6047590a989a2b85c759be4c64125a47..926c0a5f4eaaa8fb650905216d2303fb if (player.isRemoved()) { LOGGER.info("Attempt to teleport removed player {} restricted", player.getScoreboardName()); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a3a19f288643ce290c1e2119ba794f2409e83ed0..6625d0b4cec8e5660c0dbd7965130495e3c94682 100644 +index e56ae5170526fdc9d4e6f8b94a1e6ebc77cae582..4132b5dfbc6a7693f0bb923a8b14ded571560030 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1122,7 +1122,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -202,7 +202,7 @@ index 390cacc7916d1322a7e1e8bff004d415e9fa5622..786a3722f3a50d828e5abe2ff9d415b0 ClientboundSoundEntityPacket packet = new ClientboundSoundEntityPacket(Holder.direct(SoundEvent.createVariableRangeEvent(ResourceLocation.parse(sound))), net.minecraft.sounds.SoundSource.valueOf(category.name()), craftEntity.getHandle(), volume, pitch, seed); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index e3487e8429b285519a0a12d6d283266225b75a80..464d67075e052f13e86b51f3e71d05a6536ef540 100644 +index 1f704ba3b67838718913f892d810364ae6a71d54..097f03c83a90f476b74834407d2dcd0e98fe010a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -524,6 +524,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0600-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0599-Add-paper-mobcaps-and-paper-playermobcaps.patch similarity index 99% rename from patches/server/0600-Add-paper-mobcaps-and-paper-playermobcaps.patch rename to patches/server/0599-Add-paper-mobcaps-and-paper-playermobcaps.patch index 80492474ae..10f4a156d9 100644 --- a/patches/server/0600-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0599-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -278,7 +278,7 @@ index 58ea6a1f95a09c22125a8262b1b221004ebce0e4..ea6533c1ac218aa075da3401807a06fc BlockPos blockposition = NaturalSpawner.getRandomPosWithin(world, chunk); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 1fd9a651e469fcf46752e97bc42d68961b0f2df0..d6ff15c56fe72ec8a04471cca6146bb90b371ece 100644 +index e09b0a624a80216db5b6f7882c3765f2eb967b06..b8117fac959a894c9821c82f624bc463174d3568 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2329,6 +2329,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0601-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0600-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/server/0601-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0600-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0602-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0601-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0602-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0601-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0603-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0602-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0603-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0602-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0604-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0603-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 100% rename from patches/server/0604-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0603-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0605-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0604-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0605-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0604-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0606-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0605-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch similarity index 100% rename from patches/server/0606-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch rename to patches/server/0605-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch diff --git a/patches/server/0607-Time-scoreboard-search.patch b/patches/server/0606-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0607-Time-scoreboard-search.patch rename to patches/server/0606-Time-scoreboard-search.patch diff --git a/patches/server/0608-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0607-Oprimise-map-impl-for-tracked-players.patch similarity index 100% rename from patches/server/0608-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0607-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0609-Add-missing-InventoryType.patch b/patches/server/0608-Add-missing-InventoryType.patch similarity index 100% rename from patches/server/0609-Add-missing-InventoryType.patch rename to patches/server/0608-Add-missing-InventoryType.patch diff --git a/patches/server/0610-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0609-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0610-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0609-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0611-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0610-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/server/0611-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0610-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0612-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0611-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0612-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0611-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0613-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0612-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0613-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0612-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0614-Add-packet-limiter-config.patch b/patches/server/0613-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0614-Add-packet-limiter-config.patch rename to patches/server/0613-Add-packet-limiter-config.patch diff --git a/patches/server/0615-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0614-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0615-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0614-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0616-Ensure-valid-vehicle-status.patch b/patches/server/0615-Ensure-valid-vehicle-status.patch similarity index 100% rename from patches/server/0616-Ensure-valid-vehicle-status.patch rename to patches/server/0615-Ensure-valid-vehicle-status.patch diff --git a/patches/server/0617-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0616-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0617-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0616-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0618-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0617-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0618-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0617-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0619-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0618-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/server/0619-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0618-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0620-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0619-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0620-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0619-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0621-Preserve-overstacked-loot.patch b/patches/server/0620-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0621-Preserve-overstacked-loot.patch rename to patches/server/0620-Preserve-overstacked-loot.patch diff --git a/patches/server/0622-Update-head-rotation-in-missing-places.patch b/patches/server/0621-Update-head-rotation-in-missing-places.patch similarity index 100% rename from patches/server/0622-Update-head-rotation-in-missing-places.patch rename to patches/server/0621-Update-head-rotation-in-missing-places.patch diff --git a/patches/server/0623-prevent-unintended-light-block-manipulation.patch b/patches/server/0622-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0623-prevent-unintended-light-block-manipulation.patch rename to patches/server/0622-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0624-Fix-CraftCriteria-defaults-map.patch b/patches/server/0623-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0624-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0623-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0625-Fix-upstreams-block-state-factories.patch b/patches/server/0624-Fix-upstreams-block-state-factories.patch similarity index 99% rename from patches/server/0625-Fix-upstreams-block-state-factories.patch rename to patches/server/0624-Fix-upstreams-block-state-factories.patch index bfb0aa8f8a..737645669d 100644 --- a/patches/server/0625-Fix-upstreams-block-state-factories.patch +++ b/patches/server/0624-Fix-upstreams-block-state-factories.patch @@ -26,7 +26,7 @@ index 48bee70ba4188a4a55beb6584224b0f23784dd88..cbb777f499a4e8a447153c04d09c0c71 if (state instanceof InventoryHolder) return (InventoryHolder) state; return null; diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 92133f16c192f5caf9962a08401ff914550747f8..397eb1a101bd60f49dbb2fa8eddf28f6f233167f 100644 +index 302955eed07d3af91f90875583c70a236bbe11b2..f9eb60d5a70da9a4d485288ab03d80829cf171a9 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java @@ -20,7 +20,7 @@ import org.bukkit.persistence.PersistentDataContainer; @@ -38,7 +38,7 @@ index 92133f16c192f5caf9962a08401ff914550747f8..397eb1a101bd60f49dbb2fa8eddf28f6 private final T tileEntity; private final T snapshot; -@@ -181,14 +181,10 @@ public class CraftBlockEntityState extends CraftBlockStat +@@ -188,14 +188,10 @@ public class CraftBlockEntityState extends CraftBlockStat } @Override diff --git a/patches/server/0626-Configurable-feature-seeds.patch b/patches/server/0625-Configurable-feature-seeds.patch similarity index 100% rename from patches/server/0626-Configurable-feature-seeds.patch rename to patches/server/0625-Configurable-feature-seeds.patch diff --git a/patches/server/0627-Add-root-admin-user-detection.patch b/patches/server/0626-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0627-Add-root-admin-user-detection.patch rename to patches/server/0626-Add-root-admin-user-detection.patch diff --git a/patches/server/0628-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0627-don-t-attempt-to-teleport-dead-entities.patch similarity index 100% rename from patches/server/0628-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0627-don-t-attempt-to-teleport-dead-entities.patch diff --git a/patches/server/0629-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0628-Prevent-excessive-velocity-through-repeated-crits.patch similarity index 95% rename from patches/server/0629-Prevent-excessive-velocity-through-repeated-crits.patch rename to patches/server/0628-Prevent-excessive-velocity-through-repeated-crits.patch index 545fc13e37..10ce91923a 100644 --- a/patches/server/0629-Prevent-excessive-velocity-through-repeated-crits.patch +++ b/patches/server/0628-Prevent-excessive-velocity-through-repeated-crits.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent excessive velocity through repeated crits diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6625d0b4cec8e5660c0dbd7965130495e3c94682..7e61fa6c2b25296b793e1059868764338ce4430d 100644 +index 4132b5dfbc6a7693f0bb923a8b14ded571560030..ee7bb1a01bf027eb7b28e3795950a17e5f686815 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2773,17 +2773,29 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0630-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0629-Remove-client-side-code-using-deprecated-for-removal.patch similarity index 100% rename from patches/server/0630-Remove-client-side-code-using-deprecated-for-removal.patch rename to patches/server/0629-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/server/0631-Fix-Spigot-growth-modifiers.patch b/patches/server/0630-Fix-Spigot-growth-modifiers.patch similarity index 100% rename from patches/server/0631-Fix-Spigot-growth-modifiers.patch rename to patches/server/0630-Fix-Spigot-growth-modifiers.patch diff --git a/patches/server/0632-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0631-Prevent-ContainerOpenersCounter-openCount-from-going.patch similarity index 100% rename from patches/server/0632-Prevent-ContainerOpenersCounter-openCount-from-going.patch rename to patches/server/0631-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0633-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0632-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/server/0633-Add-PlayerItemFrameChangeEvent.patch rename to patches/server/0632-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0634-Optimize-HashMapPalette.patch b/patches/server/0633-Optimize-HashMapPalette.patch similarity index 100% rename from patches/server/0634-Optimize-HashMapPalette.patch rename to patches/server/0633-Optimize-HashMapPalette.patch diff --git a/patches/server/0635-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0634-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch similarity index 100% rename from patches/server/0635-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch rename to patches/server/0634-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0636-Add-more-Campfire-API.patch b/patches/server/0635-Add-more-Campfire-API.patch similarity index 100% rename from patches/server/0636-Add-more-Campfire-API.patch rename to patches/server/0635-Add-more-Campfire-API.patch diff --git a/patches/server/0637-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0636-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/server/0637-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/server/0636-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/server/0638-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0637-Forward-CraftEntity-in-teleport-command.patch similarity index 100% rename from patches/server/0638-Forward-CraftEntity-in-teleport-command.patch rename to patches/server/0637-Forward-CraftEntity-in-teleport-command.patch diff --git a/patches/server/0639-Improve-scoreboard-entries.patch b/patches/server/0638-Improve-scoreboard-entries.patch similarity index 100% rename from patches/server/0639-Improve-scoreboard-entries.patch rename to patches/server/0638-Improve-scoreboard-entries.patch diff --git a/patches/server/0640-Entity-powdered-snow-API.patch b/patches/server/0639-Entity-powdered-snow-API.patch similarity index 100% rename from patches/server/0640-Entity-powdered-snow-API.patch rename to patches/server/0639-Entity-powdered-snow-API.patch diff --git a/patches/server/0641-Add-API-for-item-entity-health.patch b/patches/server/0640-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/server/0641-Add-API-for-item-entity-health.patch rename to patches/server/0640-Add-API-for-item-entity-health.patch diff --git a/patches/server/0642-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0641-Configurable-max-block-light-for-monster-spawning.patch similarity index 100% rename from patches/server/0642-Configurable-max-block-light-for-monster-spawning.patch rename to patches/server/0641-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/server/0643-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0642-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch similarity index 100% rename from patches/server/0643-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch rename to patches/server/0642-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch diff --git a/patches/server/0644-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0643-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/server/0644-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/server/0643-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/server/0645-Bucketable-API.patch b/patches/server/0644-Bucketable-API.patch similarity index 100% rename from patches/server/0645-Bucketable-API.patch rename to patches/server/0644-Bucketable-API.patch diff --git a/patches/server/0646-Validate-usernames.patch b/patches/server/0645-Validate-usernames.patch similarity index 92% rename from patches/server/0646-Validate-usernames.patch rename to patches/server/0645-Validate-usernames.patch index ca5df38a53..0735bfd857 100644 --- a/patches/server/0646-Validate-usernames.patch +++ b/patches/server/0645-Validate-usernames.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Validate usernames diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index baedae23865ea80c6546d1f6f439e1d7712258b9..e9cd90b6bb2f57d605323add43f12962bd7cb843 100644 +index e0a10f1d8bf2c0df66e62bdf2a174ce6a66bbd6d..9c343b579d9735dc59c8c74fde030d981a673c4f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -85,6 +85,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -90,6 +90,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, private final String serverId; private final boolean transferred; private ServerPlayer player; // CraftBukkit @@ -16,7 +16,7 @@ index baedae23865ea80c6546d1f6f439e1d7712258b9..e9cd90b6bb2f57d605323add43f12962 public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection, boolean transferred) { this.state = ServerLoginPacketListenerImpl.State.HELLO; -@@ -166,7 +167,13 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -171,7 +172,13 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void handleHello(ServerboundHelloPacket packet) { Validate.validState(this.state == ServerLoginPacketListenerImpl.State.HELLO, "Unexpected hello packet", new Object[0]); @@ -32,7 +32,7 @@ index baedae23865ea80c6546d1f6f439e1d7712258b9..e9cd90b6bb2f57d605323add43f12962 GameProfile gameprofile = this.server.getSingleplayerProfile(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bc5088b4b8a60dcd87eb9a7e0858a5c45bd9a7d4..2b104326f718bdfa263554c60ead798659ab5fa0 100644 +index c7dc335d6da208c224d94256eab11b2c3c63745f..cff45afb90b232a236683bd569d50aab6b701149 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -670,7 +670,7 @@ public abstract class PlayerList { diff --git a/patches/server/0647-Make-water-animal-spawn-height-configurable.patch b/patches/server/0646-Make-water-animal-spawn-height-configurable.patch similarity index 100% rename from patches/server/0647-Make-water-animal-spawn-height-configurable.patch rename to patches/server/0646-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/server/0648-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0647-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 99% rename from patches/server/0648-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/server/0647-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index e1ea6b3b1b..2fa8cd46e9 100644 --- a/patches/server/0648-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0647-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -31,7 +31,7 @@ index 3c947dc0aea06d66a00aeca51355ea41e8d98f88..60a77bd04489ee592ec61d3d739cb306 chunkgenerator = new NoiseBasedChunkGenerator(worldChunkManager, cga.settings); } else if (chunkgenerator instanceof FlatLevelSource cpf) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d6ff15c56fe72ec8a04471cca6146bb90b371ece..dd88ac36749cf13ef0d7a9cd86fa7f7c2b41e509 100644 +index b8117fac959a894c9821c82f624bc463174d3568..8364316aac2c13c99244912122c333feeeb5dd06 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1306,7 +1306,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0649-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0648-Add-config-option-for-worlds-affected-by-time-cmd.patch similarity index 100% rename from patches/server/0649-Add-config-option-for-worlds-affected-by-time-cmd.patch rename to patches/server/0648-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/server/0650-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0649-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch similarity index 100% rename from patches/server/0650-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch rename to patches/server/0649-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch diff --git a/patches/server/0651-Multiple-Entries-with-Scoreboards.patch b/patches/server/0650-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/server/0651-Multiple-Entries-with-Scoreboards.patch rename to patches/server/0650-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/server/0652-Reset-placed-block-on-exception.patch b/patches/server/0651-Reset-placed-block-on-exception.patch similarity index 100% rename from patches/server/0652-Reset-placed-block-on-exception.patch rename to patches/server/0651-Reset-placed-block-on-exception.patch diff --git a/patches/server/0653-Add-configurable-height-for-slime-spawn.patch b/patches/server/0652-Add-configurable-height-for-slime-spawn.patch similarity index 100% rename from patches/server/0653-Add-configurable-height-for-slime-spawn.patch rename to patches/server/0652-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/server/0654-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0653-Fix-xp-reward-for-baby-zombies.patch similarity index 100% rename from patches/server/0654-Fix-xp-reward-for-baby-zombies.patch rename to patches/server/0653-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/server/0655-Multi-Block-Change-API-Implementation.patch b/patches/server/0654-Multi-Block-Change-API-Implementation.patch similarity index 97% rename from patches/server/0655-Multi-Block-Change-API-Implementation.patch rename to patches/server/0654-Multi-Block-Change-API-Implementation.patch index 50211358cb..740aad5839 100644 --- a/patches/server/0655-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0654-Multi-Block-Change-API-Implementation.patch @@ -24,7 +24,7 @@ index 926ff9be3d9e3f5d620e4c7ccb22b9f64865ff8c..1a37654aff9a9c86c9f7af10a1cf7213 buf.writeLong(this.sectionPos.asLong()); buf.writeVarInt(this.positions.length); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 2f9c5d6825795b6dc8074d04bec944f93ac71a5a..252309281f440e9b7a6be3118363c4d97e5dd767 100644 +index bc0d63f90e352ad4158d1dcc0f21a34954279095..ef289dba67db65a5e43104a4ca68bc03c8c5e4cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -930,6 +930,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0656-Fix-NotePlayEvent.patch b/patches/server/0655-Fix-NotePlayEvent.patch similarity index 100% rename from patches/server/0656-Fix-NotePlayEvent.patch rename to patches/server/0655-Fix-NotePlayEvent.patch diff --git a/patches/server/0657-Freeze-Tick-Lock-API.patch b/patches/server/0656-Freeze-Tick-Lock-API.patch similarity index 97% rename from patches/server/0657-Freeze-Tick-Lock-API.patch rename to patches/server/0656-Freeze-Tick-Lock-API.patch index 53ce7ac212..69adb442ee 100644 --- a/patches/server/0657-Freeze-Tick-Lock-API.patch +++ b/patches/server/0656-Freeze-Tick-Lock-API.patch @@ -46,7 +46,7 @@ index 9f40cc481ded9279319d92fe5a0a9278a3f5d9c2..7d9ebc71b794d40246cbd43ff4de5795 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7e61fa6c2b25296b793e1059868764338ce4430d..04dc54607df503a26cec8f4696db0dc057a15670 100644 +index ee7bb1a01bf027eb7b28e3795950a17e5f686815..01a6e91f1b8f619e99d9bccde12f6e91e6ab5eb8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3497,7 +3497,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0658-More-PotionEffectType-API.patch b/patches/server/0657-More-PotionEffectType-API.patch similarity index 100% rename from patches/server/0658-More-PotionEffectType-API.patch rename to patches/server/0657-More-PotionEffectType-API.patch diff --git a/patches/server/0659-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0658-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch similarity index 100% rename from patches/server/0659-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch rename to patches/server/0658-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/server/0660-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0659-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 98% rename from patches/server/0660-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/server/0659-API-for-creating-command-sender-which-forwards-feedb.patch index 9f8601f4a1..d6e2e12cf1 100644 --- a/patches/server/0660-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0659-API-for-creating-command-sender-which-forwards-feedb.patch @@ -122,7 +122,7 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd88ac36749cf13ef0d7a9cd86fa7f7c2b41e509..45dd21e5d51b8eb5df09dcdfc2d942cffb6284b4 100644 +index 8364316aac2c13c99244912122c333feeeb5dd06..d06e1f67e675034fb5d2ed71f409848155521ada 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2160,6 +2160,13 @@ public final class CraftServer implements Server { diff --git a/patches/server/0661-Add-missing-structure-set-seed-configs.patch b/patches/server/0660-Add-missing-structure-set-seed-configs.patch similarity index 100% rename from patches/server/0661-Add-missing-structure-set-seed-configs.patch rename to patches/server/0660-Add-missing-structure-set-seed-configs.patch diff --git a/patches/server/0662-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0661-Fix-cancelled-powdered-snow-bucket-placement.patch similarity index 95% rename from patches/server/0662-Fix-cancelled-powdered-snow-bucket-placement.patch rename to patches/server/0661-Fix-cancelled-powdered-snow-bucket-placement.patch index 1080cc2e2e..6a3d835ae7 100644 --- a/patches/server/0662-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0661-Fix-cancelled-powdered-snow-bucket-placement.patch @@ -8,7 +8,7 @@ snow bucket didn't revert grass that became snowy because of the placement. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 14d6e4548703b9b8640913f77406fff85f28d7ef..eeba6d3aeb50bc7ee6dcfe7cc18eee2487d47357 100644 +index 7daecce161b4853a84520010d430600d9a7a903b..1cfd41f36724f0c54489ad7c1c41486e45467a23 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -422,7 +422,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0663-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0662-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch similarity index 92% rename from patches/server/0663-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch rename to patches/server/0662-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index 8844bbcac3..23ebb6f9c1 100644 --- a/patches/server/0663-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0662-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit Copies appropriate checks from CraftWorld#getSpawnLimit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 45dd21e5d51b8eb5df09dcdfc2d942cffb6284b4..8fb85ebcb1fe747d631dc7e5556b2424d853af90 100644 +index d06e1f67e675034fb5d2ed71f409848155521ada..87ef72b05f6bbeac7f0fcdb0bb27b359b277898c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2337,6 +2337,8 @@ public final class CraftServer implements Server { diff --git a/patches/server/0664-Add-GameEvent-tags.patch b/patches/server/0663-Add-GameEvent-tags.patch similarity index 97% rename from patches/server/0664-Add-GameEvent-tags.patch rename to patches/server/0663-Add-GameEvent-tags.patch index d2c5a67f7f..46706c99d7 100644 --- a/patches/server/0664-Add-GameEvent-tags.patch +++ b/patches/server/0663-Add-GameEvent-tags.patch @@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8fb85ebcb1fe747d631dc7e5556b2424d853af90..ff91b2e2afb58fd4919639a338b6d7c2ba9707a2 100644 +index 87ef72b05f6bbeac7f0fcdb0bb27b359b277898c..9a513feb638c913ee67ff00036efe8d27c3eb5fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2686,6 +2686,15 @@ public final class CraftServer implements Server { diff --git a/patches/server/0665-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0664-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch similarity index 100% rename from patches/server/0665-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch rename to patches/server/0664-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch diff --git a/patches/server/0666-Furnace-RecipesUsed-API.patch b/patches/server/0665-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/server/0666-Furnace-RecipesUsed-API.patch rename to patches/server/0665-Furnace-RecipesUsed-API.patch diff --git a/patches/server/0667-Configurable-sculk-sensor-listener-range.patch b/patches/server/0666-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/server/0667-Configurable-sculk-sensor-listener-range.patch rename to patches/server/0666-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/server/0668-Add-missing-block-data-API.patch b/patches/server/0667-Add-missing-block-data-API.patch similarity index 100% rename from patches/server/0668-Add-missing-block-data-API.patch rename to patches/server/0667-Add-missing-block-data-API.patch diff --git a/patches/server/0669-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0668-Option-to-have-default-CustomSpawners-in-custom-worl.patch similarity index 100% rename from patches/server/0669-Option-to-have-default-CustomSpawners-in-custom-worl.patch rename to patches/server/0668-Option-to-have-default-CustomSpawners-in-custom-worl.patch diff --git a/patches/server/0670-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0669-Put-world-into-worldlist-before-initing-the-world.patch similarity index 95% rename from patches/server/0670-Put-world-into-worldlist-before-initing-the-world.patch rename to patches/server/0669-Put-world-into-worldlist-before-initing-the-world.patch index 84f731728d..aedcd94778 100644 --- a/patches/server/0670-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0669-Put-world-into-worldlist-before-initing-the-world.patch @@ -23,7 +23,7 @@ index aa1fbbe55e3dc8fd6bbf021806c66686f8de3d9a..04286e907ff14cc8c45dbfc6ab12f520 if (worlddata.getCustomBossEvents() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ff91b2e2afb58fd4919639a338b6d7c2ba9707a2..236900b58167e66ce8575a0b83d746b3233bf1be 100644 +index 9a513feb638c913ee67ff00036efe8d27c3eb5fb..65cb367f0824b4045c436dd66809dd9a3eeccbcd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1332,10 +1332,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0671-Custom-Potion-Mixes.patch b/patches/server/0670-Custom-Potion-Mixes.patch similarity index 99% rename from patches/server/0671-Custom-Potion-Mixes.patch rename to patches/server/0670-Custom-Potion-Mixes.patch index 5f68a0891b..81f15e071c 100644 --- a/patches/server/0671-Custom-Potion-Mixes.patch +++ b/patches/server/0670-Custom-Potion-Mixes.patch @@ -282,7 +282,7 @@ index c8f9972ad1c2330908cc840d426f29c20b242ca8..a2fafef89d5354e2cb02f56728109099 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 236900b58167e66ce8575a0b83d746b3233bf1be..2431361e771a18e2631ac0493e9501d9e8a99d54 100644 +index 65cb367f0824b4045c436dd66809dd9a3eeccbcd..56fe4a91b557db7bd74c031046231a3bc7ba72c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -308,6 +308,7 @@ public final class CraftServer implements Server { @@ -301,7 +301,7 @@ index 236900b58167e66ce8575a0b83d746b3233bf1be..2431361e771a18e2631ac0493e9501d9 datapackManager = new io.papermc.paper.datapack.PaperDatapackManager(console.getPackRepository()); // Paper } -@@ -3049,5 +3051,9 @@ public final class CraftServer implements Server { +@@ -3046,5 +3048,9 @@ public final class CraftServer implements Server { return datapackManager; } diff --git a/patches/server/0672-Force-close-world-loading-screen.patch b/patches/server/0671-Force-close-world-loading-screen.patch similarity index 95% rename from patches/server/0672-Force-close-world-loading-screen.patch rename to patches/server/0671-Force-close-world-loading-screen.patch index d63c80e4e2..284d512115 100644 --- a/patches/server/0672-Force-close-world-loading-screen.patch +++ b/patches/server/0671-Force-close-world-loading-screen.patch @@ -10,7 +10,7 @@ so we do not need that. The client only needs the chunk it is currently in to be loaded to close the loading screen, so we just send an empty one. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2b104326f718bdfa263554c60ead798659ab5fa0..22c1bf5989065016364505a0665a5205fd8528b5 100644 +index cff45afb90b232a236683bd569d50aab6b701149..e30ad8c7e85c25f3133bbd23dcbe59ae4c2f8db5 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -394,6 +394,16 @@ public abstract class PlayerList { diff --git a/patches/server/0673-Fix-falling-block-spawn-methods.patch b/patches/server/0672-Fix-falling-block-spawn-methods.patch similarity index 100% rename from patches/server/0673-Fix-falling-block-spawn-methods.patch rename to patches/server/0672-Fix-falling-block-spawn-methods.patch diff --git a/patches/server/0674-Expose-furnace-minecart-push-values.patch b/patches/server/0673-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/server/0674-Expose-furnace-minecart-push-values.patch rename to patches/server/0673-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0675-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0674-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/server/0675-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/server/0674-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0676-More-Projectile-API.patch b/patches/server/0675-More-Projectile-API.patch similarity index 99% rename from patches/server/0676-More-Projectile-API.patch rename to patches/server/0675-More-Projectile-API.patch index 280d31b759..120c102c71 100644 --- a/patches/server/0676-More-Projectile-API.patch +++ b/patches/server/0675-More-Projectile-API.patch @@ -50,10 +50,10 @@ index 5b7734020b496ade3740d92908ad2d399bfd55e6..e70ca1b2e6fbbc1f20e65429298d01b4 public boolean calculateOpenWater(BlockPos pos) { FishingHook.OpenWaterType entityfishinghook_waterposition = FishingHook.OpenWaterType.INVALID; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 19452d1e591afc06675d57bbebae963517ab7217..bc65321aee27192c40428ac6f58ccec0f0cdc2ee 100644 +index d27e17ebf25cd842a943cf82bde05b2248c74414..06ca07edef062f21c51860146086297ca345104d 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -193,7 +193,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -190,7 +190,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { } // CraftBukkit start - call projectile hit event @@ -515,7 +515,7 @@ index 6e2f91423371ead9890095cf4b1e2299c4dcba28..9d8f4b7176e60180565e3134a14ecf19 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 464d67075e052f13e86b51f3e71d05a6536ef540..34276233751a41b41ee6af99afa97ef7d4bca836 100644 +index 097f03c83a90f476b74834407d2dcd0e98fe010a..3210d7c9405a1a335ef92debf4d85957087bfcf3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -596,7 +596,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { @@ -713,7 +713,7 @@ index e374b9f40eddca13b30855d25a2030f8df98138f..4fc893378fb0568ddcffc7593d66df6b // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 03a6ca13218d43ad0c5fc461564d004008ee3e06..6aa954c168e5503c1e4cf069e13f518da277cdef 100644 +index 5fc6ef13cdc9df11b0fd2b0baf3cec862ccb5e37..eeb326a115020f571e96f3ec85408950b5eb56fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -843,19 +843,19 @@ public class CraftEventFactory { diff --git a/patches/server/0677-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0676-Fix-swamp-hut-cat-generation-deadlock.patch similarity index 100% rename from patches/server/0677-Fix-swamp-hut-cat-generation-deadlock.patch rename to patches/server/0676-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/server/0678-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0677-Don-t-allow-vehicle-movement-from-players-while-tele.patch similarity index 100% rename from patches/server/0678-Don-t-allow-vehicle-movement-from-players-while-tele.patch rename to patches/server/0677-Don-t-allow-vehicle-movement-from-players-while-tele.patch diff --git a/patches/server/0679-Implement-getComputedBiome-API.patch b/patches/server/0678-Implement-getComputedBiome-API.patch similarity index 100% rename from patches/server/0679-Implement-getComputedBiome-API.patch rename to patches/server/0678-Implement-getComputedBiome-API.patch diff --git a/patches/server/0680-Make-some-itemstacks-nonnull.patch b/patches/server/0679-Make-some-itemstacks-nonnull.patch similarity index 100% rename from patches/server/0680-Make-some-itemstacks-nonnull.patch rename to patches/server/0679-Make-some-itemstacks-nonnull.patch diff --git a/patches/server/0681-Implement-enchantWithLevels-API.patch b/patches/server/0680-Implement-enchantWithLevels-API.patch similarity index 100% rename from patches/server/0681-Implement-enchantWithLevels-API.patch rename to patches/server/0680-Implement-enchantWithLevels-API.patch diff --git a/patches/server/0682-Fix-saving-in-unloadWorld.patch b/patches/server/0681-Fix-saving-in-unloadWorld.patch similarity index 90% rename from patches/server/0682-Fix-saving-in-unloadWorld.patch rename to patches/server/0681-Fix-saving-in-unloadWorld.patch index 329e6c920e..a045e38f34 100644 --- a/patches/server/0682-Fix-saving-in-unloadWorld.patch +++ b/patches/server/0681-Fix-saving-in-unloadWorld.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix saving in unloadWorld Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2431361e771a18e2631ac0493e9501d9e8a99d54..ea069053feb7a2b99cfea52537d5759893b552a8 100644 +index 56fe4a91b557db7bd74c031046231a3bc7ba72c8..7cc0cd19996df0b37fa0b7c4dc34ee99ad9499cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1381,7 +1381,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0683-Buffer-OOB-setBlock-calls.patch b/patches/server/0682-Buffer-OOB-setBlock-calls.patch similarity index 100% rename from patches/server/0683-Buffer-OOB-setBlock-calls.patch rename to patches/server/0682-Buffer-OOB-setBlock-calls.patch diff --git a/patches/server/0684-Add-TameableDeathMessageEvent.patch b/patches/server/0683-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/server/0684-Add-TameableDeathMessageEvent.patch rename to patches/server/0683-Add-TameableDeathMessageEvent.patch diff --git a/patches/server/0685-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0684-Fix-new-block-data-for-EntityChangeBlockEvent.patch similarity index 99% rename from patches/server/0685-Fix-new-block-data-for-EntityChangeBlockEvent.patch rename to patches/server/0684-Fix-new-block-data-for-EntityChangeBlockEvent.patch index 58f3e0a3d9..6dae9bf4a8 100644 --- a/patches/server/0685-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0684-Fix-new-block-data-for-EntityChangeBlockEvent.patch @@ -196,7 +196,7 @@ index edc20745649b0837f1371c8d29e71fc0c8e5528f..932831bb5632ead5850842fc77192c84 } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6aa954c168e5503c1e4cf069e13f518da277cdef..d793566b2b5b0e996e4122087a883e92b24c216f 100644 +index eeb326a115020f571e96f3ec85408950b5eb56fb..ba1599b733946bef468a9b006411f8827844e791 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1380,11 +1380,11 @@ public class CraftEventFactory { diff --git a/patches/server/0686-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0685-fix-player-loottables-running-when-mob-loot-gamerule.patch similarity index 100% rename from patches/server/0686-fix-player-loottables-running-when-mob-loot-gamerule.patch rename to patches/server/0685-fix-player-loottables-running-when-mob-loot-gamerule.patch diff --git a/patches/server/0687-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0686-Ensure-entity-passenger-world-matches-ridden-entity.patch similarity index 100% rename from patches/server/0687-Ensure-entity-passenger-world-matches-ridden-entity.patch rename to patches/server/0686-Ensure-entity-passenger-world-matches-ridden-entity.patch diff --git a/patches/server/0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch b/patches/server/0687-Cache-resource-keys-and-optimize-reference-Holder-ta.patch similarity index 100% rename from patches/server/0688-Cache-resource-keys-and-optimize-reference-Holder-ta.patch rename to patches/server/0687-Cache-resource-keys-and-optimize-reference-Holder-ta.patch diff --git a/patches/server/0689-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0688-Allow-changing-the-EnderDragon-podium.patch similarity index 100% rename from patches/server/0689-Allow-changing-the-EnderDragon-podium.patch rename to patches/server/0688-Allow-changing-the-EnderDragon-podium.patch diff --git a/patches/server/0690-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0689-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/server/0690-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/server/0689-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0691-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0690-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/server/0691-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/server/0690-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/server/0692-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0691-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 92% rename from patches/server/0692-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/server/0691-Use-username-instead-of-display-name-in-PlayerList-g.patch index 111379e7fb..2fd1e02905 100644 --- a/patches/server/0692-Use-username-instead-of-display-name-in-PlayerList-g.patch +++ b/patches/server/0691-Use-username-instead-of-display-name-in-PlayerList-g.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use username instead of display name in diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4f4546523ec4b7d0dd65b37b5cca128b4d4da793..ada1e8d168b0d4df1a8b9326b6321badef892e39 100644 +index e30ad8c7e85c25f3133bbd23dcbe59ae4c2f8db5..03572023ae7f061bf34fed8ac27852e08d6412c0 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1393,7 +1393,7 @@ public abstract class PlayerList { diff --git a/patches/server/0693-Expand-PlayerItemDamageEvent.patch b/patches/server/0692-Expand-PlayerItemDamageEvent.patch similarity index 94% rename from patches/server/0693-Expand-PlayerItemDamageEvent.patch rename to patches/server/0692-Expand-PlayerItemDamageEvent.patch index d550002186..1650dd10f3 100644 --- a/patches/server/0693-Expand-PlayerItemDamageEvent.patch +++ b/patches/server/0692-Expand-PlayerItemDamageEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index eeba6d3aeb50bc7ee6dcfe7cc18eee2487d47357..598507684aed7978fa2e9bae0d959c7d0f9e53d6 100644 +index 1cfd41f36724f0c54489ad7c1c41486e45467a23..889263767ce3a2a4c43a2c61aa9d2d715392607c 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -650,10 +650,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0694-WorldCreator-keepSpawnLoaded.patch b/patches/server/0693-WorldCreator-keepSpawnLoaded.patch similarity index 92% rename from patches/server/0694-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0693-WorldCreator-keepSpawnLoaded.patch index 3582da2d5c..3e941053cb 100644 --- a/patches/server/0694-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0693-WorldCreator-keepSpawnLoaded.patch @@ -5,7 +5,7 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ea069053feb7a2b99cfea52537d5759893b552a8..d356c69f7059ee12e736f829788f53d62d00516e 100644 +index 7cc0cd19996df0b37fa0b7c4dc34ee99ad9499cb..b09c1359e4bd5f287b9ce3682fd7d9defa8f7e61 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1324,7 +1324,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0695-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0694-Fix-CME-in-CraftPersistentDataTypeRegistry.patch similarity index 100% rename from patches/server/0695-Fix-CME-in-CraftPersistentDataTypeRegistry.patch rename to patches/server/0694-Fix-CME-in-CraftPersistentDataTypeRegistry.patch diff --git a/patches/server/0696-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0695-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0696-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0695-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0697-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0696-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0697-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0696-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0698-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0697-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0698-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0697-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0699-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0698-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0699-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0698-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0700-Add-PlayerStopUsingItemEvent.patch b/patches/server/0699-Add-PlayerStopUsingItemEvent.patch similarity index 85% rename from patches/server/0700-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0699-Add-PlayerStopUsingItemEvent.patch index ac53d2916a..b27685e2dc 100644 --- a/patches/server/0700-Add-PlayerStopUsingItemEvent.patch +++ b/patches/server/0699-Add-PlayerStopUsingItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerStopUsingItemEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 04dc54607df503a26cec8f4696db0dc057a15670..4a9abb2457b175c640d1e59de161fa2370053613 100644 +index 01a6e91f1b8f619e99d9bccde12f6e91e6ab5eb8..5383d231748f2d30b2f2bf3ce07d3667e4d828e9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4073,6 +4073,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4076,6 +4076,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public void releaseUsingItem() { if (!this.useItem.isEmpty()) { diff --git a/patches/server/0701-Don-t-tick-markers.patch b/patches/server/0700-Don-t-tick-markers.patch similarity index 100% rename from patches/server/0701-Don-t-tick-markers.patch rename to patches/server/0700-Don-t-tick-markers.patch diff --git a/patches/server/0702-Expand-FallingBlock-API.patch b/patches/server/0701-Expand-FallingBlock-API.patch similarity index 100% rename from patches/server/0702-Expand-FallingBlock-API.patch rename to patches/server/0701-Expand-FallingBlock-API.patch diff --git a/patches/server/0703-Add-support-for-Proxy-Protocol.patch b/patches/server/0702-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/server/0703-Add-support-for-Proxy-Protocol.patch rename to patches/server/0702-Add-support-for-Proxy-Protocol.patch diff --git a/patches/server/0704-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0703-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0704-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0703-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0705-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0704-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0705-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0704-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0706-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0705-Sanitize-sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0706-Sanitize-sent-BlockEntity-NBT.patch rename to patches/server/0705-Sanitize-sent-BlockEntity-NBT.patch diff --git a/patches/server/0707-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0706-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0707-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0706-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0708-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0707-Prevent-entity-loading-causing-async-lookups.patch similarity index 100% rename from patches/server/0708-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0707-Prevent-entity-loading-causing-async-lookups.patch diff --git a/patches/server/0709-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0708-Throw-exception-on-world-create-while-being-ticked.patch similarity index 97% rename from patches/server/0709-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0708-Throw-exception-on-world-create-while-being-ticked.patch index ab8863889a..9d5d28e673 100644 --- a/patches/server/0709-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0708-Throw-exception-on-world-create-while-being-ticked.patch @@ -45,7 +45,7 @@ index 8142e4a238066404f3d1685f9cee1a2b91cdd371..acdba56f025fe729398c5549175baad8 this.profiler.popPush("connection"); MinecraftTimings.connectionTimer.startTiming(); // Spigot // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d356c69f7059ee12e736f829788f53d62d00516e..f1422bd50cd10f64c9c73e3ac3a93ff9e94d6265 100644 +index b09c1359e4bd5f287b9ce3682fd7d9defa8f7e61..50a4b51ff9b05786ac763f8277bb67c247c04d31 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -916,6 +916,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0710-Dont-resent-entity-on-art-update.patch b/patches/server/0709-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/server/0710-Dont-resent-entity-on-art-update.patch rename to patches/server/0709-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0711-Add-WardenAngerChangeEvent.patch b/patches/server/0710-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/server/0711-Add-WardenAngerChangeEvent.patch rename to patches/server/0710-Add-WardenAngerChangeEvent.patch diff --git a/patches/server/0712-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0711-Add-option-for-strict-advancement-dimension-checks.patch similarity index 100% rename from patches/server/0712-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/server/0711-Add-option-for-strict-advancement-dimension-checks.patch diff --git a/patches/server/0713-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0712-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/server/0713-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0712-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/server/0714-Nameable-Banner-API.patch b/patches/server/0713-Nameable-Banner-API.patch similarity index 100% rename from patches/server/0714-Nameable-Banner-API.patch rename to patches/server/0713-Nameable-Banner-API.patch diff --git a/patches/server/0715-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0714-Don-t-broadcast-messages-to-command-blocks.patch similarity index 95% rename from patches/server/0715-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0714-Don-t-broadcast-messages-to-command-blocks.patch index f97c37339b..6a6b62cf6c 100644 --- a/patches/server/0715-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0714-Don-t-broadcast-messages-to-command-blocks.patch @@ -20,7 +20,7 @@ index 8c2dcc4134d96351cee75773214f3f47e71533e9..e6bfcc50cdf728216084bc00a5bb8b6b Date date = new Date(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f1422bd50cd10f64c9c73e3ac3a93ff9e94d6265..0274b574e80e133ec1b5033ae09450d2d57db894 100644 +index 50a4b51ff9b05786ac763f8277bb67c247c04d31..21ad1176a1b0a9445486d7be5efb692e745a78c7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1923,7 +1923,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0716-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0715-Prevent-empty-items-from-being-added-to-world.patch similarity index 100% rename from patches/server/0716-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0715-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/server/0717-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0716-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/server/0717-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0716-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/server/0718-Add-Player-getFishHook.patch b/patches/server/0717-Add-Player-getFishHook.patch similarity index 92% rename from patches/server/0718-Add-Player-getFishHook.patch rename to patches/server/0717-Add-Player-getFishHook.patch index 7ab8083ac7..99c85d33b3 100644 --- a/patches/server/0718-Add-Player-getFishHook.patch +++ b/patches/server/0717-Add-Player-getFishHook.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Player#getFishHook diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 148279d06dc5bf46aa5d4319f0b7d2ebfcee412d..0213898b4d029ea9260a755d6411d909a1b6885c 100644 +index 0222b6c68112551336f17a722fc3399898cdc7bb..049db909fbd8610ebb688d948f5d03c97ab23495 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -160,6 +160,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0719-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0718-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/server/0719-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0718-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0720-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0719-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 100% rename from patches/server/0720-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0719-Add-various-missing-EntityDropItemEvent-calls.patch diff --git a/patches/server/0721-Fix-Bee-flower-NPE.patch b/patches/server/0720-Fix-Bee-flower-NPE.patch similarity index 100% rename from patches/server/0721-Fix-Bee-flower-NPE.patch rename to patches/server/0720-Fix-Bee-flower-NPE.patch diff --git a/patches/server/0722-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0721-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 100% rename from patches/server/0722-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/server/0721-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch diff --git a/patches/server/0723-More-Teleport-API.patch b/patches/server/0722-More-Teleport-API.patch similarity index 99% rename from patches/server/0723-More-Teleport-API.patch rename to patches/server/0722-More-Teleport-API.patch index f7c39c1cf3..3465cde97d 100644 --- a/patches/server/0723-More-Teleport-API.patch +++ b/patches/server/0722-More-Teleport-API.patch @@ -112,7 +112,7 @@ index 4c09f2529dd8eb7ac7d260d177f5292ff2339442..94051ae8ea93ab144f3767345b1cda04 private final org.bukkit.entity.Entity.Spigot spigot = new org.bukkit.entity.Entity.Spigot() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 252309281f440e9b7a6be3118363c4d97e5dd767..78c11d99b6dfdf742dbe24f7b3c2ddbcfd433fd6 100644 +index ef289dba67db65a5e43104a4ca68bc03c8c5e4cb..7f47005c08cccbcb8cd5ac56157c4e0d0dfe10b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1286,13 +1286,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0724-Add-EntityPortalReadyEvent.patch b/patches/server/0723-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/server/0724-Add-EntityPortalReadyEvent.patch rename to patches/server/0723-Add-EntityPortalReadyEvent.patch diff --git a/patches/server/0725-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0724-Don-t-use-level-random-in-entity-constructors.patch similarity index 100% rename from patches/server/0725-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0724-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/server/0726-Send-block-entities-after-destroy-prediction.patch b/patches/server/0725-Send-block-entities-after-destroy-prediction.patch similarity index 100% rename from patches/server/0726-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0725-Send-block-entities-after-destroy-prediction.patch diff --git a/patches/server/0727-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0726-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 100% rename from patches/server/0727-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0726-Warn-on-plugins-accessing-faraway-chunks.patch diff --git a/patches/server/0728-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0727-Custom-Chat-Completion-Suggestions-API.patch similarity index 94% rename from patches/server/0728-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0727-Custom-Chat-Completion-Suggestions-API.patch index 91d951761e..13ea62b5e6 100644 --- a/patches/server/0728-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0727-Custom-Chat-Completion-Suggestions-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 78c11d99b6dfdf742dbe24f7b3c2ddbcfd433fd6..41e000981d175f121ad92aff47260b8ed76ceb62 100644 +index 7f47005c08cccbcb8cd5ac56157c4e0d0dfe10b0..3374dcd3b1f22b6c1803b9580c4cea6552b6afb1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -691,6 +691,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0729-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0728-Add-and-fix-missing-BlockFadeEvents.patch similarity index 100% rename from patches/server/0729-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/server/0728-Add-and-fix-missing-BlockFadeEvents.patch diff --git a/patches/server/0730-Collision-API.patch b/patches/server/0729-Collision-API.patch similarity index 100% rename from patches/server/0730-Collision-API.patch rename to patches/server/0729-Collision-API.patch diff --git a/patches/server/0731-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0730-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/server/0731-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/server/0730-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/server/0732-Block-Ticking-API.patch b/patches/server/0731-Block-Ticking-API.patch similarity index 100% rename from patches/server/0732-Block-Ticking-API.patch rename to patches/server/0731-Block-Ticking-API.patch diff --git a/patches/server/0733-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0732-Add-Velocity-IP-Forwarding-Support.patch similarity index 97% rename from patches/server/0733-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0732-Add-Velocity-IP-Forwarding-Support.patch index dbfd8565c9..9352ac5b67 100644 --- a/patches/server/0733-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0732-Add-Velocity-IP-Forwarding-Support.patch @@ -134,10 +134,10 @@ index 585d3e51b4af87327fc2bc64a49f09732a8c61ab..aa39bdb0a4ba8fedf5052ea9700afa7d DedicatedServer.LOGGER.warn("While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose."); } diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e388223ece1 100644 +index 9c343b579d9735dc59c8c74fde030d981a673c4f..35faa10f3b82504ae9d3f923fc04c5a99c1a624a 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -86,6 +86,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -91,6 +91,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, private final boolean transferred; private ServerPlayer player; // CraftBukkit public boolean iKnowThisMayNotBeTheBestIdeaButPleaseDisableUsernameValidation = false; // Paper - username validation overriding @@ -145,7 +145,7 @@ index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e38 public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection, boolean transferred) { this.state = ServerLoginPacketListenerImpl.State.HELLO; -@@ -184,6 +185,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -189,6 +190,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, this.state = ServerLoginPacketListenerImpl.State.KEY; this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge, true)); } else { @@ -162,7 +162,7 @@ index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e38 // CraftBukkit start // Paper start - Cache authenticator threads authenticatorPool.execute(new Runnable() { -@@ -336,6 +347,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -341,6 +352,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, // CraftBukkit start private GameProfile callPlayerPreLoginEvents(GameProfile gameprofile) throws Exception { // Paper - Add more fields to AsyncPlayerPreLoginEvent @@ -175,7 +175,7 @@ index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e38 String playerName = gameprofile.getName(); java.net.InetAddress address = ((java.net.InetSocketAddress) this.connection.getRemoteAddress()).getAddress(); java.util.UUID uniqueId = gameprofile.getId(); -@@ -381,6 +398,51 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -386,6 +403,51 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void handleCustomQueryPacket(ServerboundCustomQueryAnswerPacket packet) { @@ -228,7 +228,7 @@ index e9cd90b6bb2f57d605323add43f12962bd7cb843..0fc30ce511f449d2a3ddab28c86f7e38 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0274b574e80e133ec1b5033ae09450d2d57db894..c049c6046e3acd2262c7a474db351ae761457a0e 100644 +index 21ad1176a1b0a9445486d7be5efb692e745a78c7..d0deaa80b404043b8cb3dbc390fd5ec3bff2630b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -845,7 +845,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0734-Add-NamespacedKey-biome-methods.patch b/patches/server/0733-Add-NamespacedKey-biome-methods.patch similarity index 100% rename from patches/server/0734-Add-NamespacedKey-biome-methods.patch rename to patches/server/0733-Add-NamespacedKey-biome-methods.patch diff --git a/patches/server/0735-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0734-Fix-plugin-loggers-on-server-shutdown.patch similarity index 100% rename from patches/server/0735-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0734-Fix-plugin-loggers-on-server-shutdown.patch diff --git a/patches/server/0736-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0735-Stop-large-look-changes-from-crashing-the-server.patch similarity index 91% rename from patches/server/0736-Stop-large-look-changes-from-crashing-the-server.patch rename to patches/server/0735-Stop-large-look-changes-from-crashing-the-server.patch index 93357dd58b..1346524b91 100644 --- a/patches/server/0736-Stop-large-look-changes-from-crashing-the-server.patch +++ b/patches/server/0735-Stop-large-look-changes-from-crashing-the-server.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Stop large look changes from crashing the server Co-authored-by: Jaren Knodel diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4a9abb2457b175c640d1e59de161fa2370053613..9c8e23f92a4cf902b060af4ce74777753e32f207 100644 +index 5383d231748f2d30b2f2bf3ce07d3667e4d828e9..e6d20887572817099cb863515978d3f06926be3d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3158,37 +3158,15 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -54,10 +54,10 @@ index 4a9abb2457b175c640d1e59de161fa2370053613..9c8e23f92a4cf902b060af4ce7477775 this.level().getProfiler().pop(); this.animStep += f2; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index bc65321aee27192c40428ac6f58ccec0f0cdc2ee..dd53501d39113c4b0b5950bad70a5c667c0781c5 100644 +index 06ca07edef062f21c51860146086297ca345104d..63ffa02f820d88f865ae604712edcf2ac13f0bff 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -316,13 +316,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -313,13 +313,7 @@ public abstract class Projectile extends Entity implements TraceableEntity { } protected static float lerpRotation(float prevRot, float newRot) { diff --git a/patches/server/0737-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0736-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 100% rename from patches/server/0737-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0736-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/server/0738-Missing-eating-regain-reason.patch b/patches/server/0737-Missing-eating-regain-reason.patch similarity index 100% rename from patches/server/0738-Missing-eating-regain-reason.patch rename to patches/server/0737-Missing-eating-regain-reason.patch diff --git a/patches/server/0739-Missing-effect-cause.patch b/patches/server/0738-Missing-effect-cause.patch similarity index 84% rename from patches/server/0739-Missing-effect-cause.patch rename to patches/server/0738-Missing-effect-cause.patch index f9c09496b6..e24048113b 100644 --- a/patches/server/0739-Missing-effect-cause.patch +++ b/patches/server/0738-Missing-effect-cause.patch @@ -44,15 +44,15 @@ index aba027a4c73fd7a01556e71cfc39dbe5e9c9464a..d42b64ab58997f45974f70dc660643ac stack.consume(1, user); diff --git a/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java b/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java -index 6dccaec9834c110dde4d8b66bfd400c3306c2867..da559bf12574a5bb13c43b97282aabd3d7a71274 100644 +index f15c54be432480ae5bcda3a60e21e54fdce04b8a..5b448006debecab983167d15fac59fc2a04805df 100644 --- a/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java +++ b/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java -@@ -37,7 +37,7 @@ public class SuspiciousStewItem extends Item { - SuspiciousStewEffects suspiciousStewEffects = stack.getOrDefault(DataComponents.SUSPICIOUS_STEW_EFFECTS, SuspiciousStewEffects.EMPTY); +@@ -48,7 +48,7 @@ public class SuspiciousStewItem extends Item { + while (iterator.hasNext()) { + SuspiciousStewEffects.Entry suspicioussteweffects_a = (SuspiciousStewEffects.Entry) iterator.next(); - for (SuspiciousStewEffects.Entry entry : suspiciousStewEffects.effects()) { -- user.addEffect(entry.createEffectInstance()); -+ user.addEffect(entry.createEffectInstance(), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.FOOD); // Paper - Add missing effect cause +- user.addEffect(suspicioussteweffects_a.createEffectInstance()); ++ user.addEffect(suspicioussteweffects_a.createEffectInstance(), org.bukkit.event.entity.EntityPotionEffectEvent.Cause.FOOD); // Paper - Add missing effect cause } return super.finishUsingItem(stack, world, user); diff --git a/patches/server/0740-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0739-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/server/0740-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/server/0739-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/server/0741-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0740-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch similarity index 97% rename from patches/server/0741-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to patches/server/0740-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch index 1472e064ab..5f204ad2ba 100644 --- a/patches/server/0741-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch +++ b/patches/server/0740-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 34276233751a41b41ee6af99afa97ef7d4bca836..f278346bb5fe816f3c559a02692b125dde0446f4 100644 +index 3210d7c9405a1a335ef92debf4d85957087bfcf3..ae3bf4adc93ebd5a3d19536ac0e0889599aa4e6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -569,8 +569,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0742-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0741-Call-BlockPhysicsEvent-more-often.patch similarity index 100% rename from patches/server/0742-Call-BlockPhysicsEvent-more-often.patch rename to patches/server/0741-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/server/0743-Configurable-chat-thread-limit.patch b/patches/server/0742-Configurable-chat-thread-limit.patch similarity index 100% rename from patches/server/0743-Configurable-chat-thread-limit.patch rename to patches/server/0742-Configurable-chat-thread-limit.patch diff --git a/patches/server/0744-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0743-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch similarity index 100% rename from patches/server/0744-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch rename to patches/server/0743-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch diff --git a/patches/server/0745-fix-Jigsaw-block-kicking-user.patch b/patches/server/0744-fix-Jigsaw-block-kicking-user.patch similarity index 100% rename from patches/server/0745-fix-Jigsaw-block-kicking-user.patch rename to patches/server/0744-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/server/0746-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0745-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 100% rename from patches/server/0746-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/server/0745-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/server/0747-Add-getDrops-to-BlockState.patch b/patches/server/0746-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/server/0747-Add-getDrops-to-BlockState.patch rename to patches/server/0746-Add-getDrops-to-BlockState.patch diff --git a/patches/server/0748-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0747-Fix-a-bunch-of-vanilla-bugs.patch similarity index 99% rename from patches/server/0748-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/server/0747-Fix-a-bunch-of-vanilla-bugs.patch index 8bac2e9b94..04ccd673a1 100644 --- a/patches/server/0748-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0747-Fix-a-bunch-of-vanilla-bugs.patch @@ -140,7 +140,7 @@ index ca32e5aa6e77ca1bab886e7b6a778ec931ac4e4c..28808ffc6e486f7dc01be370c9eb249d MutableComponent ichatmutablecomponent1 = Component.translatable("build.tooHigh", i - 1).withStyle(ChatFormatting.RED); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index be842c81ae6c6ec64a233f126d7221a37d66439c..b54e8da2209d99696e12c65a23323a68b7da272b 100644 +index 03572023ae7f061bf34fed8ac27852e08d6412c0..38b9ab369e25e4b718418375f76e782283b48411 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -260,7 +260,7 @@ public abstract class PlayerList { diff --git a/patches/server/0749-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0748-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 100% rename from patches/server/0749-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0748-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/server/0750-Fix-custom-piglin-loved-items.patch b/patches/server/0749-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/server/0750-Fix-custom-piglin-loved-items.patch rename to patches/server/0749-Fix-custom-piglin-loved-items.patch diff --git a/patches/server/0751-EntityPickupItemEvent-fixes.patch b/patches/server/0750-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/server/0751-EntityPickupItemEvent-fixes.patch rename to patches/server/0750-EntityPickupItemEvent-fixes.patch diff --git a/patches/server/0752-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0751-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 97% rename from patches/server/0752-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0751-Correctly-handle-interactions-with-items-on-cooldown.patch index 0622f3fbf7..b7fa362a4b 100644 --- a/patches/server/0752-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0751-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -30,7 +30,7 @@ index 03d89f326d320c5d778c3d1e2db7d6b88753faec..717d015dd4637dd9d568b751be1dc104 this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d793566b2b5b0e996e4122087a883e92b24c216f..e1e5a195c2a415d214c5bf8a2364835f7332751b 100644 +index ba1599b733946bef468a9b006411f8827844e791..b6cca72b4785d5cf009077c81c1cca718d8cfe28 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -556,6 +556,12 @@ public class CraftEventFactory { diff --git a/patches/server/0753-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0752-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/server/0753-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0752-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/server/0754-Elder-Guardian-appearance-API.patch b/patches/server/0753-Elder-Guardian-appearance-API.patch similarity index 90% rename from patches/server/0754-Elder-Guardian-appearance-API.patch rename to patches/server/0753-Elder-Guardian-appearance-API.patch index 18f10a019a..fd1cef6a09 100644 --- a/patches/server/0754-Elder-Guardian-appearance-API.patch +++ b/patches/server/0753-Elder-Guardian-appearance-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 41e000981d175f121ad92aff47260b8ed76ceb62..dd8f74da064530d21e834139cd5b5cb1daf905a9 100644 +index 3374dcd3b1f22b6c1803b9580c4cea6552b6afb1..1e563ed8f7e85d68682e679b27b0f6100eb10aea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3298,6 +3298,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0755-Add-entity-knockback-API.patch b/patches/server/0754-Add-entity-knockback-API.patch similarity index 86% rename from patches/server/0755-Add-entity-knockback-API.patch rename to patches/server/0754-Add-entity-knockback-API.patch index e69cd1ea90..d390d3fbd4 100644 --- a/patches/server/0755-Add-entity-knockback-API.patch +++ b/patches/server/0754-Add-entity-knockback-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f278346bb5fe816f3c559a02692b125dde0446f4..3cc29107c018848a364e0fca689acf16cdd0ddb0 100644 +index ae3bf4adc93ebd5a3d19536ac0e0889599aa4e6b..2b53f1daa4f22ee1b52443ae8589c62807d22903 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1098,4 +1098,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1103,4 +1103,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { throw new UnsupportedOperationException("Cannot set the hurt direction on a non player"); } // Paper end - hurt direction API diff --git a/patches/server/0756-Detect-headless-JREs.patch b/patches/server/0755-Detect-headless-JREs.patch similarity index 100% rename from patches/server/0756-Detect-headless-JREs.patch rename to patches/server/0755-Detect-headless-JREs.patch diff --git a/patches/server/0757-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0756-fix-entity-vehicle-collision-event-not-called.patch similarity index 93% rename from patches/server/0757-fix-entity-vehicle-collision-event-not-called.patch rename to patches/server/0756-fix-entity-vehicle-collision-event-not-called.patch index e39b0eaf22..e2f922a2a1 100644 --- a/patches/server/0757-fix-entity-vehicle-collision-event-not-called.patch +++ b/patches/server/0756-fix-entity-vehicle-collision-event-not-called.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix entity vehicle collision event not called diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 2bd3ba073843b1680eeb81f7dede5973bb4f446d..f403fc311a974558233028663dbe14c27b27d3f9 100644 +index 93634fb01962ca7a35026e3c365f2a7f6b258a39..a38ce400550893f63640e3bb5bb801ab40f06266 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java @@ -165,7 +165,15 @@ public abstract class AbstractMinecart extends VehicleEntity { diff --git a/patches/server/0758-Add-EntityToggleSitEvent.patch b/patches/server/0757-Add-EntityToggleSitEvent.patch similarity index 100% rename from patches/server/0758-Add-EntityToggleSitEvent.patch rename to patches/server/0757-Add-EntityToggleSitEvent.patch diff --git a/patches/server/0759-Add-fire-tick-delay-option.patch b/patches/server/0758-Add-fire-tick-delay-option.patch similarity index 100% rename from patches/server/0759-Add-fire-tick-delay-option.patch rename to patches/server/0758-Add-fire-tick-delay-option.patch diff --git a/patches/server/0760-Add-Moving-Piston-API.patch b/patches/server/0759-Add-Moving-Piston-API.patch similarity index 100% rename from patches/server/0760-Add-Moving-Piston-API.patch rename to patches/server/0759-Add-Moving-Piston-API.patch diff --git a/patches/server/0761-Ignore-impossible-spawn-tick.patch b/patches/server/0760-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/server/0761-Ignore-impossible-spawn-tick.patch rename to patches/server/0760-Ignore-impossible-spawn-tick.patch diff --git a/patches/server/0762-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch b/patches/server/0761-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch similarity index 100% rename from patches/server/0762-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch rename to patches/server/0761-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch diff --git a/patches/server/0763-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0762-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 100% rename from patches/server/0763-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0762-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch diff --git a/patches/server/0764-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0763-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/server/0764-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0763-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/server/0765-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0764-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/server/0765-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0764-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/server/0766-Add-Player-Warden-Warning-API.patch b/patches/server/0765-Add-Player-Warden-Warning-API.patch similarity index 95% rename from patches/server/0766-Add-Player-Warden-Warning-API.patch rename to patches/server/0765-Add-Player-Warden-Warning-API.patch index 4d0bbf78c3..bbb7bff753 100644 --- a/patches/server/0766-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0765-Add-Player-Warden-Warning-API.patch @@ -10,7 +10,7 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index dd8f74da064530d21e834139cd5b5cb1daf905a9..171547b3affbd6ea79c833c58a2ea0ae58da3138 100644 +index 1e563ed8f7e85d68682e679b27b0f6100eb10aea..922ec82d566fd5ac0b40ed95629e63be3d1bf264 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3303,6 +3303,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0767-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0766-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/server/0767-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0766-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/server/0768-Add-paper-dumplisteners-command.patch b/patches/server/0767-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/server/0768-Add-paper-dumplisteners-command.patch rename to patches/server/0767-Add-paper-dumplisteners-command.patch diff --git a/patches/server/0769-check-global-player-list-where-appropriate.patch b/patches/server/0768-check-global-player-list-where-appropriate.patch similarity index 98% rename from patches/server/0769-check-global-player-list-where-appropriate.patch rename to patches/server/0768-check-global-player-list-where-appropriate.patch index 94286fbda9..cc1aa7af3e 100644 --- a/patches/server/0769-check-global-player-list-where-appropriate.patch +++ b/patches/server/0768-check-global-player-list-where-appropriate.patch @@ -24,7 +24,7 @@ index faacbdcce7de32f4e3e4a9528ea59808ccaee70b..07f7752651095abdd9e9408a419aed7d + // Paper end - check global player list where appropriate } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 9c8e23f92a4cf902b060af4ce74777753e32f207..c1d0ee65a0390c37f12d68bb8fdb2f20d30a8391 100644 +index e6d20887572817099cb863515978d3f06926be3d..f662a791e8cb045903a0de29778e5f30892fb766 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3723,7 +3723,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0770-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0769-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/server/0770-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0769-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/server/0771-ItemStack-damage-API.patch b/patches/server/0770-ItemStack-damage-API.patch similarity index 90% rename from patches/server/0771-ItemStack-damage-API.patch rename to patches/server/0770-ItemStack-damage-API.patch index 2f71087902..0455f41b1b 100644 --- a/patches/server/0771-ItemStack-damage-API.patch +++ b/patches/server/0770-ItemStack-damage-API.patch @@ -11,7 +11,7 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 598507684aed7978fa2e9bae0d959c7d0f9e53d6..e6588a7fc03df4036b38f9a2011e7a716ff111f4 100644 +index 889263767ce3a2a4c43a2c61aa9d2d715392607c..8bf5783414b7dbe5c01a4ed1286e543426f20698 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -647,8 +647,13 @@ public final class ItemStack implements DataComponentHolder { @@ -29,7 +29,7 @@ index 598507684aed7978fa2e9bae0d959c7d0f9e53d6..e6588a7fc03df4036b38f9a2011e7a71 if (amount > 0) { int originalDamage = amount; // Paper - Expand PlayerItemDamageEvent amount = EnchantmentHelper.processDurabilityChange(world, this, amount); -@@ -699,6 +704,11 @@ public final class ItemStack implements DataComponentHolder { +@@ -704,6 +709,11 @@ public final class ItemStack implements DataComponentHolder { } public void hurtAndBreak(int amount, LivingEntity entity, EquipmentSlot slot) { @@ -42,21 +42,21 @@ index 598507684aed7978fa2e9bae0d959c7d0f9e53d6..e6588a7fc03df4036b38f9a2011e7a71 if (world instanceof ServerLevel worldserver) { @@ -716,8 +726,8 @@ public final class ItemStack implements DataComponentHolder { - org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((net.minecraft.world.entity.player.Player) entity, this); - } - // CraftBukkit end + } + + this.hurtAndBreak(amount, worldserver, entity, (item) -> { // Paper - Add EntityDamageItemEvent - entity.onEquippedItemBroken(item, slot); - }); + if (slot != null) entity.onEquippedItemBroken(item, slot); // Paper - itemstack damage API - do not process entity related callbacks when damaging from API -+ }, force); // Paper ++ }, force); // Paper - itemstack damage API } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3cc29107c018848a364e0fca689acf16cdd0ddb0..6d3183c2bfe9b28070a72cb5c3c05dda2a9d8b11 100644 +index 2b53f1daa4f22ee1b52443ae8589c62807d22903..9134ce983f5c798e2925348ac9d3b8570965d415 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1106,4 +1106,48 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1111,4 +1111,48 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().knockback(strength, directionX, directionZ); }; // Paper end - knockback API diff --git a/patches/server/0772-Friction-API.patch b/patches/server/0771-Friction-API.patch similarity index 96% rename from patches/server/0772-Friction-API.patch rename to patches/server/0771-Friction-API.patch index cae3c2376e..c4c9c37444 100644 --- a/patches/server/0772-Friction-API.patch +++ b/patches/server/0771-Friction-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Friction API diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c1d0ee65a0390c37f12d68bb8fdb2f20d30a8391..7d7d5dcb9866dc84d385d82602d0fa58602ad23c 100644 +index f662a791e8cb045903a0de29778e5f30892fb766..2bb61084b628582ded44926d7697ee26d0bb1e8e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -285,6 +285,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -133,10 +133,10 @@ index 1a291dd8a287db30e71dcb315599fc4b038764c4..30d62ee4d5cd2ddacb8783b5bbbf475d public int getHealth() { return this.getHandle().health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 6d3183c2bfe9b28070a72cb5c3c05dda2a9d8b11..89af84b8ff3aac5269dfb2b069a6e23742b82b4e 100644 +index 9134ce983f5c798e2925348ac9d3b8570965d415..89b66fd33cdeab03a6b208f9c59df767787a42bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1150,4 +1150,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1155,4 +1155,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { nmsStack.hurtAndBreak(amount, this.getHandle(), slot, true); } // Paper end - ItemStack damage API diff --git a/patches/server/0773-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0772-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/server/0773-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0772-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/server/0774-Fix-premature-player-kicks-on-shutdown.patch b/patches/server/0773-Fix-premature-player-kicks-on-shutdown.patch similarity index 100% rename from patches/server/0774-Fix-premature-player-kicks-on-shutdown.patch rename to patches/server/0773-Fix-premature-player-kicks-on-shutdown.patch diff --git a/patches/server/0775-Sync-offhand-slot-in-menus.patch b/patches/server/0774-Sync-offhand-slot-in-menus.patch similarity index 100% rename from patches/server/0775-Sync-offhand-slot-in-menus.patch rename to patches/server/0774-Sync-offhand-slot-in-menus.patch diff --git a/patches/server/0776-Player-Entity-Tracking-Events.patch b/patches/server/0775-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/server/0776-Player-Entity-Tracking-Events.patch rename to patches/server/0775-Player-Entity-Tracking-Events.patch diff --git a/patches/server/0777-Limit-pet-look-distance.patch b/patches/server/0776-Limit-pet-look-distance.patch similarity index 100% rename from patches/server/0777-Limit-pet-look-distance.patch rename to patches/server/0776-Limit-pet-look-distance.patch diff --git a/patches/server/0778-fix-Instruments.patch b/patches/server/0777-fix-Instruments.patch similarity index 96% rename from patches/server/0778-fix-Instruments.patch rename to patches/server/0777-fix-Instruments.patch index 1426590363..c2cffdb2b5 100644 --- a/patches/server/0778-fix-Instruments.patch +++ b/patches/server/0777-fix-Instruments.patch @@ -6,7 +6,7 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 171547b3affbd6ea79c833c58a2ea0ae58da3138..3e0018c512cad3127a59b54ab008afb6847d82b6 100644 +index 922ec82d566fd5ac0b40ed95629e63be3d1bf264..111b90f97f631369acfb76278da26de94a4740bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -768,7 +768,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0779-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0778-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 100% rename from patches/server/0779-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/server/0778-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch diff --git a/patches/server/0780-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0779-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 100% rename from patches/server/0780-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/server/0779-Fix-inconsistencies-in-dispense-events-regarding-sta.patch diff --git a/patches/server/0781-Add-BlockLockCheckEvent.patch b/patches/server/0780-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/server/0781-Add-BlockLockCheckEvent.patch rename to patches/server/0780-Add-BlockLockCheckEvent.patch diff --git a/patches/server/0782-Add-Sneaking-API-for-Entities.patch b/patches/server/0781-Add-Sneaking-API-for-Entities.patch similarity index 100% rename from patches/server/0782-Add-Sneaking-API-for-Entities.patch rename to patches/server/0781-Add-Sneaking-API-for-Entities.patch diff --git a/patches/server/0783-Improve-logging-and-errors.patch b/patches/server/0782-Improve-logging-and-errors.patch similarity index 100% rename from patches/server/0783-Improve-logging-and-errors.patch rename to patches/server/0782-Improve-logging-and-errors.patch diff --git a/patches/server/0784-Improve-PortalEvents.patch b/patches/server/0783-Improve-PortalEvents.patch similarity index 100% rename from patches/server/0784-Improve-PortalEvents.patch rename to patches/server/0783-Improve-PortalEvents.patch diff --git a/patches/server/0785-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0784-Add-config-option-for-spider-worldborder-climbing.patch similarity index 100% rename from patches/server/0785-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/server/0784-Add-config-option-for-spider-worldborder-climbing.patch diff --git a/patches/server/0786-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0785-Add-missing-SpigotConfig-logCommands-check.patch similarity index 100% rename from patches/server/0786-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/server/0785-Add-missing-SpigotConfig-logCommands-check.patch diff --git a/patches/server/0787-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0786-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/server/0787-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0786-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/server/0788-Flying-Fall-Damage.patch b/patches/server/0787-Flying-Fall-Damage.patch similarity index 96% rename from patches/server/0788-Flying-Fall-Damage.patch rename to patches/server/0787-Flying-Fall-Damage.patch index d82a7d6a41..cee20a07da 100644 --- a/patches/server/0788-Flying-Fall-Damage.patch +++ b/patches/server/0787-Flying-Fall-Damage.patch @@ -26,7 +26,7 @@ index ad334f149fe1b44d4ebe48489dcd2811ff1b5cd0..950ce40d268d89ff3c503116081db6c9 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3e0018c512cad3127a59b54ab008afb6847d82b6..88d55a5da818665799ae957e1e5e53a406bcdef2 100644 +index 111b90f97f631369acfb76278da26de94a4740bf..fdf6c3f1f8f79dd20e1363ef472f97fe98c9799e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2581,6 +2581,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0789-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0788-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 100% rename from patches/server/0789-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0788-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/server/0790-config-for-disabling-entity-tag-tags.patch b/patches/server/0789-config-for-disabling-entity-tag-tags.patch similarity index 100% rename from patches/server/0790-config-for-disabling-entity-tag-tags.patch rename to patches/server/0789-config-for-disabling-entity-tag-tags.patch diff --git a/patches/server/0791-Use-single-player-info-update-packet-on-join.patch b/patches/server/0790-Use-single-player-info-update-packet-on-join.patch similarity index 97% rename from patches/server/0791-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0790-Use-single-player-info-update-packet-on-join.patch index 086e834d77..bbf8785310 100644 --- a/patches/server/0791-Use-single-player-info-update-packet-on-join.patch +++ b/patches/server/0790-Use-single-player-info-update-packet-on-join.patch @@ -18,7 +18,7 @@ index a2a7d499a68841ecd76ba029298094993a82bf39..a6f58438badb0bdeab67706f4a8e519b } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b54e8da2209d99696e12c65a23323a68b7da272b..d210df131bac0604eb44e7a772ec48089c043746 100644 +index 38b9ab369e25e4b718418375f76e782283b48411..bd67245393f512264db774e0b855db0ce925a3f4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -361,6 +361,7 @@ public abstract class PlayerList { diff --git a/patches/server/0792-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0791-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 95% rename from patches/server/0792-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0791-Correctly-shrink-items-during-EntityResurrectEvent.patch index c1db8cbcae..e7b31c3642 100644 --- a/patches/server/0792-Correctly-shrink-items-during-EntityResurrectEvent.patch +++ b/patches/server/0791-Correctly-shrink-items-during-EntityResurrectEvent.patch @@ -22,7 +22,7 @@ This patch corrects this behaviour by only shrinking the item if a totem of undying was found and the event was called uncancelled. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 7d7d5dcb9866dc84d385d82602d0fa58602ad23c..c749c45cb49444347f8e9c0c4689aa44f96b40bb 100644 +index 2bb61084b628582ded44926d7697ee26d0bb1e8e..9e58a85a7de53b17fa149ae0b4951baa351d99db 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1632,7 +1632,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0793-Win-Screen-API.patch b/patches/server/0792-Win-Screen-API.patch similarity index 93% rename from patches/server/0793-Win-Screen-API.patch rename to patches/server/0792-Win-Screen-API.patch index 9089ea0503..567b2236d9 100644 --- a/patches/server/0793-Win-Screen-API.patch +++ b/patches/server/0792-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 88d55a5da818665799ae957e1e5e53a406bcdef2..34c16525d9393a3f111e3df387b55d28b875cb06 100644 +index fdf6c3f1f8f79dd20e1363ef472f97fe98c9799e..06a3ccb90f23fc357e5cbc6e9173baab4b218955 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1305,6 +1305,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0794-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0793-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/server/0794-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0793-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/server/0795-Fix-force-opening-enchantment-tables.patch b/patches/server/0794-Fix-force-opening-enchantment-tables.patch similarity index 91% rename from patches/server/0795-Fix-force-opening-enchantment-tables.patch rename to patches/server/0794-Fix-force-opening-enchantment-tables.patch index db009af8c8..89326fc719 100644 --- a/patches/server/0795-Fix-force-opening-enchantment-tables.patch +++ b/patches/server/0794-Fix-force-opening-enchantment-tables.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix force-opening enchantment tables diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 0213898b4d029ea9260a755d6411d909a1b6885c..9ab3fc287480aedcb4033801d4f092719e933454 100644 +index 049db909fbd8610ebb688d948f5d03c97ab23495..1ff114f792ca12bc5408cdd9ab0ad23c3158b99c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -403,7 +403,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -411,7 +411,18 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // If there isn't an enchant table we can force create one, won't be very useful though. BlockPos pos = CraftLocation.toBlockPosition(location); diff --git a/patches/server/0796-Add-Entity-Body-Yaw-API.patch b/patches/server/0795-Add-Entity-Body-Yaw-API.patch similarity index 92% rename from patches/server/0796-Add-Entity-Body-Yaw-API.patch rename to patches/server/0795-Add-Entity-Body-Yaw-API.patch index 53523e2ba9..da33e1c8c9 100644 --- a/patches/server/0796-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0795-Add-Entity-Body-Yaw-API.patch @@ -43,10 +43,10 @@ index ac513d3162a0794f226abc80bff21c799fe5802c..7c7501b4b21530d0641774f64e87d7d1 @Override public boolean isInvisible() { // Paper - moved up from LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 89af84b8ff3aac5269dfb2b069a6e23742b82b4e..413a58d025cc7baf794e1f2866c3582504df4daf 100644 +index 89b66fd33cdeab03a6b208f9c59df767787a42bf..a5d30e5657edd7d71ea521f81faa6d3088164291 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1163,4 +1163,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1168,4 +1168,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().frictionState = state; } // Paper end - friction API diff --git a/patches/server/0797-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0796-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/server/0797-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0796-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/server/0798-Add-EntityFertilizeEggEvent.patch b/patches/server/0797-Add-EntityFertilizeEggEvent.patch similarity index 98% rename from patches/server/0798-Add-EntityFertilizeEggEvent.patch rename to patches/server/0797-Add-EntityFertilizeEggEvent.patch index f940f43c54..07253994cb 100644 --- a/patches/server/0798-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0797-Add-EntityFertilizeEggEvent.patch @@ -69,7 +69,7 @@ index d34d8fe70379dcad9540739ec0ae1c94f01fc46b..fadd341ff398886a4da102eefa1beb95 this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F); } // Paper - Call EntityDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e1e5a195c2a415d214c5bf8a2364835f7332751b..2eb6080c92b2557c77d826300db5104db830bc7f 100644 +index b6cca72b4785d5cf009077c81c1cca718d8cfe28..a0b387ddf3cc1e3473c6b35175ac8b68c717cfbe 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -2197,4 +2197,28 @@ public class CraftEventFactory { diff --git a/patches/server/0799-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0798-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 90% rename from patches/server/0799-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0798-Fix-HumanEntity-drop-not-updating-the-client-inv.patch index 99130d8f1a..b804a77828 100644 --- a/patches/server/0799-Fix-HumanEntity-drop-not-updating-the-client-inv.patch +++ b/patches/server/0798-Fix-HumanEntity-drop-not-updating-the-client-inv.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Fix HumanEntity#drop not updating the client inv public net.minecraft.server.level.ServerPlayer containerSynchronizer diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 9ab3fc287480aedcb4033801d4f092719e933454..12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7 100644 +index 1ff114f792ca12bc5408cdd9ab0ad23c3158b99c..b782cc64426a058881947ed62316c1cb8d332037 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -751,8 +751,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -759,8 +759,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Paper end @Override public boolean dropItem(boolean dropAll) { diff --git a/patches/server/0800-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0799-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/server/0800-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0799-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0801-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0800-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/server/0801-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0800-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/server/0802-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0801-Fix-advancement-triggers-for-entity-damage.patch similarity index 97% rename from patches/server/0802-Fix-advancement-triggers-for-entity-damage.patch rename to patches/server/0801-Fix-advancement-triggers-for-entity-damage.patch index ea0459da7d..94c53ab61c 100644 --- a/patches/server/0802-Fix-advancement-triggers-for-entity-damage.patch +++ b/patches/server/0801-Fix-advancement-triggers-for-entity-damage.patch @@ -23,7 +23,7 @@ index 2ebbf7954dc5e0d6c9d53327d05b725eec310086..c5bd2e90ad74ba08910f65a2e07b6f76 return !this.getResponse(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c749c45cb49444347f8e9c0c4689aa44f96b40bb..3bd9eaf4f0537167ed27c666e805fbf65c640445 100644 +index 9e58a85a7de53b17fa149ae0b4951baa351d99db..4e96a65396b687d2823f2229744f5d448ba87512 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2388,7 +2388,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0803-Fix-text-display-error-on-spawn.patch b/patches/server/0802-Fix-text-display-error-on-spawn.patch similarity index 100% rename from patches/server/0803-Fix-text-display-error-on-spawn.patch rename to patches/server/0802-Fix-text-display-error-on-spawn.patch diff --git a/patches/server/0804-Fix-inventories-returning-null-Locations.patch b/patches/server/0803-Fix-inventories-returning-null-Locations.patch similarity index 100% rename from patches/server/0804-Fix-inventories-returning-null-Locations.patch rename to patches/server/0803-Fix-inventories-returning-null-Locations.patch diff --git a/patches/server/0805-Add-Shearable-API.patch b/patches/server/0804-Add-Shearable-API.patch similarity index 100% rename from patches/server/0805-Add-Shearable-API.patch rename to patches/server/0804-Add-Shearable-API.patch diff --git a/patches/server/0806-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0805-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/server/0806-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/server/0805-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/server/0807-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0806-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/server/0807-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0806-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/server/0808-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0807-Treat-sequence-violations-like-they-should-be.patch similarity index 100% rename from patches/server/0808-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0807-Treat-sequence-violations-like-they-should-be.patch diff --git a/patches/server/0809-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0808-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 100% rename from patches/server/0809-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0808-Prevent-causing-expired-keys-from-impacting-new-join.patch diff --git a/patches/server/0810-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0809-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 100% rename from patches/server/0810-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0809-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/server/0811-Use-array-for-gamerule-storage.patch b/patches/server/0810-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/server/0811-Use-array-for-gamerule-storage.patch rename to patches/server/0810-Use-array-for-gamerule-storage.patch diff --git a/patches/server/0812-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0811-Fix-a-couple-of-upstream-bed-issues.patch similarity index 100% rename from patches/server/0812-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/server/0811-Fix-a-couple-of-upstream-bed-issues.patch diff --git a/patches/server/0813-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0812-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 100% rename from patches/server/0813-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/server/0812-Fix-demo-flag-not-enabling-demo-mode.patch diff --git a/patches/server/0814-Add-Mob-Experience-reward-API.patch b/patches/server/0813-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/server/0814-Add-Mob-Experience-reward-API.patch rename to patches/server/0813-Add-Mob-Experience-reward-API.patch diff --git a/patches/server/0815-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0814-Break-redstone-on-top-of-trap-doors-early.patch similarity index 100% rename from patches/server/0815-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/server/0814-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/server/0816-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0815-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/server/0816-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/server/0815-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/server/0817-More-accurate-isInOpenWater-impl.patch b/patches/server/0816-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/server/0817-More-accurate-isInOpenWater-impl.patch rename to patches/server/0816-More-accurate-isInOpenWater-impl.patch diff --git a/patches/server/0818-Expand-PlayerItemMendEvent.patch b/patches/server/0817-Expand-PlayerItemMendEvent.patch similarity index 96% rename from patches/server/0818-Expand-PlayerItemMendEvent.patch rename to patches/server/0817-Expand-PlayerItemMendEvent.patch index 6c302fd085..289fae7adb 100644 --- a/patches/server/0818-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0817-Expand-PlayerItemMendEvent.patch @@ -30,7 +30,7 @@ index a758b2456acac23095fe4619ae10300a034cb460..a58ff67052fb5f33782f8b5c83465ec0 if (l > 0) { // this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 34c16525d9393a3f111e3df387b55d28b875cb06..d7437bdfca45ee89cef23c6466c3d7d8a3f5c8d6 100644 +index 06a3ccb90f23fc357e5cbc6e9173baab4b218955..3945a6ab723deee3ec3ebb5fbc726ce16bbca411 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1853,11 +1853,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -49,7 +49,7 @@ index 34c16525d9393a3f111e3df387b55d28b875cb06..d7437bdfca45ee89cef23c6466c3d7d8 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2eb6080c92b2557c77d826300db5104db830bc7f..3af97418a7e28037ed59dea7f37e0785cf9d46e4 100644 +index a0b387ddf3cc1e3473c6b35175ac8b68c717cfbe..9586837f25464396c0695e87fa278c91ca90183a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1286,10 +1286,10 @@ public class CraftEventFactory { diff --git a/patches/server/0819-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0818-Refresh-ProjectileSource-for-projectiles.patch similarity index 100% rename from patches/server/0819-Refresh-ProjectileSource-for-projectiles.patch rename to patches/server/0818-Refresh-ProjectileSource-for-projectiles.patch diff --git a/patches/server/0820-Add-transient-modifier-API.patch b/patches/server/0819-Add-transient-modifier-API.patch similarity index 100% rename from patches/server/0820-Add-transient-modifier-API.patch rename to patches/server/0819-Add-transient-modifier-API.patch diff --git a/patches/server/0821-Fix-block-place-logic.patch b/patches/server/0820-Fix-block-place-logic.patch similarity index 100% rename from patches/server/0821-Fix-block-place-logic.patch rename to patches/server/0820-Fix-block-place-logic.patch diff --git a/patches/server/0822-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0821-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 94% rename from patches/server/0822-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/server/0821-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index e37c1ac015..6b029362ad 100644 --- a/patches/server/0822-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0821-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e6588a7fc03df4036b38f9a2011e7a716ff111f4..748489c375517368ab5a62f61d86ccdf91304d97 100644 +index 8bf5783414b7dbe5c01a4ed1286e543426f20698..67728baaaeac7c0fe353e30ae681eec24af3aff2 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -571,7 +571,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0823-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0822-Call-BlockGrowEvent-for-missing-blocks.patch similarity index 100% rename from patches/server/0823-Call-BlockGrowEvent-for-missing-blocks.patch rename to patches/server/0822-Call-BlockGrowEvent-for-missing-blocks.patch diff --git a/patches/server/0824-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0823-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch similarity index 94% rename from patches/server/0824-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch rename to patches/server/0823-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch index 51cff24583..0eb4dc7f69 100644 --- a/patches/server/0824-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch +++ b/patches/server/0823-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c049c6046e3acd2262c7a474db351ae761457a0e..085e7ebd5e34b6f7c41b2847641bad9d03fb9d96 100644 +index d0deaa80b404043b8cb3dbc390fd5ec3bff2630b..622fe949819ec80737da21305e1a1e0c46480a63 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -355,7 +355,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0825-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0824-fix-MapLike-spam-for-missing-key-selector.patch similarity index 100% rename from patches/server/0825-fix-MapLike-spam-for-missing-key-selector.patch rename to patches/server/0824-fix-MapLike-spam-for-missing-key-selector.patch diff --git a/patches/server/0826-Fix-sniffer-removeExploredLocation.patch b/patches/server/0825-Fix-sniffer-removeExploredLocation.patch similarity index 100% rename from patches/server/0826-Fix-sniffer-removeExploredLocation.patch rename to patches/server/0825-Fix-sniffer-removeExploredLocation.patch diff --git a/patches/server/0827-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0826-Add-method-to-remove-all-active-potion-effects.patch similarity index 91% rename from patches/server/0827-Add-method-to-remove-all-active-potion-effects.patch rename to patches/server/0826-Add-method-to-remove-all-active-potion-effects.patch index eb810dfef5..beee87ef9d 100644 --- a/patches/server/0827-Add-method-to-remove-all-active-potion-effects.patch +++ b/patches/server/0826-Add-method-to-remove-all-active-potion-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 413a58d025cc7baf794e1f2866c3582504df4daf..de1c0c610931471c580266f0d0e0fd881b1e7d3d 100644 +index a5d30e5657edd7d71ea521f81faa6d3088164291..6c44aaef8f09b2a10183dba751557ac5c6233a87 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -563,6 +563,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0828-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0827-Fix-incorrect-crafting-result-amount-for-fireworks.patch similarity index 100% rename from patches/server/0828-Fix-incorrect-crafting-result-amount-for-fireworks.patch rename to patches/server/0827-Fix-incorrect-crafting-result-amount-for-fireworks.patch diff --git a/patches/server/0829-Add-event-for-player-editing-sign.patch b/patches/server/0828-Add-event-for-player-editing-sign.patch similarity index 98% rename from patches/server/0829-Add-event-for-player-editing-sign.patch rename to patches/server/0828-Add-event-for-player-editing-sign.patch index f2582476f3..0f29231215 100644 --- a/patches/server/0829-Add-event-for-player-editing-sign.patch +++ b/patches/server/0828-Add-event-for-player-editing-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add event for player editing sign diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 748489c375517368ab5a62f61d86ccdf91304d97..0a6db77afa392e6ab47f970d5665804c8f6cbf7b 100644 +index 67728baaaeac7c0fe353e30ae681eec24af3aff2..67ccd3065962a60d9a1676f13e383ed1f8a00d20 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -550,7 +550,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0830-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0829-Only-tick-item-frames-if-players-can-see-it.patch similarity index 100% rename from patches/server/0830-Only-tick-item-frames-if-players-can-see-it.patch rename to patches/server/0829-Only-tick-item-frames-if-players-can-see-it.patch diff --git a/patches/server/0831-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0830-Fix-cmd-permission-levels-for-command-blocks.patch similarity index 100% rename from patches/server/0831-Fix-cmd-permission-levels-for-command-blocks.patch rename to patches/server/0830-Fix-cmd-permission-levels-for-command-blocks.patch diff --git a/patches/server/0832-Add-option-to-disable-block-updates.patch b/patches/server/0831-Add-option-to-disable-block-updates.patch similarity index 100% rename from patches/server/0832-Add-option-to-disable-block-updates.patch rename to patches/server/0831-Add-option-to-disable-block-updates.patch diff --git a/patches/server/0833-Call-missing-BlockDispenseEvent.patch b/patches/server/0832-Call-missing-BlockDispenseEvent.patch similarity index 98% rename from patches/server/0833-Call-missing-BlockDispenseEvent.patch rename to patches/server/0832-Call-missing-BlockDispenseEvent.patch index 1ee26b1b62..ca534e4617 100644 --- a/patches/server/0833-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0832-Call-missing-BlockDispenseEvent.patch @@ -50,7 +50,7 @@ index 96db0b1041a4c0f054d4f3f2bdced960b119664e..78951f50188528718cdb3dbbaabe3f9f for (int k = 0; k < 5; ++k) { worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3af97418a7e28037ed59dea7f37e0785cf9d46e4..736244853af33891609ab71fc50d259918574f3d 100644 +index 9586837f25464396c0695e87fa278c91ca90183a..9b3023fdda9d08c0f5489542f644e2ea311af191 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -2198,6 +2198,32 @@ public class CraftEventFactory { diff --git a/patches/server/0834-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0833-Don-t-load-chunks-for-supporting-block-checks.patch similarity index 100% rename from patches/server/0834-Don-t-load-chunks-for-supporting-block-checks.patch rename to patches/server/0833-Don-t-load-chunks-for-supporting-block-checks.patch diff --git a/patches/server/0835-Optimize-player-lookups-for-beacons.patch b/patches/server/0834-Optimize-player-lookups-for-beacons.patch similarity index 100% rename from patches/server/0835-Optimize-player-lookups-for-beacons.patch rename to patches/server/0834-Optimize-player-lookups-for-beacons.patch diff --git a/patches/server/0836-More-Sign-Block-API.patch b/patches/server/0835-More-Sign-Block-API.patch similarity index 100% rename from patches/server/0836-More-Sign-Block-API.patch rename to patches/server/0835-More-Sign-Block-API.patch diff --git a/patches/server/0837-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0836-fix-item-meta-for-tadpole-buckets.patch similarity index 100% rename from patches/server/0837-fix-item-meta-for-tadpole-buckets.patch rename to patches/server/0836-fix-item-meta-for-tadpole-buckets.patch diff --git a/patches/server/0838-Fix-BanList-API.patch b/patches/server/0837-Fix-BanList-API.patch similarity index 97% rename from patches/server/0838-Fix-BanList-API.patch rename to patches/server/0837-Fix-BanList-API.patch index 0b3b2d80aa..0ed02f9e9c 100644 --- a/patches/server/0838-Fix-BanList-API.patch +++ b/patches/server/0837-Fix-BanList-API.patch @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d7437bdfca45ee89cef23c6466c3d7d8a3f5c8d6..eb8c3b1c55e7ab9c1304d30a3da911b5051b259c 100644 +index 3945a6ab723deee3ec3ebb5fbc726ce16bbca411..62914bde6f6b045e6b3682581899d756d1b272f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1747,23 +1747,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -256,11 +256,11 @@ index d7437bdfca45ee89cef23c6466c3d7d8a3f5c8d6..eb8c3b1c55e7ab9c1304d30a3da911b5 } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index ce30a8853d5095ce5bf1ec902b41d27db9e35b4f..0121c90dd7f57be5f484f970f78747a92a734611 100644 +index 41bf260a599f46d410f234bac4dbad32142aa1cc..c216d8bf2fb836a17cca55375fbe67bc4f52d54a 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -@@ -28,7 +28,7 @@ import org.bukkit.profile.PlayerProfile; - import org.bukkit.profile.PlayerTextures; +@@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerTextures; + import org.jetbrains.annotations.ApiStatus; @SerializableAs("PlayerProfile") -public final class CraftPlayerProfile implements PlayerProfile, com.destroystokyo.paper.profile.SharedPlayerProfile { // Paper @@ -268,7 +268,7 @@ index ce30a8853d5095ce5bf1ec902b41d27db9e35b4f..0121c90dd7f57be5f484f970f78747a9 @Nonnull public static GameProfile validateSkullProfile(@Nonnull GameProfile gameProfile) { -@@ -137,7 +137,7 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky +@@ -162,7 +162,7 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky } @Override @@ -277,7 +277,7 @@ index ce30a8853d5095ce5bf1ec902b41d27db9e35b4f..0121c90dd7f57be5f484f970f78747a9 return CompletableFuture.supplyAsync(this::getUpdatedProfile, Util.PROFILE_EXECUTOR); // Paper - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread } -@@ -291,4 +291,71 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky +@@ -321,4 +321,71 @@ public final class CraftPlayerProfile implements PlayerProfile, com.destroystoky // Paper - diff on change return profile; } diff --git a/patches/server/0839-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0838-Determine-lava-and-water-fluid-explosion-resistance-.patch similarity index 100% rename from patches/server/0839-Determine-lava-and-water-fluid-explosion-resistance-.patch rename to patches/server/0838-Determine-lava-and-water-fluid-explosion-resistance-.patch diff --git a/patches/server/0840-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0839-Fix-possible-NPE-on-painting-creation.patch similarity index 100% rename from patches/server/0840-Fix-possible-NPE-on-painting-creation.patch rename to patches/server/0839-Fix-possible-NPE-on-painting-creation.patch diff --git a/patches/server/0841-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0840-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0841-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0840-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0842-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0841-ExperienceOrb-should-call-EntitySpawnEvent.patch similarity index 93% rename from patches/server/0842-ExperienceOrb-should-call-EntitySpawnEvent.patch rename to patches/server/0841-ExperienceOrb-should-call-EntitySpawnEvent.patch index 8199743d6f..b70d980d31 100644 --- a/patches/server/0842-ExperienceOrb-should-call-EntitySpawnEvent.patch +++ b/patches/server/0841-ExperienceOrb-should-call-EntitySpawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 736244853af33891609ab71fc50d259918574f3d..50346dda83472bddc043f8e8c45f9131c2e5958c 100644 +index 9b3023fdda9d08c0f5489542f644e2ea311af191..907ea60b647d529f133986632d00416269bc311e 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -746,7 +746,8 @@ public class CraftEventFactory { diff --git a/patches/server/0843-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0842-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch similarity index 100% rename from patches/server/0843-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch rename to patches/server/0842-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch diff --git a/patches/server/0844-Add-whitelist-events.patch b/patches/server/0843-Add-whitelist-events.patch similarity index 100% rename from patches/server/0844-Add-whitelist-events.patch rename to patches/server/0843-Add-whitelist-events.patch diff --git a/patches/server/0845-Implement-PlayerFailMoveEvent.patch b/patches/server/0844-Implement-PlayerFailMoveEvent.patch similarity index 100% rename from patches/server/0845-Implement-PlayerFailMoveEvent.patch rename to patches/server/0844-Implement-PlayerFailMoveEvent.patch diff --git a/patches/server/0846-Folia-scheduler-and-owned-region-API.patch b/patches/server/0845-Folia-scheduler-and-owned-region-API.patch similarity index 99% rename from patches/server/0846-Folia-scheduler-and-owned-region-API.patch rename to patches/server/0845-Folia-scheduler-and-owned-region-API.patch index 3b6c47e313..061c3c8e9b 100644 --- a/patches/server/0846-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0845-Folia-scheduler-and-owned-region-API.patch @@ -1173,7 +1173,7 @@ index a72b278826be1d0da79ca619ea9a9a437fa9c54b..2dfa9c4c0c2ef489649944eed89d8c77 this.profiler.push("commandFunctions"); MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index d210df131bac0604eb44e7a772ec48089c043746..b8e79cf272f0a87b0fc0c0f61d325ec780b0f6b5 100644 +index bd67245393f512264db774e0b855db0ce925a3f4..e85b91036c2470b2f164a4641d1c07d27553a078 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -640,6 +640,7 @@ public abstract class PlayerList { @@ -1251,7 +1251,7 @@ index 8e252b930247293e0fbcf350111403ee716cfffa..f81a576084ccceb2b02e8d8cd57442ef public void setLevelCallback(EntityInLevelCallback changeListener) { this.levelCallback = changeListener; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 085e7ebd5e34b6f7c41b2847641bad9d03fb9d96..161e3e440e90dcc23a8b82b1f1856a095e5a9a7f 100644 +index 622fe949819ec80737da21305e1a1e0c46480a63..2dd20823769f1a3a2d028cd64d3af5989429d1ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -310,6 +310,76 @@ public final class CraftServer implements Server { diff --git a/patches/server/0847-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0846-Only-erase-allay-memory-on-non-item-targets.patch similarity index 100% rename from patches/server/0847-Only-erase-allay-memory-on-non-item-targets.patch rename to patches/server/0846-Only-erase-allay-memory-on-non-item-targets.patch diff --git a/patches/server/0848-API-for-updating-recipes-on-clients.patch b/patches/server/0847-API-for-updating-recipes-on-clients.patch similarity index 95% rename from patches/server/0848-API-for-updating-recipes-on-clients.patch rename to patches/server/0847-API-for-updating-recipes-on-clients.patch index 8f795d23d6..54f4e830b0 100644 --- a/patches/server/0848-API-for-updating-recipes-on-clients.patch +++ b/patches/server/0847-API-for-updating-recipes-on-clients.patch @@ -5,7 +5,7 @@ Subject: [PATCH] API for updating recipes on clients diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index b2e131f45e8f1bbefc42b6e16ac482b2fbeafb12..b7fbf6e395aeaaf2353a3d047a0321d4a9b6de3c 100644 +index e85b91036c2470b2f164a4641d1c07d27553a078..387470d6cfd34dc6f9c895a962ddcdf92583ab8c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1489,6 +1489,13 @@ public abstract class PlayerList { @@ -39,7 +39,7 @@ index b2e131f45e8f1bbefc42b6e16ac482b2fbeafb12..b7fbf6e395aeaaf2353a3d047a0321d4 Iterator iterator1 = this.players.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 161e3e440e90dcc23a8b82b1f1856a095e5a9a7f..b2e230ed6f86bd53e360192352c4c5dee0323fb6 100644 +index 2dd20823769f1a3a2d028cd64d3af5989429d1ac..00f8042538a698995299aaa57212e7091c1af634 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1174,6 +1174,18 @@ public final class CraftServer implements Server { diff --git a/patches/server/0849-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0848-Fix-rotation-when-spawning-display-entities.patch similarity index 100% rename from patches/server/0849-Fix-rotation-when-spawning-display-entities.patch rename to patches/server/0848-Fix-rotation-when-spawning-display-entities.patch diff --git a/patches/server/0850-Only-capture-actual-tree-growth.patch b/patches/server/0849-Only-capture-actual-tree-growth.patch similarity index 98% rename from patches/server/0850-Only-capture-actual-tree-growth.patch rename to patches/server/0849-Only-capture-actual-tree-growth.patch index 202a25604c..039d1ea70b 100644 --- a/patches/server/0850-Only-capture-actual-tree-growth.patch +++ b/patches/server/0849-Only-capture-actual-tree-growth.patch @@ -17,7 +17,7 @@ index 78951f50188528718cdb3dbbaabe3f9f2760ffe3..7826e2a52da47914aca39fef958b8f39 } } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 0a6db77afa392e6ab47f970d5665804c8f6cbf7b..7cc9ded0e53bc1c6313ab720c852b1b0163ba951 100644 +index 67ccd3065962a60d9a1676f13e383ed1f8a00d20..355e461da5551e38bbc2ede69c5818f7db27011c 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -466,6 +466,7 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0851-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0850-Use-correct-source-for-mushroom-block-spread-event.patch similarity index 100% rename from patches/server/0851-Use-correct-source-for-mushroom-block-spread-event.patch rename to patches/server/0850-Use-correct-source-for-mushroom-block-spread-event.patch diff --git a/patches/server/0852-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0851-Respect-randomizeData-on-more-entities-when-spawning.patch similarity index 100% rename from patches/server/0852-Respect-randomizeData-on-more-entities-when-spawning.patch rename to patches/server/0851-Respect-randomizeData-on-more-entities-when-spawning.patch diff --git a/patches/server/0853-Use-correct-seed-on-api-world-load.patch b/patches/server/0852-Use-correct-seed-on-api-world-load.patch similarity index 92% rename from patches/server/0853-Use-correct-seed-on-api-world-load.patch rename to patches/server/0852-Use-correct-seed-on-api-world-load.patch index 8b0db66674..764833c01d 100644 --- a/patches/server/0853-Use-correct-seed-on-api-world-load.patch +++ b/patches/server/0852-Use-correct-seed-on-api-world-load.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Use correct seed on api world load diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index b2e230ed6f86bd53e360192352c4c5dee0323fb6..3135e6de5915d8253892e0b642587ef53e0e5b4f 100644 +index 00f8042538a698995299aaa57212e7091c1af634..b5af662ae3c3216b5dc30df5619d0c74db10d119 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1396,7 +1396,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0854-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0853-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch similarity index 100% rename from patches/server/0854-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch rename to patches/server/0853-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch diff --git a/patches/server/0855-Cache-map-ids-on-item-frames.patch b/patches/server/0854-Cache-map-ids-on-item-frames.patch similarity index 100% rename from patches/server/0855-Cache-map-ids-on-item-frames.patch rename to patches/server/0854-Cache-map-ids-on-item-frames.patch diff --git a/patches/server/0856-Fix-custom-statistic-criteria-creation.patch b/patches/server/0855-Fix-custom-statistic-criteria-creation.patch similarity index 100% rename from patches/server/0856-Fix-custom-statistic-criteria-creation.patch rename to patches/server/0855-Fix-custom-statistic-criteria-creation.patch diff --git a/patches/server/0857-Bandaid-fix-for-Effect.patch b/patches/server/0856-Bandaid-fix-for-Effect.patch similarity index 98% rename from patches/server/0857-Bandaid-fix-for-Effect.patch rename to patches/server/0856-Bandaid-fix-for-Effect.patch index d0958234c1..d7a85ce5c8 100644 --- a/patches/server/0857-Bandaid-fix-for-Effect.patch +++ b/patches/server/0856-Bandaid-fix-for-Effect.patch @@ -81,7 +81,7 @@ index cb28a7504e809a8b1e8ab6e34e14e414c542055f..28458a499702989d640d88de8fa7e886 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index eb8c3b1c55e7ab9c1304d30a3da911b5051b259c..e14522b159d36c3f4cb18f285d16d262e6ca1035 100644 +index 62914bde6f6b045e6b3682581899d756d1b272f1..ccd81bc7279a92f78bb882c9443cf9ca90fd9acf 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -917,7 +917,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0858-SculkCatalyst-bloom-API.patch b/patches/server/0857-SculkCatalyst-bloom-API.patch similarity index 100% rename from patches/server/0858-SculkCatalyst-bloom-API.patch rename to patches/server/0857-SculkCatalyst-bloom-API.patch diff --git a/patches/server/0859-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0858-API-for-an-entity-s-scoreboard-name.patch similarity index 100% rename from patches/server/0859-API-for-an-entity-s-scoreboard-name.patch rename to patches/server/0858-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/server/0860-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0859-Deprecate-and-replace-methods-with-old-StructureType.patch similarity index 96% rename from patches/server/0860-Deprecate-and-replace-methods-with-old-StructureType.patch rename to patches/server/0859-Deprecate-and-replace-methods-with-old-StructureType.patch index 253aafa7b4..d34d5b18df 100644 --- a/patches/server/0860-Deprecate-and-replace-methods-with-old-StructureType.patch +++ b/patches/server/0859-Deprecate-and-replace-methods-with-old-StructureType.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3135e6de5915d8253892e0b642587ef53e0e5b4f..819ad0ff87de2b7f131d7c7bb5faa5f923613997 100644 +index b5af662ae3c3216b5dc30df5619d0c74db10d119..733bd5c4951426fc9471a18d4b71cb4fa1532ec2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2001,6 +2001,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0861-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0860-Don-t-tab-complete-namespaced-commands-if-send-names.patch similarity index 100% rename from patches/server/0861-Don-t-tab-complete-namespaced-commands-if-send-names.patch rename to patches/server/0860-Don-t-tab-complete-namespaced-commands-if-send-names.patch diff --git a/patches/server/0862-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0861-Properly-handle-BlockBreakEvent-isDropItems.patch similarity index 100% rename from patches/server/0862-Properly-handle-BlockBreakEvent-isDropItems.patch rename to patches/server/0861-Properly-handle-BlockBreakEvent-isDropItems.patch diff --git a/patches/server/0863-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0862-Fire-entity-death-event-for-ender-dragon.patch similarity index 100% rename from patches/server/0863-Fire-entity-death-event-for-ender-dragon.patch rename to patches/server/0862-Fire-entity-death-event-for-ender-dragon.patch diff --git a/patches/server/0864-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0863-Configurable-entity-tracking-range-by-Y-coordinate.patch similarity index 100% rename from patches/server/0864-Configurable-entity-tracking-range-by-Y-coordinate.patch rename to patches/server/0863-Configurable-entity-tracking-range-by-Y-coordinate.patch diff --git a/patches/server/0865-Add-Listing-API-for-Player.patch b/patches/server/0864-Add-Listing-API-for-Player.patch similarity index 98% rename from patches/server/0865-Add-Listing-API-for-Player.patch rename to patches/server/0864-Add-Listing-API-for-Player.patch index 400b0f504b..bd96c74d58 100644 --- a/patches/server/0865-Add-Listing-API-for-Player.patch +++ b/patches/server/0864-Add-Listing-API-for-Player.patch @@ -82,7 +82,7 @@ index 6247a21c9c391abf1f6db3482c659593e4f29355..9ccca41bf23efadba5329cc584bbcdca static class EntryBuilder { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 1eed5ebf96f8e8889d5af346d45a401b282bab21..4b597ed9a71908ecec3b6da5b6a4a735cf22498b 100644 +index 387470d6cfd34dc6f9c895a962ddcdf92583ab8c..c9d72ab365dcfc2482764463b116451187684b3c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -359,14 +359,22 @@ public abstract class PlayerList { @@ -119,7 +119,7 @@ index 1eed5ebf96f8e8889d5af346d45a401b282bab21..4b597ed9a71908ecec3b6da5b6a4a735 // Paper end - Use single player info update packet on join player.sentListPacket = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e14522b159d36c3f4cb18f285d16d262e6ca1035..b250efdcfbdfc211a63060146e3e5a22527b7117 100644 +index ccd81bc7279a92f78bb882c9443cf9ca90fd9acf..a3912d4de96a6bb2b9b3977705fa3facb891f73d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -201,6 +201,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0866-Configurable-Region-Compression-Format.patch b/patches/server/0865-Configurable-Region-Compression-Format.patch similarity index 100% rename from patches/server/0866-Configurable-Region-Compression-Format.patch rename to patches/server/0865-Configurable-Region-Compression-Format.patch diff --git a/patches/server/0867-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0866-Add-BlockFace-to-BlockDamageEvent.patch similarity index 96% rename from patches/server/0867-Add-BlockFace-to-BlockDamageEvent.patch rename to patches/server/0866-Add-BlockFace-to-BlockDamageEvent.patch index 28fdbf6dc6..749d93224e 100644 --- a/patches/server/0867-Add-BlockFace-to-BlockDamageEvent.patch +++ b/patches/server/0866-Add-BlockFace-to-BlockDamageEvent.patch @@ -18,7 +18,7 @@ index c680f081ba548f84f07a968a46811090c53e57e3..d839f8df658c894f144ba4637d290ffb if (blockEvent.isCancelled()) { // Let the client know the block still exists diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 50346dda83472bddc043f8e8c45f9131c2e5958c..d80587afa3d0c8c5a0dd8112bbb73bc56ac1722d 100644 +index 907ea60b647d529f133986632d00416269bc311e..6b241ec85f360ec79f18b911175d7092861024a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -661,13 +661,13 @@ public class CraftEventFactory { diff --git a/patches/server/0868-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0867-Fix-NPE-on-Boat-getStatus.patch similarity index 100% rename from patches/server/0868-Fix-NPE-on-Boat-getStatus.patch rename to patches/server/0867-Fix-NPE-on-Boat-getStatus.patch diff --git a/patches/server/0869-Expand-Pose-API.patch b/patches/server/0868-Expand-Pose-API.patch similarity index 100% rename from patches/server/0869-Expand-Pose-API.patch rename to patches/server/0868-Expand-Pose-API.patch diff --git a/patches/server/0870-More-DragonBattle-API.patch b/patches/server/0869-More-DragonBattle-API.patch similarity index 100% rename from patches/server/0870-More-DragonBattle-API.patch rename to patches/server/0869-More-DragonBattle-API.patch diff --git a/patches/server/0871-Add-PlayerPickItemEvent.patch b/patches/server/0870-Add-PlayerPickItemEvent.patch similarity index 100% rename from patches/server/0871-Add-PlayerPickItemEvent.patch rename to patches/server/0870-Add-PlayerPickItemEvent.patch diff --git a/patches/server/0872-Allow-trident-custom-damage.patch b/patches/server/0871-Allow-trident-custom-damage.patch similarity index 100% rename from patches/server/0872-Allow-trident-custom-damage.patch rename to patches/server/0871-Allow-trident-custom-damage.patch diff --git a/patches/server/0873-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0872-Expose-hand-in-BlockCanBuildEvent.patch similarity index 100% rename from patches/server/0873-Expose-hand-in-BlockCanBuildEvent.patch rename to patches/server/0872-Expose-hand-in-BlockCanBuildEvent.patch diff --git a/patches/server/0874-Optimize-nearest-structure-border-iteration.patch b/patches/server/0873-Optimize-nearest-structure-border-iteration.patch similarity index 100% rename from patches/server/0874-Optimize-nearest-structure-border-iteration.patch rename to patches/server/0873-Optimize-nearest-structure-border-iteration.patch diff --git a/patches/server/0875-Implement-OfflinePlayer-isConnected.patch b/patches/server/0874-Implement-OfflinePlayer-isConnected.patch similarity index 94% rename from patches/server/0875-Implement-OfflinePlayer-isConnected.patch rename to patches/server/0874-Implement-OfflinePlayer-isConnected.patch index acca20cfce..1543a8e3ea 100644 --- a/patches/server/0875-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/0874-Implement-OfflinePlayer-isConnected.patch @@ -23,7 +23,7 @@ index 4d654c4f0b6210a9841427789ba70ce5d1d308be..9d93130f23addb18b97d7f5ec013faef public String getName() { Player player = this.getPlayer(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b250efdcfbdfc211a63060146e3e5a22527b7117..a65200854d8a0dba635b0f403f6c0a8442fbf19f 100644 +index a3912d4de96a6bb2b9b3977705fa3facb891f73d..a1b870fb3d1fd5d209474c47bf523d0d5d58ce39 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -256,6 +256,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0876-Fix-slot-desync.patch b/patches/server/0875-Fix-slot-desync.patch similarity index 100% rename from patches/server/0876-Fix-slot-desync.patch rename to patches/server/0875-Fix-slot-desync.patch diff --git a/patches/server/0877-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0876-Add-titleOverride-to-InventoryOpenEvent.patch similarity index 95% rename from patches/server/0877-Add-titleOverride-to-InventoryOpenEvent.patch rename to patches/server/0876-Add-titleOverride-to-InventoryOpenEvent.patch index 707a896b95..ee17679934 100644 --- a/patches/server/0877-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/0876-Add-titleOverride-to-InventoryOpenEvent.patch @@ -37,10 +37,10 @@ index 530728cd4b258444f6efe064903b521f4b23cd04..b65d816bb9feb18ecf74e10e9728c302 this.initMenu(container); return OptionalInt.of(this.containerCounter); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index 12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7..c1bad887d1340ebc7c63fda3dceff929e4a44517 100644 +index b782cc64426a058881947ed62316c1cb8d332037..7dcfb45c24d7743956be514c7d554e06aac77b3e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -358,12 +358,16 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -366,12 +366,16 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { Preconditions.checkArgument(windowType != null, "Unknown windowType"); AbstractContainerMenu container = new CraftContainer(inventory, player, player.nextContainerCounter()); @@ -58,7 +58,7 @@ index 12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7..c1bad887d1340ebc7c63fda3dceff929 //player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, CraftChatMessage.fromString(title)[0])); // Paper - comment if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper - Prevent opening inventories when frozen -@@ -440,7 +444,10 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -448,7 +452,10 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { } // Trigger an INVENTORY_OPEN event @@ -70,7 +70,7 @@ index 12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7..c1bad887d1340ebc7c63fda3dceff929 if (container == null) { return; } -@@ -451,6 +458,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -459,6 +466,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { //String title = inventory.getTitle(); // Paper - comment net.kyori.adventure.text.Component adventure$title = inventory.title(); // Paper if (adventure$title == null) adventure$title = net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer.legacySection().deserialize(inventory.getTitle()); // Paper @@ -79,7 +79,7 @@ index 12ab8f7cde88cd6ce3ad474fe2843d5d30c3c0d7..c1bad887d1340ebc7c63fda3dceff929 if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper - Prevent opening inventories when frozen player.containerMenu = container; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d80587afa3d0c8c5a0dd8112bbb73bc56ac1722d..3e1ef91d7f0bd098e7c7ebee49c43ca9436947b8 100644 +index 6b241ec85f360ec79f18b911175d7092861024a4..2690c471b819f8308f6db44150025dfa323d4e0c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1403,10 +1403,21 @@ public class CraftEventFactory { diff --git a/patches/server/0878-Configure-sniffer-egg-hatch-time.patch b/patches/server/0877-Configure-sniffer-egg-hatch-time.patch similarity index 100% rename from patches/server/0878-Configure-sniffer-egg-hatch-time.patch rename to patches/server/0877-Configure-sniffer-egg-hatch-time.patch diff --git a/patches/server/0879-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0878-Do-crystal-portal-proximity-check-before-entity-look.patch similarity index 100% rename from patches/server/0879-Do-crystal-portal-proximity-check-before-entity-look.patch rename to patches/server/0878-Do-crystal-portal-proximity-check-before-entity-look.patch diff --git a/patches/server/0880-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0879-Skip-POI-finding-if-stuck-in-vehicle.patch similarity index 100% rename from patches/server/0880-Skip-POI-finding-if-stuck-in-vehicle.patch rename to patches/server/0879-Skip-POI-finding-if-stuck-in-vehicle.patch diff --git a/patches/server/0881-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0880-Add-slot-sanity-checks-in-container-clicks.patch similarity index 100% rename from patches/server/0881-Add-slot-sanity-checks-in-container-clicks.patch rename to patches/server/0880-Add-slot-sanity-checks-in-container-clicks.patch diff --git a/patches/server/0882-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/0881-Call-BlockRedstoneEvents-for-lecterns.patch similarity index 100% rename from patches/server/0882-Call-BlockRedstoneEvents-for-lecterns.patch rename to patches/server/0881-Call-BlockRedstoneEvents-for-lecterns.patch diff --git a/patches/server/0883-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0882-Allow-proper-checking-of-empty-item-stacks.patch similarity index 100% rename from patches/server/0883-Allow-proper-checking-of-empty-item-stacks.patch rename to patches/server/0882-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/server/0884-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0883-Fix-silent-equipment-change-for-mobs.patch similarity index 100% rename from patches/server/0884-Fix-silent-equipment-change-for-mobs.patch rename to patches/server/0883-Fix-silent-equipment-change-for-mobs.patch diff --git a/patches/server/0885-Fix-spigot-s-Forced-Stats.patch b/patches/server/0884-Fix-spigot-s-Forced-Stats.patch similarity index 100% rename from patches/server/0885-Fix-spigot-s-Forced-Stats.patch rename to patches/server/0884-Fix-spigot-s-Forced-Stats.patch diff --git a/patches/server/0886-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0885-Add-missing-InventoryHolders-to-inventories.patch similarity index 100% rename from patches/server/0886-Add-missing-InventoryHolders-to-inventories.patch rename to patches/server/0885-Add-missing-InventoryHolders-to-inventories.patch diff --git a/patches/server/0887-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0886-Do-not-read-tile-entities-in-chunks-that-are-positio.patch similarity index 100% rename from patches/server/0887-Do-not-read-tile-entities-in-chunks-that-are-positio.patch rename to patches/server/0886-Do-not-read-tile-entities-in-chunks-that-are-positio.patch diff --git a/patches/server/0888-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0887-Add-missing-logs-for-log-ips-config-option.patch similarity index 100% rename from patches/server/0888-Add-missing-logs-for-log-ips-config-option.patch rename to patches/server/0887-Add-missing-logs-for-log-ips-config-option.patch diff --git a/patches/server/0889-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0888-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch similarity index 100% rename from patches/server/0889-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch rename to patches/server/0888-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch diff --git a/patches/server/0890-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0889-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch similarity index 100% rename from patches/server/0890-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch rename to patches/server/0889-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch diff --git a/patches/server/0891-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/0890-Fix-team-sidebar-objectives-not-being-cleared.patch similarity index 100% rename from patches/server/0891-Fix-team-sidebar-objectives-not-being-cleared.patch rename to patches/server/0890-Fix-team-sidebar-objectives-not-being-cleared.patch diff --git a/patches/server/0892-Fix-missing-map-initialize-event-call.patch b/patches/server/0891-Fix-missing-map-initialize-event-call.patch similarity index 100% rename from patches/server/0892-Fix-missing-map-initialize-event-call.patch rename to patches/server/0891-Fix-missing-map-initialize-event-call.patch diff --git a/patches/server/0893-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/0892-Update-entity-data-when-attaching-firework-to-entity.patch similarity index 100% rename from patches/server/0893-Update-entity-data-when-attaching-firework-to-entity.patch rename to patches/server/0892-Update-entity-data-when-attaching-firework-to-entity.patch diff --git a/patches/server/0894-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/0893-Fix-UnsafeValues-loadAdvancement.patch similarity index 100% rename from patches/server/0894-Fix-UnsafeValues-loadAdvancement.patch rename to patches/server/0893-Fix-UnsafeValues-loadAdvancement.patch diff --git a/patches/server/0895-Add-player-idle-duration-API.patch b/patches/server/0894-Add-player-idle-duration-API.patch similarity index 91% rename from patches/server/0895-Add-player-idle-duration-API.patch rename to patches/server/0894-Add-player-idle-duration-API.patch index 5f04d05fbe..0713bbba0b 100644 --- a/patches/server/0895-Add-player-idle-duration-API.patch +++ b/patches/server/0894-Add-player-idle-duration-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add player idle duration API Implements API for getting and resetting a player's idle duration. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a65200854d8a0dba635b0f403f6c0a8442fbf19f..c1449a0c2b6d3612f88c0aeea2e9b6d6bd18146e 100644 +index a1b870fb3d1fd5d209474c47bf523d0d5d58ce39..1d79bacbfb24442573245550263141ad56332971 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3419,6 +3419,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0896-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/0895-Don-t-check-if-we-can-see-non-visible-entities.patch similarity index 100% rename from patches/server/0896-Don-t-check-if-we-can-see-non-visible-entities.patch rename to patches/server/0895-Don-t-check-if-we-can-see-non-visible-entities.patch diff --git a/patches/server/0897-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/0896-Fix-NPE-in-SculkBloomEvent-world-access.patch similarity index 100% rename from patches/server/0897-Fix-NPE-in-SculkBloomEvent-world-access.patch rename to patches/server/0896-Fix-NPE-in-SculkBloomEvent-world-access.patch diff --git a/patches/server/0898-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0897-Allow-null-itemstack-for-Player-sendEquipmentChange.patch similarity index 90% rename from patches/server/0898-Allow-null-itemstack-for-Player-sendEquipmentChange.patch rename to patches/server/0897-Allow-null-itemstack-for-Player-sendEquipmentChange.patch index a266132ac4..6839ae5814 100644 --- a/patches/server/0898-Allow-null-itemstack-for-Player-sendEquipmentChange.patch +++ b/patches/server/0897-Allow-null-itemstack-for-Player-sendEquipmentChange.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c1449a0c2b6d3612f88c0aeea2e9b6d6bd18146e..eb179d731e4ce7e0d12a9d3bf8d0649f150e7218 100644 +index 1d79bacbfb24442573245550263141ad56332971..b2abaf6b535da13cdeeb99c568b91c585ac2ed20 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1127,7 +1127,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0899-Optimize-VarInts.patch b/patches/server/0898-Optimize-VarInts.patch similarity index 100% rename from patches/server/0899-Optimize-VarInts.patch rename to patches/server/0898-Optimize-VarInts.patch diff --git a/patches/server/0900-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/0899-Add-API-to-get-the-collision-shape-of-a-block-before.patch similarity index 100% rename from patches/server/0900-Add-API-to-get-the-collision-shape-of-a-block-before.patch rename to patches/server/0899-Add-API-to-get-the-collision-shape-of-a-block-before.patch diff --git a/patches/server/0901-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/0900-Add-predicate-for-blocks-when-raytracing.patch similarity index 100% rename from patches/server/0901-Add-predicate-for-blocks-when-raytracing.patch rename to patches/server/0900-Add-predicate-for-blocks-when-raytracing.patch diff --git a/patches/server/0902-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/0901-Broadcast-take-item-packets-with-collector-as-source.patch similarity index 92% rename from patches/server/0902-Broadcast-take-item-packets-with-collector-as-source.patch rename to patches/server/0901-Broadcast-take-item-packets-with-collector-as-source.patch index d065041118..740ea621a7 100644 --- a/patches/server/0902-Broadcast-take-item-packets-with-collector-as-source.patch +++ b/patches/server/0901-Broadcast-take-item-packets-with-collector-as-source.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Broadcast take item packets with collector as source This fixes players (which can't view the collector) seeing item pickups with themselves as the target. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 3bd9eaf4f0537167ed27c666e805fbf65c640445..e8a5bd0341115094a729914611430c9f28c77d84 100644 +index 4e96a65396b687d2823f2229744f5d448ba87512..04232f281ebd46954ef2259962c7bfc43b8a8aeb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3749,7 +3749,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0903-Expand-LingeringPotion-API.patch b/patches/server/0902-Expand-LingeringPotion-API.patch similarity index 100% rename from patches/server/0903-Expand-LingeringPotion-API.patch rename to patches/server/0902-Expand-LingeringPotion-API.patch diff --git a/patches/server/0904-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/0903-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch similarity index 100% rename from patches/server/0904-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch rename to patches/server/0903-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch diff --git a/patches/server/0905-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/0904-Add-hand-to-fish-event-for-all-player-interactions.patch similarity index 100% rename from patches/server/0905-Add-hand-to-fish-event-for-all-player-interactions.patch rename to patches/server/0904-Add-hand-to-fish-event-for-all-player-interactions.patch diff --git a/patches/server/0906-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/0905-Fix-several-issues-with-EntityBreedEvent.patch similarity index 100% rename from patches/server/0906-Fix-several-issues-with-EntityBreedEvent.patch rename to patches/server/0905-Fix-several-issues-with-EntityBreedEvent.patch diff --git a/patches/server/0907-Add-UUID-attribute-modifier-API.patch b/patches/server/0906-Add-UUID-attribute-modifier-API.patch similarity index 100% rename from patches/server/0907-Add-UUID-attribute-modifier-API.patch rename to patches/server/0906-Add-UUID-attribute-modifier-API.patch diff --git a/patches/server/0908-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/0907-Fix-missing-event-call-for-entity-teleport-API.patch similarity index 100% rename from patches/server/0908-Fix-missing-event-call-for-entity-teleport-API.patch rename to patches/server/0907-Fix-missing-event-call-for-entity-teleport-API.patch diff --git a/patches/server/0909-Lazily-create-LootContext-for-criterions.patch b/patches/server/0908-Lazily-create-LootContext-for-criterions.patch similarity index 100% rename from patches/server/0909-Lazily-create-LootContext-for-criterions.patch rename to patches/server/0908-Lazily-create-LootContext-for-criterions.patch diff --git a/patches/server/0910-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/0909-Don-t-fire-sync-events-during-worldgen.patch similarity index 99% rename from patches/server/0910-Don-t-fire-sync-events-during-worldgen.patch rename to patches/server/0909-Don-t-fire-sync-events-during-worldgen.patch index 5f8998389a..6d438fe4c5 100644 --- a/patches/server/0910-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/0909-Don-t-fire-sync-events-during-worldgen.patch @@ -68,7 +68,7 @@ index 5fb3279342506611882b5780cfbee0371919c93c..b98f9246b60daf31460f41ce214dfa7c }, () -> { EntityType.LOGGER.warn("Skipping Entity with id {}", nbt.getString("id")); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index e8a5bd0341115094a729914611430c9f28c77d84..b28e2d35df067e5f526d8990d633ca4a6d6c453b 100644 +index 04232f281ebd46954ef2259962c7bfc43b8a8aeb..0c67f04ae7eeaa10a90419031447ad5397c6b9e2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1138,6 +1138,11 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0911-Add-Structure-check-API.patch b/patches/server/0910-Add-Structure-check-API.patch similarity index 100% rename from patches/server/0911-Add-Structure-check-API.patch rename to patches/server/0910-Add-Structure-check-API.patch diff --git a/patches/server/0912-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/0911-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch similarity index 100% rename from patches/server/0912-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch rename to patches/server/0911-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch diff --git a/patches/server/0913-Restore-vanilla-entity-drops-behavior.patch b/patches/server/0912-Restore-vanilla-entity-drops-behavior.patch similarity index 98% rename from patches/server/0913-Restore-vanilla-entity-drops-behavior.patch rename to patches/server/0912-Restore-vanilla-entity-drops-behavior.patch index 765b6340a4..ac02649470 100644 --- a/patches/server/0913-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/0912-Restore-vanilla-entity-drops-behavior.patch @@ -91,7 +91,7 @@ index f163cb3c75e90b96b3794a7e0c5b803268814c8c..57e7938bc605f320ed5303fcbc617b4d return this.spawnAtLocation(entityitem); } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b28e2d35df067e5f526d8990d633ca4a6d6c453b..306b55276189099bbbc8f2c86ad7428381fcf58c 100644 +index 0c67f04ae7eeaa10a90419031447ad5397c6b9e2..6b2dc430126713e11658f94762035ff10bbe018c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -278,7 +278,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -152,7 +152,7 @@ index 5bcb9a53ebebeef4bd6ec2458df4b63002ebd804..2f398750bfee5758ad8b1367b6fc1436 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 3e1ef91d7f0bd098e7c7ebee49c43ca9436947b8..5dea6473f04bcbbb7d0d8c9289fe31434233065e 100644 +index 2690c471b819f8308f6db44150025dfa323d4e0c..0d6cdb6b0dfd84f619a5e43150165b4606a96bcd 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -975,18 +975,24 @@ public class CraftEventFactory { diff --git a/patches/server/0914-Dont-resend-blocks-on-interactions.patch b/patches/server/0913-Dont-resend-blocks-on-interactions.patch similarity index 99% rename from patches/server/0914-Dont-resend-blocks-on-interactions.patch rename to patches/server/0913-Dont-resend-blocks-on-interactions.patch index ce903f155f..f349629dd4 100644 --- a/patches/server/0914-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/0913-Dont-resend-blocks-on-interactions.patch @@ -149,7 +149,7 @@ index 6caed156ed0cfe0017d578f58cb963ee68272d78..321188173918d0d60858a258400dfd68 return false; } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7cc9ded0e53bc1c6313ab720c852b1b0163ba951..e22d6f787d73fda00bc0961bd3279da2a8ab56e3 100644 +index 355e461da5551e38bbc2ede69c5818f7db27011c..abacf779b3eb2de126137d3c4166a7fc648b291c 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -500,10 +500,12 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0915-add-more-scoreboard-API.patch b/patches/server/0914-add-more-scoreboard-API.patch similarity index 100% rename from patches/server/0915-add-more-scoreboard-API.patch rename to patches/server/0914-add-more-scoreboard-API.patch diff --git a/patches/server/0916-Improve-Registry.patch b/patches/server/0915-Improve-Registry.patch similarity index 94% rename from patches/server/0916-Improve-Registry.patch rename to patches/server/0915-Improve-Registry.patch index bebb963725..bd6287869d 100644 --- a/patches/server/0916-Improve-Registry.patch +++ b/patches/server/0915-Improve-Registry.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Improve Registry diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 154733684a53ff84ca8c2a994b96b68733e9fba5..1da61e0392ec1e15c0ab9d7d71b2b2b682d10130 100644 +index d1db491027a5e2d22a6c956b26a974a284d44c57..9b78bfd187a1bd5f99af5690f194441904956c7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -153,6 +153,7 @@ public class CraftRegistry implements Registry { +@@ -155,6 +155,7 @@ public class CraftRegistry implements Registry { private final Class bukkitClass; // Paper - relax preload class private final Map cache = new HashMap<>(); @@ -16,7 +16,7 @@ index 154733684a53ff84ca8c2a994b96b68733e9fba5..1da61e0392ec1e15c0ab9d7d71b2b2b6 private final net.minecraft.core.Registry minecraftRegistry; private final BiFunction minecraftToBukkit; private final BiFunction serializationUpdater; // Paper - rename to make it *clear* what it is *only* for -@@ -201,6 +202,7 @@ public class CraftRegistry implements Registry { +@@ -203,6 +204,7 @@ public class CraftRegistry implements Registry { } this.cache.put(namespacedKey, bukkit); @@ -24,7 +24,7 @@ index 154733684a53ff84ca8c2a994b96b68733e9fba5..1da61e0392ec1e15c0ab9d7d71b2b2b6 return bukkit; } -@@ -223,4 +225,11 @@ public class CraftRegistry implements Registry { +@@ -225,4 +227,11 @@ public class CraftRegistry implements Registry { return this.minecraftToBukkit.apply(namespacedKey, minecraft); } diff --git a/patches/server/0917-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/0916-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch similarity index 96% rename from patches/server/0917-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch rename to patches/server/0916-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch index c899162e3b..d0dc04a7eb 100644 --- a/patches/server/0917-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch +++ b/patches/server/0916-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch @@ -26,10 +26,10 @@ index a306b30af19277386a2f3e560b4902a8b5796f2a..54851f6cc0d5fddb32a9a1e84a4f5ae4 x = to.getX(); y = to.getY(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 306b55276189099bbbc8f2c86ad7428381fcf58c..278e22985ecda6653ce01a29209eb51506c48438 100644 +index 6b2dc430126713e11658f94762035ff10bbe018c..13ef1ad250b56dbadba0244186e369d7ba9b5c0e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -4229,7 +4229,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4232,7 +4232,7 @@ public abstract class LivingEntity extends Entity implements Attackable { if (!(this instanceof ServerPlayer)) { EntityTeleportEvent teleport = new EntityTeleportEvent(this.getBukkitEntity(), new Location(this.level().getWorld(), d3, d4, d5), new Location(this.level().getWorld(), d0, d6, d2)); this.level().getCraftServer().getPluginManager().callEvent(teleport); diff --git a/patches/server/0918-Add-experience-points-API.patch b/patches/server/0917-Add-experience-points-API.patch similarity index 97% rename from patches/server/0918-Add-experience-points-API.patch rename to patches/server/0917-Add-experience-points-API.patch index 4abb3e0697..fc30446016 100644 --- a/patches/server/0918-Add-experience-points-API.patch +++ b/patches/server/0917-Add-experience-points-API.patch @@ -18,7 +18,7 @@ index 950ce40d268d89ff3c503116081db6c9ccd65329..454b29d8c9e42e328933aa578f49d28f // Paper start - send while respecting visibility private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index eb179d731e4ce7e0d12a9d3bf8d0649f150e7218..20398155e5018140c7a014718a6aa9d82d624572 100644 +index b2abaf6b535da13cdeeb99c568b91c585ac2ed20..6db4d21ee4dc97820943d3fd2aa55054cac95f50 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1921,6 +1921,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0919-Add-drops-to-shear-events.patch b/patches/server/0918-Add-drops-to-shear-events.patch similarity index 99% rename from patches/server/0919-Add-drops-to-shear-events.patch rename to patches/server/0918-Add-drops-to-shear-events.patch index b19f491bf1..87f104d00d 100644 --- a/patches/server/0919-Add-drops-to-shear-events.patch +++ b/patches/server/0918-Add-drops-to-shear-events.patch @@ -317,7 +317,7 @@ index dc6230458e09f7555eee7f6a567ff60ad454666b..9d50b9ac8084f3db1844cc7ad1ce9153 public boolean readyForShearing() { return !this.isSheared() && this.isAlive(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5dea6473f04bcbbb7d0d8c9289fe31434233065e..4efd60ec678a8f291401e293862f6bfbf376a2b0 100644 +index 0d6cdb6b0dfd84f619a5e43150165b4606a96bcd..d4c809649ff84ac953c0c93fc7031a27d235b72c 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1691,20 +1691,20 @@ public class CraftEventFactory { diff --git a/patches/server/0920-Add-PlayerShieldDisableEvent.patch b/patches/server/0919-Add-PlayerShieldDisableEvent.patch similarity index 100% rename from patches/server/0920-Add-PlayerShieldDisableEvent.patch rename to patches/server/0919-Add-PlayerShieldDisableEvent.patch diff --git a/patches/server/0921-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/0920-Validate-ResourceLocation-in-NBT-reading.patch similarity index 98% rename from patches/server/0921-Validate-ResourceLocation-in-NBT-reading.patch rename to patches/server/0920-Validate-ResourceLocation-in-NBT-reading.patch index 6373db1e81..48e7f7dede 100644 --- a/patches/server/0921-Validate-ResourceLocation-in-NBT-reading.patch +++ b/patches/server/0920-Validate-ResourceLocation-in-NBT-reading.patch @@ -40,7 +40,7 @@ index 87afe84791af2d5e9f869cd4c09eed4bb5fee75b..1967c43ee3a12e63365cc40ee6565307 this.path = path; } diff --git a/src/main/java/net/minecraft/world/RandomizableContainer.java b/src/main/java/net/minecraft/world/RandomizableContainer.java -index a47393f9776763015de522859dc0f206b93b3a98..889013ceacbd107faff11611ac902a9d4f2b8dab 100644 +index 084935138b1484f3d96e99f4e5655a6c04931907..9e357abe13f55bd9ce3a1d5348bcf19a15ea5433 100644 --- a/src/main/java/net/minecraft/world/RandomizableContainer.java +++ b/src/main/java/net/minecraft/world/RandomizableContainer.java @@ -50,7 +50,7 @@ public interface RandomizableContainer extends Container { @@ -66,7 +66,7 @@ index b98f9246b60daf31460f41ce214dfa7c011f5684..842b0cec0397d7ae5166617627340ffa @Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 278e22985ecda6653ce01a29209eb51506c48438..474868d362d855423f74fd604c1050cf33ba27f3 100644 +index 13ef1ad250b56dbadba0244186e369d7ba9b5c0e..94169703c5a8111df1ed550d57f59f4a3bb97ae1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -887,11 +887,13 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0922-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/0921-Properly-handle-experience-dropping-on-block-break.patch similarity index 100% rename from patches/server/0922-Properly-handle-experience-dropping-on-block-break.patch rename to patches/server/0921-Properly-handle-experience-dropping-on-block-break.patch diff --git a/patches/server/0923-Fixup-NamespacedKey-handling.patch b/patches/server/0922-Fixup-NamespacedKey-handling.patch similarity index 98% rename from patches/server/0923-Fixup-NamespacedKey-handling.patch rename to patches/server/0922-Fixup-NamespacedKey-handling.patch index ac021fa175..f5d990944b 100644 --- a/patches/server/0923-Fixup-NamespacedKey-handling.patch +++ b/patches/server/0922-Fixup-NamespacedKey-handling.patch @@ -18,10 +18,10 @@ index e34deaf398dc6722c3128bdd6b9bc16da2d33bf7..f028daa4f23a1f1868c9922991259739 public static NamespacedKey minecraftToBukkitKey(ResourceKey minecraft) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index 1da61e0392ec1e15c0ab9d7d71b2b2b682d10130..c2824cc07b761958a0df4b110bdfc53bd853b9e7 100644 +index 9b78bfd187a1bd5f99af5690f194441904956c7d..bd16933a5341908b21e549f66080c33466ad1079 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -120,6 +120,16 @@ public class CraftRegistry implements Registry { +@@ -122,6 +122,16 @@ public class CraftRegistry implements Registry { + ", this can happen if a plugin creates its own registry entry with out properly registering it."); } diff --git a/patches/server/0924-Expose-LootTable-of-DecoratedPot.patch b/patches/server/0923-Expose-LootTable-of-DecoratedPot.patch similarity index 100% rename from patches/server/0924-Expose-LootTable-of-DecoratedPot.patch rename to patches/server/0923-Expose-LootTable-of-DecoratedPot.patch diff --git a/patches/server/0925-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/server/0924-Reduce-allocation-of-Vec3D-by-entity-tracker.patch similarity index 100% rename from patches/server/0925-Reduce-allocation-of-Vec3D-by-entity-tracker.patch rename to patches/server/0924-Reduce-allocation-of-Vec3D-by-entity-tracker.patch diff --git a/patches/server/0926-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/server/0925-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 97% rename from patches/server/0926-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/server/0925-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch index ace1ed6898..95e1104a25 100644 --- a/patches/server/0926-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch +++ b/patches/server/0925-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add PlayerTradeEvent and PlayerPurchaseEvent Co-authored-by: Alexander diff --git a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -index 6139361c0e733f981506abdd7101e5ca20eeb88f..49b35fab8ee98a384ee12d36bbe2ac813342f1d6 100644 +index 2a155d3611ca2370830ca763d40074df6641958f..d28ebcae036168dd65a5f3236d12ee416308c23f 100644 --- a/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java +++ b/src/main/java/net/minecraft/world/entity/npc/AbstractVillager.java -@@ -143,11 +143,24 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa +@@ -141,11 +141,24 @@ public abstract class AbstractVillager extends AgeableMob implements InventoryCa @Override public void overrideXp(int experience) {} @@ -208,10 +208,10 @@ index 5a350948a4735902f5c612592bc9d100445a0c8a..716b30dcd7e63c66736c448dd136c9f7 void notifyTradeUpdated(ItemStack stack); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -index adf22ce4f0bcd3bd57dc2030c6c92d3df96566e3..e33ddcd967a427abfda9e6692338da4996a81c6c 100644 +index ef47eb9a321a7b082413d3986d3d394afb899610..54debe9da0a26aea02c964fdc7efb372e07974c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMerchantCustom.java -@@ -74,10 +74,25 @@ public class CraftMerchantCustom extends CraftMerchant { +@@ -76,10 +76,25 @@ public class CraftMerchantCustom implements CraftMerchant { return this.trades; } diff --git a/patches/server/0927-Add-ShulkerDuplicateEvent.patch b/patches/server/0926-Add-ShulkerDuplicateEvent.patch similarity index 100% rename from patches/server/0927-Add-ShulkerDuplicateEvent.patch rename to patches/server/0926-Add-ShulkerDuplicateEvent.patch diff --git a/patches/server/0928-Add-api-for-spawn-egg-texture-colors.patch b/patches/server/0927-Add-api-for-spawn-egg-texture-colors.patch similarity index 100% rename from patches/server/0928-Add-api-for-spawn-egg-texture-colors.patch rename to patches/server/0927-Add-api-for-spawn-egg-texture-colors.patch diff --git a/patches/server/0929-Add-Lifecycle-Event-system.patch b/patches/server/0928-Add-Lifecycle-Event-system.patch similarity index 99% rename from patches/server/0929-Add-Lifecycle-Event-system.patch rename to patches/server/0928-Add-Lifecycle-Event-system.patch index 4e40ae8cf8..8cd7f2852f 100644 --- a/patches/server/0929-Add-Lifecycle-Event-system.patch +++ b/patches/server/0928-Add-Lifecycle-Event-system.patch @@ -731,7 +731,7 @@ index 2e96308696e131f3f013469a395e5ddda2c5d529..65a66e484c1c39c5f41d97db52f31c67 } catch (Throwable e) { LOGGER.error("Failed to run bootstrapper for %s. This plugin will not be loaded.".formatted(provider.getSource()), e); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 819ad0ff87de2b7f131d7c7bb5faa5f923613997..7ad17b9c3fa6b2865c8dbd824f84ae33a1dd1e9e 100644 +index 733bd5c4951426fc9471a18d4b71cb4fa1532ec2..33fbcd9fabfc42fdd457b9c7a41e4ce0281cd2c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1047,6 +1047,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0930-ItemStack-Tooltip-API.patch b/patches/server/0929-ItemStack-Tooltip-API.patch similarity index 100% rename from patches/server/0930-ItemStack-Tooltip-API.patch rename to patches/server/0929-ItemStack-Tooltip-API.patch diff --git a/patches/server/0931-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/server/0930-Add-getChunkSnapshot-includeLightData-parameter.patch similarity index 100% rename from patches/server/0931-Add-getChunkSnapshot-includeLightData-parameter.patch rename to patches/server/0930-Add-getChunkSnapshot-includeLightData-parameter.patch diff --git a/patches/server/0932-Add-FluidState-API.patch b/patches/server/0931-Add-FluidState-API.patch similarity index 100% rename from patches/server/0932-Add-FluidState-API.patch rename to patches/server/0931-Add-FluidState-API.patch diff --git a/patches/server/0933-add-number-format-api.patch b/patches/server/0932-add-number-format-api.patch similarity index 100% rename from patches/server/0933-add-number-format-api.patch rename to patches/server/0932-add-number-format-api.patch diff --git a/patches/server/0934-improve-BanList-types.patch b/patches/server/0933-improve-BanList-types.patch similarity index 93% rename from patches/server/0934-improve-BanList-types.patch rename to patches/server/0933-improve-BanList-types.patch index 408fdc3fbe..23a08cbe55 100644 --- a/patches/server/0934-improve-BanList-types.patch +++ b/patches/server/0933-improve-BanList-types.patch @@ -5,7 +5,7 @@ Subject: [PATCH] improve BanList types diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7ad17b9c3fa6b2865c8dbd824f84ae33a1dd1e9e..121e9cf395f16ba8422f77a73f3f3fbe0ae9b225 100644 +index 33fbcd9fabfc42fdd457b9c7a41e4ce0281cd2c0..cd747daf186fa3a540db08232a57683492f0131f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2254,6 +2254,21 @@ public final class CraftServer implements Server { diff --git a/patches/server/0935-Expanded-Hopper-API.patch b/patches/server/0934-Expanded-Hopper-API.patch similarity index 100% rename from patches/server/0935-Expanded-Hopper-API.patch rename to patches/server/0934-Expanded-Hopper-API.patch diff --git a/patches/server/0936-Add-BlockBreakProgressUpdateEvent.patch b/patches/server/0935-Add-BlockBreakProgressUpdateEvent.patch similarity index 100% rename from patches/server/0936-Add-BlockBreakProgressUpdateEvent.patch rename to patches/server/0935-Add-BlockBreakProgressUpdateEvent.patch diff --git a/patches/server/0937-Deprecate-ItemStack-setType.patch b/patches/server/0936-Deprecate-ItemStack-setType.patch similarity index 100% rename from patches/server/0937-Deprecate-ItemStack-setType.patch rename to patches/server/0936-Deprecate-ItemStack-setType.patch diff --git a/patches/server/0938-Add-CartographyItemEvent.patch b/patches/server/0937-Add-CartographyItemEvent.patch similarity index 100% rename from patches/server/0938-Add-CartographyItemEvent.patch rename to patches/server/0937-Add-CartographyItemEvent.patch diff --git a/patches/server/0939-More-Raid-API.patch b/patches/server/0938-More-Raid-API.patch similarity index 100% rename from patches/server/0939-More-Raid-API.patch rename to patches/server/0938-More-Raid-API.patch diff --git a/patches/server/0940-Add-onboarding-message-for-initial-server-start.patch b/patches/server/0939-Add-onboarding-message-for-initial-server-start.patch similarity index 100% rename from patches/server/0940-Add-onboarding-message-for-initial-server-start.patch rename to patches/server/0939-Add-onboarding-message-for-initial-server-start.patch diff --git a/patches/server/0941-Configurable-max-block-fluid-ticks.patch b/patches/server/0940-Configurable-max-block-fluid-ticks.patch similarity index 100% rename from patches/server/0941-Configurable-max-block-fluid-ticks.patch rename to patches/server/0940-Configurable-max-block-fluid-ticks.patch diff --git a/patches/server/0942-Fix-bees-aging-inside-hives.patch b/patches/server/0941-Fix-bees-aging-inside-hives.patch similarity index 100% rename from patches/server/0942-Fix-bees-aging-inside-hives.patch rename to patches/server/0941-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0943-Disable-memory-reserve-allocating.patch b/patches/server/0942-Disable-memory-reserve-allocating.patch similarity index 100% rename from patches/server/0943-Disable-memory-reserve-allocating.patch rename to patches/server/0942-Disable-memory-reserve-allocating.patch diff --git a/patches/server/0944-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/server/0943-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch similarity index 100% rename from patches/server/0944-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch rename to patches/server/0943-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch diff --git a/patches/server/0945-Fix-DamageSource-API.patch b/patches/server/0944-Fix-DamageSource-API.patch similarity index 99% rename from patches/server/0945-Fix-DamageSource-API.patch rename to patches/server/0944-Fix-DamageSource-API.patch index 234e784901..def13cd0ba 100644 --- a/patches/server/0945-Fix-DamageSource-API.patch +++ b/patches/server/0944-Fix-DamageSource-API.patch @@ -220,7 +220,7 @@ index 4c6e15535fa40aad8cf1920f392589404f9ba79c..35eb95ef6fb6a0f7ea63351e90741c48 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 4efd60ec678a8f291401e293862f6bfbf376a2b0..9f66fd2f248f0f63c729eb7bb902a5786dfa2cbd 100644 +index d4c809649ff84ac953c0c93fc7031a27d235b72c..4432592de42df9c5a1851ec7430a14afc8ec5647 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1094,7 +1094,7 @@ public class CraftEventFactory { diff --git a/patches/server/0946-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/server/0945-Fix-creation-of-invalid-block-entity-during-world-ge.patch similarity index 100% rename from patches/server/0946-Fix-creation-of-invalid-block-entity-during-world-ge.patch rename to patches/server/0945-Fix-creation-of-invalid-block-entity-during-world-ge.patch diff --git a/patches/server/0947-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/server/0946-Fix-possible-StackOverflowError-for-some-dispenses.patch similarity index 100% rename from patches/server/0947-Fix-possible-StackOverflowError-for-some-dispenses.patch rename to patches/server/0946-Fix-possible-StackOverflowError-for-some-dispenses.patch diff --git a/patches/server/0948-Improve-tag-parser-handling.patch b/patches/server/0947-Improve-tag-parser-handling.patch similarity index 100% rename from patches/server/0948-Improve-tag-parser-handling.patch rename to patches/server/0947-Improve-tag-parser-handling.patch diff --git a/patches/server/0949-Item-Mutation-Fixes.patch b/patches/server/0948-Item-Mutation-Fixes.patch similarity index 100% rename from patches/server/0949-Item-Mutation-Fixes.patch rename to patches/server/0948-Item-Mutation-Fixes.patch diff --git a/patches/server/0950-Per-world-ticks-per-spawn-settings.patch b/patches/server/0949-Per-world-ticks-per-spawn-settings.patch similarity index 100% rename from patches/server/0950-Per-world-ticks-per-spawn-settings.patch rename to patches/server/0949-Per-world-ticks-per-spawn-settings.patch diff --git a/patches/server/0951-Properly-track-the-changed-item-from-dispense-events.patch b/patches/server/0950-Properly-track-the-changed-item-from-dispense-events.patch similarity index 100% rename from patches/server/0951-Properly-track-the-changed-item-from-dispense-events.patch rename to patches/server/0950-Properly-track-the-changed-item-from-dispense-events.patch diff --git a/patches/server/0952-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/server/0951-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch similarity index 100% rename from patches/server/0952-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch rename to patches/server/0951-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch diff --git a/patches/server/0953-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/server/0952-Fix-tripwire-disarming-not-working-as-intended.patch similarity index 100% rename from patches/server/0953-Fix-tripwire-disarming-not-working-as-intended.patch rename to patches/server/0952-Fix-tripwire-disarming-not-working-as-intended.patch diff --git a/patches/server/0954-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0953-Add-config-for-mobs-immune-to-default-effects.patch similarity index 100% rename from patches/server/0954-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/server/0953-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/server/0955-Deep-clone-nbt-tags-in-PDC.patch b/patches/server/0954-Deep-clone-nbt-tags-in-PDC.patch similarity index 100% rename from patches/server/0955-Deep-clone-nbt-tags-in-PDC.patch rename to patches/server/0954-Deep-clone-nbt-tags-in-PDC.patch diff --git a/patches/server/0956-Support-old-UUID-format-for-NBT.patch b/patches/server/0955-Support-old-UUID-format-for-NBT.patch similarity index 100% rename from patches/server/0956-Support-old-UUID-format-for-NBT.patch rename to patches/server/0955-Support-old-UUID-format-for-NBT.patch diff --git a/patches/server/0957-Fix-shield-disable-inconsistency.patch b/patches/server/0956-Fix-shield-disable-inconsistency.patch similarity index 92% rename from patches/server/0957-Fix-shield-disable-inconsistency.patch rename to patches/server/0956-Fix-shield-disable-inconsistency.patch index 624805ae3f..61614305d9 100644 --- a/patches/server/0957-Fix-shield-disable-inconsistency.patch +++ b/patches/server/0956-Fix-shield-disable-inconsistency.patch @@ -8,7 +8,7 @@ it will not disable the shield if the attacker is holding an axe item. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 474868d362d855423f74fd604c1050cf33ba27f3..5954476f7cbec585f142ee209e91d5b70bb7a8a6 100644 +index 94169703c5a8111df1ed550d57f59f4a3bb97ae1..6ff33a6d46daffd15310f21ec00d4861478b360f 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2349,7 +2349,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0958-Handle-Large-Packets-disconnecting-client.patch b/patches/server/0957-Handle-Large-Packets-disconnecting-client.patch similarity index 100% rename from patches/server/0958-Handle-Large-Packets-disconnecting-client.patch rename to patches/server/0957-Handle-Large-Packets-disconnecting-client.patch diff --git a/patches/server/0959-Fix-ItemFlags.patch b/patches/server/0958-Fix-ItemFlags.patch similarity index 100% rename from patches/server/0959-Fix-ItemFlags.patch rename to patches/server/0958-Fix-ItemFlags.patch diff --git a/patches/server/0961-Fix-helmet-damage-reduction-inconsistencies.patch b/patches/server/0959-Fix-helmet-damage-reduction-inconsistencies.patch similarity index 92% rename from patches/server/0961-Fix-helmet-damage-reduction-inconsistencies.patch rename to patches/server/0959-Fix-helmet-damage-reduction-inconsistencies.patch index a9182bdd0a..daa60965af 100644 --- a/patches/server/0961-Fix-helmet-damage-reduction-inconsistencies.patch +++ b/patches/server/0959-Fix-helmet-damage-reduction-inconsistencies.patch @@ -7,7 +7,7 @@ Affect the falling stalactite damage type where the reduction is not applied like in Vanilla diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9f66fd2f248f0f63c729eb7bb902a5786dfa2cbd..77ef27f9254235180a8596c6c8c4af750dc759d1 100644 +index 4432592de42df9c5a1851ec7430a14afc8ec5647..965ae1de419995a829a13f35c25a51c2e2bac135 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1228,7 +1228,7 @@ public class CraftEventFactory { diff --git a/patches/server/0960-Fix-Player-setBlockUpdate.patch b/patches/server/0960-Fix-Player-setBlockUpdate.patch deleted file mode 100644 index 7986fb5a2b..0000000000 --- a/patches/server/0960-Fix-Player-setBlockUpdate.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Tue, 4 Jun 2024 19:48:03 -0700 -Subject: [PATCH] Fix Player#setBlockUpdate - -BlockEntity needs its Level set - -diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index 397eb1a101bd60f49dbb2fa8eddf28f6f233167f..e28bc898786542f695017ff0a036676840eb79fe 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -@@ -177,6 +177,7 @@ public abstract class CraftBlockEntityState extends Craft - @Nullable - public Packet getUpdatePacket(@NotNull Location location) { - T vanillaTileEntitiy = (T) BlockEntity.loadStatic(CraftLocation.toBlockPosition(location), this.getHandle(), this.getSnapshotNBT(), this.getRegistryAccess()); -+ vanillaTileEntitiy.setLevel(((org.bukkit.craftbukkit.CraftWorld) location.getWorld()).getHandle()); // Paper - set level. Required for accessing RegistryAccess - return ClientboundBlockEntityDataPacket.create(vanillaTileEntitiy); - } - -diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 20398155e5018140c7a014718a6aa9d82d624572..6d1fd0b76e18a268e79fd862a98a41b3dfe1fe68 100644 ---- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1118,6 +1118,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - public void sendBlockUpdate(@NotNull Location location, @NotNull TileState tileState) throws IllegalArgumentException { - Preconditions.checkArgument(location != null, "Location can not be null"); - Preconditions.checkArgument(tileState != null, "TileState can not be null"); -+ Preconditions.checkArgument(location.getWorld() != null, "Location must have a world"); // Paper - - if (this.getHandle().connection == null) return; - diff --git a/patches/server/0962-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/server/0960-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch similarity index 96% rename from patches/server/0962-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch rename to patches/server/0960-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch index 97824d33ba..2965a66127 100644 --- a/patches/server/0962-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch +++ b/patches/server/0960-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Revert to vanilla handling of LivingEntity#actuallyHurt diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5954476f7cbec585f142ee209e91d5b70bb7a8a6..43f1ac121a234085bf168c075f82594c67f72b2c 100644 +index 6ff33a6d46daffd15310f21ec00d4861478b360f..b1e894e9a9cd87f7259302d15d5b5b0e2b32c4ea 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1425,7 +1425,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0963-improve-checking-handled-tags-in-itemmeta.patch b/patches/server/0961-improve-checking-handled-tags-in-itemmeta.patch similarity index 99% rename from patches/server/0963-improve-checking-handled-tags-in-itemmeta.patch rename to patches/server/0961-improve-checking-handled-tags-in-itemmeta.patch index 3bc62d037f..e6c75df87e 100644 --- a/patches/server/0963-improve-checking-handled-tags-in-itemmeta.patch +++ b/patches/server/0961-improve-checking-handled-tags-in-itemmeta.patch @@ -441,7 +441,7 @@ index 3ff0340c40e9dc9a6e690de15ccade7a0c4e8f02..3f6c5cbbf63631e4b72dc43558651ea9 getOrEmpty(tag, CraftMetaEntityTag.ENTITY_TAG).ifPresent((nbt) -> { this.entityTag = nbt.copyTag(); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java -index 8725cd736d255b070f9f8ce7cf47b21e2407fbdd..e9a9882d5030040fb3759c623e99d74f8e5292b2 100644 +index 4941e0afff8df5f10f06c715b54bf58eb86051c5..566d893a413fd04b99e83dc2da8fe958a48492a8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java @@ -60,8 +60,8 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { @@ -729,10 +729,10 @@ index bcd6cc29e4e621805cbd923d747f652ced240c6d..967d8940aec0065bce496d5d7a8c73de getOrEmpty(tag, CraftMetaShield.BASE_COLOR).ifPresent((color) -> { this.banner = CraftMetaShield.getBlockState(DyeColor.getByWoolData((byte) color.getId())); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index d6e161374e0235031128a6ee86d1ffa875ea48aa..ab860f1179fa2618c8fbc30ac5f48ff78b8abb60 100644 +index 0b680f4d79e9d04b755309ac46969d7e43fd3c5f..213bc163daeb98d2d5cfaf02e18688c65c5d219c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -49,8 +49,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -48,8 +48,8 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { this.noteBlockSound = skullMeta.noteBlockSound; } @@ -741,8 +741,8 @@ index d6e161374e0235031128a6ee86d1ffa875ea48aa..ab860f1179fa2618c8fbc30ac5f48ff7 + CraftMetaSkull(DataComponentPatch tag, java.util.Set> extraHandledDcts) { // Paper + super(tag, extraHandledDcts); // Paper - getOrEmpty(tag, CraftMetaSkull.SKULL_PROFILE).ifPresent((resolvableProfile) -> { - this.setProfile(resolvableProfile.gameProfile()); + getOrEmpty(tag, CraftMetaSkull.SKULL_PROFILE).ifPresent(this::setProfile); + diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java index 6c2c3b514be0dab47f3e44f65bdc6a3574e59b7c..8ddf091b3ff1262b6c97e8fe72e0a80db5e1037d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSpawnEgg.java diff --git a/patches/server/0964-General-ItemMeta-fixes.patch b/patches/server/0962-General-ItemMeta-fixes.patch similarity index 97% rename from patches/server/0964-General-ItemMeta-fixes.patch rename to patches/server/0962-General-ItemMeta-fixes.patch index 17b7102b0e..c16ea28c5e 100644 --- a/patches/server/0964-General-ItemMeta-fixes.patch +++ b/patches/server/0962-General-ItemMeta-fixes.patch @@ -12,7 +12,7 @@ public net/minecraft/world/level/block/entity/BlockEntity saveId(Lnet/minecraft/ Co-authored-by: GhastCraftHD diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e22d6f787d73fda00bc0961bd3279da2a8ab56e3..17923ab1ca4d8e04fbbac0471f88a856bbb92d10 100644 +index e9a9c89bd6a4ce7cb30c2fcf79a537fc18204aeb..58786dd7b51d17c1b602756c4c44840ab75ad0a7 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -1275,6 +1275,11 @@ public final class ItemStack implements DataComponentHolder { @@ -44,11 +44,11 @@ index 41f43d7d12a47563360f48a793e63db8cf92ac69..a1d7ae987327382d9566860b991dc361 } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -index e28bc898786542f695017ff0a036676840eb79fe..cee3fe00cc662f095e7d726b5f1a913cd8199210 100644 +index f9eb60d5a70da9a4d485288ab03d80829cf171a9..440b4c13121e3ac2bab937a83d20cc3fbf69bda1 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockEntityState.java -@@ -135,6 +135,19 @@ public abstract class CraftBlockEntityState extends Craft - return nbt; +@@ -143,6 +143,19 @@ public abstract class CraftBlockEntityState extends Craft + return this.snapshot.getUpdateTag(this.getRegistryAccess()); } + // Paper start - properly save blockentity itemstacks @@ -68,7 +68,7 @@ index e28bc898786542f695017ff0a036676840eb79fe..cee3fe00cc662f095e7d726b5f1a913c protected void load(T tileEntity) { if (tileEntity != null && tileEntity != this.snapshot) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 6a449bfc765bf427d82df4a90bc60471b5de2fd3..69b7eb7eff112b59b22f1d349831b9ee14c01943 100644 +index 6a449bfc765bf427d82df4a90bc60471b5de2fd3..aef5c0d1be9c4aa62d9b7c5cacbb42066a802729 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -279,7 +279,9 @@ public final class CraftItemStack extends ItemStack { @@ -89,8 +89,8 @@ index 6a449bfc765bf427d82df4a90bc60471b5de2fd3..69b7eb7eff112b59b22f1d349831b9ee + // Paper start - support updating profile after resolving it + final CraftMetaItem.Applicator tag = new CraftMetaItem.Applicator() { + @Override -+ void skullCallback(final com.mojang.authlib.GameProfile gameProfile) { -+ itemStack.set(DataComponents.PROFILE, new net.minecraft.world.item.component.ResolvableProfile(gameProfile)); ++ void skullCallback(final net.minecraft.world.item.component.ResolvableProfile profile) { ++ itemStack.set(DataComponents.PROFILE, profile); + } + }; + // Paper end - support updating profile after resolving it @@ -105,8 +105,8 @@ index 6a449bfc765bf427d82df4a90bc60471b5de2fd3..69b7eb7eff112b59b22f1d349831b9ee + // Paper start - support updating profile after resolving it + CraftMetaItem.Applicator tag = new CraftMetaItem.Applicator() { + @Override -+ void skullCallback(final com.mojang.authlib.GameProfile gameProfile) { -+ item.set(DataComponents.PROFILE, new net.minecraft.world.item.component.ResolvableProfile(gameProfile)); ++ void skullCallback(final net.minecraft.world.item.component.ResolvableProfile resolvableProfile) { ++ item.set(DataComponents.PROFILE, resolvableProfile); + } + }; + // Paper end - support updating profile after resolving it @@ -854,7 +854,7 @@ index 3f6c5cbbf63631e4b72dc43558651ea94f31ca78..da474a5b963d8e6769d120e9091e60ed return true; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java -index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1d630cd02 100644 +index 566d893a413fd04b99e83dc2da8fe958a48492a8..a944803771d514572f94b4e98a6d4435a009c078 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaFirework.java @@ -55,7 +55,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { @@ -923,7 +923,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 effects.add((FireworkEffect) obj); } } -@@ -215,10 +219,10 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -215,7 +219,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { } boolean isFireworkEmpty() { @@ -931,12 +931,8 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 + return !(this.effects != null || this.hasPower()); // Paper - empty effects list should stay on the item } -- boolean hasPower() { -+ public boolean hasPower() { // Paper - add hasPower to API - return this.power != null; - } - -@@ -231,7 +235,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { + @Override +@@ -232,7 +236,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { if (meta instanceof CraftMetaFirework that) { return (Objects.equals(this.power, that.power)) @@ -945,7 +941,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 } return true; -@@ -249,7 +253,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -250,7 +254,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { if (this.hasPower()) { hash = 61 * hash + this.power; } @@ -954,7 +950,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 hash = 61 * hash + 13 * this.effects.hashCode(); } return hash != original ? CraftMetaFirework.class.hashCode() ^ hash : hash; -@@ -259,7 +263,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -260,7 +264,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { Builder serialize(Builder builder) { super.serialize(builder); @@ -963,7 +959,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 builder.put(CraftMetaFirework.EXPLOSIONS.BUKKIT, ImmutableList.copyOf(this.effects)); } -@@ -284,6 +288,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -285,6 +289,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { @Override public void addEffect(FireworkEffect effect) { Preconditions.checkArgument(effect != null, "FireworkEffect cannot be null"); @@ -971,7 +967,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 if (this.effects == null) { this.effects = new ArrayList(); } -@@ -293,6 +298,10 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -294,6 +299,10 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { @Override public void addEffects(FireworkEffect... effects) { Preconditions.checkArgument(effects != null, "effects cannot be null"); @@ -982,7 +978,7 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 if (effects.length == 0) { return; } -@@ -311,7 +320,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { +@@ -312,7 +321,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { @Override public void addEffects(Iterable effects) { Preconditions.checkArgument(effects != null, "effects cannot be null"); @@ -990,18 +986,9 @@ index e9a9882d5030040fb3759c623e99d74f8e5292b2..b4dd2bd0fac4dbc010190188ea27c5f1 + this.safelyAddEffects(effects, true); // Paper - limit firework effects } - @Override -@@ -340,7 +349,7 @@ class CraftMetaFirework extends CraftMetaItem implements FireworkMeta { - - @Override - public int getPower() { -- return this.hasPower() ? this.power : 1; -+ return this.hasPower() ? this.power : 0; // Paper - 0 is correct - } - @Override diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index bee2f2f5675b8aaeb2a04ada1f6dba9aa9a14ed3..67181b215312f1f572d6ac5afd289c6540b12829 100644 +index bee2f2f5675b8aaeb2a04ada1f6dba9aa9a14ed3..beeed762e5ba49c317c5f214af17c44174b0c943 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -182,9 +182,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @@ -1013,7 +1000,7 @@ index bee2f2f5675b8aaeb2a04ada1f6dba9aa9a14ed3..67181b215312f1f572d6ac5afd289c65 - private final DataComponentPatch.Builder builder = DataComponentPatch.builder(); + final DataComponentPatch.Builder builder = DataComponentPatch.builder(); // Paper - private -> package-private -+ void skullCallback(com.mojang.authlib.GameProfile gameProfile) {} // Paper - support updating profile after resolving it ++ void skullCallback(net.minecraft.world.item.component.ResolvableProfile resolvableProfile) {} // Paper - support updating profile after resolving it Applicator put(ItemMetaKeyType key, T value) { this.builder.set(key.TYPE, value); @@ -1887,17 +1874,17 @@ index 967d8940aec0065bce496d5d7a8c73de5733bd2c..e229ca6acb6dbc3185f326f6653b3d66 } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index ab860f1179fa2618c8fbc30ac5f48ff78b8abb60..7de2ed297d0b2bf8adf2058e75a9b594ec2197bd 100644 +index 302906467b12189e21633369c005736863f46dd5..5a4e5b8736ad2e2084e757e9d2034044e177d8f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -117,10 +117,10 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -112,10 +112,10 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { // Fill in textures PlayerProfile ownerProfile = new CraftPlayerProfile(this.profile); // getOwnerProfile may return null if (ownerProfile.getTextures().isEmpty()) { - ownerProfile.update().thenAccept((filledProfile) -> { + ownerProfile.update().thenAcceptAsync((filledProfile) -> { // Paper - run on main thread this.setOwnerProfile(filledProfile); -- tag.put(CraftMetaSkull.SKULL_PROFILE, new ResolvableProfile(this.profile)); +- tag.put(CraftMetaSkull.SKULL_PROFILE, this.profile); - }); + tag.skullCallback(this.profile); // Paper - actually set profile on itemstack + }, ((org.bukkit.craftbukkit.CraftServer) org.bukkit.Bukkit.getServer()).getServer()); // Paper - run on main thread @@ -2008,7 +1995,7 @@ index 92cad73219e11dc5922630769f9dd3a329ea6da1..bde61de7eda72b2e24ddef56ff93a0b4 FoodProperties.PossibleEffect newEffect = new net.minecraft.world.food.FoodProperties.PossibleEffect(CraftPotionUtil.fromBukkit(effect), probability); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java -index 4d7889ccd1c70db537402a9bbab42e40c3bb0d65..73be17186c87019868fdd7f9e0fdcdadeef79570 100644 +index 6c477913406a0dded8ca00295b8f4928e31404ae..2750c46c535d5b10afcaca109fc89d73d6485fd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/components/CraftToolComponent.java @@ -108,6 +108,7 @@ public final class CraftToolComponent implements ToolComponent { diff --git a/patches/server/0965-Expose-hasColor-to-leather-armor.patch b/patches/server/0963-Expose-hasColor-to-leather-armor.patch similarity index 100% rename from patches/server/0965-Expose-hasColor-to-leather-armor.patch rename to patches/server/0963-Expose-hasColor-to-leather-armor.patch diff --git a/patches/server/0966-Added-API-to-get-player-ha-proxy-address.patch b/patches/server/0964-Added-API-to-get-player-ha-proxy-address.patch similarity index 97% rename from patches/server/0966-Added-API-to-get-player-ha-proxy-address.patch rename to patches/server/0964-Added-API-to-get-player-ha-proxy-address.patch index b6dcd8397a..3f8c3f63b4 100644 --- a/patches/server/0966-Added-API-to-get-player-ha-proxy-address.patch +++ b/patches/server/0964-Added-API-to-get-player-ha-proxy-address.patch @@ -35,7 +35,7 @@ index 96355e1da8feb6687ea0069dda4a82fcd7e25e8a..1f696644b958538e9f5d568a2e4bba69 } else { super.channelRead(ctx, msg); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6d1fd0b76e18a268e79fd862a98a41b3dfe1fe68..63b8e0e95e960d3a5e2f321896346b9c69f1bcc4 100644 +index 6db4d21ee4dc97820943d3fd2aa55054cac95f50..5f12c91ea598b4b133bf41532a9864645ebf6cea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -265,7 +265,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0967-More-Chest-Block-API.patch b/patches/server/0965-More-Chest-Block-API.patch similarity index 100% rename from patches/server/0967-More-Chest-Block-API.patch rename to patches/server/0965-More-Chest-Block-API.patch diff --git a/patches/server/0968-Print-data-component-type-on-encoding-error.patch b/patches/server/0966-Print-data-component-type-on-encoding-error.patch similarity index 100% rename from patches/server/0968-Print-data-component-type-on-encoding-error.patch rename to patches/server/0966-Print-data-component-type-on-encoding-error.patch diff --git a/patches/server/0969-Brigadier-based-command-API.patch b/patches/server/0967-Brigadier-based-command-API.patch similarity index 99% rename from patches/server/0969-Brigadier-based-command-API.patch rename to patches/server/0967-Brigadier-based-command-API.patch index 5572d1d741..8f0836b78a 100644 --- a/patches/server/0969-Brigadier-based-command-API.patch +++ b/patches/server/0967-Brigadier-based-command-API.patch @@ -2406,7 +2406,7 @@ index e0c46e548a34c963750c9411dfd3c0946d67a7c7..5215783353021583e7a726d281e4d173 // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 121e9cf395f16ba8422f77a73f3f3fbe0ae9b225..d8b842bfd1507ace84943ff1f9ddc6ea153e54db 100644 +index cd747daf186fa3a540db08232a57683492f0131f..df15ce8d1da2737e339880d3d2f6731e0b92ca7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -272,11 +272,11 @@ public final class CraftServer implements Server { diff --git a/patches/server/0970-Fix-issues-with-Recipe-API.patch b/patches/server/0968-Fix-issues-with-Recipe-API.patch similarity index 100% rename from patches/server/0970-Fix-issues-with-Recipe-API.patch rename to patches/server/0968-Fix-issues-with-Recipe-API.patch diff --git a/patches/server/0971-Fix-equipment-slot-and-group-API.patch b/patches/server/0969-Fix-equipment-slot-and-group-API.patch similarity index 96% rename from patches/server/0971-Fix-equipment-slot-and-group-API.patch rename to patches/server/0969-Fix-equipment-slot-and-group-API.patch index 7e3f35d33c..e84bebe105 100644 --- a/patches/server/0971-Fix-equipment-slot-and-group-API.patch +++ b/patches/server/0969-Fix-equipment-slot-and-group-API.patch @@ -10,10 +10,10 @@ Adds the following: Co-authored-by: SoSeDiK diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index de1c0c610931471c580266f0d0e0fd881b1e7d3d..d2bb0831394c03b620b2cbd8306cb82b621f34f7 100644 +index 6c44aaef8f09b2a10183dba751557ac5c6233a87..a54cf98661cc678277855f21735e98fafd018ded 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1182,4 +1182,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1187,4 +1187,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { this.getHandle().setYBodyRot(bodyYaw); } // Paper end - body yaw API @@ -52,7 +52,7 @@ index 9d74577af071954e1e37201a96368c1360076209..eafa54c870c3e2aef30c3f9f96f51660 throw new IllegalArgumentException("Not implemented. This is a bug"); } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 67181b215312f1f572d6ac5afd289c6540b12829..d5c45cc09b9d60c1650507ad6fedb27246291063 100644 +index beeed762e5ba49c317c5f214af17c44174b0c943..042bfdd14c9ff4cc8ed3421f73565f0f03b11bcb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -1448,7 +1448,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/0972-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/server/0970-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch similarity index 100% rename from patches/server/0972-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch rename to patches/server/0970-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch diff --git a/patches/server/0973-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0971-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 99% rename from patches/server/0973-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/server/0971-Prevent-sending-oversized-item-data-in-equipment-and.patch index 493ba5347b..121b75eca6 100644 --- a/patches/server/0973-Prevent-sending-oversized-item-data-in-equipment-and.patch +++ b/patches/server/0971-Prevent-sending-oversized-item-data-in-equipment-and.patch @@ -222,7 +222,7 @@ index 5215783353021583e7a726d281e4d1734398f073..0fe4c3ff5dd855aea58292c16ba9a2f5 ServerGamePacketListenerImpl.this.player.containerMenu.sendAllDataToRemote(); // Paper - fix slot desync - always refresh player inventory diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 43f1ac121a234085bf168c075f82594c67f72b2c..0613ba9968968513549402f94e3b61dddd8c6beb 100644 +index b1e894e9a9cd87f7259302d15d5b5b0e2b32c4ea..7b6d067eb8b22a8e0a82a2969c92ba243230733a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3353,7 +3353,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0974-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/server/0972-Prevent-NPE-if-hooked-entity-was-cleared.patch similarity index 100% rename from patches/server/0974-Prevent-NPE-if-hooked-entity-was-cleared.patch rename to patches/server/0972-Prevent-NPE-if-hooked-entity-was-cleared.patch diff --git a/patches/server/0975-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/server/0973-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch similarity index 97% rename from patches/server/0975-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch rename to patches/server/0973-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch index fa5579fdaa..35a252aaeb 100644 --- a/patches/server/0975-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch +++ b/patches/server/0973-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix cancelling BlockPlaceEvent calling onRemove diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 17923ab1ca4d8e04fbbac0471f88a856bbb92d10..b21204f4b6fb98f53e41e18f3f8b200c48d94c66 100644 +index dc74f690afcf12a1e3410f4504d3f78303394ea7..66047f876aedbcc33b86b5cfe2ace588523eb810 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -494,9 +494,11 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/0976-Add-missing-fishing-event-state.patch b/patches/server/0974-Add-missing-fishing-event-state.patch similarity index 100% rename from patches/server/0976-Add-missing-fishing-event-state.patch rename to patches/server/0974-Add-missing-fishing-event-state.patch diff --git a/patches/server/0977-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/server/0975-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch similarity index 100% rename from patches/server/0977-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch rename to patches/server/0975-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch diff --git a/patches/server/0978-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/server/0976-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch similarity index 100% rename from patches/server/0978-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch rename to patches/server/0976-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch diff --git a/patches/server/0979-Adopt-MaterialRerouting.patch b/patches/server/0977-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/server/0979-Adopt-MaterialRerouting.patch rename to patches/server/0977-Adopt-MaterialRerouting.patch diff --git a/patches/server/0980-Suspicious-Effect-Entry-API.patch b/patches/server/0978-Suspicious-Effect-Entry-API.patch similarity index 100% rename from patches/server/0980-Suspicious-Effect-Entry-API.patch rename to patches/server/0978-Suspicious-Effect-Entry-API.patch diff --git a/patches/server/0981-check-if-itemstack-is-stackable-first.patch b/patches/server/0979-check-if-itemstack-is-stackable-first.patch similarity index 100% rename from patches/server/0981-check-if-itemstack-is-stackable-first.patch rename to patches/server/0979-check-if-itemstack-is-stackable-first.patch diff --git a/patches/server/0982-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0980-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/server/0982-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/server/0980-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/server/0983-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/server/0981-Configurable-damage-tick-when-blocking-with-shield.patch similarity index 92% rename from patches/server/0983-Configurable-damage-tick-when-blocking-with-shield.patch rename to patches/server/0981-Configurable-damage-tick-when-blocking-with-shield.patch index 24d7eefdb2..7f58a8291d 100644 --- a/patches/server/0983-Configurable-damage-tick-when-blocking-with-shield.patch +++ b/patches/server/0981-Configurable-damage-tick-when-blocking-with-shield.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Configurable damage tick when blocking with shield diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0613ba9968968513549402f94e3b61dddd8c6beb..51c6f1e9f4b1c7eb7896c7f42c18cfd18a4f67da 100644 +index 7b6d067eb8b22a8e0a82a2969c92ba243230733a..5f1c585c819d25319a4fefd30abde3de7620cf6d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2411,7 +2411,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0984-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/server/0982-Properly-remove-the-experimental-smithing-inventory-.patch similarity index 100% rename from patches/server/0984-Properly-remove-the-experimental-smithing-inventory-.patch rename to patches/server/0982-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/server/0985-Moonrise-optimisation-patches.patch b/patches/server/0983-Moonrise-optimisation-patches.patch similarity index 99% rename from patches/server/0985-Moonrise-optimisation-patches.patch rename to patches/server/0983-Moonrise-optimisation-patches.patch index c30296978a..96ac319108 100644 --- a/patches/server/0985-Moonrise-optimisation-patches.patch +++ b/patches/server/0983-Moonrise-optimisation-patches.patch @@ -32731,7 +32731,7 @@ index 69c7fe5bf5b914276a9f7a0e57ce668e569d91f9..33322b57b4c6922f4daad0f584733f0f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d8b842bfd1507ace84943ff1f9ddc6ea153e54db..266b720ffe2a684dcf54456e3a198f90baf96ba3 100644 +index df15ce8d1da2737e339880d3d2f6731e0b92ca7f..b5644700878a3eda50a56cd2292c6ceb5d43f34e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1428,7 +1428,7 @@ public final class CraftServer implements Server { @@ -32864,10 +32864,10 @@ index 50b84939eee044ddadca046079286a72de5c8e04..15e075fc3a9b18e62e04f41fcadbe62e // Paper start - implement pointers diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 63b8e0e95e960d3a5e2f321896346b9c69f1bcc4..1def2a09427de70646802fd876a5805489a3d129 100644 +index 5f12c91ea598b4b133bf41532a9864645ebf6cea..e02fa642f11809607e30e22b51c65373edd70842 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3497,7 +3497,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3496,7 +3496,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setViewDistance(final int viewDistance) { @@ -32878,7 +32878,7 @@ index 63b8e0e95e960d3a5e2f321896346b9c69f1bcc4..1def2a09427de70646802fd876a58054 } @Override -@@ -3507,7 +3509,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3506,7 +3508,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setSimulationDistance(final int simulationDistance) { @@ -32889,7 +32889,7 @@ index 63b8e0e95e960d3a5e2f321896346b9c69f1bcc4..1def2a09427de70646802fd876a58054 } @Override -@@ -3517,6 +3521,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3516,6 +3520,8 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setSendViewDistance(final int viewDistance) { diff --git a/patches/server/0986-Rewrite-dataconverter-system.patch b/patches/server/0984-Rewrite-dataconverter-system.patch similarity index 100% rename from patches/server/0986-Rewrite-dataconverter-system.patch rename to patches/server/0984-Rewrite-dataconverter-system.patch diff --git a/patches/server/0987-disable-forced-empty-world-ticks.patch b/patches/server/0985-disable-forced-empty-world-ticks.patch similarity index 100% rename from patches/server/0987-disable-forced-empty-world-ticks.patch rename to patches/server/0985-disable-forced-empty-world-ticks.patch diff --git a/patches/server/0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0986-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 100% rename from patches/server/0988-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/0986-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch diff --git a/patches/server/0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0987-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 100% rename from patches/server/0989-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/server/0987-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch diff --git a/patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/server/0988-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch similarity index 98% rename from patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch rename to patches/server/0988-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch index 505082cbed..761c57c8f2 100644 --- a/patches/server/0990-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch +++ b/patches/server/0988-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch @@ -26,7 +26,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 51c6f1e9f4b1c7eb7896c7f42c18cfd18a4f67da..f749ad127afabbf43b871b29ce6c19956686e9ee 100644 +index 5f1c585c819d25319a4fefd30abde3de7620cf6d..340c4452c09a98bc0220e6fe68dc65afc946986b 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3774,7 +3774,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0989-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 100% rename from patches/server/0991-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/server/0989-Optimize-Network-Manager-and-add-advanced-packet-sup.patch diff --git a/patches/server/0992-Allow-Saving-of-Oversized-Chunks.patch b/patches/server/0990-Allow-Saving-of-Oversized-Chunks.patch similarity index 100% rename from patches/server/0992-Allow-Saving-of-Oversized-Chunks.patch rename to patches/server/0990-Allow-Saving-of-Oversized-Chunks.patch diff --git a/patches/server/0993-Flat-bedrock-generator-settings.patch b/patches/server/0991-Flat-bedrock-generator-settings.patch similarity index 100% rename from patches/server/0993-Flat-bedrock-generator-settings.patch rename to patches/server/0991-Flat-bedrock-generator-settings.patch diff --git a/patches/server/0994-Entity-Activation-Range-2.0.patch b/patches/server/0992-Entity-Activation-Range-2.0.patch similarity index 100% rename from patches/server/0994-Entity-Activation-Range-2.0.patch rename to patches/server/0992-Entity-Activation-Range-2.0.patch diff --git a/patches/server/0995-Optional-per-player-mob-spawns.patch b/patches/server/0993-Optional-per-player-mob-spawns.patch similarity index 100% rename from patches/server/0995-Optional-per-player-mob-spawns.patch rename to patches/server/0993-Optional-per-player-mob-spawns.patch diff --git a/patches/server/0996-Anti-Xray.patch b/patches/server/0994-Anti-Xray.patch similarity index 99% rename from patches/server/0996-Anti-Xray.patch rename to patches/server/0994-Anti-Xray.patch index 7e3f9656a3..c7253f3697 100644 --- a/patches/server/0996-Anti-Xray.patch +++ b/patches/server/0994-Anti-Xray.patch @@ -1155,7 +1155,7 @@ index 32634e45ac8433648e49e47e20081e15ad41ff15..dafa2cf7d3c49fc5bdcd68d2a9528127 if (io.papermc.paper.event.packet.PlayerChunkLoadEvent.getHandlerList().getRegisteredListeners().length > 0) { new io.papermc.paper.event.packet.PlayerChunkLoadEvent(new org.bukkit.craftbukkit.CraftChunk(chunk), handler.getPlayer().getBukkitEntity()).callEvent(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4b597ed9a71908ecec3b6da5b6a4a735cf22498b..96eea87534b6e28a56c9eea0f30bfb41793440e7 100644 +index c9d72ab365dcfc2482764463b116451187684b3c..db0a5c6258fa2b9a5d960f82f6b1f3bc2b386bc9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -414,7 +414,7 @@ public abstract class PlayerList { @@ -1574,7 +1574,7 @@ index 33322b57b4c6922f4daad0f584733f0f24083911..45e262308aebafa377a2353661acdd12 private static final byte[] EMPTY_LIGHT = new byte[2048]; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 266b720ffe2a684dcf54456e3a198f90baf96ba3..05001bb637d55aaf36359b37a42ef33e4557b9f2 100644 +index b5644700878a3eda50a56cd2292c6ceb5d43f34e..5ef080406d8954ecaa65cf60569cc05dbad649ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2686,7 +2686,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0997-Eigencraft-redstone-implementation.patch b/patches/server/0995-Eigencraft-redstone-implementation.patch similarity index 100% rename from patches/server/0997-Eigencraft-redstone-implementation.patch rename to patches/server/0995-Eigencraft-redstone-implementation.patch diff --git a/patches/server/0998-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0996-Add-Alternate-Current-redstone-implementation.patch similarity index 100% rename from patches/server/0998-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/0996-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/server/0999-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch similarity index 100% rename from patches/server/0999-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch rename to patches/server/0997-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch diff --git a/patches/server/1000-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0998-Use-Velocity-compression-and-cipher-natives.patch similarity index 99% rename from patches/server/1000-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0998-Use-Velocity-compression-and-cipher-natives.patch index 290a54a80c..bfac334a58 100644 --- a/patches/server/1000-Use-Velocity-compression-and-cipher-natives.patch +++ b/patches/server/0998-Use-Velocity-compression-and-cipher-natives.patch @@ -352,10 +352,10 @@ index 2929d9a2efa9669781b6773161db7c5f968c2544..8aff5129f85ab5729b3da2e465871be6 protected void initChannel(Channel channel) { try { diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 0fc30ce511f449d2a3ddab28c86f7e388223ece1..b0f7a378f19b9837c060c891002cd5db756cdae1 100644 +index 35faa10f3b82504ae9d3f923fc04c5a99c1a624a..40638b439966619e9c70a18a32abd95b2178fe9f 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -282,12 +282,14 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, +@@ -287,12 +287,14 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } SecretKey secretkey = packet.getSecretKey(privatekey); diff --git a/patches/server/1001-Optimize-Collision-to-not-load-chunks.patch b/patches/server/0999-Optimize-Collision-to-not-load-chunks.patch similarity index 98% rename from patches/server/1001-Optimize-Collision-to-not-load-chunks.patch rename to patches/server/0999-Optimize-Collision-to-not-load-chunks.patch index c37176cd37..be9c95fd3b 100644 --- a/patches/server/1001-Optimize-Collision-to-not-load-chunks.patch +++ b/patches/server/0999-Optimize-Collision-to-not-load-chunks.patch @@ -14,7 +14,7 @@ movement will load only the chunk the player enters anyways and avoids loading massive amounts of surrounding chunks due to large AABB lookups. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 59f09e8d08453ef25b7f9f49db0aa7513014779c..cad21e40aafc9c34de10007d881135657ed3d910 100644 +index db0a5c6258fa2b9a5d960f82f6b1f3bc2b386bc9..3a90dd1289d393426151d4457edaf99731cc34db 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -869,6 +869,7 @@ public abstract class PlayerList { diff --git a/patches/server/1002-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/server/1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch similarity index 100% rename from patches/server/1002-Optimize-GoalSelector-Goal.Flag-Set-operations.patch rename to patches/server/1000-Optimize-GoalSelector-Goal.Flag-Set-operations.patch diff --git a/patches/server/1003-Optimize-Hoppers.patch b/patches/server/1001-Optimize-Hoppers.patch similarity index 99% rename from patches/server/1003-Optimize-Hoppers.patch rename to patches/server/1001-Optimize-Hoppers.patch index 7dfa38282a..5737f04445 100644 --- a/patches/server/1003-Optimize-Hoppers.patch +++ b/patches/server/1001-Optimize-Hoppers.patch @@ -62,7 +62,7 @@ index 4a4ce372dd105d07f58d7d93d856cb3969969806..fb3dcce4e1888f96fdd260740d9d9559 this.profiler.push(() -> { String s = String.valueOf(worldserver); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index b21204f4b6fb98f53e41e18f3f8b200c48d94c66..c133a52f96a783e81eac15621655ca1e3f6b6c25 100644 +index 66047f876aedbcc33b86b5cfe2ace588523eb810..5367ece16352523cd7d3f432a137bbed68f82638 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -809,10 +809,16 @@ public final class ItemStack implements DataComponentHolder { diff --git a/patches/server/1004-Entity-load-save-limit-per-chunk.patch b/patches/server/1002-Entity-load-save-limit-per-chunk.patch similarity index 100% rename from patches/server/1004-Entity-load-save-limit-per-chunk.patch rename to patches/server/1002-Entity-load-save-limit-per-chunk.patch diff --git a/patches/server/1005-Optimize-Voxel-Shape-Merging.patch b/patches/server/1003-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from patches/server/1005-Optimize-Voxel-Shape-Merging.patch rename to patches/server/1003-Optimize-Voxel-Shape-Merging.patch diff --git a/patches/server/1006-Optimize-Bit-Operations-by-inlining.patch b/patches/server/1004-Optimize-Bit-Operations-by-inlining.patch similarity index 100% rename from patches/server/1006-Optimize-Bit-Operations-by-inlining.patch rename to patches/server/1004-Optimize-Bit-Operations-by-inlining.patch diff --git a/patches/server/1007-Remove-streams-from-hot-code.patch b/patches/server/1005-Remove-streams-from-hot-code.patch similarity index 100% rename from patches/server/1007-Remove-streams-from-hot-code.patch rename to patches/server/1005-Remove-streams-from-hot-code.patch diff --git a/patches/server/1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/server/1006-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/server/1008-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/server/1006-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/server/1009-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/1007-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/1009-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/1007-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/1010-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/1008-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/server/1010-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/server/1008-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/1011-Handle-Oversized-block-entities-in-chunks.patch b/patches/server/1009-Handle-Oversized-block-entities-in-chunks.patch similarity index 100% rename from patches/server/1011-Handle-Oversized-block-entities-in-chunks.patch rename to patches/server/1009-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/server/1012-API-for-checking-sent-chunks.patch b/patches/server/1010-API-for-checking-sent-chunks.patch similarity index 94% rename from patches/server/1012-API-for-checking-sent-chunks.patch rename to patches/server/1010-API-for-checking-sent-chunks.patch index 4b57b79874..1ff508b727 100644 --- a/patches/server/1012-API-for-checking-sent-chunks.patch +++ b/patches/server/1010-API-for-checking-sent-chunks.patch @@ -20,10 +20,10 @@ index 852d75a73dae7448cbe1e2f5e164b235efa8a969..a608f57ebca98eda88ad749d0aad0216 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1def2a09427de70646802fd876a5805489a3d129..a0d5082590ee03060f0dbb4770d196efc316c328 100644 +index e02fa642f11809607e30e22b51c65373edd70842..ad740739437be632fc7fedec488a7d0c49534688 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3484,6 +3484,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3483,6 +3483,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/1013-Check-distance-in-entity-interactions.patch b/patches/server/1011-Check-distance-in-entity-interactions.patch similarity index 97% rename from patches/server/1013-Check-distance-in-entity-interactions.patch rename to patches/server/1011-Check-distance-in-entity-interactions.patch index d6e268091d..95e8e99b56 100644 --- a/patches/server/1013-Check-distance-in-entity-interactions.patch +++ b/patches/server/1011-Check-distance-in-entity-interactions.patch @@ -17,7 +17,7 @@ index 42d7ecfab6f72517904451d9df3f0404b176fdb2..0e38a641d8e537750166b56c57aca4a9 }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f749ad127afabbf43b871b29ce6c19956686e9ee..0eea726a703e7d5b128f39b31929963aa27d82cc 100644 +index 340c4452c09a98bc0220e6fe68dc65afc946986b..05dae689ada8d96009e81aabf95a626bae90ecd3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1437,7 +1437,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/1014-Configurable-Sand-Duping.patch b/patches/server/1012-Configurable-Sand-Duping.patch similarity index 100% rename from patches/server/1014-Configurable-Sand-Duping.patch rename to patches/server/1012-Configurable-Sand-Duping.patch diff --git a/patches/server/1015-Optimise-general-POI-access.patch b/patches/server/1013-Optimise-general-POI-access.patch similarity index 100% rename from patches/server/1015-Optimise-general-POI-access.patch rename to patches/server/1013-Optimise-general-POI-access.patch diff --git a/patches/server/1016-Improve-performance-of-mass-crafts.patch b/patches/server/1014-Improve-performance-of-mass-crafts.patch similarity index 100% rename from patches/server/1016-Improve-performance-of-mass-crafts.patch rename to patches/server/1014-Improve-performance-of-mass-crafts.patch diff --git a/patches/server/1017-Properly-resend-entities.patch b/patches/server/1015-Properly-resend-entities.patch similarity index 82% rename from patches/server/1017-Properly-resend-entities.patch rename to patches/server/1015-Properly-resend-entities.patch index 3745ddb216..956f16576f 100644 --- a/patches/server/1017-Properly-resend-entities.patch +++ b/patches/server/1015-Properly-resend-entities.patch @@ -102,7 +102,7 @@ index 0034483685ba626e5883b857de96ffd36e57e150..4c04eb531b6989f7e618d201ecaa8429 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 24ff10c4ed69deed2ce9ba25835575419165e2af..83759ce35c66e45d04eaa494bd8bc95e51e9836a 100644 +index 3a90dd1289d393426151d4457edaf99731cc34db..ec058eb6a10500831f173dcb47576c32c7516318 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -393,7 +393,7 @@ public abstract class PlayerList { @@ -114,6 +114,25 @@ index 24ff10c4ed69deed2ce9ba25835575419165e2af..83759ce35c66e45d04eaa494bd8bc95e this.sendLevelInfo(player, worldserver1); +@@ -948,12 +948,17 @@ public abstract class PlayerList { + } + + public void sendActiveEffects(LivingEntity entity, ServerGamePacketListenerImpl networkHandler) { ++ // Paper start - collect packets ++ this.sendActiveEffects(entity, networkHandler::send); ++ } ++ public void sendActiveEffects(LivingEntity entity, java.util.function.Consumer> packetConsumer) { ++ // Paper end - collect packets + Iterator iterator = entity.getActiveEffects().iterator(); + + while (iterator.hasNext()) { + MobEffectInstance mobeffect = (MobEffectInstance) iterator.next(); + +- networkHandler.send(new ClientboundUpdateMobEffectPacket(entity.getId(), mobeffect, false)); ++ packetConsumer.accept(new ClientboundUpdateMobEffectPacket(entity.getId(), mobeffect, false)); // Paper - collect packets + } + + } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java index e541a77381b03bd4dc648fc50aef77c304157fc0..34b67d7551c0ce354bc7bdb6a3581100c983ac47 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java @@ -167,7 +186,7 @@ index e541a77381b03bd4dc648fc50aef77c304157fc0..34b67d7551c0ce354bc7bdb6a3581100 public boolean equals(Object object) { return object instanceof Entity ? ((Entity) object).id == this.id : false; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0eea726a703e7d5b128f39b31929963aa27d82cc..53e4ce13f0ce1a7609fdc82f0ae3f3dabef38c54 100644 +index 05dae689ada8d96009e81aabf95a626bae90ecd3..3b15995efc65a351da8dac009b9698494771fefb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3879,6 +3879,11 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -196,6 +215,27 @@ index b586116d8cca1585f9c9e618ed4d0cb2ef2747be..acf38ef6d8de8b15cf2b09eb7bda390c return Optional.of(InteractionResult.FAIL); } entity.playSound(((Bucketable) entity).getPickupSound(), 1.0F, 1.0F); +diff --git a/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java b/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java +index 5b448006debecab983167d15fac59fc2a04805df..9523db353df026f33d7e859788612b97542bd001 100644 +--- a/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java ++++ b/src/main/java/net/minecraft/world/item/SuspiciousStewItem.java +@@ -58,10 +58,14 @@ public class SuspiciousStewItem extends Item { + public void cancelUsingItem(net.minecraft.server.level.ServerPlayer entityplayer, ItemStack itemstack) { + SuspiciousStewEffects suspicioussteweffects = (SuspiciousStewEffects) itemstack.getOrDefault(DataComponents.SUSPICIOUS_STEW_EFFECTS, SuspiciousStewEffects.EMPTY); + ++ final List> packets = new java.util.ArrayList<>(); // Paper - bundlize packets + for (SuspiciousStewEffects.Entry suspicioussteweffects_a : suspicioussteweffects.effects()) { +- entityplayer.connection.send(new net.minecraft.network.protocol.game.ClientboundRemoveMobEffectPacket(entityplayer.getId(), suspicioussteweffects_a.effect())); ++ packets.add(new net.minecraft.network.protocol.game.ClientboundRemoveMobEffectPacket(entityplayer.getId(), suspicioussteweffects_a.effect())); // Paper - bundlize packets + } +- entityplayer.server.getPlayerList().sendActivePlayerEffects(entityplayer); ++ // Paper start - bundlize packets ++ entityplayer.server.getPlayerList().sendActiveEffects(entityplayer, packets::add); ++ entityplayer.connection.send(new net.minecraft.network.protocol.game.ClientboundBundlePacket(packets)); ++ // Paper end - bundlize packets + } + // CraftBukkit end + } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java index 9ca1fee03bfa557f1df7388c6043c9ec6d02a79a..cd789c235acf740ec29c30b180e7fbe1a140caa9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java diff --git a/patches/server/1018-Registry-Modification-API.patch b/patches/server/1016-Registry-Modification-API.patch similarity index 99% rename from patches/server/1018-Registry-Modification-API.patch rename to patches/server/1016-Registry-Modification-API.patch index 8a2f279596..3b36d1ffd9 100644 --- a/patches/server/1018-Registry-Modification-API.patch +++ b/patches/server/1016-Registry-Modification-API.patch @@ -9,7 +9,7 @@ public net.minecraft.resources.RegistryOps lookupProvider public net.minecraft.resources.RegistryOps$HolderLookupAdapter diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index 675f5d03478907e3d8284cbea191f01c1eb15769..32ade3ed8533b127e8f5c1cc8b3466249e5444a3 100644 +index 70e2c3b5cac9a0dfb043de218df20dc1ab2cc070..38222dca2497cec5b104b21429a9ec3aaf05d99e 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -2,6 +2,7 @@ package io.papermc.paper.registry; @@ -20,7 +20,7 @@ index 675f5d03478907e3d8284cbea191f01c1eb15769..32ade3ed8533b127e8f5c1cc8b346624 import java.util.Collections; import java.util.IdentityHashMap; import java.util.List; -@@ -56,6 +57,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; +@@ -58,6 +59,7 @@ import org.checkerframework.framework.qual.DefaultQualifier; import static io.papermc.paper.registry.entry.RegistryEntry.apiOnly; import static io.papermc.paper.registry.entry.RegistryEntry.entry; @@ -28,7 +28,7 @@ index 675f5d03478907e3d8284cbea191f01c1eb15769..32ade3ed8533b127e8f5c1cc8b346624 @DefaultQualifier(NonNull.class) public final class PaperRegistries { -@@ -138,6 +140,15 @@ public final class PaperRegistries { +@@ -141,6 +143,15 @@ public final class PaperRegistries { return ResourceKey.create((ResourceKey>) PaperRegistries.registryToNms(typedKey.registryKey()), PaperAdventure.asVanilla(typedKey.key())); } @@ -1312,10 +1312,10 @@ index 397bdacab9517354875ebc0bc68d35059b3c318b..908431652a0fea79b5a0cee1efd0c7a7 return writableRegistry; }, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -index c2824cc07b761958a0df4b110bdfc53bd853b9e7..cacbb35d365c66881f2a42d099bb88c494b584ee 100644 +index bd16933a5341908b21e549f66080c33466ad1079..90046c85ce1b9901de7476761da156141249300a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegistry.java -@@ -165,11 +165,11 @@ public class CraftRegistry implements Registry { +@@ -167,11 +167,11 @@ public class CraftRegistry implements Registry { private final Map cache = new HashMap<>(); private final Map byValue = new java.util.IdentityHashMap<>(); // Paper - improve Registry private final net.minecraft.core.Registry minecraftRegistry; @@ -1329,7 +1329,7 @@ index c2824cc07b761958a0df4b110bdfc53bd853b9e7..cacbb35d365c66881f2a42d099bb88c4 this.bukkitClass = bukkitClass; this.minecraftRegistry = minecraftRegistry; this.minecraftToBukkit = minecraftToBukkit; -@@ -242,4 +242,17 @@ public class CraftRegistry implements Registry { +@@ -244,4 +244,17 @@ public class CraftRegistry implements Registry { return this.byValue.get(value); } // Paper end - improve Registry diff --git a/patches/server/1019-Add-registry-entry-and-builders.patch b/patches/server/1017-Add-registry-entry-and-builders.patch similarity index 99% rename from patches/server/1019-Add-registry-entry-and-builders.patch rename to patches/server/1017-Add-registry-entry-and-builders.patch index 9125594884..a37a06a160 100644 --- a/patches/server/1019-Add-registry-entry-and-builders.patch +++ b/patches/server/1017-Add-registry-entry-and-builders.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add registry entry and builders diff --git a/src/main/java/io/papermc/paper/registry/PaperRegistries.java b/src/main/java/io/papermc/paper/registry/PaperRegistries.java -index 32ade3ed8533b127e8f5c1cc8b3466249e5444a3..6ec9d9b9acf557aa2ebf39d38a14225b0205fae1 100644 +index 38222dca2497cec5b104b21429a9ec3aaf05d99e..98b096339fe48b2fc8169ae0376e05d59236fc9a 100644 --- a/src/main/java/io/papermc/paper/registry/PaperRegistries.java +++ b/src/main/java/io/papermc/paper/registry/PaperRegistries.java @@ -1,6 +1,8 @@ @@ -17,7 +17,7 @@ index 32ade3ed8533b127e8f5c1cc8b3466249e5444a3..6ec9d9b9acf557aa2ebf39d38a14225b import io.papermc.paper.registry.entry.RegistryEntry; import io.papermc.paper.registry.tag.TagKey; import java.util.Collections; -@@ -68,7 +70,7 @@ public final class PaperRegistries { +@@ -70,7 +72,7 @@ public final class PaperRegistries { static { REGISTRY_ENTRIES = List.of( // built-ins @@ -26,7 +26,7 @@ index 32ade3ed8533b127e8f5c1cc8b3466249e5444a3..6ec9d9b9acf557aa2ebf39d38a14225b entry(Registries.INSTRUMENT, RegistryKey.INSTRUMENT, MusicInstrument.class, CraftMusicInstrument::new), entry(Registries.MOB_EFFECT, RegistryKey.MOB_EFFECT, PotionEffectType.class, CraftPotionEffectType::new), entry(Registries.STRUCTURE_TYPE, RegistryKey.STRUCTURE_TYPE, StructureType.class, CraftStructureType::new), -@@ -86,7 +88,7 @@ public final class PaperRegistries { +@@ -89,7 +91,7 @@ public final class PaperRegistries { entry(Registries.TRIM_PATTERN, RegistryKey.TRIM_PATTERN, TrimPattern.class, CraftTrimPattern::new).delayed(), entry(Registries.DAMAGE_TYPE, RegistryKey.DAMAGE_TYPE, DamageType.class, CraftDamageType::new).delayed(), entry(Registries.WOLF_VARIANT, RegistryKey.WOLF_VARIANT, Wolf.Variant.class, CraftWolf.CraftVariant::new).delayed(), diff --git a/patches/server/1020-Improved-Watchdog-Support.patch b/patches/server/1018-Improved-Watchdog-Support.patch similarity index 99% rename from patches/server/1020-Improved-Watchdog-Support.patch rename to patches/server/1018-Improved-Watchdog-Support.patch index 798fa8624a..5d035a4ad4 100644 --- a/patches/server/1020-Improved-Watchdog-Support.patch +++ b/patches/server/1018-Improved-Watchdog-Support.patch @@ -304,7 +304,7 @@ index 7d2896918ff5fed37e5de5a22c37b0c7f32634a8..d43b98bdfcb00603737a309c0fb7793d } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 83759ce35c66e45d04eaa494bd8bc95e51e9836a..eb94c0a962de4dc389eb309d264b6e1c6c7229aa 100644 +index cbf7b11215da18a1585efbf1a8aafa34bdc525ab..1a6630360ff6549538ed186cefc28cd99ca472a9 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -604,7 +604,7 @@ public abstract class PlayerList { diff --git a/patches/server/1021-Proxy-ItemStack-to-CraftItemStack.patch b/patches/server/1019-Proxy-ItemStack-to-CraftItemStack.patch similarity index 99% rename from patches/server/1021-Proxy-ItemStack-to-CraftItemStack.patch rename to patches/server/1019-Proxy-ItemStack-to-CraftItemStack.patch index 51d86f8f5b..0e609e40fd 100644 --- a/patches/server/1021-Proxy-ItemStack-to-CraftItemStack.patch +++ b/patches/server/1019-Proxy-ItemStack-to-CraftItemStack.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Proxy ItemStack to CraftItemStack diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 69b7eb7eff112b59b22f1d349831b9ee14c01943..f4c7b0e2db55ad9cdf09da80f6756f941315fb30 100644 +index aef5c0d1be9c4aa62d9b7c5cacbb42066a802729..db0fe1b755f59eafca6e57917429fb7889889c3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -26,15 +26,57 @@ import org.jetbrains.annotations.ApiStatus; diff --git a/patches/server/1022-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/server/1020-Make-a-PDC-view-accessible-directly-from-ItemStack.patch similarity index 99% rename from patches/server/1022-Make-a-PDC-view-accessible-directly-from-ItemStack.patch rename to patches/server/1020-Make-a-PDC-view-accessible-directly-from-ItemStack.patch index 430f84e5a5..31fdc957f8 100644 --- a/patches/server/1022-Make-a-PDC-view-accessible-directly-from-ItemStack.patch +++ b/patches/server/1020-Make-a-PDC-view-accessible-directly-from-ItemStack.patch @@ -97,7 +97,7 @@ index 0000000000000000000000000000000000000000..fac401280d3f3689b00e16c19155ca75 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index f4c7b0e2db55ad9cdf09da80f6756f941315fb30..40fb5b5e00f6bc82e67d318b8b3d1e7606973f52 100644 +index db0fe1b755f59eafca6e57917429fb7889889c3a..454d1ad710159a47f2112f77ea4b6c87241caf4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java @@ -484,4 +484,63 @@ public final class CraftItemStack extends ItemStack { diff --git a/patches/server/1023-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/server/1021-Prioritize-Minecraft-commands-in-function-parsing-an.patch similarity index 100% rename from patches/server/1023-Prioritize-Minecraft-commands-in-function-parsing-an.patch rename to patches/server/1021-Prioritize-Minecraft-commands-in-function-parsing-an.patch diff --git a/patches/server/1024-optimize-dirt-and-snow-spreading.patch b/patches/server/1022-optimize-dirt-and-snow-spreading.patch similarity index 100% rename from patches/server/1024-optimize-dirt-and-snow-spreading.patch rename to patches/server/1022-optimize-dirt-and-snow-spreading.patch diff --git a/patches/server/1025-Fix-NPE-for-Jukebox-setRecord.patch b/patches/server/1023-Fix-NPE-for-Jukebox-setRecord.patch similarity index 100% rename from patches/server/1025-Fix-NPE-for-Jukebox-setRecord.patch rename to patches/server/1023-Fix-NPE-for-Jukebox-setRecord.patch diff --git a/patches/server/1026-Fix-CraftWorld-isChunkGenerated.patch b/patches/server/1024-Fix-CraftWorld-isChunkGenerated.patch similarity index 100% rename from patches/server/1026-Fix-CraftWorld-isChunkGenerated.patch rename to patches/server/1024-Fix-CraftWorld-isChunkGenerated.patch diff --git a/patches/server/1027-fix-horse-inventories.patch b/patches/server/1025-fix-horse-inventories.patch similarity index 100% rename from patches/server/1027-fix-horse-inventories.patch rename to patches/server/1025-fix-horse-inventories.patch diff --git a/patches/server/1028-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/server/1026-Only-call-EntityDamageEvents-before-actuallyHurt.patch similarity index 97% rename from patches/server/1028-Only-call-EntityDamageEvents-before-actuallyHurt.patch rename to patches/server/1026-Only-call-EntityDamageEvents-before-actuallyHurt.patch index f6b8cc3f6b..e1393a8173 100644 --- a/patches/server/1028-Only-call-EntityDamageEvents-before-actuallyHurt.patch +++ b/patches/server/1026-Only-call-EntityDamageEvents-before-actuallyHurt.patch @@ -12,7 +12,7 @@ This patch moves the invocation directly before the #actuallyHurt calls, respective invulnerable timings. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 53e4ce13f0ce1a7609fdc82f0ae3f3dabef38c54..8276f4efd7a799b6e8b6e8c28e2565833c889647 100644 +index 3b15995efc65a351da8dac009b9698494771fefb..5079775ce8f86fb061e616190513f56ff086e409 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1459,12 +1459,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/1029-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/server/1027-Fix-entity-tracker-desync-when-new-players-are-added.patch similarity index 100% rename from patches/server/1029-Fix-entity-tracker-desync-when-new-players-are-added.patch rename to patches/server/1027-Fix-entity-tracker-desync-when-new-players-are-added.patch diff --git a/patches/server/1030-Lag-compensation-ticks.patch b/patches/server/1028-Lag-compensation-ticks.patch similarity index 97% rename from patches/server/1030-Lag-compensation-ticks.patch rename to patches/server/1028-Lag-compensation-ticks.patch index cea51f3b38..ba29615632 100644 --- a/patches/server/1030-Lag-compensation-ticks.patch +++ b/patches/server/1028-Lag-compensation-ticks.patch @@ -63,7 +63,7 @@ index 24b1715397ba8e6f5e9841a030d0e3d964356f89..cc01ead133cc6859ca5d7a1d0ac3c129 if (this.hasDelayedDestroy) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 8276f4efd7a799b6e8b6e8c28e2565833c889647..ccd9dff20a60f019e0c320acfb526b8bf3e5f806 100644 +index 5079775ce8f86fb061e616190513f56ff086e409..13c93281f6b81e88f2f54befb8e6a3e4bdabf53d 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3900,6 +3900,10 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -115,7 +115,7 @@ index 8276f4efd7a799b6e8b6e8c28e2565833c889647..ccd9dff20a60f019e0c320acfb526b8b } } -@@ -4129,7 +4144,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4132,7 +4147,10 @@ public abstract class LivingEntity extends Entity implements Attackable { } this.useItem = ItemStack.EMPTY; diff --git a/patches/server/1031-Detail-more-information-in-watchdog-dumps.patch b/patches/server/1029-Detail-more-information-in-watchdog-dumps.patch similarity index 100% rename from patches/server/1031-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/1029-Detail-more-information-in-watchdog-dumps.patch diff --git a/patches/server/1032-Write-SavedData-IO-async.patch b/patches/server/1030-Write-SavedData-IO-async.patch similarity index 100% rename from patches/server/1032-Write-SavedData-IO-async.patch rename to patches/server/1030-Write-SavedData-IO-async.patch diff --git a/patches/server/1034-Add-ItemType-getItemRarity.patch b/patches/server/1031-Add-ItemType-getItemRarity.patch similarity index 100% rename from patches/server/1034-Add-ItemType-getItemRarity.patch rename to patches/server/1031-Add-ItemType-getItemRarity.patch diff --git a/patches/server/1035-Incremental-chunk-and-player-saving.patch b/patches/server/1032-Incremental-chunk-and-player-saving.patch similarity index 98% rename from patches/server/1035-Incremental-chunk-and-player-saving.patch rename to patches/server/1032-Incremental-chunk-and-player-saving.patch index 667fed509e..171e0f1feb 100644 --- a/patches/server/1035-Incremental-chunk-and-player-saving.patch +++ b/patches/server/1032-Incremental-chunk-and-player-saving.patch @@ -108,7 +108,7 @@ index 8dc3ba983fd4c61e463867be8d224aa90424215a..6c280abdef5f80b668d6090f9d35283a private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10; private static final int FLY_STAT_RECORDING_SPEED = 25; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0184b807cc23719e91a1b1fdf1788e97e505346a..8d0e2bb3ed6651d4fb0dce02bbad36915a04f8ee 100644 +index 0cfaf31273bbec7640eb3a2b16a8d2c816b0ed61..c13922d2fb1c15f895b14d4cb6d5379b59ea1ef8 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -569,6 +569,7 @@ public abstract class PlayerList { @@ -119,7 +119,7 @@ index 0184b807cc23719e91a1b1fdf1788e97e505346a..8d0e2bb3ed6651d4fb0dce02bbad3691 this.playerIo.save(player); ServerStatsCounter serverstatisticmanager = (ServerStatsCounter) player.getStats(); // CraftBukkit -@@ -1187,10 +1188,22 @@ public abstract class PlayerList { +@@ -1192,10 +1193,22 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/server/1036-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/1033-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/1036-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/1033-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/1033-Correctly-call-PlayerItemBreakEvent.patch b/patches/server/1033-Correctly-call-PlayerItemBreakEvent.patch deleted file mode 100644 index 378457e6e4..0000000000 --- a/patches/server/1033-Correctly-call-PlayerItemBreakEvent.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Bjarne Koll -Date: Fri, 12 Jul 2024 19:09:44 +0200 -Subject: [PATCH] Correctly call PlayerItemBreakEvent - -The minecraft 1.21 update changed the invocation order in -ItemStack#hurtAndBreak, now first shrinking the itemstack to a count of -zero and then invoking the break callback. - -This leads to spigots logic no longer firing at all. This patch now -correctly executes on count of zero and temporarily bumps the count to -one before passing it to event handlers to maintain compatibility with -the event contracts. - -This fix was chosen over invoking the callback prior to shrinking the -stack to not disrupt potential new vanilla changes that might depend on -this behaviour. - -diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index c133a52f96a783e81eac15621655ca1e3f6b6c25..b6a2f3e4f22f36e75a1630bd456c2f471edbb398 100644 ---- a/src/main/java/net/minecraft/world/item/ItemStack.java -+++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -731,8 +731,10 @@ public final class ItemStack implements DataComponentHolder { - - this.hurtAndBreak(amount, worldserver, entity, (item) -> { // Paper - Add EntityDamageItemEvent - // CraftBukkit start - Check for item breaking -- if (this.count == 1 && entity instanceof net.minecraft.world.entity.player.Player) { -+ if (this.count == 0 && entity instanceof net.minecraft.world.entity.player.Player) { // Paper - correctly call item break event - run if count reached 0 -+ this.setCount(1); // Paper - correctly call item break event - grow to count 1 - org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerItemBreakEvent((net.minecraft.world.entity.player.Player) entity, this); -+ this.setCount(0); // Paper - correctly call item break event - reset to count 0 - } - // CraftBukkit end - if (slot != null) entity.onEquippedItemBroken(item, slot); // Paper - itemstack damage API - do not process entity related callbacks when damaging from API diff --git a/patches/server/1037-Bundle-spark.patch b/patches/server/1034-Bundle-spark.patch similarity index 99% rename from patches/server/1037-Bundle-spark.patch rename to patches/server/1034-Bundle-spark.patch index bf1e8ef66d..755da7191b 100644 --- a/patches/server/1037-Bundle-spark.patch +++ b/patches/server/1034-Bundle-spark.patch @@ -334,7 +334,7 @@ index d43b98bdfcb00603737a309c0fb7793d42289b8c..dd56c8e041116ef3602a9f89c998c820 com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // Paper - load version history now diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 05001bb637d55aaf36359b37a42ef33e4557b9f2..1b36e94617d4e777c419660936460d5cf8a4b3e8 100644 +index 5ef080406d8954ecaa65cf60569cc05dbad649ea..b7af2d4300facf41a025c8ca322bf6541949b3ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -309,6 +309,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/1038-Add-plugin-info-at-startup.patch b/patches/server/1035-Add-plugin-info-at-startup.patch similarity index 100% rename from patches/server/1038-Add-plugin-info-at-startup.patch rename to patches/server/1035-Add-plugin-info-at-startup.patch diff --git a/patches/server/1039-Make-interaction-leniency-distance-configurable.patch b/patches/server/1036-Make-interaction-leniency-distance-configurable.patch similarity index 100% rename from patches/server/1039-Make-interaction-leniency-distance-configurable.patch rename to patches/server/1036-Make-interaction-leniency-distance-configurable.patch diff --git a/patches/server/1040-Fix-PickupStatus-getting-reset.patch b/patches/server/1037-Fix-PickupStatus-getting-reset.patch similarity index 95% rename from patches/server/1040-Fix-PickupStatus-getting-reset.patch rename to patches/server/1037-Fix-PickupStatus-getting-reset.patch index 2a772419ce..a952f8a688 100644 --- a/patches/server/1040-Fix-PickupStatus-getting-reset.patch +++ b/patches/server/1037-Fix-PickupStatus-getting-reset.patch @@ -24,10 +24,10 @@ index ddf47dab1ab92c45e3eea09239d418a9798ed59e..9ca29b3d4bf8bca5f51f3644e12fcbec byte b0 = 0; diff --git a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -index 4b71538d5e921af89c4b13200484d4767e4dd6f9..de64de5d1328d3e0826c9990eb7c7eca5088cb9c 100644 +index f2bdd95a6ae77400742d87bcae35c09fb8b047ba..10ade433c083851d9ea4797c6ec618db122229f9 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/Projectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/Projectile.java -@@ -243,7 +243,13 @@ public abstract class Projectile extends Entity implements TraceableEntity { +@@ -240,7 +240,13 @@ public abstract class Projectile extends Entity implements TraceableEntity { public boolean deflect(ProjectileDeflection deflection, @Nullable Entity deflector, @Nullable Entity owner, boolean fromAttack) { if (!this.level().isClientSide) { deflection.deflect(this, deflector, this.random); diff --git a/patches/server/1041-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/server/1038-Check-for-block-type-in-SculkSensorBlock-canActivate.patch similarity index 100% rename from patches/server/1041-Check-for-block-type-in-SculkSensorBlock-canActivate.patch rename to patches/server/1038-Check-for-block-type-in-SculkSensorBlock-canActivate.patch diff --git a/patches/server/1042-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/server/1039-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch similarity index 98% rename from patches/server/1042-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch rename to patches/server/1039-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch index 3ff8343ca9..8347a4c5c4 100644 --- a/patches/server/1042-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch +++ b/patches/server/1039-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d5c45cc09b9d60c1650507ad6fedb27246291063..5c45946f54e4b16440c15a9165ef85be43e53c84 100644 +index 042bfdd14c9ff4cc8ed3421f73565f0f03b11bcb..e0414b0a48a95f1f5e718070dd0e5f955052a898 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -2183,4 +2183,117 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { diff --git a/patches/server/1043-Configuration-for-horizontal-only-item-merging.patch b/patches/server/1040-Configuration-for-horizontal-only-item-merging.patch similarity index 100% rename from patches/server/1043-Configuration-for-horizontal-only-item-merging.patch rename to patches/server/1040-Configuration-for-horizontal-only-item-merging.patch diff --git a/patches/server/1044-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/1041-Optimise-collision-checking-in-player-move-packet-ha.patch similarity index 100% rename from patches/server/1044-Optimise-collision-checking-in-player-move-packet-ha.patch rename to patches/server/1041-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/1045-Add-skipping-world-symlink-scan.patch b/patches/server/1042-Add-skipping-world-symlink-scan.patch similarity index 100% rename from patches/server/1045-Add-skipping-world-symlink-scan.patch rename to patches/server/1042-Add-skipping-world-symlink-scan.patch diff --git a/patches/server/1046-Add-even-more-Enchantment-API.patch b/patches/server/1043-Add-even-more-Enchantment-API.patch similarity index 100% rename from patches/server/1046-Add-even-more-Enchantment-API.patch rename to patches/server/1043-Add-even-more-Enchantment-API.patch diff --git a/patches/server/1047-Leashable-API.patch b/patches/server/1044-Leashable-API.patch similarity index 98% rename from patches/server/1047-Leashable-API.patch rename to patches/server/1044-Leashable-API.patch index b93323b964..ed84c78869 100644 --- a/patches/server/1047-Leashable-API.patch +++ b/patches/server/1044-Leashable-API.patch @@ -74,7 +74,7 @@ index e33b1b6fd50a4eea57500cc00dba20d6edcab75d..01a9660de65688b7c1a4f9dafcb65077 public CraftBoat(CraftServer server, net.minecraft.world.entity.vehicle.Boat entity) { super(server, entity); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d2bb0831394c03b620b2cbd8306cb82b621f34f7..beb6ad312028adb14053e3f019a4fcf6c9149373 100644 +index a54cf98661cc678277855f21735e98fafd018ded..a46fbd2a5e31dd9aa7fcf0867c91ec8d28990861 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -753,43 +753,17 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/1048-Fix-CraftBukkit-drag-system.patch b/patches/server/1045-Fix-CraftBukkit-drag-system.patch similarity index 100% rename from patches/server/1048-Fix-CraftBukkit-drag-system.patch rename to patches/server/1045-Fix-CraftBukkit-drag-system.patch diff --git a/patches/server/1049-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch b/patches/server/1046-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch similarity index 100% rename from patches/server/1049-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch rename to patches/server/1046-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch diff --git a/patches/server/1050-Remove-set-damage-lootable-item-function-from-compas.patch b/patches/server/1047-Remove-set-damage-lootable-item-function-from-compas.patch similarity index 100% rename from patches/server/1050-Remove-set-damage-lootable-item-function-from-compas.patch rename to patches/server/1047-Remove-set-damage-lootable-item-function-from-compas.patch diff --git a/patches/server/1051-Properly-destroy-placed-blocks-on-the-end-platform.patch b/patches/server/1048-Properly-destroy-placed-blocks-on-the-end-platform.patch similarity index 100% rename from patches/server/1051-Properly-destroy-placed-blocks-on-the-end-platform.patch rename to patches/server/1048-Properly-destroy-placed-blocks-on-the-end-platform.patch diff --git a/patches/server/1052-Add-enchantment-seed-update-API.patch b/patches/server/1049-Add-enchantment-seed-update-API.patch similarity index 100% rename from patches/server/1052-Add-enchantment-seed-update-API.patch rename to patches/server/1049-Add-enchantment-seed-update-API.patch diff --git a/patches/server/1053-Fix-synchronise-sending-chat-to-client-with-updating.patch b/patches/server/1050-Fix-synchronise-sending-chat-to-client-with-updating.patch similarity index 100% rename from patches/server/1053-Fix-synchronise-sending-chat-to-client-with-updating.patch rename to patches/server/1050-Fix-synchronise-sending-chat-to-client-with-updating.patch diff --git a/patches/server/1054-Fix-InventoryOpenEvent-cancellation.patch b/patches/server/1051-Fix-InventoryOpenEvent-cancellation.patch similarity index 99% rename from patches/server/1054-Fix-InventoryOpenEvent-cancellation.patch rename to patches/server/1051-Fix-InventoryOpenEvent-cancellation.patch index 4e5e1eb19f..e63dbfd2aa 100644 --- a/patches/server/1054-Fix-InventoryOpenEvent-cancellation.patch +++ b/patches/server/1051-Fix-InventoryOpenEvent-cancellation.patch @@ -304,7 +304,7 @@ index 8dd9d92c4730ec9a1cea197817e28e60f70ae3a9..d2f5228e2b0848ca79a7fe6ea79095c2 @Override diff --git a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java -index 01154357fb536533f5d01f3f8495218fa3716ea2..0f111736ad4664be69e7256922af33a3a58092a1 100644 +index 6323c96d9b0cd14f89609b38da37d7fcc12d211b..6b2c3afa04a3564e435633b521d918ed795f9f65 100644 --- a/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ShulkerBoxBlock.java @@ -106,8 +106,7 @@ public class ShulkerBoxBlock extends BaseEntityBlock { diff --git a/patches/server/1055-Fire-BlockExpEvent-on-grindstone-use.patch b/patches/server/1052-Fire-BlockExpEvent-on-grindstone-use.patch similarity index 100% rename from patches/server/1055-Fire-BlockExpEvent-on-grindstone-use.patch rename to patches/server/1052-Fire-BlockExpEvent-on-grindstone-use.patch diff --git a/patches/server/1056-Check-dead-flag-in-isAlive.patch b/patches/server/1053-Check-dead-flag-in-isAlive.patch similarity index 93% rename from patches/server/1056-Check-dead-flag-in-isAlive.patch rename to patches/server/1053-Check-dead-flag-in-isAlive.patch index c7bca0ad14..e00e21c5b9 100644 --- a/patches/server/1056-Check-dead-flag-in-isAlive.patch +++ b/patches/server/1053-Check-dead-flag-in-isAlive.patch @@ -15,7 +15,7 @@ Also, even if the plugin is responsibly checking !isDead() before modifying heal I am currently unable to replicate, these "revived" entities can still appear diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ccd9dff20a60f019e0c320acfb526b8bf3e5f806..9c9e2377f44b1f1bbd8bb0e8bc963a80f4f9ee68 100644 +index 13c93281f6b81e88f2f54befb8e6a3e4bdabf53d..30f4f1254fc295442d72d50479e8af635f2fe983 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2096,7 +2096,7 @@ public abstract class LivingEntity extends Entity implements Attackable { diff --git a/patches/server/1057-Add-FeatureFlag-API.patch b/patches/server/1054-Add-FeatureFlag-API.patch similarity index 100% rename from patches/server/1057-Add-FeatureFlag-API.patch rename to patches/server/1054-Add-FeatureFlag-API.patch diff --git a/patches/server/1058-Tag-Lifecycle-Events.patch b/patches/server/1055-Tag-Lifecycle-Events.patch similarity index 100% rename from patches/server/1058-Tag-Lifecycle-Events.patch rename to patches/server/1055-Tag-Lifecycle-Events.patch diff --git a/patches/server/1059-Item-serialization-as-json.patch b/patches/server/1056-Item-serialization-as-json.patch similarity index 100% rename from patches/server/1059-Item-serialization-as-json.patch rename to patches/server/1056-Item-serialization-as-json.patch diff --git a/work/Bukkit b/work/Bukkit index 4068c6aa92..1fc1020ad0 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit 4068c6aa92024936b8d21a56d83048784d700864 +Subproject commit 1fc1020ad0d91a1cf6bfaae6f0441c24be701fbf diff --git a/work/CraftBukkit b/work/CraftBukkit index 7548afcf24..bbb30e7a85 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 7548afcf2470885065171982aa1c813196e98b09 +Subproject commit bbb30e7a853eb15c00dfea1bd46715101c777c8b diff --git a/work/Spigot b/work/Spigot index ca581228b6..a759b629cb 160000 --- a/work/Spigot +++ b/work/Spigot @@ -1 +1 @@ -Subproject commit ca581228b6f5c2b4ee8236f604d5ea288f970c24 +Subproject commit a759b629cbf86401aab56b8c3f21a635e9e76c15