From dfab659e53c55e82dc7ec070cdae3c6179fa798d Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 7 Dec 2022 19:52:24 +0100 Subject: [PATCH] Moar, fix API --- ...dd-extended-PaperServerListPingEvent.patch | 10 ++-- ...urable-Non-Player-Arrow-Despawn-Rate.patch | 4 +- .../server/0070-Add-World-Util-Methods.patch | 8 +-- ...1-Custom-replacement-for-eaten-items.patch | 8 +-- ...th-absorb-values-and-repair-bad-data.patch | 12 ++--- ...073-Use-a-Shared-Random-for-Entities.patch | 2 +- ...le-spawn-chances-for-skeleton-horses.patch | 4 +- ...ldBounds-and-getBlockState-for-inlin.patch | 14 ++--- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 16 +++--- ...Entity-AddTo-RemoveFrom-World-Events.patch | 6 +-- ...78-Configurable-Chunk-Inhabited-Time.patch | 4 +- .../server/0079-EntityPathfindEvent.patch | 16 +++--- ...egionFileCache-and-make-configurable.patch | 2 +- ...1-Do-not-load-chunks-for-Pathfinding.patch | 8 +-- ...0082-Add-PlayerUseUnknownEntityEvent.patch | 6 +-- ...-Configurable-Grass-Spread-Tick-Rate.patch | 0 ...g-BlockPlaceEvent-triggering-physics.patch | 4 +- .../server/0085-Optimize-DataBits.patch | 0 ...nilla-per-world-scoreboard-coloring-.patch | 0 .../0087-Configurable-Player-Collision.patch | 18 +++---- ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../0089-Configurable-RCON-IP-address.patch | 12 ++--- ...ityRegainHealthEvent-isFastRegen-API.patch | 4 +- ...-to-configure-frosted_ice-properties.patch | 0 ...-possibility-for-getServer-singleton.patch | 10 ++-- ...item-frames-performance-and-bug-fixe.patch | 10 ++-- ...-API-Replenishable-Lootables-Feature.patch | 6 +-- ...y-scoreboard-teams-to-scoreboard.dat.patch | 0 ...tem-property-for-disabling-watchdoge.patch | 0 .../0097-Async-GameProfileCache-saving.patch | 8 +-- ...8-Optional-TNT-doesn-t-move-in-water.patch | 18 +++---- ...r-redstone-torch-rapid-clock-removal.patch | 4 +- .../0100-Add-server-name-parameter.patch | 2 +- ...-sounds-to-same-world-if-limiting-ra.patch | 6 +-- .../server/0102-Fix-Old-Sign-Conversion.patch | 10 ++-- ...blocking-on-Network-Manager-creation.patch | 0 ...e-profiles-that-have-no-UUID-and-no-.patch | 0 ...setting-for-proxy-online-mode-status.patch | 4 +- ...ptimise-BlockState-s-hashCode-equals.patch | 0 ...onfigurable-packet-in-spam-threshold.patch | 4 +- ...08-Configurable-flying-kick-messages.patch | 6 +-- .../server/0109-Add-EntityZapEvent.patch | 26 +++++----- ...a-from-ArmorStand-and-SpawnEgg-items.patch | 6 +-- ...111-Cache-user-authenticator-threads.patch | 14 ++--- ...2-Allow-Reloading-of-Command-Aliases.patch | 4 +- ...3-Add-source-to-PlayerExpChangeEvent.patch | 6 +-- .../0114-Add-ProjectileCollideEvent.patch | 12 ++--- ...vent-Pathfinding-out-of-World-Border.patch | 4 +- ...imize-World.isLoaded-BlockPosition-Z.patch | 4 +- ...-Bound-Treasure-Maps-to-World-Border.patch | 4 +- ...figurable-Cartographer-Treasure-Maps.patch | 4 +- .../0119-Optimize-ItemStack.isEmpty.patch | 6 +-- ...to-control-if-armour-stands-can-move.patch | 0 .../0121-String-based-Action-Bar-API.patch | 4 +- ...22-Properly-fix-item-duplication-bug.patch | 8 +-- .../server/0123-Firework-API-s.patch | 12 ++--- .../0124-PlayerTeleportEndGatewayEvent.patch | 6 +-- ...rovide-E-TE-Chunk-count-stat-methods.patch | 8 +-- .../0126-Enforce-Sync-Player-Saves.patch | 4 +- ...llow-entities-to-ride-themselves-572.patch | 4 +- ...PI-for-Reason-Source-Triggering-play.patch | 50 +++++++++--------- .../server/0129-Cap-Entity-Collisions.patch | 16 +++--- ...e-CraftScheduler-Async-Task-Debugger.patch | 0 .../0131-Do-not-let-armorstands-drown.patch | 0 ...le-async-calls-to-restart-the-server.patch | 20 +++---- ...ke-parrots-stay-on-shoulders-despite.patch | 8 +-- ...n-option-to-prevent-player-names-fro.patch | 4 +- ...oleAppender-for-console-improvements.patch | 52 +++++++++---------- ...urable-option-to-disable-creeper-lin.patch | 2 +- .../server/0137-Item-canEntityPickup.patch | 6 +-- ...PlayerPickupItemEvent-setFlyAtPlayer.patch | 8 +-- .../0139-PlayerAttemptPickupItemEvent.patch | 6 +-- ...-profile-lookups-to-worldgen-threads.patch | 6 +-- .../server/0141-Add-UnknownCommandEvent.patch | 4 +- .../server/0142-Basic-PlayerProfile-API.patch | 12 ++--- .../0143-Shoulder-Entities-Release-API.patch | 4 +- .../server/0144-Profile-Lookup-Events.patch | 0 ...player-logins-during-server-shutdown.patch | 4 +- .../server/0146-Entity-fromMobSpawner.patch | 14 ++--- ...47-Improve-the-Saddle-API-for-Horses.patch | 0 ...mplement-ensureServerConversions-API.patch | 4 +- .../0149-Implement-getI18NDisplayName.patch | 4 +- .../0150-ProfileWhitelistVerifyEvent.patch | 6 +-- .../0151-Fix-this-stupid-bullshit.patch | 12 ++--- .../server/0152-LivingEntity-setKiller.patch | 0 ...awns-should-honor-nametags-and-leash.patch | 2 +- ...imer-when-spawner-event-is-cancelled.patch | 6 +-- ...-a-custom-authentication-servers-dow.patch | 4 +- ...n-prefixes-using-Log4J-configuration.patch | 6 +-- ...e-Log4J-Configuration-Plugin-Loggers.patch | 0 .../server/0158-Add-PlayerJumpEvent.patch | 4 +- ...dle-ServerboundKeepAlivePacket-async.patch | 4 +- ...nt-protocol-version-and-virtual-host.patch | 4 +- ...rt-serverside-behavior-of-keepalives.patch | 10 ++-- ...dEffects-only-to-players-who-can-see.patch | 12 ++--- .../0163-Add-PlayerArmorChangeEvent.patch | 6 +-- ...rom-being-processed-when-the-player-.patch | 4 +- ...65-Fix-MC-117075-TE-Unload-Lag-Spike.patch | 8 +-- ...e-implementations-for-captured-block.patch | 10 ++-- ...-get-a-BlockState-without-a-snapshot.patch | 10 ++-- .../server/0168-AsyncTabCompleteEvent.patch | 24 +++++---- .../0169-PlayerPickupExperienceEvent.patch | 4 +- ...0-Ability-to-apply-mending-to-XP-API.patch | 4 +- ...1-PlayerNaturallySpawnCreaturesEvent.patch | 22 ++++---- ...-Add-setPlayerProfile-API-for-Skulls.patch | 12 ++--- .../server/0173-PreCreatureSpawnEvent.patch | 32 ++++++------ .../0174-Fill-Profile-Property-Events.patch | 0 ...PlayerAdvancementCriterionGrantEvent.patch | 0 .../0176-Add-ArmorStand-Item-Meta.patch | 2 +- ...-Extend-Player-Interact-cancellation.patch | 4 +- .../0178-Tameable-getOwnerUniqueId-API.patch | 0 ...r-crits-helps-mitigate-hacked-client.patch | 4 +- ...le-Explicit-Network-Manager-Flushing.patch | 0 ...nt-extended-PaperServerListPingEvent.patch | 14 ++--- ...e-PlayerProfile-in-AsyncPreLoginEven.patch | 4 +- .../0183-Player.setPlayerProfile-API.patch | 20 +++---- .../server/0184-getPlayerUniqueId-API.patch | 4 +- .../0185-Improved-Async-Task-Scheduler.patch | 0 ...ke-legacy-ping-handler-more-reliable.patch | 2 +- ...ServerListPingEvent-for-legacy-pings.patch | 6 +-- ...88-Flag-to-disable-the-channel-limit.patch | 6 +-- ...9-Add-openSign-method-to-HumanEntity.patch | 6 +-- ...urable-sprint-interruption-on-attack.patch | 4 +- ...-allowed-colored-signs-to-be-created.patch | 4 +- .../server/0192-EndermanEscapeEvent.patch | 10 ++-- .../0193-Enderman.teleportRandomly.patch | 4 +- ...0194-Block-Enderpearl-Travel-Exploit.patch | 8 +-- ...ld.spawnParticle-API-and-add-Builder.patch | 8 +-- ...sted-Ice-from-loading-holding-chunks.patch | 0 .../0197-EndermanAttackPlayerEvent.patch | 4 +- .../server/0198-WitchConsumePotionEvent.patch | 0 .../server/0199-WitchThrowPotionEvent.patch | 0 ...Item-entities-with-World.spawnEntity.patch | 4 +- .../server/0201-WitchReadyPotionEvent.patch | 0 ...0202-ItemStack-getMaxItemUseDuration.patch | 2 +- ...lement-EntityTeleportEndGatewayEvent.patch | 4 +- ...ed-flag-on-cancel-of-Explosion-Event.patch | 2 +- .../0205-Fix-CraftEntity-hashCode.patch | 4 +- ...le-Alternative-LootPool-Luck-Formula.patch | 0 ...ils-when-failing-to-save-player-data.patch | 0 ...e-shield-blocking-delay-configurable.patch | 4 +- .../0209-Improve-EntityShootBowEvent.patch | 0 .../server/0210-PlayerReadyArrowEvent.patch | 6 +-- ...plement-EntityKnockbackByEntityEvent.patch | 36 ++++++------- .../server/0212-Expand-Explosions-API.patch | 6 +-- ...ivingEntity-Hand-Raised-Item-Use-API.patch | 0 .../server/0214-RangedEntity-API.patch | 2 +- ...to-disable-ender-dragon-legacy-check.patch | 4 +- ...6-Implement-World.getEntity-UUID-API.patch | 4 +- .../0217-InventoryCloseEvent-Reason-API.patch | 38 +++++++------- .../server/0218-Vex-get-setSummoner-API.patch | 0 ...nventory-when-cancelling-PlayerInter.patch | 14 ++--- ...r-to-keep-logging-IO-off-main-thread.patch | 2 +- ...-more-information-to-Entity.toString.patch | 4 +- ...ftMagicNumbers.isSupportedApiVersion.patch | 4 +- .../server/0223-EnderDragon-Events.patch | 0 .../server/0224-PlayerElytraBoostEvent.patch | 4 +- .../0225-PlayerLaunchProjectileEvent.patch | 14 ++--- .../0226-Improve-BlockPosition-inlining.patch | 2 +- ...t-armor-stands-from-doing-entity-loo.patch | 4 +- ...8-Vanished-players-don-t-have-rights.patch | 31 ++++------- ...Allow-disabling-armour-stand-ticking.patch | 0 .../server/0230-SkeletonHorse-Additions.patch | 8 +-- ...on-t-call-getItemMeta-on-hasItemMeta.patch | 6 +-- ...32-Implement-Expanded-ArmorStand-API.patch | 0 165 files changed, 559 insertions(+), 576 deletions(-) rename patches/{unapplied => }/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch (88%) rename patches/{unapplied => }/server/0070-Add-World-Util-Methods.patch (88%) rename patches/{unapplied => }/server/0071-Custom-replacement-for-eaten-items.patch (89%) rename patches/{unapplied => }/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch (83%) rename patches/{unapplied => }/server/0073-Use-a-Shared-Random-for-Entities.patch (97%) rename patches/{unapplied => }/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch (90%) rename patches/{unapplied => }/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (93%) rename patches/{unapplied => }/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (87%) rename patches/{unapplied => }/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch (83%) rename patches/{unapplied => }/server/0078-Configurable-Chunk-Inhabited-Time.patch (87%) rename patches/{unapplied => }/server/0079-EntityPathfindEvent.patch (92%) rename patches/{unapplied => }/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch (93%) rename patches/{unapplied => }/server/0081-Do-not-load-chunks-for-Pathfinding.patch (87%) rename patches/{unapplied => }/server/0082-Add-PlayerUseUnknownEntityEvent.patch (92%) rename patches/{unapplied => }/server/0083-Configurable-Grass-Spread-Tick-Rate.patch (100%) rename patches/{unapplied => }/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (82%) rename patches/{unapplied => }/server/0085-Optimize-DataBits.patch (100%) rename patches/{unapplied => }/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (100%) rename patches/{unapplied => }/server/0087-Configurable-Player-Collision.patch (89%) rename patches/{unapplied => }/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/{unapplied => }/server/0089-Configurable-RCON-IP-address.patch (78%) rename patches/{unapplied => }/server/0090-EntityRegainHealthEvent-isFastRegen-API.patch (93%) rename patches/{unapplied => }/server/0091-Add-ability-to-configure-frosted_ice-properties.patch (100%) rename patches/{unapplied => }/server/0092-remove-null-possibility-for-getServer-singleton.patch (69%) rename patches/{unapplied => }/server/0093-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (94%) rename patches/{unapplied => }/server/0094-LootTable-API-Replenishable-Lootables-Feature.patch (99%) rename patches/{unapplied => }/server/0095-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (100%) rename patches/{unapplied => }/server/0096-System-property-for-disabling-watchdoge.patch (100%) rename patches/{unapplied => }/server/0097-Async-GameProfileCache-saving.patch (91%) rename patches/{unapplied => }/server/0098-Optional-TNT-doesn-t-move-in-water.patch (84%) rename patches/{unapplied => }/server/0099-Faster-redstone-torch-rapid-clock-removal.patch (96%) rename patches/{unapplied => }/server/0100-Add-server-name-parameter.patch (90%) rename patches/{unapplied => }/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch (93%) rename patches/{unapplied => }/server/0102-Fix-Old-Sign-Conversion.patch (86%) rename patches/{unapplied => }/server/0103-Avoid-blocking-on-Network-Manager-creation.patch (100%) rename patches/{unapplied => }/server/0104-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch (100%) rename patches/{unapplied => }/server/0105-Add-setting-for-proxy-online-mode-status.patch (95%) rename patches/{unapplied => }/server/0106-Optimise-BlockState-s-hashCode-equals.patch (100%) rename patches/{unapplied => }/server/0107-Configurable-packet-in-spam-threshold.patch (90%) rename patches/{unapplied => }/server/0108-Configurable-flying-kick-messages.patch (89%) rename patches/{unapplied => }/server/0109-Add-EntityZapEvent.patch (65%) rename patches/{unapplied => }/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch (82%) rename patches/{unapplied => }/server/0111-Cache-user-authenticator-threads.patch (80%) rename patches/{unapplied => }/server/0112-Allow-Reloading-of-Command-Aliases.patch (90%) rename patches/{unapplied => }/server/0113-Add-source-to-PlayerExpChangeEvent.patch (89%) rename patches/{unapplied => }/server/0114-Add-ProjectileCollideEvent.patch (92%) rename patches/{unapplied => }/server/0115-Prevent-Pathfinding-out-of-World-Border.patch (91%) rename patches/{unapplied => }/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch (86%) rename patches/{unapplied => }/server/0117-Bound-Treasure-Maps-to-World-Border.patch (94%) rename patches/{unapplied => }/server/0118-Configurable-Cartographer-Treasure-Maps.patch (94%) rename patches/{unapplied => }/server/0119-Optimize-ItemStack.isEmpty.patch (78%) rename patches/{unapplied => }/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch (100%) rename patches/{unapplied => }/server/0121-String-based-Action-Bar-API.patch (94%) rename patches/{unapplied => }/server/0122-Properly-fix-item-duplication-bug.patch (81%) rename patches/{unapplied => }/server/0123-Firework-API-s.patch (90%) rename patches/{unapplied => }/server/0124-PlayerTeleportEndGatewayEvent.patch (88%) rename patches/{unapplied => }/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch (91%) rename patches/{unapplied => }/server/0126-Enforce-Sync-Player-Saves.patch (87%) rename patches/{unapplied => }/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch (84%) rename patches/{unapplied => }/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (91%) rename patches/{unapplied => }/server/0129-Cap-Entity-Collisions.patch (79%) rename patches/{unapplied => }/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch (100%) rename patches/{unapplied => }/server/0131-Do-not-let-armorstands-drown.patch (100%) rename patches/{unapplied => }/server/0132-Properly-handle-async-calls-to-restart-the-server.patch (94%) rename patches/{unapplied => }/server/0133-Add-option-to-make-parrots-stay-on-shoulders-despite.patch (88%) rename patches/{unapplied => }/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch (83%) rename patches/{unapplied => }/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch (92%) rename patches/{unapplied => }/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch (91%) rename patches/{unapplied => }/server/0137-Item-canEntityPickup.patch (90%) rename patches/{unapplied => }/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch (88%) rename patches/{unapplied => }/server/0139-PlayerAttemptPickupItemEvent.patch (88%) rename patches/{unapplied => }/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch (95%) rename patches/{unapplied => }/server/0141-Add-UnknownCommandEvent.patch (87%) rename patches/{unapplied => }/server/0142-Basic-PlayerProfile-API.patch (98%) rename patches/{unapplied => }/server/0143-Shoulder-Entities-Release-API.patch (96%) rename patches/{unapplied => }/server/0144-Profile-Lookup-Events.patch (100%) rename patches/{unapplied => }/server/0145-Block-player-logins-during-server-shutdown.patch (85%) rename patches/{unapplied => }/server/0146-Entity-fromMobSpawner.patch (84%) rename patches/{unapplied => }/server/0147-Improve-the-Saddle-API-for-Horses.patch (100%) rename patches/{unapplied => }/server/0148-Implement-ensureServerConversions-API.patch (87%) rename patches/{unapplied => }/server/0149-Implement-getI18NDisplayName.patch (89%) rename patches/{unapplied => }/server/0150-ProfileWhitelistVerifyEvent.patch (93%) rename patches/{unapplied => }/server/0151-Fix-this-stupid-bullshit.patch (86%) rename patches/{unapplied => }/server/0152-LivingEntity-setKiller.patch (100%) rename patches/{unapplied => }/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch (90%) rename patches/{unapplied => }/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch (84%) rename patches/{unapplied => }/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch (87%) rename patches/{unapplied => }/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch (94%) rename patches/{unapplied => }/server/0157-Improve-Log4J-Configuration-Plugin-Loggers.patch (100%) rename patches/{unapplied => }/server/0158-Add-PlayerJumpEvent.patch (94%) rename patches/{unapplied => }/server/0159-handle-ServerboundKeepAlivePacket-async.patch (92%) rename patches/{unapplied => }/server/0160-Expose-client-protocol-version-and-virtual-host.patch (96%) rename patches/{unapplied => }/server/0161-revert-serverside-behavior-of-keepalives.patch (91%) rename patches/{unapplied => }/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch (92%) rename patches/{unapplied => }/server/0163-Add-PlayerArmorChangeEvent.patch (87%) rename patches/{unapplied => }/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch (85%) rename patches/{unapplied => }/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch (88%) rename patches/{unapplied => }/server/0166-use-CB-BlockState-implementations-for-captured-block.patch (91%) rename patches/{unapplied => }/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch (94%) rename patches/{unapplied => }/server/0168-AsyncTabCompleteEvent.patch (96%) rename patches/{unapplied => }/server/0169-PlayerPickupExperienceEvent.patch (87%) rename patches/{unapplied => }/server/0170-Ability-to-apply-mending-to-XP-API.patch (94%) rename patches/{unapplied => }/server/0171-PlayerNaturallySpawnCreaturesEvent.patch (85%) rename patches/{unapplied => }/server/0172-Add-setPlayerProfile-API-for-Skulls.patch (90%) rename patches/{unapplied => }/server/0173-PreCreatureSpawnEvent.patch (88%) rename patches/{unapplied => }/server/0174-Fill-Profile-Property-Events.patch (100%) rename patches/{unapplied => }/server/0175-PlayerAdvancementCriterionGrantEvent.patch (100%) rename patches/{unapplied => }/server/0176-Add-ArmorStand-Item-Meta.patch (99%) rename patches/{unapplied => }/server/0177-Extend-Player-Interact-cancellation.patch (95%) rename patches/{unapplied => }/server/0178-Tameable-getOwnerUniqueId-API.patch (100%) rename patches/{unapplied => }/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch (85%) rename patches/{unapplied => }/server/0180-Disable-Explicit-Network-Manager-Flushing.patch (100%) rename patches/{unapplied => }/server/0181-Implement-extended-PaperServerListPingEvent.patch (95%) rename patches/{unapplied => }/server/0182-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch (90%) rename patches/{unapplied => }/server/0183-Player.setPlayerProfile-API.patch (90%) rename patches/{unapplied => }/server/0184-getPlayerUniqueId-API.patch (90%) rename patches/{unapplied => }/server/0185-Improved-Async-Task-Scheduler.patch (100%) rename patches/{unapplied => }/server/0186-Make-legacy-ping-handler-more-reliable.patch (98%) rename patches/{unapplied => }/server/0187-Call-PaperServerListPingEvent-for-legacy-pings.patch (95%) rename patches/{unapplied => }/server/0188-Flag-to-disable-the-channel-limit.patch (88%) rename patches/{unapplied => }/server/0189-Add-openSign-method-to-HumanEntity.patch (89%) rename patches/{unapplied => }/server/0190-Configurable-sprint-interruption-on-attack.patch (87%) rename patches/{unapplied => }/server/0191-Fix-exploit-that-allowed-colored-signs-to-be-created.patch (90%) rename patches/{unapplied => }/server/0192-EndermanEscapeEvent.patch (91%) rename patches/{unapplied => }/server/0193-Enderman.teleportRandomly.patch (91%) rename patches/{unapplied => }/server/0194-Block-Enderpearl-Travel-Exploit.patch (87%) rename patches/{unapplied => }/server/0195-Expand-World.spawnParticle-API-and-add-Builder.patch (92%) rename patches/{unapplied => }/server/0196-Prevent-Frosted-Ice-from-loading-holding-chunks.patch (100%) rename patches/{unapplied => }/server/0197-EndermanAttackPlayerEvent.patch (89%) rename patches/{unapplied => }/server/0198-WitchConsumePotionEvent.patch (100%) rename patches/{unapplied => }/server/0199-WitchThrowPotionEvent.patch (100%) rename patches/{unapplied => }/server/0200-Allow-spawning-Item-entities-with-World.spawnEntity.patch (89%) rename patches/{unapplied => }/server/0201-WitchReadyPotionEvent.patch (100%) rename patches/{unapplied => }/server/0202-ItemStack-getMaxItemUseDuration.patch (91%) rename patches/{unapplied => }/server/0203-Implement-EntityTeleportEndGatewayEvent.patch (92%) rename patches/{unapplied => }/server/0204-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (89%) rename patches/{unapplied => }/server/0205-Fix-CraftEntity-hashCode.patch (91%) rename patches/{unapplied => }/server/0206-Configurable-Alternative-LootPool-Luck-Formula.patch (100%) rename patches/{unapplied => }/server/0207-Print-Error-details-when-failing-to-save-player-data.patch (100%) rename patches/{unapplied => }/server/0208-Make-shield-blocking-delay-configurable.patch (93%) rename patches/{unapplied => }/server/0209-Improve-EntityShootBowEvent.patch (100%) rename patches/{unapplied => }/server/0210-PlayerReadyArrowEvent.patch (88%) rename patches/{unapplied => }/server/0211-Implement-EntityKnockbackByEntityEvent.patch (82%) rename patches/{unapplied => }/server/0212-Expand-Explosions-API.patch (81%) rename patches/{unapplied => }/server/0213-LivingEntity-Hand-Raised-Item-Use-API.patch (100%) rename patches/{unapplied => }/server/0214-RangedEntity-API.patch (99%) rename patches/{unapplied => }/server/0215-Add-config-to-disable-ender-dragon-legacy-check.patch (87%) rename patches/{unapplied => }/server/0216-Implement-World.getEntity-UUID-API.patch (85%) rename patches/{unapplied => }/server/0217-InventoryCloseEvent-Reason-API.patch (89%) rename patches/{unapplied => }/server/0218-Vex-get-setSummoner-API.patch (100%) rename patches/{unapplied => }/server/0219-Refresh-player-inventory-when-cancelling-PlayerInter.patch (77%) rename patches/{unapplied => }/server/0220-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (94%) rename patches/{unapplied => }/server/0221-add-more-information-to-Entity.toString.patch (91%) rename patches/{unapplied => }/server/0222-Add-CraftMagicNumbers.isSupportedApiVersion.patch (84%) rename patches/{unapplied => }/server/0223-EnderDragon-Events.patch (100%) rename patches/{unapplied => }/server/0224-PlayerElytraBoostEvent.patch (92%) rename patches/{unapplied => }/server/0225-PlayerLaunchProjectileEvent.patch (96%) rename patches/{unapplied => }/server/0226-Improve-BlockPosition-inlining.patch (96%) rename patches/{unapplied => }/server/0227-Option-to-prevent-armor-stands-from-doing-entity-loo.patch (91%) rename patches/{unapplied => }/server/0228-Vanished-players-don-t-have-rights.patch (80%) rename patches/{unapplied => }/server/0229-Allow-disabling-armour-stand-ticking.patch (100%) rename patches/{unapplied => }/server/0230-SkeletonHorse-Additions.patch (92%) rename patches/{unapplied => }/server/0231-Don-t-call-getItemMeta-on-hasItemMeta.patch (93%) rename patches/{unapplied => }/server/0232-Implement-Expanded-ArmorStand-API.patch (100%) diff --git a/patches/api/0090-Add-extended-PaperServerListPingEvent.patch b/patches/api/0090-Add-extended-PaperServerListPingEvent.patch index 7c18476a84..e64aa2ecd2 100644 --- a/patches/api/0090-Add-extended-PaperServerListPingEvent.patch +++ b/patches/api/0090-Add-extended-PaperServerListPingEvent.patch @@ -8,7 +8,7 @@ and allows full control of the response sent to the client. diff --git a/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java new file mode 100644 -index 0000000000000000000000000000000000000000..5bacbd0df66953d3c8fdfde5af1338a74339cfda +index 0000000000000000000000000000000000000000..e886ac04c0c14ae5dfb87212e262b96ec5b3b9dc --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/server/PaperServerListPingEvent.java @@ -0,0 +1,334 @@ @@ -56,9 +56,9 @@ index 0000000000000000000000000000000000000000..5bacbd0df66953d3c8fdfde5af1338a7 + private Object[] players; + + @Deprecated -+ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull String motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers, ++ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull String motd, int numPlayers, int maxPlayers, + @NotNull String version, int protocolVersion, @Nullable CachedServerIcon favicon) { -+ super(client.getAddress().getAddress(), motd, shouldSendChatPreviews, numPlayers, maxPlayers); ++ super("", client.getAddress().getAddress(), motd, numPlayers, maxPlayers); + this.client = client; + this.numPlayers = numPlayers; + this.version = version; @@ -66,9 +66,9 @@ index 0000000000000000000000000000000000000000..5bacbd0df66953d3c8fdfde5af1338a7 + setServerIcon(favicon); + } + -+ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull net.kyori.adventure.text.Component motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers, ++ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull net.kyori.adventure.text.Component motd, int numPlayers, int maxPlayers, + @NotNull String version, int protocolVersion, @Nullable CachedServerIcon favicon) { -+ super(client.getAddress().getAddress(), motd, shouldSendChatPreviews, numPlayers, maxPlayers); ++ super("", client.getAddress().getAddress(), motd, numPlayers, maxPlayers); + this.client = client; + this.numPlayers = numPlayers; + this.version = version; diff --git a/patches/unapplied/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch similarity index 88% rename from patches/unapplied/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch rename to patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch index 0c639a46e3..d7f13032d9 100644 --- a/patches/unapplied/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch +++ b/patches/server/0069-Configurable-Non-Player-Arrow-Despawn-Rate.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable Non Player Arrow Despawn Rate Can set a much shorter despawn rate for arrows that players can not pick up. diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 0e3c8edf0891e815a67020bb094866fd47102d67..62cb9dff53d980399913c913893fca2c1110d184 100644 +index eff6a93af46476f173f13fc35ca6c8cec7de37c9..cfd202d32048abcd3e961d9f7f08c1bc6282e601 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -311,7 +311,7 @@ public abstract class AbstractArrow extends Projectile { +@@ -312,7 +312,7 @@ public abstract class AbstractArrow extends Projectile { protected void tickDespawn() { ++this.life; diff --git a/patches/unapplied/server/0070-Add-World-Util-Methods.patch b/patches/server/0070-Add-World-Util-Methods.patch similarity index 88% rename from patches/unapplied/server/0070-Add-World-Util-Methods.patch rename to patches/server/0070-Add-World-Util-Methods.patch index 8ac7076ce6..7e3ff383eb 100644 --- a/patches/unapplied/server/0070-Add-World-Util-Methods.patch +++ b/patches/server/0070-Add-World-Util-Methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add World Util Methods Methods that can be used for other patches to help improve logic. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 29e432e9bea9da307c96d42d9b45d1c3a3161fa1..d0e069e2dd950f2fe0d51594ceddcbbe44458acd 100644 +index 2ad216a533dedb180ea10d9072ce25ebe0283b1a..ad11ff50427177042b8f7331dddfc27f10657522 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -216,7 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -219,7 +219,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; @@ -19,10 +19,10 @@ index 29e432e9bea9da307c96d42d9b45d1c3a3161fa1..d0e069e2dd950f2fe0d51594ceddcbbe } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 65fd3a3c1f0a55d034e6f91c4f222e6454e7166c..62c54a0c789ca460ec29b0c653f5abd113736fb9 100644 +index 86fc83f6ea7bbf445edf097b6ab501a09ec18e2b..aeb37e84f5760a7435530123b53276920fb19749 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -333,6 +333,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -336,6 +336,22 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return chunk == null ? null : chunk.getFluidState(blockposition); } diff --git a/patches/unapplied/server/0071-Custom-replacement-for-eaten-items.patch b/patches/server/0071-Custom-replacement-for-eaten-items.patch similarity index 89% rename from patches/unapplied/server/0071-Custom-replacement-for-eaten-items.patch rename to patches/server/0071-Custom-replacement-for-eaten-items.patch index 992a82e46a..f5a77873fd 100644 --- a/patches/unapplied/server/0071-Custom-replacement-for-eaten-items.patch +++ b/patches/server/0071-Custom-replacement-for-eaten-items.patch @@ -5,10 +5,10 @@ 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 17426b43a16887653a63c34128aa97785a23796c..c276190251c152f343de74d9c9b4028e10532ae1 100644 +index eec1467eaaadaa66febc06e51372c5f602216fb5..29495ff2d2c31f6b6ef6e2817662d143e538f926 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3614,10 +3614,11 @@ public abstract class LivingEntity extends Entity { +@@ -3639,10 +3639,11 @@ public abstract class LivingEntity extends Entity { this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; @@ -21,7 +21,7 @@ index 17426b43a16887653a63c34128aa97785a23796c..c276190251c152f343de74d9c9b4028e level.getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -3631,6 +3632,13 @@ public abstract class LivingEntity extends Entity { +@@ -3656,6 +3657,13 @@ public abstract class LivingEntity extends Entity { } else { itemstack = this.useItem.finishUsingItem(this.level, this); } @@ -35,7 +35,7 @@ index 17426b43a16887653a63c34128aa97785a23796c..c276190251c152f343de74d9c9b4028e // CraftBukkit end if (itemstack != this.useItem) { -@@ -3638,6 +3646,11 @@ public abstract class LivingEntity extends Entity { +@@ -3663,6 +3671,11 @@ public abstract class LivingEntity extends Entity { } this.stopUsingItem(); diff --git a/patches/unapplied/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch similarity index 83% rename from patches/unapplied/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch rename to patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch index 7a57f61816..2750cf6929 100644 --- a/patches/unapplied/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0072-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -5,10 +5,10 @@ Subject: [PATCH] handle NaN health/absorb values and repair bad data diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c276190251c152f343de74d9c9b4028e10532ae1..766711e4d32ceebf9d94e39f9bcd14ff0371ad06 100644 +index 29495ff2d2c31f6b6ef6e2817662d143e538f926..b2871726eb4dd7f16d161097cbf0f287839e10ba 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -784,7 +784,13 @@ public abstract class LivingEntity extends Entity { +@@ -783,7 +783,13 @@ public abstract class LivingEntity extends Entity { @Override public void readAdditionalSaveData(CompoundTag nbt) { @@ -23,7 +23,7 @@ index c276190251c152f343de74d9c9b4028e10532ae1..766711e4d32ceebf9d94e39f9bcd14ff if (nbt.contains("Attributes", 9) && this.level != null && !this.level.isClientSide) { this.getAttributes().load(nbt.getList("Attributes", 10)); } -@@ -1271,6 +1277,10 @@ public abstract class LivingEntity extends Entity { +@@ -1270,6 +1276,10 @@ public abstract class LivingEntity extends Entity { } public void setHealth(float health) { @@ -34,7 +34,7 @@ index c276190251c152f343de74d9c9b4028e10532ae1..766711e4d32ceebf9d94e39f9bcd14ff // CraftBukkit start - Handle scaled health if (this instanceof ServerPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity(); -@@ -3447,7 +3457,7 @@ public abstract class LivingEntity extends Entity { +@@ -3472,7 +3482,7 @@ public abstract class LivingEntity extends Entity { } public void setAbsorptionAmount(float amount) { @@ -44,10 +44,10 @@ index c276190251c152f343de74d9c9b4028e10532ae1..766711e4d32ceebf9d94e39f9bcd14ff } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 15257f9236d0c32c1c74a15ce4e7decf4d9f2f91..1e1deab4d8be5523a55daf072d7e12b08d36b560 100644 +index 921c00c2a5e7d3487c35ee27714ae6bb6666f86f..dcf6d675d9bb7befe022e722aba365d30c2ce705 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2011,6 +2011,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2013,6 +2013,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } public void setRealHealth(double health) { diff --git a/patches/unapplied/server/0073-Use-a-Shared-Random-for-Entities.patch b/patches/server/0073-Use-a-Shared-Random-for-Entities.patch similarity index 97% rename from patches/unapplied/server/0073-Use-a-Shared-Random-for-Entities.patch rename to patches/server/0073-Use-a-Shared-Random-for-Entities.patch index 76f363ea62..a9fce10a96 100644 --- a/patches/unapplied/server/0073-Use-a-Shared-Random-for-Entities.patch +++ b/patches/server/0073-Use-a-Shared-Random-for-Entities.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Use a Shared Random for Entities Reduces memory usage and provides ensures more randomness, Especially since a lot of garbage entity objects get created. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 70275d1db39c9809a5fc93cebb49beb32d616476..dd5e9dc310f30c008f0c8c60ac4305160261bad9 100644 +index 98067f625b49d93fdd91af5114790848a2228ac0..c070fd1b224aeeaa9ebb054105a0f73285956da1 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -159,6 +159,79 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/unapplied/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch similarity index 90% rename from patches/unapplied/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch rename to patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch index 24b3b297c3..5bc05882ee 100644 --- a/patches/unapplied/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/patches/server/0074-Configurable-spawn-chances-for-skeleton-horses.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable spawn chances for skeleton horses diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d0e069e2dd950f2fe0d51594ceddcbbe44458acd..5f3c21172dbb9a4a0cb8aa0bffcb17bc357ef04e 100644 +index ad11ff50427177042b8f7331dddfc27f10657522..a99744982184649d927f72675f9cfd29e6909741 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -696,7 +696,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -697,7 +697,7 @@ public class ServerLevel extends Level implements WorldGenLevel { blockposition = this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15)); if (this.isRainingAt(blockposition)) { DifficultyInstance difficultydamagescaler = this.getCurrentDifficultyAt(blockposition); diff --git a/patches/unapplied/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 93% rename from patches/unapplied/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index ad6a7953ec..36f12d3949 100644 --- a/patches/unapplied/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/0075-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch @@ -12,7 +12,7 @@ Replace all calls to the new place to the unnecessary forward. Optimize getType and getBlockData to manually inline and optimize the calls diff --git a/src/main/java/net/minecraft/core/Vec3i.java b/src/main/java/net/minecraft/core/Vec3i.java -index 4587a3668b6be9222cdd74a38229f89f611d1af6..9f32861d791f7e4cb39d2ad01f48e1916fc2b4b1 100644 +index 3b254a89484ac8a9dba399c7eb081328ff69a7b2..a6a6aaf226655d0e44bc229288112882a9c04e3b 100644 --- a/src/main/java/net/minecraft/core/Vec3i.java +++ b/src/main/java/net/minecraft/core/Vec3i.java @@ -33,6 +33,12 @@ public class Vec3i implements Comparable { @@ -29,10 +29,10 @@ index 4587a3668b6be9222cdd74a38229f89f611d1af6..9f32861d791f7e4cb39d2ad01f48e191 this.x = x; this.y = y; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 62c54a0c789ca460ec29b0c653f5abd113736fb9..d612b59e04fcd01a8e2c4c7f43d8735fc208b520 100644 +index aeb37e84f5760a7435530123b53276920fb19749..3e4ebdb53b543c85c1179b591ce5569336fbb995 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -276,7 +276,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -279,7 +279,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } public boolean isInWorldBounds(BlockPos pos) { @@ -42,11 +42,11 @@ index 62c54a0c789ca460ec29b0c653f5abd113736fb9..d612b59e04fcd01a8e2c4c7f43d8735f public static boolean isInSpawnableBounds(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index 0e787d877901dfcea714b0e14e9fc4358ee30bbe..41e61e6c128f22224665af3f07cd11d69a43062b 100644 +index 1b7496cec0ba5a95615a069e3168bd46308d0b40..508c2fff8d8e0c6f37b6c4e3b72ba772c2ab2ee5 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -160,6 +160,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom - return GameEventDispatcher.NOOP; + return GameEventListenerRegistry.NOOP; } + public abstract BlockState getBlockState(final int x, final int y, final int z); // Paper @@ -71,7 +71,7 @@ index 2eb92dde607d7c8968cb07c6f3c24e1c45e9990f..908f71721daf4305692f424d7712cbfd public BlockState getBlockState(BlockPos pos) { return Blocks.VOID_AIR.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java -index ac5dff35e2df23b8790bbe65c40acc6a3c77e6ac..8ffc206a858864d277ff94de7c66ffdb07d8f491 100644 +index 8033c8741a0f73919a357893652592b317bfb417..9a1cffd51aaf97f759a9057aefbf50bd6f5ed028 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java @@ -89,6 +89,12 @@ public class ImposterProtoChunk extends ProtoChunk { @@ -88,7 +88,7 @@ index ac5dff35e2df23b8790bbe65c40acc6a3c77e6ac..8ffc206a858864d277ff94de7c66ffdb @Override public FluidState getFluidState(BlockPos pos) { diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index ea2176501dfa773a1114f5db4e6dbe4c2d2c7abe..0a08287d3b0471b01ee38eb62f92f542da35c07d 100644 +index b78e89eed44a06bb8c7a8a62e561574d4dc4b2de..ac67a34bee88e502b88a7cb7413f4ab33c7458b4 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -342,12 +342,29 @@ public class LevelChunk extends ChunkAccess { diff --git a/patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch similarity index 87% rename from patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch rename to patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index 909bfbff37..691b792b9e 100644 --- a/patches/unapplied/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/server/0076-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Only process BlockPhysicsEvent if a plugin has a listener Saves on some object allocation and processing when no plugin listens to this diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 093ac159fcc34de9901395ad9450372efdf7cb5b..c5e3f7f0623731c02e4625971fc82acbc834f51a 100644 +index 8989d13eb6ee94a1dbbe986cfcf0755faaa4e85c..f725fbb64b7d801e4e4c7a6d5e1be6dd96cab047 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1350,6 +1350,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5f3c21172dbb9a4a0cb8aa0bffcb17bc357ef04e..1cfd73068455b1108a74156e9715061d2dca231f 100644 +index a99744982184649d927f72675f9cfd29e6909741..6f05f44f1123e1e152ec62d9c9f083c3d0046292 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -215,6 +215,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -218,6 +218,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit start public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; @@ -30,10 +30,10 @@ index 5f3c21172dbb9a4a0cb8aa0bffcb17bc357ef04e..1cfd73068455b1108a74156e9715061d @Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI return this.chunkSource.getChunk(x, z, false); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index d612b59e04fcd01a8e2c4c7f43d8735fc208b520..39b2071a6fc6510929416ccbdf2022cf471ab26c 100644 +index 3e4ebdb53b543c85c1179b591ce5569336fbb995..89274e7df5ab8e8681d96b20c752fa34eebc44f3 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -493,7 +493,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -496,7 +496,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit start iblockdata1.updateIndirectNeighbourShapes(this, blockposition, k, j - 1); // Don't call an event for the old block to limit event spam CraftWorld world = ((ServerLevel) this).getWorld(); @@ -56,10 +56,10 @@ index d40e791529911ca81398ac267a819415da91502a..03fde6e47c4a347c62fe9b4a3351769a } } diff --git a/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java b/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java -index a90f6cc0d8c0f6d115e59d07b1b4c9b45fe0ad1e..fa97966d39f01301a8ba976c02dc697e0a74bfb1 100644 +index 12bf4125bc697092a038600955318f8436bdb5d7..e234ae13fe9793db237adb6f6216fa32638cfc4f 100644 --- a/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DoublePlantBlock.java -@@ -93,7 +93,7 @@ public class DoublePlantBlock extends BushBlock { +@@ -95,7 +95,7 @@ public class DoublePlantBlock extends BushBlock { protected static void preventCreativeDropFromBottomPart(Level world, BlockPos pos, BlockState state, Player player) { // CraftBukkit start diff --git a/patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch similarity index 83% rename from patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch rename to patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch index 59ceda0f86..fc85c367d5 100644 --- a/patches/unapplied/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/patches/server/0077-Entity-AddTo-RemoveFrom-World-Events.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entity AddTo/RemoveFrom World Events diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 1cfd73068455b1108a74156e9715061d2dca231f..b255f8bd65006240153cb607f65e277f8a560b75 100644 +index 6f05f44f1123e1e152ec62d9c9f083c3d0046292..3e2b5d68ebbb2b35ffb7809238468808c106d0d8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2245,6 +2245,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2226,6 +2226,7 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.setOrigin(entity.getOriginVector().toLocation(getWorld())); } // Paper end @@ -16,7 +16,7 @@ index 1cfd73068455b1108a74156e9715061d2dca231f..b255f8bd65006240153cb607f65e277f } public void onTrackingEnd(Entity entity) { -@@ -2320,6 +2321,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2301,6 +2302,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // CraftBukkit end diff --git a/patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0078-Configurable-Chunk-Inhabited-Time.patch similarity index 87% rename from patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch rename to patches/server/0078-Configurable-Chunk-Inhabited-Time.patch index 34b3c0a6c3..523e9bac95 100644 --- a/patches/unapplied/server/0078-Configurable-Chunk-Inhabited-Time.patch +++ b/patches/server/0078-Configurable-Chunk-Inhabited-Time.patch @@ -11,7 +11,7 @@ For people who want all chunks to be treated equally, you can chose a fixed valu This allows to fine-tune vanilla gameplay. diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 0a08287d3b0471b01ee38eb62f92f542da35c07d..3a613d3fb6240a504724ba42b9aadaa0881b3ac1 100644 +index ac67a34bee88e502b88a7cb7413f4ab33c7458b4..ef0be4f5ce7f07e38dea9eb356e049bd121c82dd 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -327,6 +327,13 @@ public class LevelChunk extends ChunkAccess { @@ -26,5 +26,5 @@ index 0a08287d3b0471b01ee38eb62f92f542da35c07d..3a613d3fb6240a504724ba42b9aadaa0 + // Paper end + @Override - public GameEventDispatcher getEventDispatcher(int ySectionCoord) { + public GameEventListenerRegistry getListenerRegistry(int ySectionCoord) { Level world = this.level; diff --git a/patches/unapplied/server/0079-EntityPathfindEvent.patch b/patches/server/0079-EntityPathfindEvent.patch similarity index 92% rename from patches/unapplied/server/0079-EntityPathfindEvent.patch rename to patches/server/0079-EntityPathfindEvent.patch index 4e0de3f713..13e17ab2db 100644 --- a/patches/unapplied/server/0079-EntityPathfindEvent.patch +++ b/patches/server/0079-EntityPathfindEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] EntityPathfindEvent Fires when an Entity decides to start moving to a location. diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java -index 0b2e10a0f508448d9e7d003e6c822f0a56d4022f..27cd393e81f6ef9b5690c051624d8d2af50acd34 100644 +index a8f69e48937b3ebd2f57a4da747e6762c4a77934..acd0b946cab86eb173e713535194d3a9347c7d48 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/FlyingPathNavigation.java -@@ -35,7 +35,7 @@ public class FlyingPathNavigation extends PathNavigation { +@@ -40,7 +40,7 @@ public class FlyingPathNavigation extends PathNavigation { @Override public Path createPath(Entity entity, int distance) { @@ -19,7 +19,7 @@ index 0b2e10a0f508448d9e7d003e6c822f0a56d4022f..27cd393e81f6ef9b5690c051624d8d2a @Override diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java -index 27b072943328aca4489a9565bda700e7e7dcbb6a..f0248d839255763005ba333b0bfcf691407fb69b 100644 +index 6b24f94f1762570547c0fc484b3939de73fbd309..80b3fd4150d749af7d584f95ee3d0b8ed664ead9 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/GroundPathNavigation.java @@ -39,14 +39,14 @@ public class GroundPathNavigation extends PathNavigation { @@ -63,10 +63,10 @@ index 27b072943328aca4489a9565bda700e7e7dcbb6a..f0248d839255763005ba333b0bfcf691 private int getSurfaceY() { diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -index eaf1653b14e5fdacae38abe75260a64d0ffbfc1d..b6b6106ad2105c19273dc9f983fabd6573d35e5a 100644 +index ec1bd2fff121aa00b50b0d65c0e53e4146c3deb9..bd782c8935db6e0aa3489725d3c4ee401f9bf242 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -@@ -108,7 +108,13 @@ public abstract class PathNavigation { +@@ -109,7 +109,13 @@ public abstract class PathNavigation { @Nullable public Path createPath(BlockPos target, int distance) { @@ -81,7 +81,7 @@ index eaf1653b14e5fdacae38abe75260a64d0ffbfc1d..b6b6106ad2105c19273dc9f983fabd65 } @Nullable -@@ -118,7 +124,7 @@ public abstract class PathNavigation { +@@ -119,7 +125,7 @@ public abstract class PathNavigation { @Nullable public Path createPath(Entity entity, int distance) { @@ -90,7 +90,7 @@ index eaf1653b14e5fdacae38abe75260a64d0ffbfc1d..b6b6106ad2105c19273dc9f983fabd65 } @Nullable -@@ -128,6 +134,16 @@ public abstract class PathNavigation { +@@ -129,6 +135,16 @@ public abstract class PathNavigation { @Nullable protected Path createPath(Set positions, int range, boolean useHeadPos, int distance, float followRange) { @@ -107,7 +107,7 @@ index eaf1653b14e5fdacae38abe75260a64d0ffbfc1d..b6b6106ad2105c19273dc9f983fabd65 if (positions.isEmpty()) { return null; } else if (this.mob.getY() < (double)this.level.getMinBuildHeight()) { -@@ -137,6 +153,23 @@ public abstract class PathNavigation { +@@ -138,6 +154,23 @@ public abstract class PathNavigation { } else if (this.path != null && !this.path.isDone() && positions.contains(this.targetPos)) { return this.path; } else { diff --git a/patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch similarity index 93% rename from patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch rename to patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch index cecec7b06e..07739b0f45 100644 --- a/patches/unapplied/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch +++ b/patches/server/0080-Sanitise-RegionFileCache-and-make-configurable.patch @@ -11,7 +11,7 @@ The implementation uses a LinkedHashMap as an LRU cache (modified from HashMap). The maximum size of the RegionFileCache is also made configurable. diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java -index ece0fd4b51d124be232e24d08f115b9267cb21cb..9a4f9251d655b86af5a410cfab8df285098e01cc 100644 +index 64e957650dafc9fc30fa997e7f7d3fd47cf60089..1a1ade7538263f4c1a91eb122086a150af3d86ba 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/RegionFileStorage.java @@ -57,7 +57,7 @@ public class RegionFileStorage implements AutoCloseable { diff --git a/patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch b/patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch similarity index 87% rename from patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch rename to patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch index f2b3dffd68..05e5bc47e7 100644 --- a/patches/unapplied/server/0081-Do-not-load-chunks-for-Pathfinding.patch +++ b/patches/server/0081-Do-not-load-chunks-for-Pathfinding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Do not load chunks for Pathfinding diff --git a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -index 235b01e23a8997d0d65de3655b3b3ff50a204c06..c48e097464977dbec22d1370c3393ba1fe105137 100644 +index 243740ee9debe3ca0a988b0a448af09a5845b96d..04406fdb2961a85d8e6bffbb8e233e8c4dcf4390 100644 --- a/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java +++ b/src/main/java/net/minecraft/world/level/pathfinder/WalkNodeEvaluator.java -@@ -477,7 +477,12 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -465,7 +465,12 @@ public class WalkNodeEvaluator extends NodeEvaluator { for(int n = -1; n <= 1; ++n) { if (l != 0 || n != 0) { pos.set(i + l, j + m, k + n); @@ -22,7 +22,7 @@ index 235b01e23a8997d0d65de3655b3b3ff50a204c06..c48e097464977dbec22d1370c3393ba1 if (blockState.is(Blocks.CACTUS)) { return BlockPathTypes.DANGER_CACTUS; } -@@ -493,6 +498,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -481,6 +486,7 @@ public class WalkNodeEvaluator extends NodeEvaluator { if (world.getFluidState(pos).is(FluidTags.WATER)) { return BlockPathTypes.WATER_BORDER; } @@ -30,7 +30,7 @@ index 235b01e23a8997d0d65de3655b3b3ff50a204c06..c48e097464977dbec22d1370c3393ba1 } } } -@@ -502,7 +508,8 @@ public class WalkNodeEvaluator extends NodeEvaluator { +@@ -490,7 +496,8 @@ public class WalkNodeEvaluator extends NodeEvaluator { } protected static BlockPathTypes getBlockPathTypeRaw(BlockGetter world, BlockPos pos) { diff --git a/patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch similarity index 92% rename from patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch rename to patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch index e2deda5e78..ca2265c4ab 100644 --- a/patches/unapplied/server/0082-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0082-Add-PlayerUseUnknownEntityEvent.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add PlayerUseUnknownEntityEvent public net.minecraft.network.protocol.game.ServerboundInteractPacket$ActionType diff --git a/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java b/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java -index 8834ed411a7db86b4d2b88183a1315317107d719..c45b5ab6776f3ac79f856c3a6467c510e20db25a 100644 +index a5d57cc862036012d83b090bb1b3ccf4115a88b3..21068f766b75c414d5818073b7dca083d8ff4409 100644 --- a/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java +++ b/src/main/java/net/minecraft/network/protocol/game/ServerboundInteractPacket.java @@ -10,8 +10,8 @@ import net.minecraft.world.entity.Entity; @@ -22,10 +22,10 @@ index 8834ed411a7db86b4d2b88183a1315317107d719..c45b5ab6776f3ac79f856c3a6467c510 static final ServerboundInteractPacket.Action ATTACK_ACTION = new ServerboundInteractPacket.Action() { @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5443c0008ae3bb0264dbfc1b2bb3921de306c1dd..65bd9005b722db154842978d359e0a2277bbb8b2 100644 +index 8f21a18d2ba6e9fc1c8d3076ca668c885a9ba19e..26652b91b03e1c94c05f61c99afc59ac0bb0243a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2644,8 +2644,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2519,8 +2519,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic }); } } diff --git a/patches/unapplied/server/0083-Configurable-Grass-Spread-Tick-Rate.patch b/patches/server/0083-Configurable-Grass-Spread-Tick-Rate.patch similarity index 100% rename from patches/unapplied/server/0083-Configurable-Grass-Spread-Tick-Rate.patch rename to patches/server/0083-Configurable-Grass-Spread-Tick-Rate.patch diff --git a/patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch similarity index 82% rename from patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch rename to patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index 830d4a395d..973af7ae80 100644 --- a/patches/unapplied/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/patches/server/0084-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Cancelling BlockPlaceEvent triggering physics diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b255f8bd65006240153cb607f65e277f8a560b75..67c4b724b6b799c02ee4c5034d3472e44cb591fa 100644 +index 3e2b5d68ebbb2b35ffb7809238468808c106d0d8..60a54cec367c405b1f3e69712fdbede462d6c8e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1476,6 +1476,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1459,6 +1459,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @Override public void updateNeighborsAt(BlockPos pos, Block sourceBlock) { diff --git a/patches/unapplied/server/0085-Optimize-DataBits.patch b/patches/server/0085-Optimize-DataBits.patch similarity index 100% rename from patches/unapplied/server/0085-Optimize-DataBits.patch rename to patches/server/0085-Optimize-DataBits.patch diff --git a/patches/unapplied/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch similarity index 100% rename from patches/unapplied/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch rename to patches/server/0086-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch diff --git a/patches/unapplied/server/0087-Configurable-Player-Collision.patch b/patches/server/0087-Configurable-Player-Collision.patch similarity index 89% rename from patches/unapplied/server/0087-Configurable-Player-Collision.patch rename to patches/server/0087-Configurable-Player-Collision.patch index 6ebfa88df0..e31f2027d5 100644 --- a/patches/unapplied/server/0087-Configurable-Player-Collision.patch +++ b/patches/server/0087-Configurable-Player-Collision.patch @@ -18,10 +18,10 @@ index 1294b38262505b0d54089e428df9b363219de1f0..ee37ec0de1ca969144824427ae42b0c8 buf.writeComponent(this.playerPrefix); buf.writeComponent(this.playerSuffix); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c5e3f7f0623731c02e4625971fc82acbc834f51a..17ad0051afaaa0e201782228628c691b75b6cebc 100644 +index f725fbb64b7d801e4e4c7a6d5e1be6dd96cab047..aa70fb1160e8d88739ea372832a69569199ab8ab 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -580,6 +580,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop playersByName = new java.util.HashMap<>(); + public @Nullable String collideRuleTeamName; // Paper - Team name used for collideRule - public PlayerList(MinecraftServer server, RegistryAccess.Frozen registryManager, PlayerDataStorage saveHandler, int maxPlayers) { + public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); -@@ -391,6 +393,13 @@ public abstract class PlayerList { +@@ -399,6 +401,13 @@ public abstract class PlayerList { player.initInventoryMenu(); // CraftBukkit - Moved from above, added world @@ -76,7 +76,7 @@ index 1357b444cf2efbd7f6a1918709b9743d230f1fd5..afbb45f2ee55f193e30c19bc20edc424 PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -510,6 +519,16 @@ public abstract class PlayerList { +@@ -518,6 +527,16 @@ public abstract class PlayerList { entityplayer.doTick(); // SPIGOT-924 // CraftBukkit end @@ -93,7 +93,7 @@ index 1357b444cf2efbd7f6a1918709b9743d230f1fd5..afbb45f2ee55f193e30c19bc20edc424 this.save(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1138,6 +1157,13 @@ public abstract class PlayerList { +@@ -1148,6 +1167,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/unapplied/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/server/0088-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/server/0089-Configurable-RCON-IP-address.patch b/patches/server/0089-Configurable-RCON-IP-address.patch similarity index 78% rename from patches/unapplied/server/0089-Configurable-RCON-IP-address.patch rename to patches/server/0089-Configurable-RCON-IP-address.patch index df8934d585..1835f96f94 100644 --- a/patches/unapplied/server/0089-Configurable-RCON-IP-address.patch +++ b/patches/server/0089-Configurable-RCON-IP-address.patch @@ -9,22 +9,22 @@ For servers with multiple IP's, ability to bind to a specific interface. public net.minecraft.server.dedicated.Settings getStringRaw(Ljava/lang/String;)Ljava/lang/String; diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index efa2dd7947f68aaec479d835f2b1e60d16254ae1..1e01277448a3cf2b2045b54b182166a66c822e20 100644 +index 666dc4b22569e1ae26ff988c7d4ac1113acd32f3..e72fb5c548a9baef09ae547863c4bdc439ce28b2 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -@@ -100,6 +100,8 @@ public class DedicatedServerProperties extends Settings implements CommandSource, AutoCloseable { @@ -17,15 +17,15 @@ index 17ad0051afaaa0e201782228628c691b75b6cebc..e24bd9c2be84dd11bf109e65ea4e1e57 public static final Logger LOGGER = LogUtils.getLogger(); public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; -@@ -307,6 +308,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop registryreadops, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { + public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { super("Server"); + SERVER = this; // Paper - better singleton this.metricsRecorder = InactiveMetricsRecorder.INSTANCE; this.profiler = this.metricsRecorder.getProfiler(); this.onMetricsRecordingStopped = (methodprofilerresults) -> { -@@ -2291,9 +2293,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> trackedDataValues; // CraftBukkit start - private final Set trackedPlayers; + final Set trackedPlayers; // Paper - private -> package @@ -18,10 +18,10 @@ index 8b3ca38f029b8918f02c51995e4359cbbf741c76..d6f34adbdf45bbef4a39e629dd7cb6d7 public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -index 7a2ec239cd59b95dfd87ab1164d17bad23c4e558..65f0aa076dbfc4cd72d14ec485d1edf5533d825e 100644 +index aa0dfd08aefbb9363ec96080432f0f75d71b0b95..4b81d62d3250b99cbcb4eb2468ef81c149bf177e 100644 --- a/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java +++ b/src/main/java/net/minecraft/world/entity/item/PrimedTnt.java -@@ -97,6 +97,27 @@ public class PrimedTnt extends Entity { +@@ -94,6 +94,27 @@ public class PrimedTnt extends Entity { } } @@ -49,9 +49,9 @@ index 7a2ec239cd59b95dfd87ab1164d17bad23c4e558..65f0aa076dbfc4cd72d14ec485d1edf5 } private void explode() { -@@ -152,4 +173,11 @@ public class PrimedTnt extends Entity { - public Packet getAddEntityPacket() { - return new ClientboundAddEntityPacket(this); +@@ -144,4 +165,11 @@ public class PrimedTnt extends Entity { + public int getFuse() { + return (Integer) this.entityData.get(PrimedTnt.DATA_FUSE_ID); } + + // Paper start - Optional prevent TNT from moving in water diff --git a/patches/unapplied/server/0099-Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/0099-Faster-redstone-torch-rapid-clock-removal.patch similarity index 96% rename from patches/unapplied/server/0099-Faster-redstone-torch-rapid-clock-removal.patch rename to patches/server/0099-Faster-redstone-torch-rapid-clock-removal.patch index afe95620ee..feaa102843 100644 --- a/patches/unapplied/server/0099-Faster-redstone-torch-rapid-clock-removal.patch +++ b/patches/server/0099-Faster-redstone-torch-rapid-clock-removal.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Faster redstone torch rapid clock removal Only resize the the redstone torch list once, since resizing arrays / lists is costly diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 39b2071a6fc6510929416ccbdf2022cf471ab26c..807df663f710311276d69288875bb80e7fa37893 100644 +index 89274e7df5ab8e8681d96b20c752fa34eebc44f3..3c8d4d439d40a8dc340286e0a9852b8911ce607f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -167,6 +167,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -170,6 +170,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { private org.spigotmc.TickLimiter tileLimiter; private int tileTickPosition; public final Map explosionDensityCache = new HashMap<>(); // Paper - Optimize explosions diff --git a/patches/unapplied/server/0100-Add-server-name-parameter.patch b/patches/server/0100-Add-server-name-parameter.patch similarity index 90% rename from patches/unapplied/server/0100-Add-server-name-parameter.patch rename to patches/server/0100-Add-server-name-parameter.patch index abd91cd6fa..76a0bf8a22 100644 --- a/patches/unapplied/server/0100-Add-server-name-parameter.patch +++ b/patches/server/0100-Add-server-name-parameter.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add server-name parameter diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index dbdb2a30c5dbe4f02bc1d1a8ce7294d25e1749d4..e15375f6985f841ca42dd41eb0035aab0b64a9fb 100644 +index 76487bb730f7915f4eac4b3f2394e02436e527cd..a8971e81ff8bb9041f0ec22f0c178148c64f503f 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -156,6 +156,14 @@ public class Main { diff --git a/patches/unapplied/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch b/patches/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch similarity index 93% rename from patches/unapplied/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch rename to patches/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch index bc7d89b3b1..c1bdee3bd7 100644 --- a/patches/unapplied/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch +++ b/patches/server/0101-Only-send-global-sounds-to-same-world-if-limiting-ra.patch @@ -7,7 +7,7 @@ Co-authored-by: Evan McCarthy Co-authored-by: lexikiq diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index dd1d606543da93e6068b8fa4239d369a4b648523..127aab56eef67d7f02f5c3de80d8f445ba70e7db 100644 +index fb26b6919acfb036affbe5519f5e4bd77955534f..89366ca29386fcbd03c3fc94d58451e714a1d779 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -654,7 +654,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -20,10 +20,10 @@ index dd1d606543da93e6068b8fa4239d369a4b648523..127aab56eef67d7f02f5c3de80d8f445 double deltaZ = this.getZ() - player.getZ(); double distanceSquared = deltaX * deltaX + deltaZ * deltaZ; diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 78bffaddbc9e478fb53639396e9c4970e9961b21..0d36a903b7aa8d26232e6edcb0fdbba1defde660 100644 +index ae3931d65f6d8b91a654f3a7a4448d168eb526fc..807c8e18fdf5b0704638d7d084d6892556cc1525 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -@@ -272,7 +272,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob +@@ -270,7 +270,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob // CraftBukkit start - Use relative location for far away sounds // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); int viewDistance = ((ServerLevel) this.level).getCraftServer().getViewDistance() * 16; diff --git a/patches/unapplied/server/0102-Fix-Old-Sign-Conversion.patch b/patches/server/0102-Fix-Old-Sign-Conversion.patch similarity index 86% rename from patches/unapplied/server/0102-Fix-Old-Sign-Conversion.patch rename to patches/server/0102-Fix-Old-Sign-Conversion.patch index d223b39ccf..aa29dcdccb 100644 --- a/patches/unapplied/server/0102-Fix-Old-Sign-Conversion.patch +++ b/patches/server/0102-Fix-Old-Sign-Conversion.patch @@ -9,7 +9,7 @@ Subject: [PATCH] Fix Old Sign Conversion This causes Igloos and such to render broken signs. We fix this by ignoring sign conversion for Defined Structures diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index c518704386f14cd033307dd976455c35760d7236..148e79ae4e24fe16dbbb17550c3f258d4362c266 100644 +index 63acd109a79ed752a05df3d4f1b99309297c2055..b701a1344db066b9368841f2377ee493514bf282 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -32,6 +32,7 @@ public abstract class BlockEntity { @@ -21,10 +21,10 @@ index c518704386f14cd033307dd976455c35760d7236..148e79ae4e24fe16dbbb17550c3f258d private final BlockEntityType type; @Nullable diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index 715873e52708762b25c29caf6d41d7cb8f79ce57..39bd98b9496e4a27fd69a2de7c83c40689017ebc 100644 +index 15695c9da294caf8531c59f72279aaeda6ceb23b..149728fa6371b4d8b0afaae769aacac27401ea03 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -@@ -93,7 +93,7 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C +@@ -112,7 +112,7 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C s = "\"\""; } @@ -34,10 +34,10 @@ index 715873e52708762b25c29caf6d41d7cb8f79ce57..39bd98b9496e4a27fd69a2de7c83c406 continue; } diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -index 3112173b3449f2c4c9b0851ceaf02abb01853362..9c45e49f480ccd72f6d6c94e5dec41c4becc76cf 100644 +index 4f3a247a844844aa55d73089595d5f0b7ed49965..76666318690368bab672c2302c90dd3abb050299 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java +++ b/src/main/java/net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate.java -@@ -285,7 +285,9 @@ public class StructureTemplate { +@@ -286,7 +286,9 @@ public class StructureTemplate { definedstructure_blockinfo.nbt.putLong("LootTableSeed", random.nextLong()); } diff --git a/patches/unapplied/server/0103-Avoid-blocking-on-Network-Manager-creation.patch b/patches/server/0103-Avoid-blocking-on-Network-Manager-creation.patch similarity index 100% rename from patches/unapplied/server/0103-Avoid-blocking-on-Network-Manager-creation.patch rename to patches/server/0103-Avoid-blocking-on-Network-Manager-creation.patch diff --git a/patches/unapplied/server/0104-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/patches/server/0104-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 100% rename from patches/unapplied/server/0104-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to patches/server/0104-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch diff --git a/patches/unapplied/server/0105-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch similarity index 95% rename from patches/unapplied/server/0105-Add-setting-for-proxy-online-mode-status.patch rename to patches/server/0105-Add-setting-for-proxy-online-mode-status.patch index 774e8cb2a1..29553113ca 100644 --- a/patches/unapplied/server/0105-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0105-Add-setting-for-proxy-online-mode-status.patch @@ -43,10 +43,10 @@ index da98f074ccd5a40c635824112c97fd174c393cb1..6599f874d9f97e9ef4862039ecad7277 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 943971ce16c0c39085f029ab5b57685dda1c6b0f..0d6dcb670c583f47a299cd96574426932d3b98c8 100644 +index 0b8f2a747b0e869dfd62ef463261941988d8dd16..d1392d0afe23004794803affd11f5d1fc82bf7ca 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1706,7 +1706,7 @@ public final class CraftServer implements Server { +@@ -1730,7 +1730,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/unapplied/server/0106-Optimise-BlockState-s-hashCode-equals.patch b/patches/server/0106-Optimise-BlockState-s-hashCode-equals.patch similarity index 100% rename from patches/unapplied/server/0106-Optimise-BlockState-s-hashCode-equals.patch rename to patches/server/0106-Optimise-BlockState-s-hashCode-equals.patch diff --git a/patches/unapplied/server/0107-Configurable-packet-in-spam-threshold.patch b/patches/server/0107-Configurable-packet-in-spam-threshold.patch similarity index 90% rename from patches/unapplied/server/0107-Configurable-packet-in-spam-threshold.patch rename to patches/server/0107-Configurable-packet-in-spam-threshold.patch index cd270f2cbd..54ee199018 100644 --- a/patches/unapplied/server/0107-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0107-Configurable-packet-in-spam-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable packet in spam threshold diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 65bd9005b722db154842978d359e0a2277bbb8b2..3978ba09a5e29aaf9e48d5e4f800b1027181a4ad 100644 +index 26652b91b03e1c94c05f61c99afc59ac0bb0243a..b93cb3d18ecc050bef4b789a67eab9808f113e1e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1611,13 +1611,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1604,13 +1604,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot start - limit place/interactions private int limitedPackets; private long lastLimitedPacket = -1; diff --git a/patches/unapplied/server/0108-Configurable-flying-kick-messages.patch b/patches/server/0108-Configurable-flying-kick-messages.patch similarity index 89% rename from patches/unapplied/server/0108-Configurable-flying-kick-messages.patch rename to patches/server/0108-Configurable-flying-kick-messages.patch index db9a9cd97a..04dc3308f5 100644 --- a/patches/unapplied/server/0108-Configurable-flying-kick-messages.patch +++ b/patches/server/0108-Configurable-flying-kick-messages.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable flying kick messages diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3978ba09a5e29aaf9e48d5e4f800b1027181a4ad..e032a9f72aa5d55daa9c680734e45e3dda13ca9b 100644 +index b93cb3d18ecc050bef4b789a67eab9808f113e1e..2684096f29bc88802fcf7116aa8d3308fd6bec9f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -358,7 +358,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -351,7 +351,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientIsFloating && !this.player.isSleeping() && !this.player.isPassenger()) { if (++this.aboveGroundTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating too long!", this.player.getName().getString()); @@ -17,7 +17,7 @@ index 3978ba09a5e29aaf9e48d5e4f800b1027181a4ad..e032a9f72aa5d55daa9c680734e45e3d return; } } else { -@@ -377,7 +377,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -370,7 +370,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (this.clientVehicleIsFloating && this.player.getRootVehicle().getControllingPassenger() == this.player) { if (++this.aboveGroundVehicleTickCount > 80) { ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked for floating a vehicle too long!", this.player.getName().getString()); diff --git a/patches/unapplied/server/0109-Add-EntityZapEvent.patch b/patches/server/0109-Add-EntityZapEvent.patch similarity index 65% rename from patches/unapplied/server/0109-Add-EntityZapEvent.patch rename to patches/server/0109-Add-EntityZapEvent.patch index c713a5e65f..0a8055c744 100644 --- a/patches/unapplied/server/0109-Add-EntityZapEvent.patch +++ b/patches/server/0109-Add-EntityZapEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityZapEvent diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 2a7c82be934a965ba26dc7bf1f60689360bda487..33d1a6b31afec4dbeb00dcabf50c5840852102d6 100644 +index 18ba4b9d9b68088afd48d1f12cec6b155ea84159..dfc67cd0ef52939be5e5a9952cfcdb4d87bf0d82 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -836,9 +836,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -837,10 +837,17 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @Override public void thunderHit(ServerLevel world, LightningBolt lightning) { if (world.getDifficulty() != Difficulty.PEACEFUL) { @@ -16,19 +16,19 @@ index 2a7c82be934a965ba26dc7bf1f60689360bda487..33d1a6b31afec4dbeb00dcabf50c5840 + // Paper - move log down, event can cancel Witch entitywitch = (Witch) EntityType.WITCH.create(world); -+ // Paper start -+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, lightning, entitywitch).isCancelled()) { -+ return; -+ } -+ // Paper end + if (entitywitch != null) { ++ // Paper start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, lightning, entitywitch).isCancelled()) { ++ return; ++ } ++ if (org.spigotmc.SpigotConfig.logVillagerDeaths) Villager.LOGGER.info("Villager {} was struck by lightning {}.", this, lightning); // Move down ++ // Paper end + -+ if (org.spigotmc.SpigotConfig.logVillagerDeaths) Villager.LOGGER.info("Villager {} was struck by lightning {}.", this, lightning); // Paper - move log down, event can cancel -+ - entitywitch.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); - entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); - entitywitch.setNoAi(this.isNoAi()); + entitywitch.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); + entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); + entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 2766f670f7bbe03c23552eb2ccf71d6397cfb150..5ccaa797f0f794c71c9402c3b440c681defd0952 100644 +index e303445b64ce59158567a2ab7388e7fe3627e055..04510bb66453a42badf268548aed45d3a3d6ad9d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1157,6 +1157,14 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/patches/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 82% rename from patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to patches/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index f7ef378ecd..df705ffa89 100644 --- a/patches/unapplied/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/patches/server/0110-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Filter bad data from ArmorStand and SpawnEgg items diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 9ef526b3da1185f32257b8fb2fa79ff281855713..108c9ea0eb4a7f381042bfe0203ac40a9c4f27a7 100644 +index 561b8d6fcf4d511fb026bcc2c02054e56589d0b7..e7404619877099aa2223da349e15090d2c9be1d0 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -316,6 +316,18 @@ public class FallingBlockEntity extends Entity { +@@ -318,6 +318,18 @@ public class FallingBlockEntity extends Entity { @Override protected void readAdditionalSaveData(CompoundTag nbt) { - this.blockState = NbtUtils.readBlockState(nbt.getCompound("BlockState")); + this.blockState = NbtUtils.readBlockState(this.level.holderLookup(Registries.BLOCK), nbt.getCompound("BlockState")); + // Paper start - Block FallingBlocks with Command Blocks + final Block b = this.blockState.getBlock(); + if (this.level.paperConfig().entities.spawning.filterNbtDataFromSpawnEggsAndRelated diff --git a/patches/unapplied/server/0111-Cache-user-authenticator-threads.patch b/patches/server/0111-Cache-user-authenticator-threads.patch similarity index 80% rename from patches/unapplied/server/0111-Cache-user-authenticator-threads.patch rename to patches/server/0111-Cache-user-authenticator-threads.patch index 389ea5bb4e..46d07782f5 100644 --- a/patches/unapplied/server/0111-Cache-user-authenticator-threads.patch +++ b/patches/server/0111-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 5d2687d3f73529fd45011c011710e2386ff17c82..9011b43dbf28f1f19809c1b45898b727d679c12f 100644 +index a6e90e70730e106d1cac01abf7a41df8df787d89..d14b7265a075f883f39d078b0d57bccdd7b3ff41 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -117,6 +117,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -112,6 +112,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } @@ -17,8 +17,8 @@ index 5d2687d3f73529fd45011c011710e2386ff17c82..9011b43dbf28f1f19809c1b45898b727 // Spigot start public void initUUID() { -@@ -241,8 +243,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se - this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce)); +@@ -208,8 +210,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge)); } else { // Spigot start - new Thread("User Authenticator #" + ServerLoginPacketListenerImpl.UNIQUE_THREAD_ID.incrementAndGet()) { @@ -28,7 +28,7 @@ index 5d2687d3f73529fd45011c011710e2386ff17c82..9011b43dbf28f1f19809c1b45898b727 @Override public void run() { try { -@@ -253,7 +255,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -220,7 +222,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + ServerLoginPacketListenerImpl.this.gameProfile.getName(), ex); } } @@ -38,7 +38,7 @@ index 5d2687d3f73529fd45011c011710e2386ff17c82..9011b43dbf28f1f19809c1b45898b727 // Spigot end } -@@ -296,7 +299,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -257,7 +260,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, throw new IllegalStateException("Protocol error", cryptographyexception); } @@ -48,7 +48,7 @@ index 5d2687d3f73529fd45011c011710e2386ff17c82..9011b43dbf28f1f19809c1b45898b727 public void run() { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.gameProfile; -@@ -341,10 +345,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -302,10 +306,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, return ServerLoginPacketListenerImpl.this.server.getPreventProxyConnections() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch similarity index 90% rename from patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch rename to patches/server/0112-Allow-Reloading-of-Command-Aliases.patch index 54b2ffe5a7..c317cd9971 100644 --- a/patches/unapplied/server/0112-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0112-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0d6dcb670c583f47a299cd96574426932d3b98c8..8072e45c656e8de0f9061360d353675554ae0182 100644 +index d1392d0afe23004794803affd11f5d1fc82bf7ca..e8f13e113ed2befbc1f83721073f6ebd62df9a5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2563,5 +2563,24 @@ public final class CraftServer implements Server { +@@ -2587,5 +2587,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch similarity index 89% rename from patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch rename to patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch index 09c8255560..777260d359 100644 --- a/patches/unapplied/server/0113-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0113-Add-source-to-PlayerExpChangeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add source to PlayerExpChangeEvent diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 7942338e300cf5c70cb52e6ddce32f8cf9163c27..63b57d47d7dbb7a8a655b1447241e20c67a3f9c2 100644 +index baa5cc93ec210032fcbe493d473396964288933f..c12493cc369f632c4aa9535cde9b8629a0b2eb86 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -247,7 +247,7 @@ public class ExperienceOrb extends Entity { +@@ -248,7 +248,7 @@ public class ExperienceOrb extends Entity { int i = this.repairPlayerItems(player, this.value); if (i > 0) { @@ -18,7 +18,7 @@ index 7942338e300cf5c70cb52e6ddce32f8cf9163c27..63b57d47d7dbb7a8a655b1447241e20c --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5ccaa797f0f794c71c9402c3b440c681defd0952..e74335de3685e90abc97fbefe91a0c5837ed0551 100644 +index 04510bb66453a42badf268548aed45d3a3d6ad9d..35d7dbd3d7cb445a631b4105ae61a4808cc1759a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1116,6 +1116,17 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0114-Add-ProjectileCollideEvent.patch b/patches/server/0114-Add-ProjectileCollideEvent.patch similarity index 92% rename from patches/unapplied/server/0114-Add-ProjectileCollideEvent.patch rename to patches/server/0114-Add-ProjectileCollideEvent.patch index affd54446b..6c4380a66b 100644 --- a/patches/unapplied/server/0114-Add-ProjectileCollideEvent.patch +++ b/patches/server/0114-Add-ProjectileCollideEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add ProjectileCollideEvent diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -index 62cb9dff53d980399913c913893fca2c1110d184..da92f324322f4fb18f9aa72c4298ffc8ab040953 100644 +index cfd202d32048abcd3e961d9f7f08c1bc6282e601..f268fc2914996698490b84c4a30bac819c581d05 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractArrow.java -@@ -226,6 +226,17 @@ public abstract class AbstractArrow extends Projectile { +@@ -227,6 +227,17 @@ public abstract class AbstractArrow extends Projectile { } } @@ -27,10 +27,10 @@ index 62cb9dff53d980399913c913893fca2c1110d184..da92f324322f4fb18f9aa72c4298ffc8 this.preOnHit((HitResult) object); // CraftBukkit - projectile hit event this.hasImpulse = true; 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 867e50769af3c5bdbed15cfd637e429dcfcb6920..d71dc286673fa7ed708be5bec4c5a6868874c090 100644 +index edc9f3450b56e0c5c12387b6fd51b9628732c372..6dbbd129d05ad52008fb7b70cb1dc3b8818701ad 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -@@ -11,6 +11,7 @@ import net.minecraft.world.entity.Entity; +@@ -12,6 +12,7 @@ import net.minecraft.world.entity.Entity; import net.minecraft.world.entity.EntityType; import net.minecraft.world.entity.LivingEntity; import net.minecraft.world.level.Level; @@ -38,7 +38,7 @@ index 867e50769af3c5bdbed15cfd637e429dcfcb6920..d71dc286673fa7ed708be5bec4c5a686 import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import org.bukkit.craftbukkit.event.CraftEventFactory; // CraftBukkit -@@ -82,7 +83,16 @@ public abstract class AbstractHurtingProjectile extends Projectile { +@@ -83,7 +84,16 @@ public abstract class AbstractHurtingProjectile extends Projectile { HitResult movingobjectposition = ProjectileUtil.getHitResult(this, this::canHitEntity); @@ -87,7 +87,7 @@ index 88181c59e604ba3b132b9e695cef5eaf5b836029..94d09b05737679b133ec462815b010b1 this.checkInsideBlocks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e74335de3685e90abc97fbefe91a0c5837ed0551..b267e220e0b8fcd69f1b672db27273e76a46731a 100644 +index 35d7dbd3d7cb445a631b4105ae61a4808cc1759a..03637eb7237a4caeb01bc84bda65a8c6513b2014 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1260,6 +1260,16 @@ public class CraftEventFactory { diff --git a/patches/unapplied/server/0115-Prevent-Pathfinding-out-of-World-Border.patch b/patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch similarity index 91% rename from patches/unapplied/server/0115-Prevent-Pathfinding-out-of-World-Border.patch rename to patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch index 50b980ec70..86761f9443 100644 --- a/patches/unapplied/server/0115-Prevent-Pathfinding-out-of-World-Border.patch +++ b/patches/server/0115-Prevent-Pathfinding-out-of-World-Border.patch @@ -13,10 +13,10 @@ by adding code to all overrides in: to return BLOCKED if it is outside the world border. diff --git a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -index b6b6106ad2105c19273dc9f983fabd6573d35e5a..185f0bce91f03dfe9a37412710aa7319a15f57ff 100644 +index bd782c8935db6e0aa3489725d3c4ee401f9bf242..bf89b3a484334ec23f96426bdcf29e54725512c3 100644 --- a/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java +++ b/src/main/java/net/minecraft/world/entity/ai/navigation/PathNavigation.java -@@ -156,7 +156,7 @@ public abstract class PathNavigation { +@@ -157,7 +157,7 @@ public abstract class PathNavigation { // Paper start - Pathfind event boolean copiedSet = false; for (BlockPos possibleTarget : positions) { diff --git a/patches/unapplied/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch b/patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 86% rename from patches/unapplied/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch rename to patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch index da22f581ab..01f752d416 100644 --- a/patches/unapplied/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch +++ b/patches/server/0116-Optimize-World.isLoaded-BlockPosition-Z.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize World.isLoaded(BlockPosition)Z Reduce method invocations for World.isLoaded(BlockPosition)Z diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 807df663f710311276d69288875bb80e7fa37893..64b763d6dc695e9cb9dd381deb5609e4902713dd 100644 +index 3c8d4d439d40a8dc340286e0a9852b8911ce607f..a3ff278b5a2caa8132025f6cbee46500e97f58c4 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -334,6 +334,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -337,6 +337,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return chunk == null ? null : chunk.getFluidState(blockposition); } diff --git a/patches/unapplied/server/0117-Bound-Treasure-Maps-to-World-Border.patch b/patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch similarity index 94% rename from patches/unapplied/server/0117-Bound-Treasure-Maps-to-World-Border.patch rename to patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch index 154a31efb9..3849dc69f4 100644 --- a/patches/unapplied/server/0117-Bound-Treasure-Maps-to-World-Border.patch +++ b/patches/server/0117-Bound-Treasure-Maps-to-World-Border.patch @@ -34,10 +34,10 @@ index 6ec5a1525d0b8ced8fe78d3eab29c5eb82996844..2442c287a7f26cfee10a19e9015558cd return (double) pos.getMaxBlockX() > this.getMinX() && (double) pos.getMinBlockX() < this.getMaxX() && (double) pos.getMaxBlockZ() > this.getMinZ() && (double) pos.getMinBlockZ() < this.getMaxZ(); } diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index f284eefe5de6ad8b42f7d4185fc4c3b8b2cd5895..6e2185bbaac889d51a54ec97907da3b1faa465c4 100644 +index de9aac5a8ef1c95385d0dc532c7764fe2c394f12..f6241ee705a3827df9d716f199fd070ab8605ea6 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -@@ -390,6 +390,7 @@ public abstract class ChunkGenerator { +@@ -218,6 +218,7 @@ public abstract class ChunkGenerator { while (iterator.hasNext()) { ChunkPos chunkcoordintpair = (ChunkPos) iterator.next(); diff --git a/patches/unapplied/server/0118-Configurable-Cartographer-Treasure-Maps.patch b/patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch similarity index 94% rename from patches/unapplied/server/0118-Configurable-Cartographer-Treasure-Maps.patch rename to patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch index 25ad0e6acc..817c722736 100644 --- a/patches/unapplied/server/0118-Configurable-Cartographer-Treasure-Maps.patch +++ b/patches/server/0118-Configurable-Cartographer-Treasure-Maps.patch @@ -9,7 +9,7 @@ Also allow turning off treasure maps all together as they can eat up Map ID's which are limited in quantity. diff --git a/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java b/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java -index f95999daa1955dd4d919d0e668fe099901a0481c..770a91fcc351a2d1de4762c0fd9bae2b49c363b5 100644 +index 155301c03e6553de8aed55e87ece40e8f5f3f495..44a237426739fad0096b2f5108f1d25bd388ea08 100644 --- a/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java +++ b/src/main/java/net/minecraft/world/entity/npc/VillagerTrades.java @@ -386,7 +386,8 @@ public class VillagerTrades { @@ -23,7 +23,7 @@ index f95999daa1955dd4d919d0e668fe099901a0481c..770a91fcc351a2d1de4762c0fd9bae2b ItemStack itemStack = MapItem.create(serverLevel, blockPos.getX(), blockPos.getZ(), (byte)2, true, true); MapItem.renderBiomePreviewMap(serverLevel, itemStack); diff --git a/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java b/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java -index 321384730cacbdc22eedc53651e4d24f06c73b99..b734c0f9b831c20a239b5341ff3a0b4d6a6c102c 100644 +index 5762bb0725a0e206a24d3056d9330af45afea1bd..a4806eb60d5dde1f1bd11d9501f3cc4f1805311d 100644 --- a/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java +++ b/src/main/java/net/minecraft/world/level/storage/loot/functions/ExplorationMapFunction.java @@ -68,7 +68,16 @@ public class ExplorationMapFunction extends LootItemConditionalFunction { diff --git a/patches/unapplied/server/0119-Optimize-ItemStack.isEmpty.patch b/patches/server/0119-Optimize-ItemStack.isEmpty.patch similarity index 78% rename from patches/unapplied/server/0119-Optimize-ItemStack.isEmpty.patch rename to patches/server/0119-Optimize-ItemStack.isEmpty.patch index 51afc65b61..38935c385e 100644 --- a/patches/unapplied/server/0119-Optimize-ItemStack.isEmpty.patch +++ b/patches/server/0119-Optimize-ItemStack.isEmpty.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Optimize ItemStack.isEmpty() Remove hashMap lookup every check, simplify code to remove ternary diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 28a8ad5f42a5ba2e2a9d4c9a04a7add621b28e82..7b61f9c45b9e23562bd5cf448df319ba9e1e091a 100644 +index 6ca9a5cf426befde4882d78df5fd8202b73ddbeb..504a56fb2f2901c67ed22b9f0a57eb8db10ca4df 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -245,7 +245,7 @@ public final class ItemStack { +@@ -249,7 +249,7 @@ public final class ItemStack { } public boolean isEmpty() { @@ -17,4 +17,4 @@ index 28a8ad5f42a5ba2e2a9d4c9a04a7add621b28e82..7b61f9c45b9e23562bd5cf448df319ba + return this == ItemStack.EMPTY || this.item == null || this.item == Items.AIR || this.count <= 0; // Paper } - public ItemStack split(int amount) { + public boolean isItemEnabled(FeatureFlagSet enabledFeatures) { diff --git a/patches/unapplied/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 100% rename from patches/unapplied/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/server/0120-Add-API-methods-to-control-if-armour-stands-can-move.patch diff --git a/patches/unapplied/server/0121-String-based-Action-Bar-API.patch b/patches/server/0121-String-based-Action-Bar-API.patch similarity index 94% rename from patches/unapplied/server/0121-String-based-Action-Bar-API.patch rename to patches/server/0121-String-based-Action-Bar-API.patch index 636afb03f0..6530e3c514 100644 --- a/patches/unapplied/server/0121-String-based-Action-Bar-API.patch +++ b/patches/server/0121-String-based-Action-Bar-API.patch @@ -26,10 +26,10 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1e1deab4d8be5523a55daf072d7e12b08d36b560..87c8e494aa374b8bfb8b8432723783b00ba94763 100644 +index dcf6d675d9bb7befe022e722aba365d30c2ce705..98d8585a8bc2acbb8d98c73e3aca404f0ebe66d3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -355,6 +355,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -357,6 +357,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper start diff --git a/patches/unapplied/server/0122-Properly-fix-item-duplication-bug.patch b/patches/server/0122-Properly-fix-item-duplication-bug.patch similarity index 81% rename from patches/unapplied/server/0122-Properly-fix-item-duplication-bug.patch rename to patches/server/0122-Properly-fix-item-duplication-bug.patch index f3c65cef8f..58bc7a00a8 100644 --- a/patches/unapplied/server/0122-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0122-Properly-fix-item-duplication-bug.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Properly fix item duplication bug Credit to prplz for figuring out the real issue diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3cea2ceb5d30329aa84f6659330eea075387fe18..0fded4890038de77781c27565fa3c8fe60e50aac 100644 +index 91380d37ddd0c03301618849ea8fd9a72c333ae5..1d04f135f33e9db68153f5db19360f30aa0113eb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2203,7 +2203,7 @@ public class ServerPlayer extends Player { +@@ -2243,7 +2243,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -19,10 +19,10 @@ index 3cea2ceb5d30329aa84f6659330eea075387fe18..0fded4890038de77781c27565fa3c8fe @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index e032a9f72aa5d55daa9c680734e45e3dda13ca9b..6282cebfa3786c9ac72fcebeee1b8c4cdf5d7238 100644 +index 2684096f29bc88802fcf7116aa8d3308fd6bec9f..ad72e852e05c50effa195b112ff67b6d18a1eea2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3283,7 +3283,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3163,7 +3163,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public final boolean isDisconnected() { diff --git a/patches/unapplied/server/0123-Firework-API-s.patch b/patches/server/0123-Firework-API-s.patch similarity index 90% rename from patches/unapplied/server/0123-Firework-API-s.patch rename to patches/server/0123-Firework-API-s.patch index e34f57affe..e5656b6c22 100644 --- a/patches/unapplied/server/0123-Firework-API-s.patch +++ b/patches/server/0123-Firework-API-s.patch @@ -7,13 +7,13 @@ Subject: [PATCH] Firework API's public net.minecraft.world.entity.projectile.FireworkRocketEntity attachedToEntity diff --git a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java -index ba13507263d78d34eb8d3038c437229c0469d476..61252ef8a79bac0ea2d3d231ec6b12166f39d072 100644 +index 4abcdc515411372006ff5d33510bdd64092c186a..5406925cd66f46ab8744123c670d72cea7bfc3a1 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FireworkRocketEntity.java @@ -39,6 +39,7 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier { public int lifetime; @Nullable - public LivingEntity attachedToEntity; // PAIL private -> public + public LivingEntity attachedToEntity; + public java.util.UUID spawningEntity; // Paper public FireworkRocketEntity(EntityType type, Level world) { @@ -44,7 +44,7 @@ index ba13507263d78d34eb8d3038c437229c0469d476..61252ef8a79bac0ea2d3d231ec6b1216 @Override diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 17b797a036ac0f58b58f627dc61ac503c8f321db..d86ec8c4c1c3e7974463a545d80ed9744de0fbbb 100644 +index 4b8ad27c8682f112c4964849d9bdfcf4c355701f..48626d564c9fb4630b51858edd124b56af2d7ca0 100644 --- a/src/main/java/net/minecraft/world/item/CrossbowItem.java +++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java @@ -220,6 +220,7 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { @@ -56,10 +56,10 @@ index 17b797a036ac0f58b58f627dc61ac503c8f321db..d86ec8c4c1c3e7974463a545d80ed974 object = CrossbowItem.getArrow(world, shooter, crossbow, projectile); if (creative || simulated != 0.0F) { diff --git a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java -index cdf35c5873f68245891241c0efa3bcf5658c3f6d..766af1f45b14654d3655a06ae0bfb0d4cfbdff7a 100644 +index 1d99d03c1ce0a647b053e8b7bd1e2da58805c4f8..854856ca742dff800ac5d7bf0af4f79cf631540b 100644 --- a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java +++ b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java -@@ -44,6 +44,7 @@ public class FireworkRocketItem extends Item { +@@ -45,6 +45,7 @@ public class FireworkRocketItem extends Item { Vec3 vec3 = context.getClickLocation(); Direction direction = context.getClickedFace(); FireworkRocketEntity fireworkRocketEntity = new FireworkRocketEntity(level, context.getPlayer(), vec3.x + (double)direction.getStepX() * 0.15D, vec3.y + (double)direction.getStepY() * 0.15D, vec3.z + (double)direction.getStepZ() * 0.15D, itemStack); @@ -67,7 +67,7 @@ index cdf35c5873f68245891241c0efa3bcf5658c3f6d..766af1f45b14654d3655a06ae0bfb0d4 level.addFreshEntity(fireworkRocketEntity); itemStack.shrink(1); } -@@ -57,6 +58,7 @@ public class FireworkRocketItem extends Item { +@@ -58,6 +59,7 @@ public class FireworkRocketItem extends Item { ItemStack itemStack = user.getItemInHand(hand); if (!world.isClientSide) { FireworkRocketEntity fireworkRocketEntity = new FireworkRocketEntity(world, itemStack, user); diff --git a/patches/unapplied/server/0124-PlayerTeleportEndGatewayEvent.patch b/patches/server/0124-PlayerTeleportEndGatewayEvent.patch similarity index 88% rename from patches/unapplied/server/0124-PlayerTeleportEndGatewayEvent.patch rename to patches/server/0124-PlayerTeleportEndGatewayEvent.patch index 378f2e4756..6aad00dd7a 100644 --- a/patches/unapplied/server/0124-PlayerTeleportEndGatewayEvent.patch +++ b/patches/server/0124-PlayerTeleportEndGatewayEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] PlayerTeleportEndGatewayEvent Allows you to access the Gateway being used in a teleport event diff --git a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -index 0a792513ac71df24aa8ea4e5d47caad07c22c65e..575e9ced37b6b865de342d305af2c5762ae6fcb9 100644 +index 553f8314118adc64a6af9aee9351598b2991d18d..9c4469d46cb7a2cc781f6498d3e4ec6a9415d12e 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/TheEndGatewayBlockEntity.java -@@ -11,6 +11,7 @@ import net.minecraft.data.worldgen.features.EndFeatures; +@@ -12,6 +12,7 @@ import net.minecraft.data.worldgen.features.EndFeatures; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.NbtUtils; import net.minecraft.network.protocol.game.ClientboundBlockEntityDataPacket; @@ -17,7 +17,7 @@ index 0a792513ac71df24aa8ea4e5d47caad07c22c65e..575e9ced37b6b865de342d305af2c576 import net.minecraft.server.level.ServerLevel; import net.minecraft.server.level.ServerPlayer; import net.minecraft.util.Mth; -@@ -210,7 +211,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { +@@ -211,7 +212,7 @@ public class TheEndGatewayBlockEntity extends TheEndPortalBlockEntity { location.setPitch(player.getLocation().getPitch()); location.setYaw(player.getLocation().getYaw()); diff --git a/patches/unapplied/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 91% rename from patches/unapplied/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch index 4ec316d03a..982c21be92 100644 --- a/patches/unapplied/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,10 +7,10 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 64b763d6dc695e9cb9dd381deb5609e4902713dd..1954a93a1f566c1c79cdc2e0eb1b41141d6b5fde 100644 +index a3ff278b5a2caa8132025f6cbee46500e97f58c4..6a5ede377a2e5e7c39ebf6db6708b4f234f96dc7 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -112,7 +112,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -115,7 +115,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public static final int TICKS_PER_DAY = 24000; public static final int MAX_ENTITY_SPAWN_Y = 20000000; public static final int MIN_ENTITY_SPAWN_Y = -20000000; @@ -20,10 +20,10 @@ index 64b763d6dc695e9cb9dd381deb5609e4902713dd..1954a93a1f566c1c79cdc2e0eb1b4114 private final List pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index fe2f5364e526cfe9e25760301165934b7fbbdd85..2636ef8f827b30315693f1b406debcdea0716170 100644 +index 3ad15c0909d14c6f974e9bf82055c3c332577526..5a17b0c2e185bd50201a5d954322e41d42e2dae3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -152,6 +152,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -151,6 +151,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); private net.kyori.adventure.pointer.Pointers adventure$pointers; // Paper - implement pointers diff --git a/patches/unapplied/server/0126-Enforce-Sync-Player-Saves.patch b/patches/server/0126-Enforce-Sync-Player-Saves.patch similarity index 87% rename from patches/unapplied/server/0126-Enforce-Sync-Player-Saves.patch rename to patches/server/0126-Enforce-Sync-Player-Saves.patch index ba14b9257f..5cc43229a2 100644 --- a/patches/unapplied/server/0126-Enforce-Sync-Player-Saves.patch +++ b/patches/server/0126-Enforce-Sync-Player-Saves.patch @@ -7,10 +7,10 @@ Saving players async is extremely dangerous. This will force it to main the same way we handle async chunk loads. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index afbb45f2ee55f193e30c19bc20edc42434f16784..51add7e60fbd9eebbddc4893de044edc35854409 100644 +index 796e8d85093756deb4bc25eb2af9981944ba1bf4..70b19aeba089f48cf53e259fce1339c7b31cd133 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1042,11 +1042,13 @@ public abstract class PlayerList { +@@ -1052,11 +1052,13 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/unapplied/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch b/patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch similarity index 84% rename from patches/unapplied/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch rename to patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch index a291c07317..cbd3e1b0c8 100644 --- a/patches/unapplied/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/patches/server/0127-Don-t-allow-entities-to-ride-themselves-572.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't allow entities to ride themselves - #572 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a6b5527e97e8a5b2eeca762477a7b695223a0d4d..86fa079f9f1f958ed586c966467d26a44e09b11c 100644 +index 0c0060cdc35e0d8d3098a0ade8080f91dbc81a2b..a28aa788f46dc944e174957fbed23dfeeff1eb72 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2385,6 +2385,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2404,6 +2404,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/patches/unapplied/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 91% rename from patches/unapplied/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 18d06d1c48..0d4027161e 100644 --- a/patches/unapplied/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0128-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -8,7 +8,7 @@ Adds lots of information about why this orb exists. Replaces isFromBottle() with logic that persists entity reloads too. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index cd3b4c97374d44f5a0e710e03f4ac38938757e25..b18bb06caf5f034dffbb72120c8f21da482ae3df 100644 +index 7f87800a8371c80ef216f4ed0526639f43a20232..2775203a5bb7392428f1305730761e425300a8a9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -419,7 +419,7 @@ public class ServerPlayerGameMode { @@ -21,10 +21,10 @@ index cd3b4c97374d44f5a0e710e03f4ac38938757e25..b18bb06caf5f034dffbb72120c8f21da return true; diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12df7d8dd9d 100644 +index c12493cc369f632c4aa9535cde9b8629a0b2eb86..2ba92563f95e2899db29bf9b017e1b385a5bda3c 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -37,13 +37,65 @@ public class ExperienceOrb extends Entity { +@@ -38,13 +38,65 @@ public class ExperienceOrb extends Entity { public int value; private int count; private Player followingPlayer; @@ -92,7 +92,7 @@ index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12d } public ExperienceOrb(EntityType type, Level world) { -@@ -153,12 +205,20 @@ public class ExperienceOrb extends Entity { +@@ -154,12 +206,20 @@ public class ExperienceOrb extends Entity { } public static void award(ServerLevel world, Vec3 pos, int amount) { @@ -114,7 +114,7 @@ index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12d } } -@@ -228,6 +288,7 @@ public class ExperienceOrb extends Entity { +@@ -229,6 +289,7 @@ public class ExperienceOrb extends Entity { nbt.putShort("Age", (short) this.age); nbt.putShort("Value", (short) this.value); nbt.putInt("Count", this.count); @@ -122,7 +122,7 @@ index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12d } @Override -@@ -236,6 +297,7 @@ public class ExperienceOrb extends Entity { +@@ -237,6 +298,7 @@ public class ExperienceOrb extends Entity { this.age = nbt.getShort("Age"); this.value = nbt.getShort("Value"); this.count = Math.max(nbt.getInt("Count"), 1); @@ -131,10 +131,10 @@ index 63b57d47d7dbb7a8a655b1447241e20c67a3f9c2..0c19aa68dc444373bf1a9bd3b349d12d @Override diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a0d6273a8a5613ee732c3dbb6eff46ecf42b5f4a..a42983b4d7dbd360bbe4206dcf6aa95375ef9b2b 100644 +index 16ec3763e6d13a2dd3e1cc8cd898c6d783ac070c..728370332d284fbe95fed57f4e5a88cabbe3f146 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1726,7 +1726,8 @@ public abstract class LivingEntity extends Entity { +@@ -1727,7 +1727,8 @@ public abstract class LivingEntity extends Entity { protected void dropExperience() { // CraftBukkit start - Update getExpReward() above if the removed if() changes! if (true && !(this instanceof net.minecraft.world.entity.boss.enderdragon.EnderDragon)) { // CraftBukkit - SPIGOT-2420: Special case ender dragon will drop the xp over time @@ -158,10 +158,10 @@ index 3cdd7180a41b87caa942d2b3436ba90726686ecb..6216513805add7c8f52e1ed6c77e2d26 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 113b31a5a0247abc436d04ba2fe03cb41ca86f15..fb3b42611d8386b110ea079094d5d50fefceac1a 100644 +index 125498c2cd1c3846e05a91774bb028e7a01fb238..dd124ccbdc7efe0e41b3a04abddcb328cac44948 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java -@@ -892,7 +892,7 @@ public class Fox extends Animal { +@@ -897,7 +897,7 @@ public class Fox extends Animal implements VariantHolder { if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { // CraftBukkit start - use event experience if (experience > 0) { @@ -171,10 +171,10 @@ index 113b31a5a0247abc436d04ba2fe03cb41ca86f15..fb3b42611d8386b110ea079094d5d50f // CraftBukkit end } diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -index 7c90063be2a7eb66b7f0981059018f20413256c6..37125ffe47fcd5fe93ab62ad8a46e8188f362436 100644 +index 721b6a5b4775877cc9f75d25379b4fb7c7cb3178..ab4e8ff5fe4f53bfda1d7b152aa89e6772bc3a16 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -@@ -448,7 +448,7 @@ public class Turtle extends Animal { +@@ -450,7 +450,7 @@ public class Turtle extends Animal { RandomSource randomsource = this.animal.getRandom(); if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -184,10 +184,10 @@ index 7c90063be2a7eb66b7f0981059018f20413256c6..37125ffe47fcd5fe93ab62ad8a46e818 } diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -index fe660bbaa4113fb2ffa1ea2f10e4e1e674fbb86d..bb6063ae7f4438916306ce876057f7488537b444 100644 +index 8852cc6253c8bc1a9f7591cd2b0beb95bb4f4d33..f2e84e832ad95df26fe3b9ba439ce38fc59b3585 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -@@ -274,7 +274,7 @@ public class Frog extends Animal { +@@ -277,7 +277,7 @@ public class Frog extends Animal implements VariantHolder { this.getBrain().setMemory(MemoryModuleType.IS_PREGNANT, Unit.INSTANCE); world.broadcastEntityEvent(this, (byte)18); if (world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -197,7 +197,7 @@ index fe660bbaa4113fb2ffa1ea2f10e4e1e674fbb86d..bb6063ae7f4438916306ce876057f748 } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 127aab56eef67d7f02f5c3de80d8f445ba70e7db..6eada8313e468e4ea851094976ac98c11710fb45 100644 +index 89366ca29386fcbd03c3fc94d58451e714a1d779..a889be9dd2a94b531a227ff69a5e761e103067be 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -647,7 +647,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -219,7 +219,7 @@ index 127aab56eef67d7f02f5c3de80d8f445ba70e7db..6eada8313e468e4ea851094976ac98c1 if (this.dragonFight != null) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 33d1a6b31afec4dbeb00dcabf50c5840852102d6..25cd8a4101cf44955d95924c9794c238ddde2901 100644 +index dfc67cd0ef52939be5e5a9952cfcdb4d87bf0d82..bbbb26550b0c5b36d9c7204f075aa90b79b85ff0 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -624,7 +624,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -245,10 +245,10 @@ index 9bc9307966b77e34cb091fc895db3d3a66f7be82..e594cf4b8084b7448c29208a2070e766 } diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 00fe96650e4d973e97b46968297f55f4c3674629..11ac510ad4095438d4904d521bfb18aa5f743faf 100644 +index 354fed07a1c8d88c97350be11388925e5bf82f9e..ff7b5fea13be9a64e5886f8fe337802cbc5d19b2 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -513,7 +513,7 @@ public class FishingHook extends Projectile { +@@ -514,7 +514,7 @@ public class FishingHook extends Projectile { this.level.addFreshEntity(entityitem); // CraftBukkit start - this.random.nextInt(6) + 1 -> playerFishEvent.getExpToDrop() if (playerFishEvent.getExpToDrop() > 0) { @@ -271,7 +271,7 @@ index db6b1a9804a6d75dce22b780044beb04ca69cc94..dcbbff3a8dfcac869f07025e0e8e3d9c } diff --git a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java -index dbdba510d8ff3c622ed928151cf525cfd1d1b1b5..aa0ba9c7dcb0ee81c9081031c447eeab61d92a10 100644 +index ec7a95173a67052e841a3fe69a8d2621a1ccd2b9..9010656b7f013d50872017a298368ec8a3016e9c 100644 --- a/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java +++ b/src/main/java/net/minecraft/world/inventory/GrindstoneMenu.java @@ -97,7 +97,7 @@ public class GrindstoneMenu extends AbstractContainerMenu { @@ -284,10 +284,10 @@ index dbdba510d8ff3c622ed928151cf525cfd1d1b1b5..aa0ba9c7dcb0ee81c9081031c447eeab world.levelEvent(1042, blockposition, 0); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 4b3dc4648709abbdd6ac0972c298a64a875e5f6c..77125720fcbeb7bfc180effb27cfb78c74832ce5 100644 +index 6b22de4b22aeec101076199f1e20376dd4b31f4d..11b0b1a217648496ccf08f09bb3aa53904ffa9cb 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -376,8 +376,13 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -374,8 +374,13 @@ public class Block extends BlockBehaviour implements ItemLike { } public void popExperience(ServerLevel world, BlockPos pos, int size) { @@ -303,10 +303,10 @@ index 4b3dc4648709abbdd6ac0972c298a64a875e5f6c..77125720fcbeb7bfc180effb27cfb78c } diff --git a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -index e90fa66b4716f55844818a2770d9e02d68658e46..bbccb2f97ee88fe43af4eec30fbb2ecea1ebb1b4 100644 +index 04e7716f7a9b5d203aacd83b89b610760a19bb9e..8137682be60eb617738f7b257780a49182ef970c 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/AbstractFurnaceBlockEntity.java -@@ -642,7 +642,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit +@@ -636,7 +636,7 @@ public abstract class AbstractFurnaceBlockEntity extends BaseContainerBlockEntit j = event.getExpToDrop(); // CraftBukkit end @@ -316,10 +316,10 @@ index e90fa66b4716f55844818a2770d9e02d68658e46..bbccb2f97ee88fe43af4eec30fbb2ece @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e1f478359d959157f60b866ab59bba3b5b16521c..c4f8d2c090e3cde562a2ab6103da53ded666599b 100644 +index 6dbfd907766422258790f23a3279d2013db3de24..7e16cb08ca1ab2c0b6c0079ac7ffe00cfd758e18 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -909,7 +909,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -915,7 +915,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/unapplied/server/0129-Cap-Entity-Collisions.patch b/patches/server/0129-Cap-Entity-Collisions.patch similarity index 79% rename from patches/unapplied/server/0129-Cap-Entity-Collisions.patch rename to patches/server/0129-Cap-Entity-Collisions.patch index 2087d46233..aff47fba24 100644 --- a/patches/unapplied/server/0129-Cap-Entity-Collisions.patch +++ b/patches/server/0129-Cap-Entity-Collisions.patch @@ -12,7 +12,7 @@ just as it does in Vanilla, but entity pushing logic will be capped. You can set this to 0 to disable collisions. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 86fa079f9f1f958ed586c966467d26a44e09b11c..58256b341aa15e946abef464453c0ffcaf55b372 100644 +index a28aa788f46dc944e174957fbed23dfeeff1eb72..760596375e26b4cd73cc378758f4bf761c3352a5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -379,6 +379,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -24,19 +24,19 @@ index 86fa079f9f1f958ed586c966467d26a44e09b11c..58256b341aa15e946abef464453c0ffc private org.bukkit.util.Vector origin; @javax.annotation.Nullable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a42983b4d7dbd360bbe4206dcf6aa95375ef9b2b..6295c89211ba86c10009775f4d399f597d240fd0 100644 +index 728370332d284fbe95fed57f4e5a88cabbe3f146..b6aaebb5359c8162359b377b3485c3fcf91587e1 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3289,8 +3289,11 @@ public abstract class LivingEntity extends Entity { +@@ -3313,8 +3313,11 @@ public abstract class LivingEntity extends Entity { + } } - } -- for (j = 0; j < list.size(); ++j) { +- for (j = 0; j < list.size(); ++j) { + this.numCollisions = Math.max(0, this.numCollisions - this.level.paperConfig().collisions.maxEntityCollisions); // Paper + for (j = 0; j < list.size() && this.numCollisions < this.level.paperConfig().collisions.maxEntityCollisions; ++j) { // Paper - Entity entity = (Entity) list.get(j); + Entity entity = (Entity) list.get(j); + entity.numCollisions++; // Paper + this.numCollisions++; // Paper - this.doPush(entity); - } + this.doPush(entity); + } diff --git a/patches/unapplied/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 100% rename from patches/unapplied/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch rename to patches/server/0130-Remove-CraftScheduler-Async-Task-Debugger.patch diff --git a/patches/unapplied/server/0131-Do-not-let-armorstands-drown.patch b/patches/server/0131-Do-not-let-armorstands-drown.patch similarity index 100% rename from patches/unapplied/server/0131-Do-not-let-armorstands-drown.patch rename to patches/server/0131-Do-not-let-armorstands-drown.patch diff --git a/patches/unapplied/server/0132-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch similarity index 94% rename from patches/unapplied/server/0132-Properly-handle-async-calls-to-restart-the-server.patch rename to patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch index 6bbd4f97f5..be7522ac4a 100644 --- a/patches/unapplied/server/0132-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0132-Properly-handle-async-calls-to-restart-the-server.patch @@ -30,10 +30,10 @@ will have plugins and worlds saving to the disk has a high potential to result in corruption/dataloss. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f438056c74dd24142bd94b505160711d0f94a5d5..f852c1315cf9dcba56f5877063254d4c608abd61 100644 +index 1ba7fe6b51b5e1555617bc65619c4ff82fd564cb..cdfbee9657c7a1664eb8e2f88bfa4f702fb46d4a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -221,6 +221,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop, ServerLevel> levels; private PlayerList playerList; private volatile boolean running; @@ -41,7 +41,7 @@ index f438056c74dd24142bd94b505160711d0f94a5d5..f852c1315cf9dcba56f5877063254d4c private boolean stopped; private int tickCount; protected final Proxy proxy; -@@ -894,7 +895,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0.5F || this.isInWater()) || this.abilities.flying || this.isSleeping() || this.isInPowderSnow) { diff --git a/patches/unapplied/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 83% rename from patches/unapplied/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch index 0282c2af43..646bfdc133 100644 --- a/patches/unapplied/server/0134-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0134-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 8072e45c656e8de0f9061360d353675554ae0182..a458cf93af182e2b6b7c7ef89a4a7fe7f64f7be5 100644 +index e8f13e113ed2befbc1f83721073f6ebd62df9a5e..0f2967f133fa5a3477179252286cbe8c9badb8ad 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2582,5 +2582,10 @@ public final class CraftServer implements Server { +@@ -2606,5 +2606,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/unapplied/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 92% rename from patches/unapplied/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch rename to patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch index d80489d57d..d5e1d3b31a 100644 --- a/patches/unapplied/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0135-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -19,7 +19,7 @@ Other changes: configuration diff --git a/build.gradle.kts b/build.gradle.kts -index cfdb20447e6ad3efcdee8889712f77931773beaf..d4141a24cb5ba20e8c53c85206b32120ff18eb48 100644 +index ebf3d64afbb5679b97a7565a2f8e5490e4a38275..8407beb0c47660f7d310d27f3a47120b80c5b189 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,7 +8,17 @@ plugins { @@ -38,7 +38,7 @@ index cfdb20447e6ad3efcdee8889712f77931773beaf..d4141a24cb5ba20e8c53c85206b32120 + */ + runtimeOnly("org.apache.logging.log4j:log4j-core:2.14.1") + // Paper end - implementation("org.apache.logging.log4j:log4j-iostreams:2.17.1") // Paper + implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion implementation("org.ow2.asm:asm:9.3") implementation("org.ow2.asm:asm-commons:9.3") // Paper - ASM event executor generation diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -112,19 +112,19 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f852c1315cf9dcba56f5877063254d4c608abd61..b404a222e741064185269a42a102d3e4c1f481d7 100644 +index cdfbee9657c7a1664eb8e2f88bfa4f702fb46d4a..ece65ae90a71517a374a3ebbe0cb0ba514b44e2f 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -156,7 +156,7 @@ import org.slf4j.Logger; +@@ -168,7 +168,7 @@ import com.mojang.datafixers.util.Pair; import com.mojang.serialization.DynamicOps; import com.mojang.serialization.Lifecycle; import java.util.Random; -import jline.console.ConsoleReader; +// import jline.console.ConsoleReader; // Paper import joptsimple.OptionSet; - import net.minecraft.server.bossevents.CustomBossEvents; - import net.minecraft.server.dedicated.DedicatedServer; -@@ -271,7 +271,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -355,7 +355,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { // Trim to filter lines which are just spaces @@ -193,7 +193,7 @@ index f3c65b5f4a0cc3bc0004cc6f8cc974a87a1123bb..bada827fe2a8a58d029d9459bf576d59 } // CraftBukkit end } -@@ -142,6 +145,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -137,6 +140,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.error("Exception handling console input", ioexception); } @@ -202,7 +202,7 @@ index f3c65b5f4a0cc3bc0004cc6f8cc974a87a1123bb..bada827fe2a8a58d029d9459bf576d59 } }; -@@ -153,6 +158,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -148,6 +153,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler()); @@ -212,7 +212,7 @@ index f3c65b5f4a0cc3bc0004cc6f8cc974a87a1123bb..bada827fe2a8a58d029d9459bf576d59 final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()); for (org.apache.logging.log4j.core.Appender appender : logger.getAppenders().values()) { if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) { -@@ -161,6 +169,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -156,6 +164,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } new org.bukkit.craftbukkit.util.TerminalConsoleWriterThread(System.out, this.reader).start(); @@ -222,12 +222,12 @@ index f3c65b5f4a0cc3bc0004cc6f8cc974a87a1123bb..bada827fe2a8a58d029d9459bf576d59 System.setOut(IoBuilder.forLogger(logger).setLevel(Level.INFO).buildPrintStream()); System.setErr(IoBuilder.forLogger(logger).setLevel(Level.WARN).buildPrintStream()); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index dbc8f0b962371902fc5e84f1171046d794eb1367..4f47a48aad54bec10fa8d79be2e6401cd8166591 100644 +index 67e13b8510eeecf16caae9fbbbeb463b794c460d..07be6f1e87b62772728abd2e48af91f1bd756a2e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -160,8 +160,7 @@ public abstract class PlayerList { +@@ -165,8 +165,7 @@ public abstract class PlayerList { - public PlayerList(MinecraftServer server, RegistryAccess.Frozen registryManager, PlayerDataStorage saveHandler, int maxPlayers) { + public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); - server.console = org.bukkit.craftbukkit.command.ColouredConsoleSender.getInstance(); - server.reader.addCompleter(new org.bukkit.craftbukkit.command.ConsoleCommandCompleter(server.server)); @@ -236,10 +236,10 @@ index dbc8f0b962371902fc5e84f1171046d794eb1367..4f47a48aad54bec10fa8d79be2e6401c this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a458cf93af182e2b6b7c7ef89a4a7fe7f64f7be5..eb7dd4143f545ab93e55ffac7f3322ce676dfb92 100644 +index 0f2967f133fa5a3477179252286cbe8c9badb8ad..565f9d18b529974c53e6aa8cefa5fc01ad7ad0fd 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -45,7 +45,6 @@ import java.util.logging.Level; +@@ -48,7 +48,6 @@ import java.util.logging.Level; import java.util.logging.Logger; import java.util.stream.Collectors; import javax.imageio.ImageIO; @@ -247,7 +247,7 @@ index a458cf93af182e2b6b7c7ef89a4a7fe7f64f7be5..eb7dd4143f545ab93e55ffac7f3322ce import net.minecraft.advancements.Advancement; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -1276,9 +1275,13 @@ public final class CraftServer implements Server { +@@ -1300,9 +1299,13 @@ public final class CraftServer implements Server { return this.logger; } @@ -262,7 +262,7 @@ index a458cf93af182e2b6b7c7ef89a4a7fe7f64f7be5..eb7dd4143f545ab93e55ffac7f3322ce @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index e15375f6985f841ca42dd41eb0035aab0b64a9fb..5cae8fdd1ad63f49580d69a8c337ae22c0923c5c 100644 +index a8971e81ff8bb9041f0ec22f0c178148c64f503f..be564acab5459313bd7c76c0f128f7e4b620fcdc 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import java.util.logging.Level; diff --git a/patches/unapplied/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch b/patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 91% rename from patches/unapplied/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch rename to patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch index d5c14819e2..89e8fa9f01 100644 --- a/patches/unapplied/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch +++ b/patches/server/0136-provide-a-configurable-option-to-disable-creeper-lin.patch @@ -6,7 +6,7 @@ Subject: [PATCH] provide a configurable option to disable creeper lingering diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java -index 7a5eea3a2eaff5e08589fc240307da2beb44c307..441eee3d3a639b8eccc4369de0d9e3e7d28bac27 100644 +index 93a0d0ab483fd525accc8bf8b9df5bbbd81c644e..c418c0b2fa757f29dfa3c07977093c67416959f5 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -281,7 +281,7 @@ public class Creeper extends Monster implements PowerableMob { diff --git a/patches/unapplied/server/0137-Item-canEntityPickup.patch b/patches/server/0137-Item-canEntityPickup.patch similarity index 90% rename from patches/unapplied/server/0137-Item-canEntityPickup.patch rename to patches/server/0137-Item-canEntityPickup.patch index b7c9497739..6ab634db2b 100644 --- a/patches/unapplied/server/0137-Item-canEntityPickup.patch +++ b/patches/server/0137-Item-canEntityPickup.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Item#canEntityPickup diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index d315d9e0e6724e210924ec5814545e8c52ba2d8b..4f3d3bb811ea767bbcc4327eeefcdc6d58ed5230 100644 +index bb7c459c126be789bb12d08a569fe344e08914b8..458a90529959d3ceae424236461cdeb4c588eedb 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -635,6 +635,11 @@ public abstract class Mob extends LivingEntity { @@ -21,10 +21,10 @@ index d315d9e0e6724e210924ec5814545e8c52ba2d8b..4f3d3bb811ea767bbcc4327eeefcdc6d } } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index a938d75e229ce77973182c9dd25c995a16ef17f6..581725ab12f6bea1216dbf62d5cf3923d4340844 100644 +index 9e986a9efcda63fa20aef392aaca314478b1fbea..b98ebf2d580c27a7e55afe3a54827e471cc5e845 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -52,6 +52,7 @@ public class ItemEntity extends Entity { +@@ -50,6 +50,7 @@ public class ItemEntity extends Entity { private UUID owner; public final float bobOffs; private int lastTick = MinecraftServer.currentTick - 1; // CraftBukkit diff --git a/patches/unapplied/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 88% rename from patches/unapplied/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to patches/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch index 6e987d76ed..adceac1377 100644 --- a/patches/unapplied/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/patches/server/0138-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 581725ab12f6bea1216dbf62d5cf3923d4340844..bd78031511b8c7facc3f61f3a23cbf4264fa2d0c 100644 +index b98ebf2d580c27a7e55afe3a54827e471cc5e845..6a1bc0874ca0d07a2fcb98f3a8d1fff4625a35f0 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -388,6 +388,7 @@ public class ItemEntity extends Entity { +@@ -386,6 +386,7 @@ public class ItemEntity extends Entity { // CraftBukkit start - fire PlayerPickupItemEvent int canHold = player.getInventory().canHold(itemstack); int remaining = i - canHold; @@ -16,7 +16,7 @@ index 581725ab12f6bea1216dbf62d5cf3923d4340844..bd78031511b8c7facc3f61f3a23cbf42 if (this.pickupDelay <= 0 && canHold > 0) { itemstack.setCount(canHold); -@@ -395,8 +396,14 @@ public class ItemEntity extends Entity { +@@ -393,8 +394,14 @@ public class ItemEntity extends Entity { PlayerPickupItemEvent playerEvent = new PlayerPickupItemEvent((org.bukkit.entity.Player) player.getBukkitEntity(), (org.bukkit.entity.Item) this.getBukkitEntity(), remaining); playerEvent.setCancelled(!playerEvent.getPlayer().getCanPickupItems()); this.level.getCraftServer().getPluginManager().callEvent(playerEvent); @@ -31,7 +31,7 @@ index 581725ab12f6bea1216dbf62d5cf3923d4340844..bd78031511b8c7facc3f61f3a23cbf42 return; } -@@ -426,7 +433,11 @@ public class ItemEntity extends Entity { +@@ -424,7 +431,11 @@ public class ItemEntity extends Entity { // CraftBukkit end if (this.pickupDelay == 0 && (this.owner == null || this.owner.equals(player.getUUID())) && player.getInventory().add(itemstack)) { diff --git a/patches/unapplied/server/0139-PlayerAttemptPickupItemEvent.patch b/patches/server/0139-PlayerAttemptPickupItemEvent.patch similarity index 88% rename from patches/unapplied/server/0139-PlayerAttemptPickupItemEvent.patch rename to patches/server/0139-PlayerAttemptPickupItemEvent.patch index deec8f3a7d..ff3ac64292 100644 --- a/patches/unapplied/server/0139-PlayerAttemptPickupItemEvent.patch +++ b/patches/server/0139-PlayerAttemptPickupItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerAttemptPickupItemEvent diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index bd78031511b8c7facc3f61f3a23cbf4264fa2d0c..6ecab1dd5932c4c346cde987cb9463b00a32d385 100644 +index 6a1bc0874ca0d07a2fcb98f3a8d1fff4625a35f0..42b056d58146991b86de0690fce595716ee5455b 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -36,6 +36,7 @@ import net.minecraft.util.Mth; +@@ -34,6 +34,7 @@ import net.minecraft.util.Mth; import org.bukkit.event.entity.EntityPickupItemEvent; import org.bukkit.event.player.PlayerPickupItemEvent; // CraftBukkit end @@ -16,7 +16,7 @@ index bd78031511b8c7facc3f61f3a23cbf4264fa2d0c..6ecab1dd5932c4c346cde987cb9463b0 public class ItemEntity extends Entity { -@@ -390,6 +391,22 @@ public class ItemEntity extends Entity { +@@ -388,6 +389,22 @@ public class ItemEntity extends Entity { int remaining = i - canHold; boolean flyAtPlayer = false; // Paper diff --git a/patches/unapplied/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch similarity index 95% rename from patches/unapplied/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch rename to patches/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch index dd092f4eee..f8618a2bbb 100644 --- a/patches/unapplied/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0140-Do-not-submit-profile-lookups-to-worldgen-threads.patch @@ -10,7 +10,7 @@ out due to a sync load, as the worldgen threads will be stalling on profile lookups. diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 168ab805ecc48dd55db90eb7fe1c56fda3f2776c..336a26733b5bf73455f8ec10347c1e08b8e866f7 100644 +index 4423140df56e64527db470ada17a117656b93114..c085ed233eb4d1f2100ec23a77447ef799ecdf1f 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -81,6 +81,22 @@ public class Util { @@ -50,10 +50,10 @@ index 58e923f4ef1980bc7fff1e3b3fcdaad8c4eded53..4038bb76339d43f18770624bd7fecc79 }, this.executor).whenCompleteAsync((optional, throwable) -> { consumer.accept(optional); diff --git a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java -index 0c7e29b589ab106013d979a20edc415b4b32a677..c5d5d90d10b30f30d1262367b3d75df43fbdb231 100644 +index 8fa6b788c4c330ad50e9833bbf7082da540b109c..91fb6678214d5f23b33d5d3b65a29fdfbb003c58 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SkullBlockEntity.java -@@ -120,7 +120,7 @@ public class SkullBlockEntity extends BlockEntity { +@@ -137,7 +137,7 @@ public class SkullBlockEntity extends BlockEntity { public static void updateGameprofile(@Nullable GameProfile owner, Consumer callback) { if (owner != null && !StringUtil.isNullOrEmpty(owner.getName()) && (!owner.isComplete() || !owner.getProperties().containsKey("textures")) && profileCache != null && sessionService != null) { profileCache.getAsync(owner.getName(), (profile) -> { diff --git a/patches/unapplied/server/0141-Add-UnknownCommandEvent.patch b/patches/server/0141-Add-UnknownCommandEvent.patch similarity index 87% rename from patches/unapplied/server/0141-Add-UnknownCommandEvent.patch rename to patches/server/0141-Add-UnknownCommandEvent.patch index 6ce95d0001..8d8c45d1f2 100644 --- a/patches/unapplied/server/0141-Add-UnknownCommandEvent.patch +++ b/patches/server/0141-Add-UnknownCommandEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnknownCommandEvent diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index eb7dd4143f545ab93e55ffac7f3322ce676dfb92..75b9d496860d7f3a9d5f680cbdfe89860286522e 100644 +index 565f9d18b529974c53e6aa8cefa5fc01ad7ad0fd..19386ae876637051f42567acc5749dc13b5e71f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -892,7 +892,13 @@ public final class CraftServer implements Server { +@@ -905,7 +905,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/unapplied/server/0142-Basic-PlayerProfile-API.patch b/patches/server/0142-Basic-PlayerProfile-API.patch similarity index 98% rename from patches/unapplied/server/0142-Basic-PlayerProfile-API.patch rename to patches/server/0142-Basic-PlayerProfile-API.patch index 3d07dffe7d..853b140025 100644 --- a/patches/unapplied/server/0142-Basic-PlayerProfile-API.patch +++ b/patches/server/0142-Basic-PlayerProfile-API.patch @@ -596,10 +596,10 @@ index cf3e083c2ada3275a52c303de16a62576696e83f..b19850ae31f6c796cb3491dd5070d28e * Calculates distance between 2 entities * @param e1 diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 45db9f1b1d19319e7f92bd4e61be9ea9b06dd5e5..151b13e257c09fc5c4bbccfc388b15ad76133909 100644 +index e600563a9d2ddbfa37c106481decb13e67f71524..7c1ad1e39c3b3dfd476133ef4d938187b7a11f09 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java -@@ -155,7 +155,7 @@ public class Main { +@@ -158,7 +158,7 @@ public class Main { } File file = (File) optionset.valueOf("universe"); // CraftBukkit @@ -631,10 +631,10 @@ index 4038bb76339d43f18770624bd7fecc79b8d7f2a9..2456edc11b29a92b1648937cd3dd6a9a String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 75b9d496860d7f3a9d5f680cbdfe89860286522e..7013b11fc0cd5fbb5a7e62be45d84d54d3052237 100644 +index 19386ae876637051f42567acc5749dc13b5e71f6..2e00f77ce6bbc84551cd74acfc77c113991e83a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -244,6 +244,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -257,6 +257,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -644,7 +644,7 @@ index 75b9d496860d7f3a9d5f680cbdfe89860286522e..7013b11fc0cd5fbb5a7e62be45d84d54 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -284,6 +287,7 @@ public final class CraftServer implements Server { +@@ -297,6 +300,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -652,7 +652,7 @@ index 75b9d496860d7f3a9d5f680cbdfe89860286522e..7013b11fc0cd5fbb5a7e62be45d84d54 CraftItemFactory.instance(); } -@@ -2596,5 +2600,37 @@ public final class CraftServer implements Server { +@@ -2620,5 +2624,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/unapplied/server/0143-Shoulder-Entities-Release-API.patch b/patches/server/0143-Shoulder-Entities-Release-API.patch similarity index 96% rename from patches/unapplied/server/0143-Shoulder-Entities-Release-API.patch rename to patches/server/0143-Shoulder-Entities-Release-API.patch index a3d3d1608d..ba498b66ee 100644 --- a/patches/unapplied/server/0143-Shoulder-Entities-Release-API.patch +++ b/patches/server/0143-Shoulder-Entities-Release-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Shoulder Entities Release API diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index d68ad0bc89565d207f46b106bacce8e6efc890dc..2fd52878415fca31d053d8d83a53748e8743e352 100644 +index a07ca7eca7ca38c47ae2c23f048c02a7869197aa..05b32ac76dbc3c0a16380cab82415dac6aff25de 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -2036,20 +2036,44 @@ public abstract class Player extends LivingEntity { +@@ -2008,20 +2008,44 @@ public abstract class Player extends LivingEntity { } diff --git a/patches/unapplied/server/0144-Profile-Lookup-Events.patch b/patches/server/0144-Profile-Lookup-Events.patch similarity index 100% rename from patches/unapplied/server/0144-Profile-Lookup-Events.patch rename to patches/server/0144-Profile-Lookup-Events.patch diff --git a/patches/unapplied/server/0145-Block-player-logins-during-server-shutdown.patch b/patches/server/0145-Block-player-logins-during-server-shutdown.patch similarity index 85% rename from patches/unapplied/server/0145-Block-player-logins-during-server-shutdown.patch rename to patches/server/0145-Block-player-logins-during-server-shutdown.patch index 7078c56d25..44f91d0f0d 100644 --- a/patches/unapplied/server/0145-Block-player-logins-during-server-shutdown.patch +++ b/patches/server/0145-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 9011b43dbf28f1f19809c1b45898b727d679c12f..187692ea25983195a0fe14a7dc070fd33acb0037 100644 +index d14b7265a075f883f39d078b0d57bccdd7b3ff41..0d55dc89e4577fb6804e08281aaa12ac783bbbe0 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -76,6 +76,12 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -71,6 +71,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void tick() { diff --git a/patches/unapplied/server/0146-Entity-fromMobSpawner.patch b/patches/server/0146-Entity-fromMobSpawner.patch similarity index 84% rename from patches/unapplied/server/0146-Entity-fromMobSpawner.patch rename to patches/server/0146-Entity-fromMobSpawner.patch index 6d7a58942f..7e2129fe2d 100644 --- a/patches/unapplied/server/0146-Entity-fromMobSpawner.patch +++ b/patches/server/0146-Entity-fromMobSpawner.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity#fromMobSpawner() diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 58256b341aa15e946abef464453c0ffcaf55b372..36beb42ccdb348c91020502f935b3a1590a7472e 100644 +index 760596375e26b4cd73cc378758f4bf761c3352a5..66b727c533d3a2b7b5938ab9b9b7b4a76bb62966 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -380,6 +380,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -16,7 +16,7 @@ index 58256b341aa15e946abef464453c0ffcaf55b372..36beb42ccdb348c91020502f935b3a15 @javax.annotation.Nullable private org.bukkit.util.Vector origin; @javax.annotation.Nullable -@@ -2020,6 +2021,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2035,6 +2036,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -27,7 +27,7 @@ index 58256b341aa15e946abef464453c0ffcaf55b372..36beb42ccdb348c91020502f935b3a15 // Paper end return nbt; } catch (Throwable throwable) { -@@ -2159,6 +2164,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2174,6 +2179,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { this.originWorld = originWorld; origin = new org.bukkit.util.Vector(originTag.getDouble(0), originTag.getDouble(1), originTag.getDouble(2)); } @@ -37,10 +37,10 @@ index 58256b341aa15e946abef464453c0ffcaf55b372..36beb42ccdb348c91020502f935b3a15 } catch (Throwable throwable) { diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 02ee392c810d96d05f5ad27b1d75fa06dd28ee4c..d09d586fd649f5b13c1515a8b0f869c1d6033cce 100644 +index cf9a0addcbec3f78a541fad85697961ed8ec884b..6b6f81f3e9e55c1f41599ccbf65e35d79749a77d 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -159,6 +159,7 @@ public abstract class BaseSpawner { +@@ -163,6 +163,7 @@ public abstract class BaseSpawner { } // Spigot End } @@ -49,10 +49,10 @@ index 02ee392c810d96d05f5ad27b1d75fa06dd28ee4c..d09d586fd649f5b13c1515a8b0f869c1 if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { Entity vehicle = entity.getVehicle(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b9599f4f431098d63be98b5175890371103f8813..d3a8c68f5186f69432fb8af8b34b174b04368fc1 100644 +index 91c0354f554edbf2fc68748a8fbf182cd8d93de5..5199609a6eec4f3785f31091f294612d4941e71c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1260,5 +1260,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1262,5 +1262,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { //noinspection ConstantConditions return originVector.toLocation(world); } diff --git a/patches/unapplied/server/0147-Improve-the-Saddle-API-for-Horses.patch b/patches/server/0147-Improve-the-Saddle-API-for-Horses.patch similarity index 100% rename from patches/unapplied/server/0147-Improve-the-Saddle-API-for-Horses.patch rename to patches/server/0147-Improve-the-Saddle-API-for-Horses.patch diff --git a/patches/unapplied/server/0148-Implement-ensureServerConversions-API.patch b/patches/server/0148-Implement-ensureServerConversions-API.patch similarity index 87% rename from patches/unapplied/server/0148-Implement-ensureServerConversions-API.patch rename to patches/server/0148-Implement-ensureServerConversions-API.patch index f98e7f543c..544d1ccc7a 100644 --- a/patches/unapplied/server/0148-Implement-ensureServerConversions-API.patch +++ b/patches/server/0148-Implement-ensureServerConversions-API.patch @@ -7,10 +7,10 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index a06f9775a43a245380edabde63e7999082e7958a..5f83838f3f40b778088187904b747abff703c3f2 100644 +index 881ba2026976c1304a6cada9dab22f8ca7b39899..7d8ba88706edf6634f134de58e255fce26a152ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -386,5 +386,11 @@ public final class CraftItemFactory implements ItemFactory { +@@ -411,5 +411,11 @@ public final class CraftItemFactory implements ItemFactory { public net.kyori.adventure.text.@org.jetbrains.annotations.NotNull Component displayName(@org.jetbrains.annotations.NotNull ItemStack itemStack) { return io.papermc.paper.adventure.PaperAdventure.asAdventure(CraftItemStack.asNMSCopy(itemStack).getDisplayName()); } diff --git a/patches/unapplied/server/0149-Implement-getI18NDisplayName.patch b/patches/server/0149-Implement-getI18NDisplayName.patch similarity index 89% rename from patches/unapplied/server/0149-Implement-getI18NDisplayName.patch rename to patches/server/0149-Implement-getI18NDisplayName.patch index 7011d8a566..4b7e044231 100644 --- a/patches/unapplied/server/0149-Implement-getI18NDisplayName.patch +++ b/patches/server/0149-Implement-getI18NDisplayName.patch @@ -8,10 +8,10 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 5f83838f3f40b778088187904b747abff703c3f2..f05923a6292f02a01791627abce2770daff24b6a 100644 +index 7d8ba88706edf6634f134de58e255fce26a152ba..6cdce121f1f04e2ca23cdbdf0844aa118be5dec8 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -392,5 +392,18 @@ public final class CraftItemFactory implements ItemFactory { +@@ -417,5 +417,18 @@ public final class CraftItemFactory implements ItemFactory { public ItemStack ensureServerConversions(ItemStack item) { return CraftItemStack.asCraftMirror(CraftItemStack.asNMSCopy(item)); } diff --git a/patches/unapplied/server/0150-ProfileWhitelistVerifyEvent.patch b/patches/server/0150-ProfileWhitelistVerifyEvent.patch similarity index 93% rename from patches/unapplied/server/0150-ProfileWhitelistVerifyEvent.patch rename to patches/server/0150-ProfileWhitelistVerifyEvent.patch index 3443af2779..cef6b13bc1 100644 --- a/patches/unapplied/server/0150-ProfileWhitelistVerifyEvent.patch +++ b/patches/server/0150-ProfileWhitelistVerifyEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ProfileWhitelistVerifyEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4f47a48aad54bec10fa8d79be2e6401cd8166591..4dcc44b925ac261aaa2f4ee84e321d6c8852e835 100644 +index 07be6f1e87b62772728abd2e48af91f1bd756a2e..216ad4d729d8996bb4f5bc696fd168f65b076994 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -621,9 +621,9 @@ public abstract class PlayerList { +@@ -629,9 +629,9 @@ public abstract class PlayerList { // return chatmessage; event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure @@ -21,7 +21,7 @@ index 4f47a48aad54bec10fa8d79be2e6401cd8166591..4dcc44b925ac261aaa2f4ee84e321d6c } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) { IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); -@@ -1005,7 +1005,23 @@ public abstract class PlayerList { +@@ -1015,7 +1015,23 @@ public abstract class PlayerList { } public boolean isWhiteListed(GameProfile profile) { diff --git a/patches/unapplied/server/0151-Fix-this-stupid-bullshit.patch b/patches/server/0151-Fix-this-stupid-bullshit.patch similarity index 86% rename from patches/unapplied/server/0151-Fix-this-stupid-bullshit.patch rename to patches/server/0151-Fix-this-stupid-bullshit.patch index d4534629d8..0f00131884 100644 --- a/patches/unapplied/server/0151-Fix-this-stupid-bullshit.patch +++ b/patches/server/0151-Fix-this-stupid-bullshit.patch @@ -9,10 +9,10 @@ modified in order to prevent merge conflicts when Spigot changes/disables the wa and to provide some level of hint without being disruptive. diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java -index e359919de57f97d18667df1b2f1bf54a19a49c2f..c5822637e48fad4ca4e8cf210431b5eafbf5abb1 100644 +index b5aa358638b9d0638dfe47f7ebac04cca1dd80b9..0d3a8f576c037886ccdd6068ce953c4ce010ae2f 100644 --- a/src/main/java/net/minecraft/server/Bootstrap.java +++ b/src/main/java/net/minecraft/server/Bootstrap.java -@@ -46,7 +46,7 @@ public class Bootstrap { +@@ -40,7 +40,7 @@ public class Bootstrap { public static void bootStrap() { if (!Bootstrap.isBootstrapped) { // CraftBukkit start @@ -21,7 +21,7 @@ index e359919de57f97d18667df1b2f1bf54a19a49c2f..c5822637e48fad4ca4e8cf210431b5ea switch (name) { case "DispenserRegistry": break; -@@ -60,7 +60,7 @@ public class Bootstrap { +@@ -54,7 +54,7 @@ public class Bootstrap { System.err.println("*** WARNING: This server jar is unsupported, use at your own risk. ***"); System.err.println("**********************************************************************"); break; @@ -29,14 +29,14 @@ index e359919de57f97d18667df1b2f1bf54a19a49c2f..c5822637e48fad4ca4e8cf210431b5ea + }*/ // Paper // CraftBukkit end Bootstrap.isBootstrapped = true; - if (Registry.REGISTRY.keySet().isEmpty()) { + if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 5cae8fdd1ad63f49580d69a8c337ae22c0923c5c..d7d2618bed5188c6e6cc4db6669f3842d0bfff0c 100644 +index be564acab5459313bd7c76c0f128f7e4b620fcdc..d4f6d7fee1012adaef516f283ef8d12b5804af46 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -241,10 +241,12 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -28); + deadline.add(Calendar.DAY_OF_YEAR, -3); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/patches/unapplied/server/0152-LivingEntity-setKiller.patch b/patches/server/0152-LivingEntity-setKiller.patch similarity index 100% rename from patches/unapplied/server/0152-LivingEntity-setKiller.patch rename to patches/server/0152-LivingEntity-setKiller.patch diff --git a/patches/unapplied/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch b/patches/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 90% rename from patches/unapplied/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to patches/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch index 884de65442..eeea627ee3 100644 --- a/patches/unapplied/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch +++ b/patches/server/0153-Ocelot-despawns-should-honor-nametags-and-leash.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ocelot despawns should honor nametags and leash diff --git a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java -index 4b9e3729279f3bfabab4227c511c4bf89488ff8c..6a459435493295ee5bb44fe2ba79cba6acea2e35 100644 +index 49cd7fea60d3d962e88a1380608e1b7174d44c28..5ad029e3c1eaeae33784b55d04181cdd119ef8c0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Ocelot.java +++ b/src/main/java/net/minecraft/world/entity/animal/Ocelot.java @@ -133,7 +133,7 @@ public class Ocelot extends Animal { diff --git a/patches/unapplied/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 84% rename from patches/unapplied/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to patches/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch index 15e9c22822..60b98d70d9 100644 --- a/patches/unapplied/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch +++ b/patches/server/0154-Reset-spawner-timer-when-spawner-event-is-cancelled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset spawner timer when spawner event is cancelled diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index d09d586fd649f5b13c1515a8b0f869c1d6033cce..796e3bde04a118076ea004b0d58fd25641a7611e 100644 +index 6b6f81f3e9e55c1f41599ccbf65e35d79749a77d..e9e0286083337ccd027e01ec80125fc69550ad07 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -160,6 +160,7 @@ public abstract class BaseSpawner { +@@ -164,6 +164,7 @@ public abstract class BaseSpawner { // Spigot End } entity.spawnedViaMobSpawner = true; // Paper @@ -16,7 +16,7 @@ index d09d586fd649f5b13c1515a8b0f869c1d6033cce..796e3bde04a118076ea004b0d58fd256 // Spigot Start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { Entity vehicle = entity.getVehicle(); -@@ -184,7 +185,7 @@ public abstract class BaseSpawner { +@@ -188,7 +189,7 @@ public abstract class BaseSpawner { ((Mob) entity).spawnAnim(); } diff --git a/patches/unapplied/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 87% rename from patches/unapplied/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch rename to patches/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch index 16938cef68..dbab45944c 100644 --- a/patches/unapplied/server/0155-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/patches/server/0155-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 187692ea25983195a0fe14a7dc070fd33acb0037..1cbcee5b2cebe9f2c2ede3d7628ace6452a480f0 100644 +index 0d55dc89e4577fb6804e08281aaa12ac783bbbe0..9cbd0174ca4cd4a74a04295d34217c1581ca3912 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 TickablePacketListener, Se +@@ -294,7 +294,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.this.gameProfile = gameprofile; ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT; } else { diff --git a/patches/unapplied/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 94% rename from patches/unapplied/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to patches/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch index 24e5ff4f30..c66caac139 100644 --- a/patches/unapplied/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/0156-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/build.gradle.kts b/build.gradle.kts -index d4141a24cb5ba20e8c53c85206b32120ff18eb48..a57fad0a75fe18f70d3dd6cd5c6a2ab90eb0498d 100644 +index 8407beb0c47660f7d310d27f3a47120b80c5b189..8f8e6dea5f5f2a537a753efcc38484e3cd6a888f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -17,7 +17,7 @@ dependencies { @@ -25,10 +25,10 @@ index d4141a24cb5ba20e8c53c85206b32120ff18eb48..a57fad0a75fe18f70d3dd6cd5c6a2ab9 - runtimeOnly("org.apache.logging.log4j:log4j-core:2.14.1") + implementation("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - implementation // Paper end - implementation("org.apache.logging.log4j:log4j-iostreams:2.17.1") // Paper + implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion implementation("org.ow2.asm:asm:9.3") diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index 051d7c7fc5796ad056ae1ba5e5e630fde8794108..c2e3d32e51902503af88f089e366e784f42d999a 100644 +index 0a0aa6de31a94a701074cc5f43c94be7515a185c..489ce6f439778b26eb33ede9432681d4bf9e0116 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -290,7 +290,7 @@ public class SpigotConfig diff --git a/patches/unapplied/server/0157-Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/0157-Improve-Log4J-Configuration-Plugin-Loggers.patch similarity index 100% rename from patches/unapplied/server/0157-Improve-Log4J-Configuration-Plugin-Loggers.patch rename to patches/server/0157-Improve-Log4J-Configuration-Plugin-Loggers.patch diff --git a/patches/unapplied/server/0158-Add-PlayerJumpEvent.patch b/patches/server/0158-Add-PlayerJumpEvent.patch similarity index 94% rename from patches/unapplied/server/0158-Add-PlayerJumpEvent.patch rename to patches/server/0158-Add-PlayerJumpEvent.patch index cd95c754d9..4e519fc404 100644 --- a/patches/unapplied/server/0158-Add-PlayerJumpEvent.patch +++ b/patches/server/0158-Add-PlayerJumpEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add PlayerJumpEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5a8008b507b93768526184ddaca170bccb67f92a..4f677103cdbda994355924ebeb822009a97345cd 100644 +index ca894b92215f431a31b69ee2910ce023177f3e6e..f4f7d9947edc35e02739adc06a8f3c3c2a431771 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1293,7 +1293,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1285,7 +1285,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean flag = d8 > 0.0D; if (this.player.isOnGround() && !packet.isOnGround() && flag) { diff --git a/patches/unapplied/server/0159-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch similarity index 92% rename from patches/unapplied/server/0159-handle-ServerboundKeepAlivePacket-async.patch rename to patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch index 9af5e6da46..66b78853d3 100644 --- a/patches/unapplied/server/0159-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0159-handle-ServerboundKeepAlivePacket-async.patch @@ -15,10 +15,10 @@ also adding some additional logging in order to help work out what is causing random disconnections for clients. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4f677103cdbda994355924ebeb822009a97345cd..66668dbd2a26f566b3a965921de25a1998fbcd53 100644 +index f4f7d9947edc35e02739adc06a8f3c3c2a431771..f774583cce32d70f32ed7dd0ec1b45b8f00b029a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3242,14 +3242,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3122,14 +3122,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/unapplied/server/0160-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch similarity index 96% rename from patches/unapplied/server/0160-Expose-client-protocol-version-and-virtual-host.patch rename to patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch index 8d6805f9b5..55365ed44a 100644 --- a/patches/unapplied/server/0160-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0160-Expose-client-protocol-version-and-virtual-host.patch @@ -90,10 +90,10 @@ index 8284d49c8e30645d00be952c847bab7ce5753d78..a738b79e775a0a4abed1a05e12495d85 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 87c8e494aa374b8bfb8b8432723783b00ba94763..6dd5deecd404a3b9858e63da6837caf2d5d382f0 100644 +index 98d8585a8bc2acbb8d98c73e3aca404f0ebe66d3..70e5ef461f02e6aa8a73363753687d0cf5e7c4fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -299,6 +299,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -301,6 +301,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } diff --git a/patches/unapplied/server/0161-revert-serverside-behavior-of-keepalives.patch b/patches/server/0161-revert-serverside-behavior-of-keepalives.patch similarity index 91% rename from patches/unapplied/server/0161-revert-serverside-behavior-of-keepalives.patch rename to patches/server/0161-revert-serverside-behavior-of-keepalives.patch index 425fb975b0..94afb41c3e 100644 --- a/patches/unapplied/server/0161-revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/0161-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/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 66668dbd2a26f566b3a965921de25a1998fbcd53..f1e3955625e3ae3e4b47cd53d3af7ec70892add6 100644 +index f774583cce32d70f32ed7dd0ec1b45b8f00b029a..0e4691ab7ad4459282398e4c2160df4e442fdcb4 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -256,7 +256,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -255,7 +255,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public ServerPlayer player; private int tickCount; private int ackBlockChangesUpTo = -1; @@ -30,14 +30,14 @@ index 66668dbd2a26f566b3a965921de25a1998fbcd53..f1e3955625e3ae3e4b47cd53d3af7ec7 private long keepAliveChallenge; // CraftBukkit start - multithreaded fields @@ -293,6 +293,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - private final SignedMessageChain.Decoder signedMessageDecoder; - private final LastSeenMessagesValidator lastSeenMessagesValidator; + private final LastSeenMessagesValidator lastSeenMessages; + private final MessageSignatureCache messageSignatureCache; private final FutureChain chatMessageChain; + private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); -@@ -391,18 +392,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -384,18 +385,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } this.server.getProfiler().push("keepAlive"); diff --git a/patches/unapplied/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/patches/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 92% rename from patches/unapplied/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to patches/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch index 6b46f91298..8c6b776284 100644 --- a/patches/unapplied/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/patches/server/0162-Send-attack-SoundEffects-only-to-players-who-can-see.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Send attack SoundEffects only to players who can see the diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 2fd52878415fca31d053d8d83a53748e8743e352..0dc19e4701b35e94e94f07d261b3dbbdf9567d7b 100644 +index 05b32ac76dbc3c0a16380cab82415dac6aff25de..acd84748204bad0dbfc59fbd516f873e0aa16a40 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1246,7 +1246,7 @@ public abstract class Player extends LivingEntity { +@@ -1228,7 +1228,7 @@ public abstract class Player extends LivingEntity { int i = b0 + EnchantmentHelper.getKnockbackBonus(this); if (this.isSprinting() && flag) { @@ -18,7 +18,7 @@ index 2fd52878415fca31d053d8d83a53748e8743e352..0dc19e4701b35e94e94f07d261b3dbbd ++i; flag1 = true; } -@@ -1321,7 +1321,7 @@ public abstract class Player extends LivingEntity { +@@ -1303,7 +1303,7 @@ public abstract class Player extends LivingEntity { } } @@ -27,7 +27,7 @@ index 2fd52878415fca31d053d8d83a53748e8743e352..0dc19e4701b35e94e94f07d261b3dbbd this.sweepAttack(); } -@@ -1349,15 +1349,15 @@ public abstract class Player extends LivingEntity { +@@ -1331,15 +1331,15 @@ public abstract class Player extends LivingEntity { } if (flag2) { @@ -46,7 +46,7 @@ index 2fd52878415fca31d053d8d83a53748e8743e352..0dc19e4701b35e94e94f07d261b3dbbd } } -@@ -1409,7 +1409,7 @@ public abstract class Player extends LivingEntity { +@@ -1391,7 +1391,7 @@ public abstract class Player extends LivingEntity { this.causeFoodExhaustion(level.spigotConfig.combatExhaustion, EntityExhaustionEvent.ExhaustionReason.ATTACK); // CraftBukkit - EntityExhaustionEvent // Spigot - Change to use configurable value } else { @@ -55,7 +55,7 @@ index 2fd52878415fca31d053d8d83a53748e8743e352..0dc19e4701b35e94e94f07d261b3dbbd if (flag4) { target.clearFire(); } -@@ -1871,6 +1871,14 @@ public abstract class Player extends LivingEntity { +@@ -1843,6 +1843,14 @@ public abstract class Player extends LivingEntity { public int getXpNeededForNextLevel() { return this.experienceLevel >= 30 ? 112 + (this.experienceLevel - 30) * 9 : (this.experienceLevel >= 15 ? 37 + (this.experienceLevel - 15) * 5 : 7 + this.experienceLevel * 2); } diff --git a/patches/unapplied/server/0163-Add-PlayerArmorChangeEvent.patch b/patches/server/0163-Add-PlayerArmorChangeEvent.patch similarity index 87% rename from patches/unapplied/server/0163-Add-PlayerArmorChangeEvent.patch rename to patches/server/0163-Add-PlayerArmorChangeEvent.patch index 3cd03ac998..877cab1622 100644 --- a/patches/unapplied/server/0163-Add-PlayerArmorChangeEvent.patch +++ b/patches/server/0163-Add-PlayerArmorChangeEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerArmorChangeEvent diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 6295c89211ba86c10009775f4d399f597d240fd0..e49803f36ffea3329a67542882ee58e4762a08e5 100644 +index b6aaebb5359c8162359b377b3485c3fcf91587e1..6d599fb38607cf841eef6d48bcaad81b378f667e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1,5 +1,6 @@ @@ -15,10 +15,10 @@ index 6295c89211ba86c10009775f4d399f597d240fd0..e49803f36ffea3329a67542882ee58e4 import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -@@ -3002,6 +3003,13 @@ public abstract class LivingEntity extends Entity { +@@ -3019,6 +3020,13 @@ public abstract class LivingEntity extends Entity { ItemStack itemstack1 = this.getItemBySlot(enumitemslot); - if (!ItemStack.matches(itemstack1, itemstack)) { + if (this.equipmentHasChanged(itemstack, itemstack1)) { + // Paper start - PlayerArmorChangeEvent + if (this instanceof ServerPlayer && enumitemslot.getType() == EquipmentSlot.Type.ARMOR) { + final org.bukkit.inventory.ItemStack oldItem = CraftItemStack.asBukkitCopy(itemstack); diff --git a/patches/unapplied/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 85% rename from patches/unapplied/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch rename to patches/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch index b778301bcf..ea3917b242 100644 --- a/patches/unapplied/server/0164-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/patches/server/0164-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 1cbcee5b2cebe9f2c2ede3d7628ace6452a480f0..07784c0e6eea2a4a91f1453e937e14a4a1faedf5 100644 +index 9cbd0174ca4cd4a74a04295d34217c1581ca3912..b2a7fc9bc4a168304f83411559558e3a218934a4 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -83,7 +83,11 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -78,7 +78,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } // Paper end if (this.state == ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT) { diff --git a/patches/unapplied/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 88% rename from patches/unapplied/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to patches/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch index 9eb1924bd9..0eee9ed024 100644 --- a/patches/unapplied/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch +++ b/patches/server/0165-Fix-MC-117075-TE-Unload-Lag-Spike.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix MC-117075: TE Unload Lag Spike diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1954a93a1f566c1c79cdc2e0eb1b41141d6b5fde..6cc047624746d33ed971ec2dc8f64490bdcaeea8 100644 +index 6a5ede377a2e5e7c39ebf6db6708b4f234f96dc7..f39d927df5997cb0dd3d8c677a10099afa84da09 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -696,6 +696,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -721,6 +721,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // Spigot start // Iterator iterator = this.blockEntityTickers.iterator(); int tilesThisCycle = 0; @@ -17,7 +17,7 @@ index 1954a93a1f566c1c79cdc2e0eb1b41141d6b5fde..6cc047624746d33ed971ec2dc8f64490 for (tileTickPosition = 0; tileTickPosition < this.blockEntityTickers.size(); tileTickPosition++) { // Paper - Disable tick limiters this.tileTickPosition = (this.tileTickPosition < this.blockEntityTickers.size()) ? this.tileTickPosition : 0; TickingBlockEntity tickingblockentity = (TickingBlockEntity) this.blockEntityTickers.get(tileTickPosition); -@@ -703,7 +705,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -728,7 +730,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { if (tickingblockentity == null) { this.getCraftServer().getLogger().severe("Spigot has detected a null entity and has removed it, preventing a crash"); tilesThisCycle--; @@ -25,7 +25,7 @@ index 1954a93a1f566c1c79cdc2e0eb1b41141d6b5fde..6cc047624746d33ed971ec2dc8f64490 continue; } // Spigot end -@@ -711,12 +712,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -736,12 +737,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { if (tickingblockentity.isRemoved()) { // Spigot start tilesThisCycle--; diff --git a/patches/unapplied/server/0166-use-CB-BlockState-implementations-for-captured-block.patch b/patches/server/0166-use-CB-BlockState-implementations-for-captured-block.patch similarity index 91% rename from patches/unapplied/server/0166-use-CB-BlockState-implementations-for-captured-block.patch rename to patches/server/0166-use-CB-BlockState-implementations-for-captured-block.patch index 537d6aebf6..d61a1df2a3 100644 --- a/patches/unapplied/server/0166-use-CB-BlockState-implementations-for-captured-block.patch +++ b/patches/server/0166-use-CB-BlockState-implementations-for-captured-block.patch @@ -18,10 +18,10 @@ the blockstate that will be valid for restoration, as opposed to dropping information on restoration when the event is cancelled. diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 6cc047624746d33ed971ec2dc8f64490bdcaeea8..e11e3ee5a11ebed7a1550da14c3c5c54962e4fdf 100644 +index f39d927df5997cb0dd3d8c677a10099afa84da09..995278298b7feb61255cd8c1fea396ed0850099e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -148,7 +148,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -151,7 +151,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean preventPoiUpdated = false; // CraftBukkit - SPIGOT-5710 public boolean captureBlockStates = false; public boolean captureTreeGeneration = false; @@ -30,7 +30,7 @@ index 6cc047624746d33ed971ec2dc8f64490bdcaeea8..e11e3ee5a11ebed7a1550da14c3c5c54 public Map capturedTileEntities = new HashMap<>(); public List captureDrops; public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>(); -@@ -376,7 +376,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -379,7 +379,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public boolean setBlock(BlockPos pos, BlockState state, int flags, int maxUpdateDepth) { // CraftBukkit start - tree generation if (this.captureTreeGeneration) { @@ -39,7 +39,7 @@ index 6cc047624746d33ed971ec2dc8f64490bdcaeea8..e11e3ee5a11ebed7a1550da14c3c5c54 if (blockstate == null) { blockstate = CapturedBlockState.getTreeBlockState(this, pos, flags); this.capturedBlockStates.put(pos.immutable(), blockstate); -@@ -396,7 +396,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -399,7 +399,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { // CraftBukkit start - capture blockstates boolean captured = false; if (this.captureBlockStates && !this.capturedBlockStates.containsKey(pos)) { @@ -49,7 +49,7 @@ index 6cc047624746d33ed971ec2dc8f64490bdcaeea8..e11e3ee5a11ebed7a1550da14c3c5c54 this.capturedBlockStates.put(pos.immutable(), blockstate); captured = true; } -@@ -608,7 +609,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -611,7 +612,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public BlockState getBlockState(BlockPos pos) { // CraftBukkit start - tree generation if (this.captureTreeGeneration) { diff --git a/patches/unapplied/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 94% rename from patches/unapplied/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch rename to patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch index c2d8befb3f..53edd2717b 100644 --- a/patches/unapplied/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0167-API-to-get-a-BlockState-without-a-snapshot.patch @@ -13,7 +13,7 @@ also Avoid NPE during CraftBlockEntityState load if could not get TE If Tile Entity was null, correct Sign to return empty lines instead of null diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 148e79ae4e24fe16dbbb17550c3f258d4362c266..06beb18e5e1950aeb6cb427876fcc4c5ea95adb2 100644 +index b701a1344db066b9368841f2377ee493514bf282..5768ff2c3e15c038d132c7ad391332fb36251871 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -45,6 +45,7 @@ public abstract class BlockEntity { @@ -51,10 +51,10 @@ index 148e79ae4e24fe16dbbb17550c3f258d4362c266..06beb18e5e1950aeb6cb427876fcc4c5 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 52fc42050d5df0882586c8f4bb4890ef1dbf979e..ba8f9ffed49bf377be8b37532d4f2bdcb8c44d82 100644 +index 14e1c7c40761b1bd8123b4b351d5d77d7c1c52c2..13da02b84d7e748d61fdf5db01d92a8d8cd5c799 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -329,6 +329,13 @@ public class CraftBlock implements Block { +@@ -331,6 +331,13 @@ public class CraftBlock implements Block { return CraftBlockStates.getBlockState(this); } @@ -114,10 +114,10 @@ index 7629a51ec284cab0db7e9238027d6acfa4f3083c..a76cce199acdcecfdd8b998ec08974c2 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -index 521d981e72955b1e2c96427882e336b034456678..e609cfeaf5aa6807f57360dde9b0dccf40a23eb1 100644 +index 55cf35ec1bd867ae8106d00c101fd4797b6e9919..812eb8c75bf5308a3a0771a1faabdb22a3d80c28 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlockStates.java -@@ -336,15 +336,30 @@ public final class CraftBlockStates { +@@ -368,15 +368,30 @@ public final class CraftBlockStates { } public static BlockState getBlockState(Block block) { diff --git a/patches/unapplied/server/0168-AsyncTabCompleteEvent.patch b/patches/server/0168-AsyncTabCompleteEvent.patch similarity index 96% rename from patches/unapplied/server/0168-AsyncTabCompleteEvent.patch rename to patches/server/0168-AsyncTabCompleteEvent.patch index f9b2c3eb16..cb5ff80516 100644 --- a/patches/unapplied/server/0168-AsyncTabCompleteEvent.patch +++ b/patches/server/0168-AsyncTabCompleteEvent.patch @@ -16,10 +16,10 @@ Also adds isCommand and getLocation to the sync TabCompleteEvent Co-authored-by: Aikar diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index f1e3955625e3ae3e4b47cd53d3af7ec70892add6..b7d700c85d3a8c92e6c3cdd3d266f20f90fb8da8 100644 +index 0e4691ab7ad4459282398e4c2160df4e442fdcb4..d30876c2a7f3871fb4c035d9cbe920f18ac7b05e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -784,12 +784,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -776,12 +776,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } @@ -38,7 +38,7 @@ index f1e3955625e3ae3e4b47cd53d3af7ec70892add6..b7d700c85d3a8c92e6c3cdd3d266f20f return; } // Paper start -@@ -800,18 +804,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -792,18 +796,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } // Paper end // CraftBukkit end @@ -49,6 +49,12 @@ index f1e3955625e3ae3e4b47cd53d3af7ec70892add6..b7d700c85d3a8c92e6c3cdd3d266f20f if (stringreader.canRead() && stringreader.peek() == '/') { stringreader.skip(); } +- +- ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); +- +- this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { +- if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer +- this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); + final String command = packet.getCommand(); + final com.destroystokyo.paper.event.server.AsyncTabCompleteEvent event = new com.destroystokyo.paper.event.server.AsyncTabCompleteEvent(this.getCraftPlayer(), command, true, null); + event.callEvent(); @@ -56,14 +62,10 @@ index f1e3955625e3ae3e4b47cd53d3af7ec70892add6..b7d700c85d3a8c92e6c3cdd3d266f20f + // If the event isn't handled, we can assume that we have no completions, and so we'll ask the server + if (!event.isHandled()) { + if (!event.isCancelled()) { - -- ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); ++ + this.server.scheduleOnMain(() -> { // This needs to be on main + ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); - -- this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { -- if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer -- this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); ++ + this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { + if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer + this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); @@ -89,10 +91,10 @@ index f1e3955625e3ae3e4b47cd53d3af7ec70892add6..b7d700c85d3a8c92e6c3cdd3d266f20f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7013b11fc0cd5fbb5a7e62be45d84d54d3052237..bbf9550e7a7c78e961160ef09466e5f962172b6c 100644 +index 2e00f77ce6bbc84551cd74acfc77c113991e83a0..e424a7027e6e4ee981abeb8880e30b8b83a75e99 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2086,7 +2086,7 @@ public final class CraftServer implements Server { +@@ -2110,7 +2110,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/unapplied/server/0169-PlayerPickupExperienceEvent.patch b/patches/server/0169-PlayerPickupExperienceEvent.patch similarity index 87% rename from patches/unapplied/server/0169-PlayerPickupExperienceEvent.patch rename to patches/server/0169-PlayerPickupExperienceEvent.patch index 4076248476..39c1192294 100644 --- a/patches/unapplied/server/0169-PlayerPickupExperienceEvent.patch +++ b/patches/server/0169-PlayerPickupExperienceEvent.patch @@ -6,10 +6,10 @@ Subject: [PATCH] PlayerPickupExperienceEvent Allows plugins to cancel a player picking up an experience orb diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index 0c19aa68dc444373bf1a9bd3b349d12df7d8dd9d..2fead19c1c4b04f94999887b196ceaee025edd99 100644 +index 2ba92563f95e2899db29bf9b017e1b385a5bda3c..cc3c1d6b76f66cd0f511c5fd57ffa606eba0d387 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -@@ -303,7 +303,7 @@ public class ExperienceOrb extends Entity { +@@ -304,7 +304,7 @@ public class ExperienceOrb extends Entity { @Override public void playerTouch(Player player) { if (!this.level.isClientSide) { diff --git a/patches/unapplied/server/0170-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch similarity index 94% rename from patches/unapplied/server/0170-Ability-to-apply-mending-to-XP-API.patch rename to patches/server/0170-Ability-to-apply-mending-to-XP-API.patch index 53b9326bd8..78ecc075c2 100644 --- a/patches/unapplied/server/0170-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0170-Ability-to-apply-mending-to-XP-API.patch @@ -14,10 +14,10 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6dd5deecd404a3b9858e63da6837caf2d5d382f0..a08c03bb984d27ded2979353f207693fb79d4256 100644 +index 70e5ef461f02e6aa8a73363753687d0cf5e7c4fb..865ba836d8a62fa08786e41f8434eb322885e965 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1444,7 +1444,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1446,7 +1446,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/unapplied/server/0171-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0171-PlayerNaturallySpawnCreaturesEvent.patch similarity index 85% rename from patches/unapplied/server/0171-PlayerNaturallySpawnCreaturesEvent.patch rename to patches/server/0171-PlayerNaturallySpawnCreaturesEvent.patch index 1a31656ac4..efa1b7fa0a 100644 --- a/patches/unapplied/server/0171-PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/0171-PlayerNaturallySpawnCreaturesEvent.patch @@ -9,10 +9,10 @@ from triggering monster spawns on a server. Also a highly more effecient way to blanket block spawns in a world diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index f69a4df520760fe9e849eb61512f410b82d7a034..236e0f8cc271d1ca1a2cb64e333d59de1cb953ea 100644 +index 159269d15c95261bddd410e337132c67d13c273c..c6706c3d7841869134be89dd09ea723820d306a2 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -680,7 +680,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -692,7 +692,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider chunkRange = (chunkRange > level.spigotConfig.viewDistance) ? (byte) level.spigotConfig.viewDistance : chunkRange; chunkRange = (chunkRange > 8) ? 8 : chunkRange; @@ -23,7 +23,7 @@ index f69a4df520760fe9e849eb61512f410b82d7a034..236e0f8cc271d1ca1a2cb64e333d59de // Spigot end long i = chunkcoordintpair.toLong(); -@@ -697,6 +699,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -709,6 +711,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } entityplayer = (ServerPlayer) iterator.next(); @@ -40,10 +40,10 @@ index f69a4df520760fe9e849eb61512f410b82d7a034..236e0f8cc271d1ca1a2cb64e333d59de return true; diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index e63c655a9c65f0408c3d025ee4619a7923685b3c..302667d7b6dca8528e7107255feaeb6d6f837cf3 100644 +index 80d108ae7faf3fdcb024931e93032215935fe70b..c021733342c09adb04ce3f675209543f84ac4bda 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -714,6 +714,15 @@ public class ServerChunkCache extends ChunkSource { +@@ -715,6 +715,15 @@ public class ServerChunkCache extends ChunkSource { boolean flag2 = this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && !this.level.players().isEmpty(); // CraftBukkit Collections.shuffle(list); @@ -60,7 +60,7 @@ index e63c655a9c65f0408c3d025ee4619a7923685b3c..302667d7b6dca8528e7107255feaeb6d while (iterator1.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0fded4890038de77781c27565fa3c8fe60e50aac..81a0407256a3a37e8ccb136e7fd602d95106c590 100644 +index 1d04f135f33e9db68153f5db19360f30aa0113eb..6460e922056b2f349bdc9299920dc7236c4cb695 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1,5 +1,6 @@ @@ -70,11 +70,11 @@ index 0fded4890038de77781c27565fa3c8fe60e50aac..81a0407256a3a37e8ccb136e7fd602d9 import com.google.common.collect.Lists; import com.mojang.authlib.GameProfile; import com.mojang.datafixers.util.Either; -@@ -245,6 +246,7 @@ public class ServerPlayer extends Player { - public Integer clientViewDistance; - public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent +@@ -252,6 +253,7 @@ public class ServerPlayer extends Player { // CraftBukkit end -+ public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper ++ public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper + + public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { + super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/patches/unapplied/server/0172-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0172-Add-setPlayerProfile-API-for-Skulls.patch similarity index 90% rename from patches/unapplied/server/0172-Add-setPlayerProfile-API-for-Skulls.patch rename to patches/server/0172-Add-setPlayerProfile-API-for-Skulls.patch index dfcc8c3751..1168f481da 100644 --- a/patches/unapplied/server/0172-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0172-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 6ac03706a584e4cb07300cf6e34969a8c4595c58..0be71d9d06f34e9ac58da3bbef954b2786cee53b 100644 +index 5158ba8c1d03cc2ffbd576146c6f72377bf05233..060939a6720049a4fef345f228ce76517f7741a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java @@ -102,7 +102,22 @@ public class CraftSkull extends CraftBlockEntityState implemen @@ -48,10 +48,10 @@ index 6ac03706a584e4cb07300cf6e34969a8c4595c58..0be71d9d06f34e9ac58da3bbef954b27 } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 07a6bac294273c94f2f7353aa0514ced24c4a93e..92b56f16b4d8107ccf206be6b81a98dc58986c10 100644 +index 70a683529534e1f82c35350accbfeeb5ae4ceb6b..2771dd62c04c8da890724fe03f836fdeba440c55 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -@@ -143,6 +143,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -145,6 +145,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { return this.hasOwner() ? this.profile.getName() : null; } @@ -71,7 +71,7 @@ index 07a6bac294273c94f2f7353aa0514ced24c4a93e..92b56f16b4d8107ccf206be6b81a98dc @Override public OfflinePlayer getOwningPlayer() { if (this.hasOwner()) { -@@ -193,6 +206,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -195,6 +208,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { } @Override @@ -79,7 +79,7 @@ index 07a6bac294273c94f2f7353aa0514ced24c4a93e..92b56f16b4d8107ccf206be6b81a98dc public PlayerProfile getOwnerProfile() { if (!this.hasOwner()) { return null; -@@ -202,11 +216,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -204,11 +218,12 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { } @Override @@ -93,7 +93,7 @@ index 07a6bac294273c94f2f7353aa0514ced24c4a93e..92b56f16b4d8107ccf206be6b81a98dc } } -@@ -243,7 +258,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { +@@ -245,7 +260,7 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { Builder serialize(Builder builder) { super.serialize(builder); if (this.profile != null) { diff --git a/patches/unapplied/server/0173-PreCreatureSpawnEvent.patch b/patches/server/0173-PreCreatureSpawnEvent.patch similarity index 88% rename from patches/unapplied/server/0173-PreCreatureSpawnEvent.patch rename to patches/server/0173-PreCreatureSpawnEvent.patch index 0de1d52b9d..0ae3bab044 100644 --- a/patches/unapplied/server/0173-PreCreatureSpawnEvent.patch +++ b/patches/server/0173-PreCreatureSpawnEvent.patch @@ -15,10 +15,10 @@ instead and save a lot of server resources. See: https://github.com/PaperMC/Paper/issues/917 diff --git a/src/main/java/net/minecraft/util/SpawnUtil.java b/src/main/java/net/minecraft/util/SpawnUtil.java -index f4d1a3e861a8727d7f3efd75c0e83cc9418fa9bd..3fb910fadde4875c39523779ad24f381e45b6ab6 100644 +index 1b3c7b3fb869215badacdb604199d5b96f74e384..83ef8cb27db685cceb5c2b7c9674e17b93ba081c 100644 --- a/src/main/java/net/minecraft/util/SpawnUtil.java +++ b/src/main/java/net/minecraft/util/SpawnUtil.java -@@ -19,10 +19,10 @@ public class SpawnUtil { +@@ -18,10 +18,10 @@ public class SpawnUtil { public static Optional trySpawnMob(EntityType entityType, MobSpawnType reason, ServerLevel world, BlockPos pos, int tries, int horizontalRange, int verticalRange, SpawnUtil.Strategy requirements) { // CraftBukkit start @@ -31,7 +31,7 @@ index f4d1a3e861a8727d7f3efd75c0e83cc9418fa9bd..3fb910fadde4875c39523779ad24f381 // CraftBukkit end BlockPos.MutableBlockPos blockposition_mutableblockposition = blockposition.mutable(); -@@ -32,6 +32,26 @@ public class SpawnUtil { +@@ -31,6 +31,26 @@ public class SpawnUtil { blockposition_mutableblockposition.setWithOffset(blockposition, i1, k, j1); if (worldserver.getWorldBorder().isWithinBounds((BlockPos) blockposition_mutableblockposition) && SpawnUtil.moveToPossibleSpawnPosition(worldserver, k, blockposition_mutableblockposition, spawnutil_a)) { @@ -55,17 +55,17 @@ index f4d1a3e861a8727d7f3efd75c0e83cc9418fa9bd..3fb910fadde4875c39523779ad24f381 + break; + } + // Paper end - T t0 = entitytypes.create(worldserver, (CompoundTag) null, (Component) null, (Player) null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error + T t0 = entitytypes.create(worldserver, (CompoundTag) null, null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error if (t0 != null) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 2db27f5e3e3c1bb0502c055f78c4a81eb00fcf1b..fdefccfa07227f315259f636076e36a120c72917 100644 +index 2e392630d3b4b08ff8ab82b7f8b32b7fbf21570d..cb1fe497477d6850260b09dcfbf290119ff6ab49 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -347,6 +347,20 @@ public class EntityType implements EntityTypeTest { - +@@ -405,6 +405,20 @@ public class EntityType implements FeatureElement, EntityTypeT @Nullable - public T spawn(ServerLevel worldserver, @Nullable CompoundTag nbttagcompound, @Nullable Component ichatbasecomponent, @Nullable Player entityhuman, BlockPos blockposition, MobSpawnType enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { + public T spawn(ServerLevel worldserver, @Nullable CompoundTag nbttagcompound, @Nullable Consumer consumer, BlockPos blockposition, MobSpawnType enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { + // CraftBukkit end + // Paper start - Call PreCreatureSpawnEvent + org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(EntityType.getKey(this).getPath()); + if (type != null) { @@ -80,14 +80,14 @@ index 2db27f5e3e3c1bb0502c055f78c4a81eb00fcf1b..fdefccfa07227f315259f636076e36a1 + } + } + // Paper end - T t0 = this.create(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1); + T t0 = this.create(worldserver, nbttagcompound, consumer, blockposition, enummobspawn, flag, flag1); if (t0 != null) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 25cd8a4101cf44955d95924c9794c238ddde2901..f957c0aca36b7228ac3a33ca04c948b1d10642d1 100644 +index bbbb26550b0c5b36d9c7204f075aa90b79b85ff0..bc778aadb2604756b783d4d024e3154576ab3236 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java -@@ -947,7 +947,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler +@@ -951,7 +951,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler }).limit(5L).collect(Collectors.toList()); if (list1.size() >= requiredCount) { @@ -97,10 +97,10 @@ index 25cd8a4101cf44955d95924c9794c238ddde2901..f957c0aca36b7228ac3a33ca04c948b1 } } diff --git a/src/main/java/net/minecraft/world/level/BaseSpawner.java b/src/main/java/net/minecraft/world/level/BaseSpawner.java -index 796e3bde04a118076ea004b0d58fd25641a7611e..2022224d2c5da60687474c5666e2bac207bf3f59 100644 +index e9e0286083337ccd027e01ec80125fc69550ad07..23cecd12f064f70d314393971312d881cace043a 100644 --- a/src/main/java/net/minecraft/world/level/BaseSpawner.java +++ b/src/main/java/net/minecraft/world/level/BaseSpawner.java -@@ -124,6 +124,27 @@ public abstract class BaseSpawner { +@@ -128,6 +128,27 @@ public abstract class BaseSpawner { } else if (!SpawnPlacements.checkSpawnRules((EntityType) optional.get(), world, MobSpawnType.SPAWNER, blockposition1, world.getRandom())) { continue; } @@ -129,10 +129,10 @@ index 796e3bde04a118076ea004b0d58fd25641a7611e..2022224d2c5da60687474c5666e2bac2 Entity entity = EntityType.loadEntityRecursive(nbttagcompound, world, (entity1) -> { entity1.moveTo(d0, d1, d2, entity1.getYRot(), entity1.getXRot()); diff --git a/src/main/java/net/minecraft/world/level/NaturalSpawner.java b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -index 287ea1d056556e106a23987eb9f1b42e81ce6262..6bc6c827a96e3fb7d7d9ca15e866d428d31a3e1f 100644 +index 5c58031279c0b74d2061c802e60b7bed50f27156..608be2b8bfff1b89855fc0bd181430d3a29a4cbb 100644 --- a/src/main/java/net/minecraft/world/level/NaturalSpawner.java +++ b/src/main/java/net/minecraft/world/level/NaturalSpawner.java -@@ -212,7 +212,13 @@ public final class NaturalSpawner { +@@ -213,7 +213,13 @@ public final class NaturalSpawner { j1 = biomesettingsmobs_c.minCount + world.random.nextInt(1 + biomesettingsmobs_c.maxCount - biomesettingsmobs_c.minCount); } @@ -147,7 +147,7 @@ index 287ea1d056556e106a23987eb9f1b42e81ce6262..6bc6c827a96e3fb7d7d9ca15e866d428 Mob entityinsentient = NaturalSpawner.getMobForSpawn(world, biomesettingsmobs_c.type); if (entityinsentient == null) { -@@ -260,9 +266,25 @@ public final class NaturalSpawner { +@@ -261,9 +267,25 @@ public final class NaturalSpawner { return squaredDistance <= 576.0D ? false : (world.getSharedSpawnPos().closerToCenterThan(new Vec3((double) pos.getX() + 0.5D, (double) pos.getY(), (double) pos.getZ() + 0.5D), 24.0D) ? false : Objects.equals(new ChunkPos(pos), chunk.getPos()) || world.isNaturalSpawningAllowed((BlockPos) pos)); } diff --git a/patches/unapplied/server/0174-Fill-Profile-Property-Events.patch b/patches/server/0174-Fill-Profile-Property-Events.patch similarity index 100% rename from patches/unapplied/server/0174-Fill-Profile-Property-Events.patch rename to patches/server/0174-Fill-Profile-Property-Events.patch diff --git a/patches/unapplied/server/0175-PlayerAdvancementCriterionGrantEvent.patch b/patches/server/0175-PlayerAdvancementCriterionGrantEvent.patch similarity index 100% rename from patches/unapplied/server/0175-PlayerAdvancementCriterionGrantEvent.patch rename to patches/server/0175-PlayerAdvancementCriterionGrantEvent.patch diff --git a/patches/unapplied/server/0176-Add-ArmorStand-Item-Meta.patch b/patches/server/0176-Add-ArmorStand-Item-Meta.patch similarity index 99% rename from patches/unapplied/server/0176-Add-ArmorStand-Item-Meta.patch rename to patches/server/0176-Add-ArmorStand-Item-Meta.patch index e8f6a478fb..3b04e8301e 100644 --- a/patches/unapplied/server/0176-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0176-Add-ArmorStand-Item-Meta.patch @@ -274,7 +274,7 @@ index 4d687fa31f4d889ac755c178b9afd2b927c78ee2..01ceb8de8411193fa407bf19bbd25a4b CraftMetaCompass.LODESTONE_POS.NBT, CraftMetaCompass.LODESTONE_TRACKED.NBT, diff --git a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java -index a7505a08b952431d1dd7e4b332ede0c0d15eea64..f3a0578f53863dd0866b4c2cb957a30fa3bc6cc5 100644 +index 257eac95179207f77ac9d5e7a5a499ceedb12d0b..13144f8d1dc0a2ca640d138e6c7930c1736ec4a0 100644 --- a/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java +++ b/src/test/java/org/bukkit/craftbukkit/inventory/ItemMetaTest.java @@ -324,6 +324,7 @@ public class ItemMetaTest extends AbstractTestingBase { diff --git a/patches/unapplied/server/0177-Extend-Player-Interact-cancellation.patch b/patches/server/0177-Extend-Player-Interact-cancellation.patch similarity index 95% rename from patches/unapplied/server/0177-Extend-Player-Interact-cancellation.patch rename to patches/server/0177-Extend-Player-Interact-cancellation.patch index ef330b35a9..90ad9fad5f 100644 --- a/patches/unapplied/server/0177-Extend-Player-Interact-cancellation.patch +++ b/patches/server/0177-Extend-Player-Interact-cancellation.patch @@ -13,7 +13,7 @@ Update adjacent blocks of doors, double plants, pistons and beds when cancelling interaction. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index b18bb06caf5f034dffbb72120c8f21da482ae3df..53717a4a2bfd841346c00b5f854899e23661122c 100644 +index 2775203a5bb7392428f1305730761e425300a8a9..01a321a0c76c55b32922c94297139e85b3d4ac23 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -186,6 +186,11 @@ public class ServerPlayerGameMode { @@ -28,7 +28,7 @@ index b18bb06caf5f034dffbb72120c8f21da482ae3df..53717a4a2bfd841346c00b5f854899e2 this.player.connection.send(new ClientboundBlockUpdatePacket(this.level, pos)); // Update any tile entity data for this block BlockEntity tileentity = this.level.getBlockEntity(pos); -@@ -509,7 +514,13 @@ public class ServerPlayerGameMode { +@@ -511,7 +516,13 @@ public class ServerPlayerGameMode { // send a correcting update to the client for the block above as well, this because of replaceable blocks (such as grass, sea grass etc) player.connection.send(new ClientboundBlockUpdatePacket(world, blockposition.above())); diff --git a/patches/unapplied/server/0178-Tameable-getOwnerUniqueId-API.patch b/patches/server/0178-Tameable-getOwnerUniqueId-API.patch similarity index 100% rename from patches/unapplied/server/0178-Tameable-getOwnerUniqueId-API.patch rename to patches/server/0178-Tameable-getOwnerUniqueId-API.patch diff --git a/patches/unapplied/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/patches/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 85% rename from patches/unapplied/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to patches/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch index e080fddae5..eeb0dc7e22 100644 --- a/patches/unapplied/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/patches/server/0179-Toggleable-player-crits-helps-mitigate-hacked-client.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggleable player crits, helps mitigate hacked clients. diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 0dc19e4701b35e94e94f07d261b3dbbdf9567d7b..35fa3a714c1a0fad5f0ed6149b4a248deb02e213 100644 +index acd84748204bad0dbfc59fbd516f873e0aa16a40..2e547db9c4c06a22406495fda83def1c275c0944 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1253,6 +1253,7 @@ public abstract class Player extends LivingEntity { +@@ -1235,6 +1235,7 @@ public abstract class Player extends LivingEntity { boolean flag2 = flag && this.fallDistance > 0.0F && !this.onGround && !this.onClimbable() && !this.isInWater() && !this.hasEffect(MobEffects.BLINDNESS) && !this.isPassenger() && target instanceof LivingEntity; diff --git a/patches/unapplied/server/0180-Disable-Explicit-Network-Manager-Flushing.patch b/patches/server/0180-Disable-Explicit-Network-Manager-Flushing.patch similarity index 100% rename from patches/unapplied/server/0180-Disable-Explicit-Network-Manager-Flushing.patch rename to patches/server/0180-Disable-Explicit-Network-Manager-Flushing.patch diff --git a/patches/unapplied/server/0181-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch similarity index 95% rename from patches/unapplied/server/0181-Implement-extended-PaperServerListPingEvent.patch rename to patches/server/0181-Implement-extended-PaperServerListPingEvent.patch index efaa0d4e06..bfc5e21dcc 100644 --- a/patches/unapplied/server/0181-Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/0181-Implement-extended-PaperServerListPingEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement extended PaperServerListPingEvent diff --git a/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java new file mode 100644 -index 0000000000000000000000000000000000000000..2b10ce4ce36e519b757af96cb80921dfc3f09418 +index 0000000000000000000000000000000000000000..5d7110a33957a597592cacb864c947eb053e8563 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/network/PaperServerListPingEventImpl.java @@ -0,0 +1,31 @@ @@ -25,7 +25,7 @@ index 0000000000000000000000000000000000000000..2b10ce4ce36e519b757af96cb80921df + private final MinecraftServer server; + + PaperServerListPingEventImpl(MinecraftServer server, StatusClient client, int protocolVersion, @Nullable CachedServerIcon icon) { -+ super(client, server.server.motd(), server.previewsChat(), server.getPlayerCount(), server.getMaxPlayers(), ++ super(client, server.server.motd(), server.getPlayerCount(), server.getMaxPlayers(), + server.getServerModName() + ' ' + server.getServerVersion(), protocolVersion, icon); + this.server = server; + } @@ -190,7 +190,7 @@ index 67455a5ba75c9b816213e44d6872c5ddf8e27e98..23efad80934930beadf15e65781551d4 public ClientboundStatusResponsePacket(ServerStatus metadata) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b404a222e741064185269a42a102d3e4c1f481d7..3509785412395aec7d316fcf37d58fb7cb1a9e5f 100644 +index ece65ae90a71517a374a3ebbe0cb0ba514b44e2f..2b55df58684a19519335666858bc79de8067faf7 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2,6 +2,9 @@ package net.minecraft.server; @@ -203,7 +203,7 @@ index b404a222e741064185269a42a102d3e4c1f481d7..3509785412395aec7d316fcf37d58fb7 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1303,7 +1306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop