From 08828fde026ff834a3b6f4886f65bf2e40eb1633 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 27 Jul 2022 21:49:24 +0200 Subject: [PATCH] More work --- ...ading-permissions.yml-before-plugins.patch | 0 ...llow-Reloading-of-Custom-Permissions.patch | 0 .../0064-Remove-Metadata-on-reload.patch | 0 ...065-Handle-Item-Meta-Inconsistencies.patch | 2 +- ...urable-Non-Player-Arrow-Despawn-Rate.patch | 0 .../server/0067-Add-World-Util-Methods.patch | 4 +- ...8-Custom-replacement-for-eaten-items.patch | 8 ++-- ...th-absorb-values-and-repair-bad-data.patch | 6 +-- ...070-Use-a-Shared-Random-for-Entities.patch | 2 +- ...le-spawn-chances-for-skeleton-horses.patch | 4 +- ...ldBounds-and-getBlockState-for-inlin.patch | 6 +-- ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 6 +-- ...Entity-AddTo-RemoveFrom-World-Events.patch | 6 +-- ...75-Configurable-Chunk-Inhabited-Time.patch | 0 .../server/0076-EntityPathfindEvent.patch | 0 ...egionFileCache-and-make-configurable.patch | 0 ...8-Do-not-load-chunks-for-Pathfinding.patch | 0 ...0079-Add-PlayerUseUnknownEntityEvent.patch | 4 +- ...-Configurable-Grass-Spread-Tick-Rate.patch | 0 ...g-BlockPlaceEvent-triggering-physics.patch | 4 +- .../server/0082-Optimize-DataBits.patch | 0 ...nilla-per-world-scoreboard-coloring-.patch | 0 .../0084-Configurable-Player-Collision.patch | 16 +++---- ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../0086-Configurable-RCON-IP-address.patch | 2 +- ...ityRegainHealthEvent-isFastRegen-API.patch | 2 +- ...-to-configure-frosted_ice-properties.patch | 0 ...-possibility-for-getServer-singleton.patch | 6 +-- ...item-frames-performance-and-bug-fixe.patch | 8 ++-- ...-API-Replenishable-Lootables-Feature.patch | 2 +- ...y-scoreboard-teams-to-scoreboard.dat.patch | 0 ...tem-property-for-disabling-watchdoge.patch | 0 .../0094-Async-GameProfileCache-saving.patch | 8 ++-- ...5-Optional-TNT-doesn-t-move-in-water.patch | 0 ...r-redstone-torch-rapid-clock-removal.patch | 0 .../0097-Add-server-name-parameter.patch | 0 ...on-Wither-Death-sounds-to-same-world.patch | 0 .../server/0099-Fix-Old-Sign-Conversion.patch | 4 +- ...blocking-on-Network-Manager-creation.patch | 8 ++-- ...e-profiles-that-have-no-UUID-and-no-.patch | 2 +- ...setting-for-proxy-online-mode-status.patch | 2 +- ...ptimise-BlockState-s-hashCode-equals.patch | 0 ...onfigurable-packet-in-spam-threshold.patch | 4 +- ...05-Configurable-flying-kick-messages.patch | 6 +-- .../server/0106-Add-EntityZapEvent.patch | 0 ...a-from-ArmorStand-and-SpawnEgg-items.patch | 0 ...108-Cache-user-authenticator-threads.patch | 12 ++--- ...9-Allow-Reloading-of-Command-Aliases.patch | 0 ...0-Add-source-to-PlayerExpChangeEvent.patch | 0 .../0111-Add-ProjectileCollideEvent.patch | 0 ...vent-Pathfinding-out-of-World-Border.patch | 0 ...imize-World.isLoaded-BlockPosition-Z.patch | 0 ...-Bound-Treasure-Maps-to-World-Border.patch | 4 +- ...figurable-Cartographer-Treasure-Maps.patch | 0 .../0116-Optimize-ItemStack.isEmpty.patch | 2 +- ...to-control-if-armour-stands-can-move.patch | 0 .../0118-String-based-Action-Bar-API.patch | 2 +- ...19-Properly-fix-item-duplication-bug.patch | 8 ++-- .../server/0120-Firework-API-s.patch | 0 .../0121-PlayerTeleportEndGatewayEvent.patch | 0 ...rovide-E-TE-Chunk-count-stat-methods.patch | 0 .../0123-Enforce-Sync-Player-Saves.patch | 4 +- ...llow-entities-to-ride-themselves-572.patch | 4 +- ...PI-for-Reason-Source-Triggering-play.patch | 4 +- .../server/0126-Cap-Entity-Collisions.patch | 6 +-- ...e-CraftScheduler-Async-Task-Debugger.patch | 0 .../0128-Do-not-let-armorstands-drown.patch | 0 ...more-aggressive-in-the-chunk-unload-.patch | 8 ++-- ...le-async-calls-to-restart-the-server.patch | 12 ++--- ...ke-parrots-stay-on-shoulders-despite.patch | 8 ++-- ...n-option-to-prevent-player-names-fro.patch | 0 ...oleAppender-for-console-improvements.patch | 16 +++---- ...urable-option-to-disable-creeper-lin.patch | 0 .../server/0135-Item-canEntityPickup.patch | 2 +- ...PlayerPickupItemEvent-setFlyAtPlayer.patch | 8 ++-- .../0137-PlayerAttemptPickupItemEvent.patch | 4 +- ...-profile-lookups-to-worldgen-threads.patch | 10 ++--- .../server/0139-Add-UnknownCommandEvent.patch | 0 .../server/0140-Basic-PlayerProfile-API.patch | 2 +- .../0141-Shoulder-Entities-Release-API.patch | 4 +- .../server/0142-Profile-Lookup-Events.patch | 0 ...player-logins-during-server-shutdown.patch | 6 +-- .../server/0144-Entity-fromMobSpawner.patch | 6 +-- ...45-Improve-the-Saddle-API-for-Horses.patch | 0 ...mplement-ensureServerConversions-API.patch | 0 .../0147-Implement-getI18NDisplayName.patch | 0 .../0148-ProfileWhitelistVerifyEvent.patch | 6 +-- .../0149-Fix-this-stupid-bullshit.patch | 0 .../server/0150-LivingEntity-setKiller.patch | 0 ...awns-should-honor-nametags-and-leash.patch | 0 ...imer-when-spawner-event-is-cancelled.patch | 0 ...-a-custom-authentication-servers-dow.patch | 6 +-- ...n-prefixes-using-Log4J-configuration.patch | 0 ...e-Log4J-Configuration-Plugin-Loggers.patch | 0 .../server/0156-Add-PlayerJumpEvent.patch | 4 +- ...dle-ServerboundKeepAlivePacket-async.patch | 4 +- ...nt-protocol-version-and-virtual-host.patch | 6 +-- ...rt-serverside-behavior-of-keepalives.patch | 25 +++++------ ...dEffects-only-to-players-who-can-see.patch | 12 ++--- .../0161-Add-PlayerArmorChangeEvent.patch | 4 +- ...rom-being-processed-when-the-player-.patch | 4 +- ...63-Fix-MC-117075-TE-Unload-Lag-Spike.patch | 0 ...e-implementations-for-captured-block.patch | 0 ...-get-a-BlockState-without-a-snapshot.patch | 0 .../server/0166-AsyncTabCompleteEvent.patch | 12 ++--- .../0167-PlayerPickupExperienceEvent.patch | 0 ...8-Ability-to-apply-mending-to-XP-API.patch | 2 +- ...9-PlayerNaturallySpawnCreaturesEvent.patch | 10 ++--- ...-Add-setPlayerProfile-API-for-Skulls.patch | 0 .../server/0171-PreCreatureSpawnEvent.patch | 0 .../0172-Fill-Profile-Property-Events.patch | 0 ...PlayerAdvancementCriterionGrantEvent.patch | 4 +- .../0174-Add-ArmorStand-Item-Meta.patch | 0 ...-Extend-Player-Interact-cancellation.patch | 0 .../0176-Tameable-getOwnerUniqueId-API.patch | 0 ...r-crits-helps-mitigate-hacked-client.patch | 4 +- ...le-Explicit-Network-Manager-Flushing.patch | 6 +-- ...nt-extended-PaperServerListPingEvent.patch | 2 +- ...e-PlayerProfile-in-AsyncPreLoginEven.patch | 4 +- .../0181-Player.setPlayerProfile-API.patch | 6 +-- .../server/0182-getPlayerUniqueId-API.patch | 0 .../0183-Improved-Async-Task-Scheduler.patch | 0 ...ke-legacy-ping-handler-more-reliable.patch | 12 ++--- ...ServerListPingEvent-for-legacy-pings.patch | 44 ++++++++++--------- ...86-Flag-to-disable-the-channel-limit.patch | 2 +- ...7-Add-openSign-method-to-HumanEntity.patch | 0 ...urable-sprint-interruption-on-attack.patch | 4 +- ...-allowed-colored-signs-to-be-created.patch | 14 +++--- .../server/0190-EndermanEscapeEvent.patch | 0 .../0191-Enderman.teleportRandomly.patch | 0 ...0192-Block-Enderpearl-Travel-Exploit.patch | 4 +- ...ld.spawnParticle-API-and-add-Builder.patch | 4 +- ...sted-Ice-from-loading-holding-chunks.patch | 0 .../0195-EndermanAttackPlayerEvent.patch | 0 .../server/0196-WitchConsumePotionEvent.patch | 0 .../server/0197-WitchThrowPotionEvent.patch | 0 ...Item-entities-with-World.spawnEntity.patch | 0 .../server/0199-WitchReadyPotionEvent.patch | 0 ...0200-ItemStack-getMaxItemUseDuration.patch | 0 ...lement-EntityTeleportEndGatewayEvent.patch | 0 ...ed-flag-on-cancel-of-Explosion-Event.patch | 0 .../0203-Fix-CraftEntity-hashCode.patch | 0 ...le-Alternative-LootPool-Luck-Formula.patch | 0 ...ils-when-failing-to-save-player-data.patch | 0 ...e-shield-blocking-delay-configurable.patch | 4 +- .../0207-Improve-EntityShootBowEvent.patch | 0 .../server/0208-PlayerReadyArrowEvent.patch | 6 +-- ...plement-EntityKnockbackByEntityEvent.patch | 8 ++-- .../server/0210-Expand-Explosions-API.patch | 0 ...ivingEntity-Hand-Raised-Item-Use-API.patch | 0 .../server/0212-RangedEntity-API.patch | 0 ...to-disable-ender-dragon-legacy-check.patch | 0 ...4-Implement-World.getEntity-UUID-API.patch | 0 .../0215-InventoryCloseEvent-Reason-API.patch | 34 +++++++------- .../server/0216-Vex-get-setSummoner-API.patch | 0 ...nventory-when-cancelling-PlayerInter.patch | 4 +- ...r-to-keep-logging-IO-off-main-thread.patch | 0 ...-more-information-to-Entity.toString.patch | 4 +- ...ftMagicNumbers.isSupportedApiVersion.patch | 2 +- .../server/0221-EnderDragon-Events.patch | 0 .../server/0222-PlayerElytraBoostEvent.patch | 0 .../0223-PlayerLaunchProjectileEvent.patch | 0 .../0224-Improve-BlockPosition-inlining.patch | 0 ...t-armor-stands-from-doing-entity-loo.patch | 0 ...6-Vanished-players-don-t-have-rights.patch | 0 ...Allow-disabling-armour-stand-ticking.patch | 0 .../server/0228-SkeletonHorse-Additions.patch | 0 ...on-t-call-getItemMeta-on-hasItemMeta.patch | 0 ...30-Implement-Expanded-ArmorStand-API.patch | 0 .../server/0231-AnvilDamageEvent.patch | 0 .../0232-Add-hand-to-bucket-events.patch | 0 .../server/0233-Add-TNTPrimeEvent.patch | 0 ...nd-make-tab-spam-limits-configurable.patch | 8 ++-- ...6-Experience-should-save-as-Integers.patch | 0 ...Remove-unnecessary-itemmeta-handling.patch | 0 ...ies-option-to-debug-dupe-uuid-issues.patch | 14 +++--- ...dd-Early-Warning-Feature-to-WatchDog.patch | 6 +-- ...39-Use-ConcurrentHashMap-in-JsonList.patch | 4 +- ...40-Use-a-Queue-for-Queueing-Commands.patch | 2 +- ...ile-Entities-from-a-chunk-without-sn.patch | 0 ...ptimize-BlockPosition-helper-methods.patch | 0 ...default-mob-spawn-range-and-water-an.patch | 0 .../server/0244-Slime-Pathfinder-Events.patch | 0 ...le-speed-for-water-flowing-over-lava.patch | 0 ...246-Optimize-CraftBlockData-Creation.patch | 4 +- .../server/0247-Optimize-MappedRegistry.patch | 0 .../0248-Add-PhantomPreSpawnEvent.patch | 0 .../server/0249-Add-More-Creeper-API.patch | 0 .../0250-Inventory-removeItemAnySlot.patch | 0 ...loadChunk-int-int-false-load-unconve.patch | 0 ...52-Asynchronous-chunk-IO-and-loading.patch | 36 +++++++-------- ...-ray-tracing-methods-to-LivingEntity.patch | 4 +- ...e-attack-cooldown-methods-for-Player.patch | 2 +- .../server/0255-Improve-death-events.patch | 12 ++--- ...ow-chests-to-be-placed-with-NBT-data.patch | 2 +- .../server/0257-Mob-Pathfinding-API.patch | 0 ...-for-CanPlaceOn-and-CanDestroy-NBT-v.patch | 0 ...ent-chunk-loading-from-Fluid-Flowing.patch | 0 ...ent-Mob-AI-Rules-from-Loading-Chunks.patch | 0 ...wning-from-loading-generating-chunks.patch | 0 ...nt-furnace-cook-speed-multiplier-API.patch | 0 ...arseException-in-Entity-and-TE-names.patch | 0 .../0264-Honor-EntityAgeable.ageLock.patch | 0 ...ble-connection-throttle-kick-message.patch | 0 .../0266-Hook-into-CB-plugin-rewrites.patch | 0 .../server/0267-PreSpawnerSpawnEvent.patch | 0 ...268-Add-LivingEntity-getTargetEntity.patch | 4 +- .../server/0269-Add-sun-related-API.patch | 0 .../server/0270-Turtle-API.patch | 0 ...tator-target-events-and-improve-impl.patch | 4 +- ...ther-worlds-for-shooter-of-projectil.patch | 0 ...3-Add-Velocity-IP-Forwarding-Support.patch | 12 ++--- .../server/0274-Add-more-Witch-API.patch | 0 ...owned-for-Villager-Aggression-Config.patch | 0 ...event-players-from-moving-into-unloa.patch | 10 ++--- ...77-Reset-players-airTicks-on-respawn.patch | 4 +- ...-after-profile-lookups-if-not-needed.patch | 0 ...er-Thread-Pool-and-Thread-Priorities.patch | 14 +++--- .../0280-Optimize-World-Time-Updates.patch | 2 +- ...store-custom-InventoryHolder-support.patch | 0 .../0282-Use-Vanilla-Minecart-Speeds.patch | 0 .../0283-Fix-SpongeAbsortEvent-handling.patch | 0 ...t-allow-digging-into-unloaded-chunks.patch | 4 +- ...ault-permission-message-configurable.patch | 0 ...Prevent-rayTrace-from-loading-chunks.patch | 0 ...e-Large-Packets-disconnecting-client.patch | 4 +- ...entity-dismount-during-teleportation.patch | 22 +++++----- .../server/0289-Add-more-Zombie-API.patch | 0 .../server/0290-Book-Size-Limits.patch | 4 +- .../0291-Add-PlayerConnectionCloseEvent.patch | 4 +- ...Prevent-Enderman-from-loading-chunks.patch | 0 ...-replace-OfflinePlayer-getLastPlayed.patch | 10 ++--- ...vehicle-tracking-issue-on-disconnect.patch | 4 +- ...-remove-from-being-called-on-Players.patch | 2 +- .../server/0296-BlockDestroyEvent.patch | 0 .../0297-Async-command-map-building.patch | 8 ++-- .../0298-Implement-Brigadier-Mojang-API.patch | 20 ++++----- ...om-Shapeless-Custom-Crafting-Recipes.patch | 0 .../0300-Limit-Client-Sign-length-more.patch | 12 ++--- ...ConvertSigns-boolean-every-sign-save.patch | 0 ...-Manager-and-add-advanced-packet-sup.patch | 38 ++++++++-------- ...le-Oversized-Tile-Entities-in-chunks.patch | 0 ...st-tick-at-start-of-drowning-process.patch | 0 ...oggleEvent-when-whitelist-is-toggled.patch | 4 +- .../0306-Entity-getEntitySpawnReason.patch | 14 +++--- ...ity-Metadata-for-all-tracked-players.patch | 4 +- .../server/0308-Fire-event-on-GS4-query.patch | 6 +-- ...309-Implement-PlayerPostRespawnEvent.patch | 8 ++-- ...-for-pickupDelay-breaks-picking-up-i.patch | 6 +-- .../server/0311-Server-Tick-Events.patch | 2 +- ...0312-PlayerDeathEvent-getItemsToKeep.patch | 6 +-- ...-Optimize-Captured-TileEntity-Lookup.patch | 0 .../server/0314-Add-Heightmap-API.patch | 0 .../0315-Mob-Spawner-API-Enhancements.patch | 0 ...l-to-changed-postToMainThread-method.patch | 6 +-- ...n-item-frames-are-modified-MC-123450.patch | 0 ...isPrimaryThread-and-MinecraftServer-.patch | 2 +- .../0319-Implement-CraftBlockSoundGroup.patch | 0 ...le-Keep-Spawn-Loaded-range-per-world.patch | 12 ++--- .../server/0321-ChunkMapDistance-CME.patch | 0 .../server/0322-Chunk-debug-command.patch | 0 ...323-Allow-Saving-of-Oversized-Chunks.patch | 0 ...324-Expose-the-internal-current-tick.patch | 0 ...325-Fix-World-isChunkGenerated-calls.patch | 6 +-- ...ate-location-if-we-failed-to-read-it.patch | 0 ...al-Spawned-mobs-towards-natural-spaw.patch | 0 ...gurable-projectile-relative-velocity.patch | 0 .../0329-offset-item-frame-ticking.patch | 0 .../server/0330-Fix-MC-158900.patch | 4 +- ...revent-consuming-the-wrong-itemstack.patch | 8 ++-- ...32-Dont-send-unnecessary-sign-update.patch | 4 +- ...d-option-to-disable-pillager-patrols.patch | 0 ...or-when-player-hand-set-to-empty-typ.patch | 4 +- ...0335-Flat-bedrock-generator-settings.patch | 2 +- ...nk-loads-when-villagers-try-to-find-.patch | 0 ...5656-Fix-Follow-Range-Initial-Target.patch | 0 .../0338-Duplicate-UUID-Resolve-Option.patch | 26 ++--------- .../server/0339-Optimize-Hoppers.patch | 4 +- ...layerDeathEvent-shouldDropExperience.patch | 4 +- ...oading-chunks-checking-hive-position.patch | 0 ...Chunks-from-Hoppers-and-other-things.patch | 0 281 files changed, 457 insertions(+), 472 deletions(-) rename patches/{unapplied => }/server/0062-Default-loading-permissions.yml-before-plugins.patch (100%) rename patches/{unapplied => }/server/0063-Allow-Reloading-of-Custom-Permissions.patch (100%) rename patches/{unapplied => }/server/0064-Remove-Metadata-on-reload.patch (100%) rename patches/{unapplied => }/server/0065-Handle-Item-Meta-Inconsistencies.patch (99%) rename patches/{unapplied => }/server/0066-Configurable-Non-Player-Arrow-Despawn-Rate.patch (100%) rename patches/{unapplied => }/server/0067-Add-World-Util-Methods.patch (94%) rename patches/{unapplied => }/server/0068-Custom-replacement-for-eaten-items.patch (89%) rename patches/{unapplied => }/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch (90%) rename patches/{unapplied => }/server/0070-Use-a-Shared-Random-for-Entities.patch (97%) rename patches/{unapplied => }/server/0071-Configurable-spawn-chances-for-skeleton-horses.patch (90%) rename patches/{unapplied => }/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (96%) rename patches/{unapplied => }/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (94%) rename patches/{unapplied => }/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch (83%) rename patches/{unapplied => }/server/0075-Configurable-Chunk-Inhabited-Time.patch (100%) rename patches/{unapplied => }/server/0076-EntityPathfindEvent.patch (100%) rename patches/{unapplied => }/server/0077-Sanitise-RegionFileCache-and-make-configurable.patch (100%) rename patches/{unapplied => }/server/0078-Do-not-load-chunks-for-Pathfinding.patch (100%) rename patches/{unapplied => }/server/0079-Add-PlayerUseUnknownEntityEvent.patch (94%) rename patches/{unapplied => }/server/0080-Configurable-Grass-Spread-Tick-Rate.patch (100%) rename patches/{unapplied => }/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (82%) rename patches/{unapplied => }/server/0082-Optimize-DataBits.patch (100%) rename patches/{unapplied => }/server/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (100%) rename patches/{unapplied => }/server/0084-Configurable-Player-Collision.patch (91%) rename patches/{unapplied => }/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/{unapplied => }/server/0086-Configurable-RCON-IP-address.patch (96%) rename patches/{unapplied => }/server/0087-EntityRegainHealthEvent-isFastRegen-API.patch (96%) rename patches/{unapplied => }/server/0088-Add-ability-to-configure-frosted_ice-properties.patch (100%) rename patches/{unapplied => }/server/0089-remove-null-possibility-for-getServer-singleton.patch (89%) rename patches/{unapplied => }/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (95%) rename patches/{unapplied => }/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch (99%) rename patches/{unapplied => }/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (100%) rename patches/{unapplied => }/server/0093-System-property-for-disabling-watchdoge.patch (100%) rename patches/{unapplied => }/server/0094-Async-GameProfileCache-saving.patch (90%) rename patches/{unapplied => }/server/0095-Optional-TNT-doesn-t-move-in-water.patch (100%) rename patches/{unapplied => }/server/0096-Faster-redstone-torch-rapid-clock-removal.patch (100%) rename patches/{unapplied => }/server/0097-Add-server-name-parameter.patch (100%) rename patches/{unapplied => }/server/0098-Only-send-Dragon-Wither-Death-sounds-to-same-world.patch (100%) rename patches/{unapplied => }/server/0099-Fix-Old-Sign-Conversion.patch (95%) rename patches/{unapplied => }/server/0100-Avoid-blocking-on-Network-Manager-creation.patch (90%) rename patches/{unapplied => }/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch (90%) rename patches/{unapplied => }/server/0102-Add-setting-for-proxy-online-mode-status.patch (97%) rename patches/{unapplied => }/server/0103-Optimise-BlockState-s-hashCode-equals.patch (100%) rename patches/{unapplied => }/server/0104-Configurable-packet-in-spam-threshold.patch (88%) rename patches/{unapplied => }/server/0105-Configurable-flying-kick-messages.patch (85%) rename patches/{unapplied => }/server/0106-Add-EntityZapEvent.patch (100%) rename patches/{unapplied => }/server/0107-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch (100%) rename patches/{unapplied => }/server/0108-Cache-user-authenticator-threads.patch (86%) rename patches/{unapplied => }/server/0109-Allow-Reloading-of-Command-Aliases.patch (100%) rename patches/{unapplied => }/server/0110-Add-source-to-PlayerExpChangeEvent.patch (100%) rename patches/{unapplied => }/server/0111-Add-ProjectileCollideEvent.patch (100%) rename patches/{unapplied => }/server/0112-Prevent-Pathfinding-out-of-World-Border.patch (100%) rename patches/{unapplied => }/server/0113-Optimize-World.isLoaded-BlockPosition-Z.patch (100%) rename patches/{unapplied => }/server/0114-Bound-Treasure-Maps-to-World-Border.patch (94%) rename patches/{unapplied => }/server/0115-Configurable-Cartographer-Treasure-Maps.patch (100%) rename patches/{unapplied => }/server/0116-Optimize-ItemStack.isEmpty.patch (90%) rename patches/{unapplied => }/server/0117-Add-API-methods-to-control-if-armour-stands-can-move.patch (100%) rename patches/{unapplied => }/server/0118-String-based-Action-Bar-API.patch (96%) rename patches/{unapplied => }/server/0119-Properly-fix-item-duplication-bug.patch (79%) rename patches/{unapplied => }/server/0120-Firework-API-s.patch (100%) rename patches/{unapplied => }/server/0121-PlayerTeleportEndGatewayEvent.patch (100%) rename patches/{unapplied => }/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch (100%) rename patches/{unapplied => }/server/0123-Enforce-Sync-Player-Saves.patch (87%) rename patches/{unapplied => }/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch (84%) rename patches/{unapplied => }/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (99%) rename patches/{unapplied => }/server/0126-Cap-Entity-Collisions.patch (88%) rename patches/{unapplied => }/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch (100%) rename patches/{unapplied => }/server/0128-Do-not-let-armorstands-drown.patch (100%) rename patches/{unapplied => }/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch (85%) rename patches/{unapplied => }/server/0130-Properly-handle-async-calls-to-restart-the-server.patch (96%) rename patches/{unapplied => }/server/0131-Add-option-to-make-parrots-stay-on-shoulders-despite.patch (86%) rename patches/{unapplied => }/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch (100%) rename patches/{unapplied => }/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch (97%) rename patches/{unapplied => }/server/0134-provide-a-configurable-option-to-disable-creeper-lin.patch (100%) rename patches/{unapplied => }/server/0135-Item-canEntityPickup.patch (96%) rename patches/{unapplied => }/server/0136-PlayerPickupItemEvent-setFlyAtPlayer.patch (88%) rename patches/{unapplied => }/server/0137-PlayerAttemptPickupItemEvent.patch (91%) rename patches/{unapplied => }/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch (91%) rename patches/{unapplied => }/server/0139-Add-UnknownCommandEvent.patch (100%) rename patches/{unapplied => }/server/0140-Basic-PlayerProfile-API.patch (99%) rename patches/{unapplied => }/server/0141-Shoulder-Entities-Release-API.patch (96%) rename patches/{unapplied => }/server/0142-Profile-Lookup-Events.patch (100%) rename patches/{unapplied => }/server/0143-Block-player-logins-during-server-shutdown.patch (84%) rename patches/{unapplied => }/server/0144-Entity-fromMobSpawner.patch (93%) rename patches/{unapplied => }/server/0145-Improve-the-Saddle-API-for-Horses.patch (100%) rename patches/{unapplied => }/server/0146-Implement-ensureServerConversions-API.patch (100%) rename patches/{unapplied => }/server/0147-Implement-getI18NDisplayName.patch (100%) rename patches/{unapplied => }/server/0148-ProfileWhitelistVerifyEvent.patch (93%) rename patches/{unapplied => }/server/0149-Fix-this-stupid-bullshit.patch (100%) rename patches/{unapplied => }/server/0150-LivingEntity-setKiller.patch (100%) rename patches/{unapplied => }/server/0151-Ocelot-despawns-should-honor-nametags-and-leash.patch (100%) rename patches/{unapplied => }/server/0152-Reset-spawner-timer-when-spawner-event-is-cancelled.patch (100%) rename patches/{unapplied => }/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch (83%) rename patches/{unapplied => }/server/0154-Handle-plugin-prefixes-using-Log4J-configuration.patch (100%) rename patches/{unapplied => }/server/0155-Improve-Log4J-Configuration-Plugin-Loggers.patch (100%) rename patches/{unapplied => }/server/0156-Add-PlayerJumpEvent.patch (93%) rename patches/{unapplied => }/server/0157-handle-ServerboundKeepAlivePacket-async.patch (90%) rename patches/{unapplied => }/server/0158-Expose-client-protocol-version-and-virtual-host.patch (94%) rename patches/{unapplied => }/server/0159-revert-serverside-behavior-of-keepalives.patch (85%) rename patches/{unapplied => }/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch (92%) rename patches/{unapplied => }/server/0161-Add-PlayerArmorChangeEvent.patch (90%) rename patches/{unapplied => }/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch (85%) rename patches/{unapplied => }/server/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch (100%) rename patches/{unapplied => }/server/0164-use-CB-BlockState-implementations-for-captured-block.patch (100%) rename patches/{unapplied => }/server/0165-API-to-get-a-BlockState-without-a-snapshot.patch (100%) rename patches/{unapplied => }/server/0166-AsyncTabCompleteEvent.patch (96%) rename patches/{unapplied => }/server/0167-PlayerPickupExperienceEvent.patch (100%) rename patches/{unapplied => }/server/0168-Ability-to-apply-mending-to-XP-API.patch (96%) rename patches/{unapplied => }/server/0169-PlayerNaturallySpawnCreaturesEvent.patch (91%) rename patches/{unapplied => }/server/0170-Add-setPlayerProfile-API-for-Skulls.patch (100%) rename patches/{unapplied => }/server/0171-PreCreatureSpawnEvent.patch (100%) rename patches/{unapplied => }/server/0172-Fill-Profile-Property-Events.patch (100%) rename patches/{unapplied => }/server/0173-PlayerAdvancementCriterionGrantEvent.patch (87%) rename patches/{unapplied => }/server/0174-Add-ArmorStand-Item-Meta.patch (100%) rename patches/{unapplied => }/server/0175-Extend-Player-Interact-cancellation.patch (100%) rename patches/{unapplied => }/server/0176-Tameable-getOwnerUniqueId-API.patch (100%) rename patches/{unapplied => }/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch (85%) rename patches/{unapplied => }/server/0178-Disable-Explicit-Network-Manager-Flushing.patch (86%) rename patches/{unapplied => }/server/0179-Implement-extended-PaperServerListPingEvent.patch (99%) rename patches/{unapplied => }/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch (90%) rename patches/{unapplied => }/server/0181-Player.setPlayerProfile-API.patch (96%) rename patches/{unapplied => }/server/0182-getPlayerUniqueId-API.patch (100%) rename patches/{unapplied => }/server/0183-Improved-Async-Task-Scheduler.patch (100%) rename patches/{unapplied => }/server/0184-Make-legacy-ping-handler-more-reliable.patch (93%) rename patches/{unapplied => }/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch (74%) rename patches/{unapplied => }/server/0186-Flag-to-disable-the-channel-limit.patch (95%) rename patches/{unapplied => }/server/0187-Add-openSign-method-to-HumanEntity.patch (100%) rename patches/{unapplied => }/server/0188-Configurable-sprint-interruption-on-attack.patch (87%) rename patches/{unapplied => }/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch (59%) rename patches/{unapplied => }/server/0190-EndermanEscapeEvent.patch (100%) rename patches/{unapplied => }/server/0191-Enderman.teleportRandomly.patch (100%) rename patches/{unapplied => }/server/0192-Block-Enderpearl-Travel-Exploit.patch (93%) rename patches/{unapplied => }/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch (96%) rename patches/{unapplied => }/server/0194-Prevent-Frosted-Ice-from-loading-holding-chunks.patch (100%) rename patches/{unapplied => }/server/0195-EndermanAttackPlayerEvent.patch (100%) rename patches/{unapplied => }/server/0196-WitchConsumePotionEvent.patch (100%) rename patches/{unapplied => }/server/0197-WitchThrowPotionEvent.patch (100%) rename patches/{unapplied => }/server/0198-Allow-spawning-Item-entities-with-World.spawnEntity.patch (100%) rename patches/{unapplied => }/server/0199-WitchReadyPotionEvent.patch (100%) rename patches/{unapplied => }/server/0200-ItemStack-getMaxItemUseDuration.patch (100%) rename patches/{unapplied => }/server/0201-Implement-EntityTeleportEndGatewayEvent.patch (100%) rename patches/{unapplied => }/server/0202-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (100%) rename patches/{unapplied => }/server/0203-Fix-CraftEntity-hashCode.patch (100%) rename patches/{unapplied => }/server/0204-Configurable-Alternative-LootPool-Luck-Formula.patch (100%) rename patches/{unapplied => }/server/0205-Print-Error-details-when-failing-to-save-player-data.patch (100%) rename patches/{unapplied => }/server/0206-Make-shield-blocking-delay-configurable.patch (93%) rename patches/{unapplied => }/server/0207-Improve-EntityShootBowEvent.patch (100%) rename patches/{unapplied => }/server/0208-PlayerReadyArrowEvent.patch (88%) rename patches/{unapplied => }/server/0209-Implement-EntityKnockbackByEntityEvent.patch (95%) rename patches/{unapplied => }/server/0210-Expand-Explosions-API.patch (100%) rename patches/{unapplied => }/server/0211-LivingEntity-Hand-Raised-Item-Use-API.patch (100%) rename patches/{unapplied => }/server/0212-RangedEntity-API.patch (100%) rename patches/{unapplied => }/server/0213-Add-config-to-disable-ender-dragon-legacy-check.patch (100%) rename patches/{unapplied => }/server/0214-Implement-World.getEntity-UUID-API.patch (100%) rename patches/{unapplied => }/server/0215-InventoryCloseEvent-Reason-API.patch (90%) rename patches/{unapplied => }/server/0216-Vex-get-setSummoner-API.patch (100%) rename patches/{unapplied => }/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch (87%) rename patches/{unapplied => }/server/0218-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (100%) rename patches/{unapplied => }/server/0219-add-more-information-to-Entity.toString.patch (91%) rename patches/{unapplied => }/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch (90%) rename patches/{unapplied => }/server/0221-EnderDragon-Events.patch (100%) rename patches/{unapplied => }/server/0222-PlayerElytraBoostEvent.patch (100%) rename patches/{unapplied => }/server/0223-PlayerLaunchProjectileEvent.patch (100%) rename patches/{unapplied => }/server/0224-Improve-BlockPosition-inlining.patch (100%) rename patches/{unapplied => }/server/0225-Option-to-prevent-armor-stands-from-doing-entity-loo.patch (100%) rename patches/{unapplied => }/server/0226-Vanished-players-don-t-have-rights.patch (100%) rename patches/{unapplied => }/server/0227-Allow-disabling-armour-stand-ticking.patch (100%) rename patches/{unapplied => }/server/0228-SkeletonHorse-Additions.patch (100%) rename patches/{unapplied => }/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch (100%) rename patches/{unapplied => }/server/0230-Implement-Expanded-ArmorStand-API.patch (100%) rename patches/{unapplied => }/server/0231-AnvilDamageEvent.patch (100%) rename patches/{unapplied => }/server/0232-Add-hand-to-bucket-events.patch (100%) rename patches/{unapplied => }/server/0233-Add-TNTPrimeEvent.patch (100%) rename patches/{unapplied => }/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch (89%) rename patches/{unapplied => }/server/0235-MC-135506-Experience-should-save-as-Integers.patch (100%) rename patches/{unapplied => }/server/0236-Remove-unnecessary-itemmeta-handling.patch (100%) rename patches/{unapplied => }/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch (92%) rename patches/{unapplied => }/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch (97%) rename patches/{unapplied => }/server/0239-Use-ConcurrentHashMap-in-JsonList.patch (97%) rename patches/{unapplied => }/server/0240-Use-a-Queue-for-Queueing-Commands.patch (95%) rename patches/{unapplied => }/server/0241-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch (100%) rename patches/{unapplied => }/server/0242-Optimize-BlockPosition-helper-methods.patch (100%) rename patches/{unapplied => }/server/0243-Restore-vanilla-default-mob-spawn-range-and-water-an.patch (100%) rename patches/{unapplied => }/server/0244-Slime-Pathfinder-Events.patch (100%) rename patches/{unapplied => }/server/0245-Configurable-speed-for-water-flowing-over-lava.patch (100%) rename patches/{unapplied => }/server/0246-Optimize-CraftBlockData-Creation.patch (94%) rename patches/{unapplied => }/server/0247-Optimize-MappedRegistry.patch (100%) rename patches/{unapplied => }/server/0248-Add-PhantomPreSpawnEvent.patch (100%) rename patches/{unapplied => }/server/0249-Add-More-Creeper-API.patch (100%) rename patches/{unapplied => }/server/0250-Inventory-removeItemAnySlot.patch (100%) rename patches/{unapplied => }/server/0251-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch (100%) rename patches/{unapplied => }/server/0252-Asynchronous-chunk-IO-and-loading.patch (99%) rename patches/{unapplied => }/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch (96%) rename patches/{unapplied => }/server/0254-Expose-attack-cooldown-methods-for-Player.patch (92%) rename patches/{unapplied => }/server/0255-Improve-death-events.patch (97%) rename patches/{unapplied => }/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch (94%) rename patches/{unapplied => }/server/0257-Mob-Pathfinding-API.patch (100%) rename patches/{unapplied => }/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch (100%) rename patches/{unapplied => }/server/0259-Prevent-chunk-loading-from-Fluid-Flowing.patch (100%) rename patches/{unapplied => }/server/0260-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch (100%) rename patches/{unapplied => }/server/0261-Prevent-mob-spawning-from-loading-generating-chunks.patch (100%) rename patches/{unapplied => }/server/0262-Implement-furnace-cook-speed-multiplier-API.patch (100%) rename patches/{unapplied => }/server/0263-Catch-JsonParseException-in-Entity-and-TE-names.patch (100%) rename patches/{unapplied => }/server/0264-Honor-EntityAgeable.ageLock.patch (100%) rename patches/{unapplied => }/server/0265-Configurable-connection-throttle-kick-message.patch (100%) rename patches/{unapplied => }/server/0266-Hook-into-CB-plugin-rewrites.patch (100%) rename patches/{unapplied => }/server/0267-PreSpawnerSpawnEvent.patch (100%) rename patches/{unapplied => }/server/0268-Add-LivingEntity-getTargetEntity.patch (97%) rename patches/{unapplied => }/server/0269-Add-sun-related-API.patch (100%) rename patches/{unapplied => }/server/0270-Turtle-API.patch (100%) rename patches/{unapplied => }/server/0271-Call-player-spectator-target-events-and-improve-impl.patch (96%) rename patches/{unapplied => }/server/0272-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch (100%) rename patches/{unapplied => }/server/0273-Add-Velocity-IP-Forwarding-Support.patch (95%) rename patches/{unapplied => }/server/0274-Add-more-Witch-API.patch (100%) rename patches/{unapplied => }/server/0275-Check-Drowned-for-Villager-Aggression-Config.patch (100%) rename patches/{unapplied => }/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch (90%) rename patches/{unapplied => }/server/0277-Reset-players-airTicks-on-respawn.patch (83%) rename patches/{unapplied => }/server/0278-Don-t-sleep-after-profile-lookups-if-not-needed.patch (100%) rename patches/{unapplied => }/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch (90%) rename patches/{unapplied => }/server/0280-Optimize-World-Time-Updates.patch (96%) rename patches/{unapplied => }/server/0281-Restore-custom-InventoryHolder-support.patch (100%) rename patches/{unapplied => }/server/0282-Use-Vanilla-Minecart-Speeds.patch (100%) rename patches/{unapplied => }/server/0283-Fix-SpongeAbsortEvent-handling.patch (100%) rename patches/{unapplied => }/server/0284-Don-t-allow-digging-into-unloaded-chunks.patch (96%) rename patches/{unapplied => }/server/0285-Make-the-default-permission-message-configurable.patch (100%) rename patches/{unapplied => }/server/0286-Prevent-rayTrace-from-loading-chunks.patch (100%) rename patches/{unapplied => }/server/0287-Handle-Large-Packets-disconnecting-client.patch (97%) rename patches/{unapplied => }/server/0288-force-entity-dismount-during-teleportation.patch (87%) rename patches/{unapplied => }/server/0289-Add-more-Zombie-API.patch (100%) rename patches/{unapplied => }/server/0290-Book-Size-Limits.patch (93%) rename patches/{unapplied => }/server/0291-Add-PlayerConnectionCloseEvent.patch (95%) rename patches/{unapplied => }/server/0292-Prevent-Enderman-from-loading-chunks.patch (100%) rename patches/{unapplied => }/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch (94%) rename patches/{unapplied => }/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch (85%) rename patches/{unapplied => }/server/0295-Block-Entity-remove-from-being-called-on-Players.patch (94%) rename patches/{unapplied => }/server/0296-BlockDestroyEvent.patch (100%) rename patches/{unapplied => }/server/0297-Async-command-map-building.patch (89%) rename patches/{unapplied => }/server/0298-Implement-Brigadier-Mojang-API.patch (92%) rename patches/{unapplied => }/server/0299-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch (100%) rename patches/{unapplied => }/server/0300-Limit-Client-Sign-length-more.patch (84%) rename patches/{unapplied => }/server/0301-Don-t-check-ConvertSigns-boolean-every-sign-save.patch (100%) rename patches/{unapplied => }/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (92%) rename patches/{unapplied => }/server/0303-Handle-Oversized-Tile-Entities-in-chunks.patch (100%) rename patches/{unapplied => }/server/0304-Set-Zombie-last-tick-at-start-of-drowning-process.patch (100%) rename patches/{unapplied => }/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch (82%) rename patches/{unapplied => }/server/0306-Entity-getEntitySpawnReason.patch (92%) rename patches/{unapplied => }/server/0307-Update-entity-Metadata-for-all-tracked-players.patch (92%) rename patches/{unapplied => }/server/0308-Fire-event-on-GS4-query.patch (97%) rename patches/{unapplied => }/server/0309-Implement-PlayerPostRespawnEvent.patch (86%) rename patches/{unapplied => }/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch (86%) rename patches/{unapplied => }/server/0311-Server-Tick-Events.patch (93%) rename patches/{unapplied => }/server/0312-PlayerDeathEvent-getItemsToKeep.patch (92%) rename patches/{unapplied => }/server/0313-Optimize-Captured-TileEntity-Lookup.patch (100%) rename patches/{unapplied => }/server/0314-Add-Heightmap-API.patch (100%) rename patches/{unapplied => }/server/0315-Mob-Spawner-API-Enhancements.patch (100%) rename patches/{unapplied => }/server/0316-Fix-CB-call-to-changed-postToMainThread-method.patch (70%) rename patches/{unapplied => }/server/0317-Fix-sounds-when-item-frames-are-modified-MC-123450.patch (100%) rename patches/{unapplied => }/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch (95%) rename patches/{unapplied => }/server/0319-Implement-CraftBlockSoundGroup.patch (100%) rename patches/{unapplied => }/server/0320-Configurable-Keep-Spawn-Loaded-range-per-world.patch (96%) rename patches/{unapplied => }/server/0321-ChunkMapDistance-CME.patch (100%) rename patches/{unapplied => }/server/0322-Chunk-debug-command.patch (100%) rename patches/{unapplied => }/server/0323-Allow-Saving-of-Oversized-Chunks.patch (100%) rename patches/{unapplied => }/server/0324-Expose-the-internal-current-tick.patch (100%) rename patches/{unapplied => }/server/0325-Fix-World-isChunkGenerated-calls.patch (98%) rename patches/{unapplied => }/server/0326-Show-blockstate-location-if-we-failed-to-read-it.patch (100%) rename patches/{unapplied => }/server/0327-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch (100%) rename patches/{unapplied => }/server/0328-Configurable-projectile-relative-velocity.patch (100%) rename patches/{unapplied => }/server/0329-offset-item-frame-ticking.patch (100%) rename patches/{unapplied => }/server/0330-Fix-MC-158900.patch (90%) rename patches/{unapplied => }/server/0331-Prevent-consuming-the-wrong-itemstack.patch (87%) rename patches/{unapplied => }/server/0332-Dont-send-unnecessary-sign-update.patch (84%) rename patches/{unapplied => }/server/0333-Add-option-to-disable-pillager-patrols.patch (100%) rename patches/{unapplied => }/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch (85%) rename patches/{unapplied => }/server/0335-Flat-bedrock-generator-settings.patch (99%) rename patches/{unapplied => }/server/0336-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch (100%) rename patches/{unapplied => }/server/0337-MC-145656-Fix-Follow-Range-Initial-Target.patch (100%) rename patches/{unapplied => }/server/0338-Duplicate-UUID-Resolve-Option.patch (88%) rename patches/{unapplied => }/server/0339-Optimize-Hoppers.patch (99%) rename patches/{unapplied => }/server/0340-PlayerDeathEvent-shouldDropExperience.patch (85%) rename patches/{unapplied => }/server/0341-Prevent-bees-loading-chunks-checking-hive-position.patch (100%) rename patches/{unapplied => }/server/0342-Don-t-load-Chunks-from-Hoppers-and-other-things.patch (100%) diff --git a/patches/unapplied/server/0062-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0062-Default-loading-permissions.yml-before-plugins.patch similarity index 100% rename from patches/unapplied/server/0062-Default-loading-permissions.yml-before-plugins.patch rename to patches/server/0062-Default-loading-permissions.yml-before-plugins.patch diff --git a/patches/unapplied/server/0063-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch similarity index 100% rename from patches/unapplied/server/0063-Allow-Reloading-of-Custom-Permissions.patch rename to patches/server/0063-Allow-Reloading-of-Custom-Permissions.patch diff --git a/patches/unapplied/server/0064-Remove-Metadata-on-reload.patch b/patches/server/0064-Remove-Metadata-on-reload.patch similarity index 100% rename from patches/unapplied/server/0064-Remove-Metadata-on-reload.patch rename to patches/server/0064-Remove-Metadata-on-reload.patch diff --git a/patches/unapplied/server/0065-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0065-Handle-Item-Meta-Inconsistencies.patch similarity index 99% rename from patches/unapplied/server/0065-Handle-Item-Meta-Inconsistencies.patch rename to patches/server/0065-Handle-Item-Meta-Inconsistencies.patch index 78b0f1ae1..cd2cb2506 100644 --- a/patches/unapplied/server/0065-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0065-Handle-Item-Meta-Inconsistencies.patch @@ -18,7 +18,7 @@ For consistency, the old API methods now forward to use the ItemMeta API equivalents, and should deprecate the old API's. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7f778e037c1821cc45236bf2a95c28243d0ec126..758f0a620551838e32d5c68f7ee755f7ea374a46 100644 +index e937186aaf819a77c80beeb9e08413a1f781c13a..0e19f49ca2496b1c42d27289bcea15d26993ca85 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -151,6 +151,23 @@ public final class ItemStack { diff --git a/patches/unapplied/server/0066-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/0066-Configurable-Non-Player-Arrow-Despawn-Rate.patch similarity index 100% rename from patches/unapplied/server/0066-Configurable-Non-Player-Arrow-Despawn-Rate.patch rename to patches/server/0066-Configurable-Non-Player-Arrow-Despawn-Rate.patch diff --git a/patches/unapplied/server/0067-Add-World-Util-Methods.patch b/patches/server/0067-Add-World-Util-Methods.patch similarity index 94% rename from patches/unapplied/server/0067-Add-World-Util-Methods.patch rename to patches/server/0067-Add-World-Util-Methods.patch index 782de5b1e..20d322962 100644 --- a/patches/unapplied/server/0067-Add-World-Util-Methods.patch +++ b/patches/server/0067-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 28d6b8c5bebbbfb15ea76dea9e79e6b95978f15f..e4cf3d46de32ce5982da9c8cce2f1c6f74eddaa7 100644 +index 5d693946111a73e25fcbff2475a2f47a44066fbf..8f1c2d8e6cd0500f7e51d134cb5ea549752a1184 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -215,7 +215,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -216,7 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; diff --git a/patches/unapplied/server/0068-Custom-replacement-for-eaten-items.patch b/patches/server/0068-Custom-replacement-for-eaten-items.patch similarity index 89% rename from patches/unapplied/server/0068-Custom-replacement-for-eaten-items.patch rename to patches/server/0068-Custom-replacement-for-eaten-items.patch index a35a5251b..fc5200a6d 100644 --- a/patches/unapplied/server/0068-Custom-replacement-for-eaten-items.patch +++ b/patches/server/0068-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 30198bf3d05da6e05cca08a8e5f39edc964cb356..55c18329f20e3f95f51119fbde1a6f3863129a8d 100644 +index 3023e714961d1b565d9e8659e07ccc4dab729f2f..1dcf41a4105c05c3182afa8585dee20723d2c136 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3586,9 +3586,10 @@ public abstract class LivingEntity extends Entity { +@@ -3589,9 +3589,10 @@ public abstract class LivingEntity extends Entity { this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; @@ -20,7 +20,7 @@ index 30198bf3d05da6e05cca08a8e5f39edc964cb356..55c18329f20e3f95f51119fbde1a6f38 level.getCraftServer().getPluginManager().callEvent(event); if (event.isCancelled()) { -@@ -3602,6 +3603,13 @@ public abstract class LivingEntity extends Entity { +@@ -3605,6 +3606,13 @@ public abstract class LivingEntity extends Entity { } else { itemstack = this.useItem.finishUsingItem(this.level, this); } @@ -34,7 +34,7 @@ index 30198bf3d05da6e05cca08a8e5f39edc964cb356..55c18329f20e3f95f51119fbde1a6f38 // CraftBukkit end if (itemstack != this.useItem) { -@@ -3609,6 +3617,11 @@ public abstract class LivingEntity extends Entity { +@@ -3612,6 +3620,11 @@ public abstract class LivingEntity extends Entity { } this.stopUsingItem(); diff --git a/patches/unapplied/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch similarity index 90% rename from patches/unapplied/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch rename to patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch index a7e086d2e..cc80dcd86 100644 --- a/patches/unapplied/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0069-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -5,7 +5,7 @@ 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 55c18329f20e3f95f51119fbde1a6f3863129a8d..315ad337bddf3c6c95e829d3598d7d4ed87231b8 100644 +index 1dcf41a4105c05c3182afa8585dee20723d2c136..54e7fa7a483e15c440f562559601292c2a064208 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 { @@ -34,7 +34,7 @@ index 55c18329f20e3f95f51119fbde1a6f3863129a8d..315ad337bddf3c6c95e829d3598d7d4e // CraftBukkit start - Handle scaled health if (this instanceof ServerPlayer) { org.bukkit.craftbukkit.entity.CraftPlayer player = ((ServerPlayer) this).getBukkitEntity(); -@@ -3419,7 +3429,7 @@ public abstract class LivingEntity extends Entity { +@@ -3422,7 +3432,7 @@ public abstract class LivingEntity extends Entity { } public void setAbsorptionAmount(float amount) { @@ -44,7 +44,7 @@ index 55c18329f20e3f95f51119fbde1a6f3863129a8d..315ad337bddf3c6c95e829d3598d7d4e } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8ad19c44e4cfa39f81f8fc5e6a13e2649b6b0a3c..c8d63359c77ce11711df3ebed295fdd989d601a5 100644 +index 946f68af7d9b7f812675eeda02cc6ac37d839917..16103cea67ec657edfd57b2a1d582794efeac4b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1920,6 +1920,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0070-Use-a-Shared-Random-for-Entities.patch b/patches/server/0070-Use-a-Shared-Random-for-Entities.patch similarity index 97% rename from patches/unapplied/server/0070-Use-a-Shared-Random-for-Entities.patch rename to patches/server/0070-Use-a-Shared-Random-for-Entities.patch index e9f27723f..a843fc191 100644 --- a/patches/unapplied/server/0070-Use-a-Shared-Random-for-Entities.patch +++ b/patches/server/0070-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 380b7a31bae4d63248f8473dcbb602f4abbd4dd8..4e5dbb2414c76181053db13b13082154366f581a 100644 +index 0f50355ea57101e71df6990c1e19c7b927f5c306..829dc369891c0d120da6ed00ab981c6fd204596d 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/0071-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/0071-Configurable-spawn-chances-for-skeleton-horses.patch similarity index 90% rename from patches/unapplied/server/0071-Configurable-spawn-chances-for-skeleton-horses.patch rename to patches/server/0071-Configurable-spawn-chances-for-skeleton-horses.patch index 36024711e..95175f6fe 100644 --- a/patches/unapplied/server/0071-Configurable-spawn-chances-for-skeleton-horses.patch +++ b/patches/server/0071-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 e4cf3d46de32ce5982da9c8cce2f1c6f74eddaa7..27186bffd00b9a7b23b6abc053362f3f70a9d481 100644 +index 8f1c2d8e6cd0500f7e51d134cb5ea549752a1184..22e0612183be9e419d52ac2274dc728900433249 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -586,7 +586,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -587,7 +587,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/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 96% rename from patches/unapplied/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index 3aae2fc17..a013493ee 100644 --- a/patches/unapplied/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/0072-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch @@ -42,7 +42,7 @@ index e89410b00c8f9ef94cd2baf621802fa847bd6456..d3277e8aa7244ab490a6b354d863d4a9 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 91d2939bde77c52c25d2633dacc461d7284ef2d3..0d815a39d50bb8c06f81e3386764db6a00d84985 100644 +index fabc7df600c89b01d97a76eb0b1206a32407b906..6cec5cda20531aadf8e2148908a70f8b573d7d82 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -119,6 +119,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom @@ -71,7 +71,7 @@ index 80e383e9a2d12f9f1b0b0d9ae71a0add9b51c9d4..a9c65c8d36e5c7080133706df1363b3c 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 475663848a612f356a8e01330b03efb33e98fcec..ca46ed27fdc1eef979829d19b9e90db6d5c59e09 100644 +index 3dff0f7c3ccd04a67b2153e402d801de2341e520..7b320357973202423c29743d922b72dc4ec11efe 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/ImposterProtoChunk.java @@ -47,6 +47,12 @@ public class ImposterProtoChunk extends ProtoChunk { @@ -138,7 +138,7 @@ index dddae1e226d8f58cdcfc597e25d4228cd3245cb4..ae37e97e52557b48f129cc02eeea3953 private short tickingFluidCount; public final PalettedContainer states; diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java -index 3b11824a1b85da437eec108f631eacfb5192459e..5ce6a2b83546f4dbc3183a386f51b4bacc173744 100644 +index 603111a52346f678aba0fd66b010d8f3026fce40..9014331e4ceac9f77a911aead87bf452d29e3fb4 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java @@ -88,14 +88,18 @@ public class ProtoChunk extends ChunkAccess { diff --git a/patches/unapplied/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch similarity index 94% rename from patches/unapplied/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch rename to patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch index b835194d5..5109b67c4 100644 --- a/patches/unapplied/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch +++ b/patches/server/0073-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch @@ -6,7 +6,7 @@ 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 cc6699b9806bfaeca7d6e3564974bdbd532e06bc..170e3d9257f98af7ba1a95d0bf084b11258ea02b 100644 +index 40ea9d30c5d9a0936ba495adea4d96775bce2e06..00424041950529973eaf33f4d312dbd1038ae675 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1356,6 +1356,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 27186bffd00b9a7b23b6abc053362f3f70a9d481..dc4788765bbbe15c477c2e975129d63923d3f31f 100644 +index 22e0612183be9e419d52ac2274dc728900433249..bd60bb4a1fa7f3c38c651f72bc58dffcd5736b43 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -214,6 +214,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -215,6 +215,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit start public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; diff --git a/patches/unapplied/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch similarity index 83% rename from patches/unapplied/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch rename to patches/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch index 6a891f7c9..1bb60c8ef 100644 --- a/patches/unapplied/server/0074-Entity-AddTo-RemoveFrom-World-Events.patch +++ b/patches/server/0074-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 dc4788765bbbe15c477c2e975129d63923d3f31f..68a6f4e63bcaff52d69c3532ffa3da15e883a6e4 100644 +index bd60bb4a1fa7f3c38c651f72bc58dffcd5736b43..c94fc95adfce7ec4ab3d881f1667f2f54ae38393 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2118,6 +2118,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2119,6 +2119,7 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.setOrigin(entity.getOriginVector().toLocation(getWorld())); } // Paper end @@ -16,7 +16,7 @@ index dc4788765bbbe15c477c2e975129d63923d3f31f..68a6f4e63bcaff52d69c3532ffa3da15 } public void onTrackingEnd(Entity entity) { -@@ -2193,6 +2194,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2194,6 +2195,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // CraftBukkit end diff --git a/patches/unapplied/server/0075-Configurable-Chunk-Inhabited-Time.patch b/patches/server/0075-Configurable-Chunk-Inhabited-Time.patch similarity index 100% rename from patches/unapplied/server/0075-Configurable-Chunk-Inhabited-Time.patch rename to patches/server/0075-Configurable-Chunk-Inhabited-Time.patch diff --git a/patches/unapplied/server/0076-EntityPathfindEvent.patch b/patches/server/0076-EntityPathfindEvent.patch similarity index 100% rename from patches/unapplied/server/0076-EntityPathfindEvent.patch rename to patches/server/0076-EntityPathfindEvent.patch diff --git a/patches/unapplied/server/0077-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/0077-Sanitise-RegionFileCache-and-make-configurable.patch similarity index 100% rename from patches/unapplied/server/0077-Sanitise-RegionFileCache-and-make-configurable.patch rename to patches/server/0077-Sanitise-RegionFileCache-and-make-configurable.patch diff --git a/patches/unapplied/server/0078-Do-not-load-chunks-for-Pathfinding.patch b/patches/server/0078-Do-not-load-chunks-for-Pathfinding.patch similarity index 100% rename from patches/unapplied/server/0078-Do-not-load-chunks-for-Pathfinding.patch rename to patches/server/0078-Do-not-load-chunks-for-Pathfinding.patch diff --git a/patches/unapplied/server/0079-Add-PlayerUseUnknownEntityEvent.patch b/patches/server/0079-Add-PlayerUseUnknownEntityEvent.patch similarity index 94% rename from patches/unapplied/server/0079-Add-PlayerUseUnknownEntityEvent.patch rename to patches/server/0079-Add-PlayerUseUnknownEntityEvent.patch index f300347d6..55fa4d21b 100644 --- a/patches/unapplied/server/0079-Add-PlayerUseUnknownEntityEvent.patch +++ b/patches/server/0079-Add-PlayerUseUnknownEntityEvent.patch @@ -20,10 +20,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 2266ddf2ed66dfc9f82facddcbe6fcc89e1c0267..a33a142ba55be937fb19f70239f8327f8b7f236e 100644 +index 02b5b4c3ae00354d105c5f7f47d01317f1097922..6d09bd67753a16effb80224bb4c970f7bf3aeb9a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2411,8 +2411,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2614,8 +2614,37 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic }); } } diff --git a/patches/unapplied/server/0080-Configurable-Grass-Spread-Tick-Rate.patch b/patches/server/0080-Configurable-Grass-Spread-Tick-Rate.patch similarity index 100% rename from patches/unapplied/server/0080-Configurable-Grass-Spread-Tick-Rate.patch rename to patches/server/0080-Configurable-Grass-Spread-Tick-Rate.patch diff --git a/patches/unapplied/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch similarity index 82% rename from patches/unapplied/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch rename to patches/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch index eb66aab2e..d56c30920 100644 --- a/patches/unapplied/server/0081-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch +++ b/patches/server/0081-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 68a6f4e63bcaff52d69c3532ffa3da15e883a6e4..106bdc4ca666fc4db03a2ec4885add5a4d1bb059 100644 +index c94fc95adfce7ec4ab3d881f1667f2f54ae38393..14e618db89745942893f82d57f5383fcca6c41e9 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1364,6 +1364,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1365,6 +1365,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @Override public void updateNeighborsAt(BlockPos pos, Block sourceBlock) { diff --git a/patches/unapplied/server/0082-Optimize-DataBits.patch b/patches/server/0082-Optimize-DataBits.patch similarity index 100% rename from patches/unapplied/server/0082-Optimize-DataBits.patch rename to patches/server/0082-Optimize-DataBits.patch diff --git a/patches/unapplied/server/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch similarity index 100% rename from patches/unapplied/server/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch rename to patches/server/0083-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch diff --git a/patches/unapplied/server/0084-Configurable-Player-Collision.patch b/patches/server/0084-Configurable-Player-Collision.patch similarity index 91% rename from patches/unapplied/server/0084-Configurable-Player-Collision.patch rename to patches/server/0084-Configurable-Player-Collision.patch index 960978e78..7f59a68e2 100644 --- a/patches/unapplied/server/0084-Configurable-Player-Collision.patch +++ b/patches/server/0084-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 170e3d9257f98af7ba1a95d0bf084b11258ea02b..2b9199df0b969cce0de3a0dd47da7edccabb97f7 100644 +index 00424041950529973eaf33f4d312dbd1038ae675..0dffb6e8d6f4edfb4dfaa6b24e81d72356446ebc 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -578,6 +578,20 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop playersByName = new java.util.HashMap<>(); @@ -62,7 +62,7 @@ index 16e1d0b62e01551a54d60c81ca12708f51aceef9..3fe3d417b6c1ff49a412c308bfe6a431 public PlayerList(MinecraftServer server, RegistryAccess.Frozen registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); -@@ -389,6 +391,13 @@ public abstract class PlayerList { +@@ -393,6 +395,13 @@ public abstract class PlayerList { player.initInventoryMenu(); // CraftBukkit - Moved from above, added world @@ -76,7 +76,7 @@ index 16e1d0b62e01551a54d60c81ca12708f51aceef9..3fe3d417b6c1ff49a412c308bfe6a431 PlayerList.LOGGER.info("{}[{}] logged in with entity id {} at ([{}]{}, {}, {})", player.getName().getString(), s1, player.getId(), worldserver1.serverLevelData.getLevelName(), player.getX(), player.getY(), player.getZ()); } -@@ -508,6 +517,16 @@ public abstract class PlayerList { +@@ -512,6 +521,16 @@ public abstract class PlayerList { entityplayer.doTick(); // SPIGOT-924 // CraftBukkit end @@ -93,7 +93,7 @@ index 16e1d0b62e01551a54d60c81ca12708f51aceef9..3fe3d417b6c1ff49a412c308bfe6a431 this.save(entityplayer); if (entityplayer.isPassenger()) { Entity entity = entityplayer.getRootVehicle(); -@@ -1136,6 +1155,13 @@ public abstract class PlayerList { +@@ -1140,6 +1159,13 @@ public abstract class PlayerList { } // CraftBukkit end diff --git a/patches/unapplied/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/server/0085-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/server/0086-Configurable-RCON-IP-address.patch b/patches/server/0086-Configurable-RCON-IP-address.patch similarity index 96% rename from patches/unapplied/server/0086-Configurable-RCON-IP-address.patch rename to patches/server/0086-Configurable-RCON-IP-address.patch index 40f64fe29..fa6341c5b 100644 --- a/patches/unapplied/server/0086-Configurable-RCON-IP-address.patch +++ b/patches/server/0086-Configurable-RCON-IP-address.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Configurable RCON IP address For servers with multiple IP's, ability to bind to a specific interface. diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index cfff4a6711b2acd4b40ec80544c169a46ded3f79..cc92e2c5e6b62c6a67d0a6534b078e3a6029daf5 100644 +index efa2dd7947f68aaec479d835f2b1e60d16254ae1..1e01277448a3cf2b2045b54b182166a66c822e20 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,7 +17,7 @@ index 2b9199df0b969cce0de3a0dd47da7edccabb97f7..b40c2ccdc87208b5fc1962ad06ce961e public static final Logger LOGGER = LogUtils.getLogger(); public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; -@@ -305,6 +306,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) { super("Server"); diff --git a/patches/unapplied/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 95% rename from patches/unapplied/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index ae5e2f197..4928c59f9 100644 --- a/patches/unapplied/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/patches/server/0090-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -13,10 +13,10 @@ custom renderers are in use, defaulting to the much simpler Vanilla system. Additionally, numerous issues to player position tracking on maps has been fixed. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 106bdc4ca666fc4db03a2ec4885add5a4d1bb059..ddd956828996c9d7a86aa89a01cc5a2ee4606c30 100644 +index 14e618db89745942893f82d57f5383fcca6c41e9..652c909eaa9e76c29427b7220adf9fe4947c2e84 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2139,6 +2139,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2140,6 +2140,7 @@ public class ServerLevel extends Level implements WorldGenLevel { { if ( iter.next().player == entity ) { @@ -25,10 +25,10 @@ index 106bdc4ca666fc4db03a2ec4885add5a4d1bb059..ddd956828996c9d7a86aa89a01cc5a2e } } 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 24456bbf2cd9f1878cf545e8d164ff524c321a4c..fdda98cb38ec96d0189931c41257cc01966373d5 100644 +index 08b0b7b9146f58c4eb263d5ce1fee1b08d43fafe..1e3ac1d2cb5adf4c0fa3b703f2ecdc32cd8ce240 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -762,6 +762,14 @@ public abstract class Player extends LivingEntity { +@@ -763,6 +763,14 @@ public abstract class Player extends LivingEntity { return null; } // CraftBukkit end diff --git a/patches/unapplied/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch similarity index 99% rename from patches/unapplied/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch rename to patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch index 4aedf4242..3c8564f12 100644 --- a/patches/unapplied/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch +++ b/patches/server/0091-LootTable-API-Replenishable-Lootables-Feature.patch @@ -485,7 +485,7 @@ index 0000000000000000000000000000000000000000..3377b86c337d0234bbb9b0349e4034a7 + } +} diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4e5dbb2414c76181053db13b13082154366f581a..a96d50b68d6ce6fe9b36de5af132b2fa6d08961c 100644 +index 829dc369891c0d120da6ed00ab981c6fd204596d..0fe534337ea72b338583039644f1f2b5be76d385 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -232,6 +232,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/unapplied/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 100% rename from patches/unapplied/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to patches/server/0092-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch diff --git a/patches/unapplied/server/0093-System-property-for-disabling-watchdoge.patch b/patches/server/0093-System-property-for-disabling-watchdoge.patch similarity index 100% rename from patches/unapplied/server/0093-System-property-for-disabling-watchdoge.patch rename to patches/server/0093-System-property-for-disabling-watchdoge.patch diff --git a/patches/unapplied/server/0094-Async-GameProfileCache-saving.patch b/patches/server/0094-Async-GameProfileCache-saving.patch similarity index 90% rename from patches/unapplied/server/0094-Async-GameProfileCache-saving.patch rename to patches/server/0094-Async-GameProfileCache-saving.patch index 956602541..d640169a0 100644 --- a/patches/unapplied/server/0094-Async-GameProfileCache-saving.patch +++ b/patches/server/0094-Async-GameProfileCache-saving.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Async GameProfileCache saving diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b40c2ccdc87208b5fc1962ad06ce961e51186f3e..c7b740087003113a00c5eccc9b0405b62b9da2b7 100644 +index b3834c86eb79400c8cef60daa03c90a66b03b688..f3f528cc7f07da69c45e4290de098c0443c7a952 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -943,7 +943,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop channels = Collections.synchronizedList(Lists.newArrayList()); final List connections = Collections.synchronizedList(Lists.newArrayList()); @@ -25,7 +25,7 @@ index 0b657174309b6eaee0c8a2d6c17dd467d278739c..5e1a6f2cd2d0d9c6b17c446fa782e408 public ServerConnectionListener(MinecraftServer server) { this.server = server; -@@ -97,7 +106,8 @@ public class ServerConnectionListener { +@@ -98,7 +107,8 @@ public class ServerConnectionListener { int j = ServerConnectionListener.this.server.getRateLimitPacketsPerSecond(); Object object = j > 0 ? new RateKickingConnection(j) : new Connection(PacketFlow.SERVERBOUND); @@ -35,7 +35,7 @@ index 0b657174309b6eaee0c8a2d6c17dd467d278739c..5e1a6f2cd2d0d9c6b17c446fa782e408 channel.pipeline().addLast("packet_handler", (ChannelHandler) object); ((Connection) object).setListener(new ServerHandshakePacketListenerImpl(ServerConnectionListener.this.server, (Connection) object)); } -@@ -156,6 +166,7 @@ public class ServerConnectionListener { +@@ -157,6 +167,7 @@ public class ServerConnectionListener { synchronized (this.connections) { // Spigot Start diff --git a/patches/unapplied/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 90% rename from patches/unapplied/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch index 7c155f0b5..e542d272f 100644 --- a/patches/unapplied/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch +++ b/patches/server/0101-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't lookup game profiles that have no UUID and no name diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index 717a0d1c1f4df7ebd5f4cdd5e24cabe3fb66bf06..d00e8486c145200b2431cf92d7049a6d87d55227 100644 +index 2249beff3200c5dab1e81bd3d10f2c3bf1e7dbc9..3295fd4bca58cf8feeff2fcefa514a5ec89310f9 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -98,6 +98,7 @@ public class GameProfileCache { diff --git a/patches/unapplied/server/0102-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch similarity index 97% rename from patches/unapplied/server/0102-Add-setting-for-proxy-online-mode-status.patch rename to patches/server/0102-Add-setting-for-proxy-online-mode-status.patch index 8435ac73b..f76a551b1 100644 --- a/patches/unapplied/server/0102-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0102-Add-setting-for-proxy-online-mode-status.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add setting for proxy online mode status TODO: Add isProxyOnlineMode check to Metrics diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index d00e8486c145200b2431cf92d7049a6d87d55227..c7edbd12361cfd3dcf1359917d579fae4c3cc8a7 100644 +index 3295fd4bca58cf8feeff2fcefa514a5ec89310f9..376845f5a25a348e76193fac5c047b0ba2fb080f 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -98,7 +98,8 @@ public class GameProfileCache { diff --git a/patches/unapplied/server/0103-Optimise-BlockState-s-hashCode-equals.patch b/patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch similarity index 100% rename from patches/unapplied/server/0103-Optimise-BlockState-s-hashCode-equals.patch rename to patches/server/0103-Optimise-BlockState-s-hashCode-equals.patch diff --git a/patches/unapplied/server/0104-Configurable-packet-in-spam-threshold.patch b/patches/server/0104-Configurable-packet-in-spam-threshold.patch similarity index 88% rename from patches/unapplied/server/0104-Configurable-packet-in-spam-threshold.patch rename to patches/server/0104-Configurable-packet-in-spam-threshold.patch index 009584d27..5557673e2 100644 --- a/patches/unapplied/server/0104-Configurable-packet-in-spam-threshold.patch +++ b/patches/server/0104-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 a33a142ba55be937fb19f70239f8327f8b7f236e..299dc4ff01642a5d7229a1e0540c3154e42e25a7 100644 +index 6d09bd67753a16effb80224bb4c970f7bf3aeb9a..d3d141d18d9e66bc04e4c1af38b44bdd41e8d416 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1535,13 +1535,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1601,13 +1601,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/0105-Configurable-flying-kick-messages.patch b/patches/server/0105-Configurable-flying-kick-messages.patch similarity index 85% rename from patches/unapplied/server/0105-Configurable-flying-kick-messages.patch rename to patches/server/0105-Configurable-flying-kick-messages.patch index 2dc6e3402..afc75d29d 100644 --- a/patches/unapplied/server/0105-Configurable-flying-kick-messages.patch +++ b/patches/server/0105-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 299dc4ff01642a5d7229a1e0540c3154e42e25a7..6aac105a9717b02af648be82fe8e1b2b30bef8a6 100644 +index d3d141d18d9e66bc04e4c1af38b44bdd41e8d416..aea8d2376e88a327985f7f5d34e355cd9090941e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -327,7 +327,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -355,7 +355,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 299dc4ff01642a5d7229a1e0540c3154e42e25a7..6aac105a9717b02af648be82fe8e1b2b return; } } else { -@@ -346,7 +346,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -374,7 +374,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/0106-Add-EntityZapEvent.patch b/patches/server/0106-Add-EntityZapEvent.patch similarity index 100% rename from patches/unapplied/server/0106-Add-EntityZapEvent.patch rename to patches/server/0106-Add-EntityZapEvent.patch diff --git a/patches/unapplied/server/0107-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/patches/server/0107-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 100% rename from patches/unapplied/server/0107-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to patches/server/0107-Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch diff --git a/patches/unapplied/server/0108-Cache-user-authenticator-threads.patch b/patches/server/0108-Cache-user-authenticator-threads.patch similarity index 86% rename from patches/unapplied/server/0108-Cache-user-authenticator-threads.patch rename to patches/server/0108-Cache-user-authenticator-threads.patch index b884eeb7e..fe8c25f93 100644 --- a/patches/unapplied/server/0108-Cache-user-authenticator-threads.patch +++ b/patches/server/0108-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 ff8773f3671970bd759303f7a4bbc17d4df5a1de..13f8f3a2a6382ef51567cc6f46b573d971f700f6 100644 +index 5054c3208d1723a33a96d23edcbc9f1483b879e5..72bc5648706380639440456fc938d9350e12f1cc 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -120,6 +120,18 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -122,6 +122,18 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se } @@ -27,7 +27,7 @@ index ff8773f3671970bd759303f7a4bbc17d4df5a1de..13f8f3a2a6382ef51567cc6f46b573d9 // Spigot start public void initUUID() { -@@ -258,8 +270,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -258,8 +270,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce)); } else { // Spigot start @@ -38,7 +38,7 @@ index ff8773f3671970bd759303f7a4bbc17d4df5a1de..13f8f3a2a6382ef51567cc6f46b573d9 @Override public void run() { try { -@@ -270,7 +282,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -270,7 +282,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + ServerLoginPacketListenerImpl.this.gameProfile.getName(), ex); } } @@ -48,7 +48,7 @@ index ff8773f3671970bd759303f7a4bbc17d4df5a1de..13f8f3a2a6382ef51567cc6f46b573d9 // Spigot end } -@@ -311,7 +324,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -313,7 +326,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se throw new IllegalStateException("Protocol error", cryptographyexception); } @@ -58,7 +58,7 @@ index ff8773f3671970bd759303f7a4bbc17d4df5a1de..13f8f3a2a6382ef51567cc6f46b573d9 public void run() { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.gameProfile; -@@ -356,10 +370,8 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -358,10 +372,8 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se return ServerLoginPacketListenerImpl.this.server.getPreventProxyConnections() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/patches/unapplied/server/0109-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0109-Allow-Reloading-of-Command-Aliases.patch similarity index 100% rename from patches/unapplied/server/0109-Allow-Reloading-of-Command-Aliases.patch rename to patches/server/0109-Allow-Reloading-of-Command-Aliases.patch diff --git a/patches/unapplied/server/0110-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0110-Add-source-to-PlayerExpChangeEvent.patch similarity index 100% rename from patches/unapplied/server/0110-Add-source-to-PlayerExpChangeEvent.patch rename to patches/server/0110-Add-source-to-PlayerExpChangeEvent.patch diff --git a/patches/unapplied/server/0111-Add-ProjectileCollideEvent.patch b/patches/server/0111-Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/unapplied/server/0111-Add-ProjectileCollideEvent.patch rename to patches/server/0111-Add-ProjectileCollideEvent.patch diff --git a/patches/unapplied/server/0112-Prevent-Pathfinding-out-of-World-Border.patch b/patches/server/0112-Prevent-Pathfinding-out-of-World-Border.patch similarity index 100% rename from patches/unapplied/server/0112-Prevent-Pathfinding-out-of-World-Border.patch rename to patches/server/0112-Prevent-Pathfinding-out-of-World-Border.patch diff --git a/patches/unapplied/server/0113-Optimize-World.isLoaded-BlockPosition-Z.patch b/patches/server/0113-Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 100% rename from patches/unapplied/server/0113-Optimize-World.isLoaded-BlockPosition-Z.patch rename to patches/server/0113-Optimize-World.isLoaded-BlockPosition-Z.patch diff --git a/patches/unapplied/server/0114-Bound-Treasure-Maps-to-World-Border.patch b/patches/server/0114-Bound-Treasure-Maps-to-World-Border.patch similarity index 94% rename from patches/unapplied/server/0114-Bound-Treasure-Maps-to-World-Border.patch rename to patches/server/0114-Bound-Treasure-Maps-to-World-Border.patch index 9c764f4aa..01b6cd61c 100644 --- a/patches/unapplied/server/0114-Bound-Treasure-Maps-to-World-Border.patch +++ b/patches/server/0114-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 91666d0c8116353b80d49941f17a3a8405eb50a7..0f92f2906195f5b2b70ca02a46fa111a46f8f18f 100644 +index 2b543472302faf4b6298efe9bc44c023051f4997..b1eecc184bc9daf0a9c7db8da06e11bfb63d9d88 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -@@ -387,6 +387,7 @@ public abstract class ChunkGenerator { +@@ -390,6 +390,7 @@ public abstract class ChunkGenerator { while (iterator.hasNext()) { ChunkPos chunkcoordintpair = (ChunkPos) iterator.next(); diff --git a/patches/unapplied/server/0115-Configurable-Cartographer-Treasure-Maps.patch b/patches/server/0115-Configurable-Cartographer-Treasure-Maps.patch similarity index 100% rename from patches/unapplied/server/0115-Configurable-Cartographer-Treasure-Maps.patch rename to patches/server/0115-Configurable-Cartographer-Treasure-Maps.patch diff --git a/patches/unapplied/server/0116-Optimize-ItemStack.isEmpty.patch b/patches/server/0116-Optimize-ItemStack.isEmpty.patch similarity index 90% rename from patches/unapplied/server/0116-Optimize-ItemStack.isEmpty.patch rename to patches/server/0116-Optimize-ItemStack.isEmpty.patch index b76cd7ea2..cb004037b 100644 --- a/patches/unapplied/server/0116-Optimize-ItemStack.isEmpty.patch +++ b/patches/server/0116-Optimize-ItemStack.isEmpty.patch @@ -6,7 +6,7 @@ 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 758f0a620551838e32d5c68f7ee755f7ea374a46..e7dbcacff58ce4b48f315eae80878c136b740416 100644 +index 0e19f49ca2496b1c42d27289bcea15d26993ca85..c0959edaef2bc0ebcfa482cd120855c23d83f2b8 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 { diff --git a/patches/unapplied/server/0117-Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/server/0117-Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 100% rename from patches/unapplied/server/0117-Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/server/0117-Add-API-methods-to-control-if-armour-stands-can-move.patch diff --git a/patches/unapplied/server/0118-String-based-Action-Bar-API.patch b/patches/server/0118-String-based-Action-Bar-API.patch similarity index 96% rename from patches/unapplied/server/0118-String-based-Action-Bar-API.patch rename to patches/server/0118-String-based-Action-Bar-API.patch index 39b807705..44010d4ab 100644 --- a/patches/unapplied/server/0118-String-based-Action-Bar-API.patch +++ b/patches/server/0118-String-based-Action-Bar-API.patch @@ -26,7 +26,7 @@ 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 c8d63359c77ce11711df3ebed295fdd989d601a5..7f4ed398c48534eec4303a394f360f476b7757ad 100644 +index 16103cea67ec657edfd57b2a1d582794efeac4b6..198d679a0f46324b2ec483d474cff0829bbd6844 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -274,6 +274,26 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0119-Properly-fix-item-duplication-bug.patch b/patches/server/0119-Properly-fix-item-duplication-bug.patch similarity index 79% rename from patches/unapplied/server/0119-Properly-fix-item-duplication-bug.patch rename to patches/server/0119-Properly-fix-item-duplication-bug.patch index afd7d81df..389a34dbe 100644 --- a/patches/unapplied/server/0119-Properly-fix-item-duplication-bug.patch +++ b/patches/server/0119-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 02dd7ca5f7845803623488d7c7e84a2eb22b2d90..5cd7e7eb7c1288cf4c1f13f63b3ea0cc34d6beb8 100644 +index b117a98dea77755bee33f8a141f8df16b587beeb..8f4b8e4911d5c3bb82c9ac246c041c0eb51a3123 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2200,7 +2200,7 @@ public class ServerPlayer extends Player { +@@ -2189,7 +2189,7 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -19,10 +19,10 @@ index 02dd7ca5f7845803623488d7c7e84a2eb22b2d90..5cd7e7eb7c1288cf4c1f13f63b3ea0cc @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6aac105a9717b02af648be82fe8e1b2b30bef8a6..aafeb6643bcc08ae1d88ba2a68f1f6a29c8ce2b7 100644 +index aea8d2376e88a327985f7f5d34e355cd9090941e..c14ab179046b3c608190ddf1ffa1048411c664aa 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3037,7 +3037,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3253,7 +3253,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } public final boolean isDisconnected() { diff --git a/patches/unapplied/server/0120-Firework-API-s.patch b/patches/server/0120-Firework-API-s.patch similarity index 100% rename from patches/unapplied/server/0120-Firework-API-s.patch rename to patches/server/0120-Firework-API-s.patch diff --git a/patches/unapplied/server/0121-PlayerTeleportEndGatewayEvent.patch b/patches/server/0121-PlayerTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/server/0121-PlayerTeleportEndGatewayEvent.patch rename to patches/server/0121-PlayerTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 100% rename from patches/unapplied/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/server/0122-Provide-E-TE-Chunk-count-stat-methods.patch diff --git a/patches/unapplied/server/0123-Enforce-Sync-Player-Saves.patch b/patches/server/0123-Enforce-Sync-Player-Saves.patch similarity index 87% rename from patches/unapplied/server/0123-Enforce-Sync-Player-Saves.patch rename to patches/server/0123-Enforce-Sync-Player-Saves.patch index ec06df175..f4bb2c348 100644 --- a/patches/unapplied/server/0123-Enforce-Sync-Player-Saves.patch +++ b/patches/server/0123-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 3fe3d417b6c1ff49a412c308bfe6a43182d0986e..6c86e18cb59a4e9a906269d570d228f05c700a48 100644 +index 029e537c129dd19039ac30065f3319558d30ba64..c0541a83881a3329577897e6c4f3009db17aca4a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1040,11 +1040,13 @@ public abstract class PlayerList { +@@ -1044,11 +1044,13 @@ public abstract class PlayerList { } public void saveAll() { diff --git a/patches/unapplied/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch b/patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch similarity index 84% rename from patches/unapplied/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch rename to patches/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch index 008caa0dd..89c1907ee 100644 --- a/patches/unapplied/server/0124-Don-t-allow-entities-to-ride-themselves-572.patch +++ b/patches/server/0124-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 a96d50b68d6ce6fe9b36de5af132b2fa6d08961c..9d854cb4722ccd3a665fd29aff8bf368163c30e4 100644 +index 0fe534337ea72b338583039644f1f2b5be76d385..0c9cabfb5ff3733ac857889482474555b17b4e5c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2322,6 +2322,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2319,6 +2319,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } protected boolean addPassenger(Entity entity) { // CraftBukkit diff --git a/patches/unapplied/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 99% rename from patches/unapplied/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index c3bca094a..a88248a9a 100644 --- a/patches/unapplied/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -131,7 +131,7 @@ index b3433ce9c722bdab81848a6c2d121ca510c48509..16a1a005f2dda30cf804bf51638383ef @Override diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 292f5dddd644880fc759fa8634d633ad40f3bf4f..8c5e4958f087a3f688261a44377dde39bc134b80 100644 +index d33495915e63e4cae16b3c1ed536bae916a944d9..9f6629189a126c12a2d45098e12f41d8e45147a4 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1723,7 +1723,8 @@ public abstract class LivingEntity extends Entity { @@ -284,7 +284,7 @@ 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 60c5d4c97a340120f49f51b3d1dc7e6f2a19a936..0422e389e5b9577417d09490a15584ed5b885209 100644 +index 4b3dc4648709abbdd6ac0972c298a64a875e5f6c..77125720fcbeb7bfc180effb27cfb78c74832ce5 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 { diff --git a/patches/unapplied/server/0126-Cap-Entity-Collisions.patch b/patches/server/0126-Cap-Entity-Collisions.patch similarity index 88% rename from patches/unapplied/server/0126-Cap-Entity-Collisions.patch rename to patches/server/0126-Cap-Entity-Collisions.patch index bf9b26193..9c60d092a 100644 --- a/patches/unapplied/server/0126-Cap-Entity-Collisions.patch +++ b/patches/server/0126-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 9d854cb4722ccd3a665fd29aff8bf368163c30e4..1daffb325617f8e9f3218aa879eb7d8467d69447 100644 +index 0c9cabfb5ff3733ac857889482474555b17b4e5c..778549f30d941352014983adb0e7a4457e6eb11b 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,10 +24,10 @@ index 9d854cb4722ccd3a665fd29aff8bf368163c30e4..1daffb325617f8e9f3218aa879eb7d84 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 8c5e4958f087a3f688261a44377dde39bc134b80..20bc6684b0394fe08aa35c371bf668d8ebcf98b1 100644 +index 9f6629189a126c12a2d45098e12f41d8e45147a4..841149ffcdb2228fac3ac2bdc56c02ed26f219f6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3261,8 +3261,11 @@ public abstract class LivingEntity extends Entity { +@@ -3264,8 +3264,11 @@ public abstract class LivingEntity extends Entity { } } diff --git a/patches/unapplied/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 100% rename from patches/unapplied/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch rename to patches/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch diff --git a/patches/unapplied/server/0128-Do-not-let-armorstands-drown.patch b/patches/server/0128-Do-not-let-armorstands-drown.patch similarity index 100% rename from patches/unapplied/server/0128-Do-not-let-armorstands-drown.patch rename to patches/server/0128-Do-not-let-armorstands-drown.patch diff --git a/patches/unapplied/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch b/patches/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch similarity index 85% rename from patches/unapplied/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch rename to patches/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch index 284230e4d..bfb9bf42d 100644 --- a/patches/unapplied/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch +++ b/patches/server/0129-Make-targetSize-more-aggressive-in-the-chunk-unload-.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make targetSize more aggressive in the chunk unload queue diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index e1200e903e39c3e5cb023e1bd4fe104907c0c6eb..702d885b6a5caf8cabc40934893a081b01906781 100644 +index 1c73599e37e9b830ff0ab9bcc9edc7b63daa6ca1..dd318c213742299fca1335fadf1f4465b471d7ea 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -232,7 +232,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -233,7 +233,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.entityMap = new Int2ObjectOpenHashMap(); this.chunkTypeCache = new Long2ByteOpenHashMap(); this.chunkSaveCooldowns = new Long2LongOpenHashMap(); @@ -17,7 +17,7 @@ index e1200e903e39c3e5cb023e1bd4fe104907c0c6eb..702d885b6a5caf8cabc40934893a081b this.structureTemplateManager = structureTemplateManager; Path path = session.getDimensionPath(world.dimension()); -@@ -587,7 +587,6 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -588,7 +588,6 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider private void processUnloads(BooleanSupplier shouldKeepTicking) { LongIterator longiterator = this.toDrop.iterator(); @@ -25,7 +25,7 @@ index e1200e903e39c3e5cb023e1bd4fe104907c0c6eb..702d885b6a5caf8cabc40934893a081b for (int i = 0; longiterator.hasNext() && (shouldKeepTicking.getAsBoolean() || i < 200 || this.toDrop.size() > 2000); longiterator.remove()) { long j = longiterator.nextLong(); ChunkHolder playerchunk = (ChunkHolder) this.updatingChunkMap.remove(j); -@@ -600,7 +599,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -601,7 +600,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } } diff --git a/patches/unapplied/server/0130-Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/0130-Properly-handle-async-calls-to-restart-the-server.patch similarity index 96% rename from patches/unapplied/server/0130-Properly-handle-async-calls-to-restart-the-server.patch rename to patches/server/0130-Properly-handle-async-calls-to-restart-the-server.patch index c74bffe32..dfe13c040 100644 --- a/patches/unapplied/server/0130-Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/0130-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 c7b740087003113a00c5eccc9b0405b62b9da2b7..ff7cc68eeb1aa61c06d50ed47211009d51b2b234 100644 +index f3f528cc7f07da69c45e4290de098c0443c7a952..41928abfffbf6102e92cb45532e691b35a603a31 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -219,6 +219,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop, ServerLevel> levels; private PlayerList playerList; private volatile boolean running; @@ -41,7 +41,7 @@ index c7b740087003113a00c5eccc9b0405b62b9da2b7..ff7cc68eeb1aa61c06d50ed47211009d private boolean stopped; private int tickCount; protected final Proxy proxy; -@@ -882,7 +883,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0.5F || this.isInWater()) || this.abilities.flying || this.isSleeping() || this.isInPowderSnow) { diff --git a/patches/unapplied/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 100% rename from patches/unapplied/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/server/0132-Add-configuration-option-to-prevent-player-names-fro.patch diff --git a/patches/unapplied/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch similarity index 97% rename from patches/unapplied/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch rename to patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch index e094d1b1a..e0996ddbe 100644 --- a/patches/unapplied/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0133-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -112,10 +112,10 @@ index 0000000000000000000000000000000000000000..685deaa0e5d1ddc13e3a7c0471b1cfcf + +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ff7cc68eeb1aa61c06d50ed47211009d51b2b234..a4d14a12a5ede30f1e124bfaa5552e70f590dd09 100644 +index 41928abfffbf6102e92cb45532e691b35a603a31..68072a78d241bcfb54a206e7b85f038d51e26e58 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -157,7 +157,7 @@ import org.slf4j.Logger; +@@ -156,7 +156,7 @@ import org.slf4j.Logger; import com.mojang.serialization.DynamicOps; import com.mojang.serialization.Lifecycle; import java.util.Random; @@ -124,7 +124,7 @@ index ff7cc68eeb1aa61c06d50ed47211009d51b2b234..a4d14a12a5ede30f1e124bfaa5552e70 import joptsimple.OptionSet; import net.minecraft.server.bossevents.CustomBossEvents; import net.minecraft.server.dedicated.DedicatedServer; -@@ -269,7 +269,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -353,7 +353,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { itemstack.setCount(canHold); -@@ -397,8 +398,14 @@ public class ItemEntity extends Entity { +@@ -395,8 +396,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 ab34a42c33a828d610a5732381487a6a1a64f801..c9aa79cd6846ea8b04ad0c77fbf5aff3 return; } -@@ -428,7 +435,11 @@ public class ItemEntity extends Entity { +@@ -426,7 +433,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/0137-PlayerAttemptPickupItemEvent.patch b/patches/server/0137-PlayerAttemptPickupItemEvent.patch similarity index 91% rename from patches/unapplied/server/0137-PlayerAttemptPickupItemEvent.patch rename to patches/server/0137-PlayerAttemptPickupItemEvent.patch index 0f8e97e02..deec8f3a7 100644 --- a/patches/unapplied/server/0137-PlayerAttemptPickupItemEvent.patch +++ b/patches/server/0137-PlayerAttemptPickupItemEvent.patch @@ -5,7 +5,7 @@ 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 c9aa79cd6846ea8b04ad0c77fbf5aff3ce216505..a0b27bdeabcabd0bd07b1b495105f9b6af998092 100644 +index bd78031511b8c7facc3f61f3a23cbf4264fa2d0c..6ecab1dd5932c4c346cde987cb9463b00a32d385 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; @@ -16,7 +16,7 @@ index c9aa79cd6846ea8b04ad0c77fbf5aff3ce216505..a0b27bdeabcabd0bd07b1b495105f9b6 public class ItemEntity extends Entity { -@@ -392,6 +393,22 @@ public class ItemEntity extends Entity { +@@ -390,6 +391,22 @@ public class ItemEntity extends Entity { int remaining = i - canHold; boolean flyAtPlayer = false; // Paper diff --git a/patches/unapplied/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch similarity index 91% rename from patches/unapplied/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch rename to patches/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch index aece8e971..b2385e0d4 100644 --- a/patches/unapplied/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0138-Do-not-submit-profile-lookups-to-worldgen-threads.patch @@ -10,10 +10,10 @@ 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 d7e22ddf89619b58516ccef1d75a4c33df61b73c..33ec7786cdf8c32e905d192fc8364418e47404d5 100644 +index 168ab805ecc48dd55db90eb7fe1c56fda3f2776c..336a26733b5bf73455f8ec10347c1e08b8e866f7 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java -@@ -80,6 +80,22 @@ public class Util { +@@ -81,6 +81,22 @@ public class Util { private static final AtomicInteger WORKER_COUNT = new AtomicInteger(1); private static final ExecutorService BOOTSTRAP_EXECUTOR = makeExecutor("Bootstrap"); private static final ExecutorService BACKGROUND_EXECUTOR = makeExecutor("Main"); @@ -34,10 +34,10 @@ index d7e22ddf89619b58516ccef1d75a4c33df61b73c..33ec7786cdf8c32e905d192fc8364418 + }); + // Paper end - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread private static final ExecutorService IO_POOL = makeIoExecutor(); - public static LongSupplier timeSource = System::nanoTime; - public static final Ticker TICKER = new Ticker() { + private static final DateTimeFormatter FILENAME_DATE_TIME_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss", Locale.ROOT); + public static TimeSource.NanoTimeSource timeSource = System::nanoTime; diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index c7edbd12361cfd3dcf1359917d579fae4c3cc8a7..6c8a1d9c7696fa55dae6ba5e4ea50a0ffc7ea543 100644 +index 376845f5a25a348e76193fac5c047b0ba2fb080f..2a0cf0a8a79c09566c598197fc6f8c447d4bbd72 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -181,7 +181,7 @@ public class GameProfileCache { diff --git a/patches/unapplied/server/0139-Add-UnknownCommandEvent.patch b/patches/server/0139-Add-UnknownCommandEvent.patch similarity index 100% rename from patches/unapplied/server/0139-Add-UnknownCommandEvent.patch rename to patches/server/0139-Add-UnknownCommandEvent.patch diff --git a/patches/unapplied/server/0140-Basic-PlayerProfile-API.patch b/patches/server/0140-Basic-PlayerProfile-API.patch similarity index 99% rename from patches/unapplied/server/0140-Basic-PlayerProfile-API.patch rename to patches/server/0140-Basic-PlayerProfile-API.patch index 34aaa75a2..6f123d26e 100644 --- a/patches/unapplied/server/0140-Basic-PlayerProfile-API.patch +++ b/patches/server/0140-Basic-PlayerProfile-API.patch @@ -599,7 +599,7 @@ index a48a12a31a3d09a9373b688dcc093035f8f8a300..97b29bcb20e199c2d02457f8025e67e2 String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName); LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath()); diff --git a/src/main/java/net/minecraft/server/players/GameProfileCache.java b/src/main/java/net/minecraft/server/players/GameProfileCache.java -index 6c8a1d9c7696fa55dae6ba5e4ea50a0ffc7ea543..2347c7b44793aabe431b57bb1b44935fefbda6fe 100644 +index 2a0cf0a8a79c09566c598197fc6f8c447d4bbd72..5e3bc0590e59770490b1c6c818d99be054214a8a 100644 --- a/src/main/java/net/minecraft/server/players/GameProfileCache.java +++ b/src/main/java/net/minecraft/server/players/GameProfileCache.java @@ -136,6 +136,17 @@ public class GameProfileCache { diff --git a/patches/unapplied/server/0141-Shoulder-Entities-Release-API.patch b/patches/server/0141-Shoulder-Entities-Release-API.patch similarity index 96% rename from patches/unapplied/server/0141-Shoulder-Entities-Release-API.patch rename to patches/server/0141-Shoulder-Entities-Release-API.patch index 6278bc65f..23582ab7c 100644 --- a/patches/unapplied/server/0141-Shoulder-Entities-Release-API.patch +++ b/patches/server/0141-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 9aa134e56d661d033bb7229e6ab662534bf9cba9..794081610e52b7b8e04403510d1ad05f4f11d320 100644 +index 07a8abb714a9dfd470ab0486c336e3b58ea927a1..d4e3649f4d66545842a7f8cd3dabad39d185046e 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -2026,20 +2026,44 @@ public abstract class Player extends LivingEntity { +@@ -2036,20 +2036,44 @@ public abstract class Player extends LivingEntity { } diff --git a/patches/unapplied/server/0142-Profile-Lookup-Events.patch b/patches/server/0142-Profile-Lookup-Events.patch similarity index 100% rename from patches/unapplied/server/0142-Profile-Lookup-Events.patch rename to patches/server/0142-Profile-Lookup-Events.patch diff --git a/patches/unapplied/server/0143-Block-player-logins-during-server-shutdown.patch b/patches/server/0143-Block-player-logins-during-server-shutdown.patch similarity index 84% rename from patches/unapplied/server/0143-Block-player-logins-during-server-shutdown.patch rename to patches/server/0143-Block-player-logins-during-server-shutdown.patch index 185293731..95fed3d48 100644 --- a/patches/unapplied/server/0143-Block-player-logins-during-server-shutdown.patch +++ b/patches/server/0143-Block-player-logins-during-server-shutdown.patch @@ -5,12 +5,12 @@ 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 13f8f3a2a6382ef51567cc6f46b573d971f700f6..dc932515bada7f84a386827f3b7e1e8f69bd7159 100644 +index 72bc5648706380639440456fc938d9350e12f1cc..fcdd6c954552cf0b7eb914d34b94de248010765b 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -79,6 +79,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener - } +@@ -81,6 +81,12 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se + @Override public void tick() { + // Paper start - Do not allow logins while the server is shutting down + if (!MinecraftServer.getServer().isRunning()) { diff --git a/patches/unapplied/server/0144-Entity-fromMobSpawner.patch b/patches/server/0144-Entity-fromMobSpawner.patch similarity index 93% rename from patches/unapplied/server/0144-Entity-fromMobSpawner.patch rename to patches/server/0144-Entity-fromMobSpawner.patch index c7bc55b35..64a013f0a 100644 --- a/patches/unapplied/server/0144-Entity-fromMobSpawner.patch +++ b/patches/server/0144-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 1daffb325617f8e9f3218aa879eb7d8467d69447..e233f1bd8047c06d69aed0e22c220658b9868729 100644 +index 778549f30d941352014983adb0e7a4457e6eb11b..2e7b3de046bace7c4c275654a0f1e9066790db0c 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 1daffb325617f8e9f3218aa879eb7d8467d69447..e233f1bd8047c06d69aed0e22c220658 @javax.annotation.Nullable private org.bukkit.util.Vector origin; @javax.annotation.Nullable -@@ -1959,6 +1960,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1954,6 +1955,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 1daffb325617f8e9f3218aa879eb7d8467d69447..e233f1bd8047c06d69aed0e22c220658 // Paper end return nbt; } catch (Throwable throwable) { -@@ -2096,6 +2101,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2093,6 +2098,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)); } diff --git a/patches/unapplied/server/0145-Improve-the-Saddle-API-for-Horses.patch b/patches/server/0145-Improve-the-Saddle-API-for-Horses.patch similarity index 100% rename from patches/unapplied/server/0145-Improve-the-Saddle-API-for-Horses.patch rename to patches/server/0145-Improve-the-Saddle-API-for-Horses.patch diff --git a/patches/unapplied/server/0146-Implement-ensureServerConversions-API.patch b/patches/server/0146-Implement-ensureServerConversions-API.patch similarity index 100% rename from patches/unapplied/server/0146-Implement-ensureServerConversions-API.patch rename to patches/server/0146-Implement-ensureServerConversions-API.patch diff --git a/patches/unapplied/server/0147-Implement-getI18NDisplayName.patch b/patches/server/0147-Implement-getI18NDisplayName.patch similarity index 100% rename from patches/unapplied/server/0147-Implement-getI18NDisplayName.patch rename to patches/server/0147-Implement-getI18NDisplayName.patch diff --git a/patches/unapplied/server/0148-ProfileWhitelistVerifyEvent.patch b/patches/server/0148-ProfileWhitelistVerifyEvent.patch similarity index 93% rename from patches/unapplied/server/0148-ProfileWhitelistVerifyEvent.patch rename to patches/server/0148-ProfileWhitelistVerifyEvent.patch index 6a1584c24..7ffeae25c 100644 --- a/patches/unapplied/server/0148-ProfileWhitelistVerifyEvent.patch +++ b/patches/server/0148-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 9cb9e0a4d1467cb5c23dfd38e83d495a3907d984..4a94be565a3a7f7b8b330a35d97a14ef52ac4e50 100644 +index 2e583b600e7a7ef94639a27ce719effcf0b9e141..2b633053c56098c4046abe17c23ee2cb76e84887 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -619,9 +619,9 @@ public abstract class PlayerList { +@@ -623,9 +623,9 @@ public abstract class PlayerList { // return chatmessage; event.disallow(PlayerLoginEvent.Result.KICK_BANNED, PaperAdventure.asAdventure(ichatmutablecomponent)); // Paper - Adventure @@ -21,7 +21,7 @@ index 9cb9e0a4d1467cb5c23dfd38e83d495a3907d984..4a94be565a3a7f7b8b330a35d97a14ef } else if (this.getIpBans().isBanned(socketaddress) && !this.getIpBans().get(socketaddress).hasExpired()) { IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); -@@ -1003,7 +1003,23 @@ public abstract class PlayerList { +@@ -1007,7 +1007,23 @@ public abstract class PlayerList { } public boolean isWhiteListed(GameProfile profile) { diff --git a/patches/unapplied/server/0149-Fix-this-stupid-bullshit.patch b/patches/server/0149-Fix-this-stupid-bullshit.patch similarity index 100% rename from patches/unapplied/server/0149-Fix-this-stupid-bullshit.patch rename to patches/server/0149-Fix-this-stupid-bullshit.patch diff --git a/patches/unapplied/server/0150-LivingEntity-setKiller.patch b/patches/server/0150-LivingEntity-setKiller.patch similarity index 100% rename from patches/unapplied/server/0150-LivingEntity-setKiller.patch rename to patches/server/0150-LivingEntity-setKiller.patch diff --git a/patches/unapplied/server/0151-Ocelot-despawns-should-honor-nametags-and-leash.patch b/patches/server/0151-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 100% rename from patches/unapplied/server/0151-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to patches/server/0151-Ocelot-despawns-should-honor-nametags-and-leash.patch diff --git a/patches/unapplied/server/0152-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/server/0152-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 100% rename from patches/unapplied/server/0152-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to patches/server/0152-Reset-spawner-timer-when-spawner-event-is-cancelled.patch diff --git a/patches/unapplied/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 83% rename from patches/unapplied/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch rename to patches/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch index 720b3fddb..f12c00209 100644 --- a/patches/unapplied/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/patches/server/0153-Allow-specifying-a-custom-authentication-servers-dow.patch @@ -6,11 +6,11 @@ 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 dc932515bada7f84a386827f3b7e1e8f69bd7159..d2f0450c6bae722bfa9162b027e723eb10b22c78 100644 +index fcdd6c954552cf0b7eb914d34b94de248010765b..6a0cd6763202a0a0e301a3a64f09f8cc60aa6b1d 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -358,7 +358,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener - ServerLoginPacketListenerImpl.this.gameProfile = ServerLoginPacketListenerImpl.this.createFakeProfile(gameprofile); +@@ -360,7 +360,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se + ServerLoginPacketListenerImpl.this.gameProfile = gameprofile; ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT; } else { - ServerLoginPacketListenerImpl.this.disconnect(Component.translatable("multiplayer.disconnect.authservers_down")); diff --git a/patches/unapplied/server/0154-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0154-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 100% rename from patches/unapplied/server/0154-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to patches/server/0154-Handle-plugin-prefixes-using-Log4J-configuration.patch diff --git a/patches/unapplied/server/0155-Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/0155-Improve-Log4J-Configuration-Plugin-Loggers.patch similarity index 100% rename from patches/unapplied/server/0155-Improve-Log4J-Configuration-Plugin-Loggers.patch rename to patches/server/0155-Improve-Log4J-Configuration-Plugin-Loggers.patch diff --git a/patches/unapplied/server/0156-Add-PlayerJumpEvent.patch b/patches/server/0156-Add-PlayerJumpEvent.patch similarity index 93% rename from patches/unapplied/server/0156-Add-PlayerJumpEvent.patch rename to patches/server/0156-Add-PlayerJumpEvent.patch index d49e991db..63fe8ccdb 100644 --- a/patches/unapplied/server/0156-Add-PlayerJumpEvent.patch +++ b/patches/server/0156-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 61752ae5602e901ed03037cb2dee29f461b68cac..751086ab2f87269ecd43306b794d8b1c3dcd143f 100644 +index bdef09be892bf2675f713e1f8babada7019c0781..60dfaa3d1f873cb6c01fd736e78dde6a9b5c148e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1217,7 +1217,34 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1283,7 +1283,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/0157-handle-ServerboundKeepAlivePacket-async.patch b/patches/server/0157-handle-ServerboundKeepAlivePacket-async.patch similarity index 90% rename from patches/unapplied/server/0157-handle-ServerboundKeepAlivePacket-async.patch rename to patches/server/0157-handle-ServerboundKeepAlivePacket-async.patch index 020dcdcc1..365dedc8c 100644 --- a/patches/unapplied/server/0157-handle-ServerboundKeepAlivePacket-async.patch +++ b/patches/server/0157-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 751086ab2f87269ecd43306b794d8b1c3dcd143f..1669732069b255df1b53e3d82e310deab93dd296 100644 +index 60dfaa3d1f873cb6c01fd736e78dde6a9b5c148e..1be835e21c1400bbd4f6b793061c3d9f9c0625cd 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2996,14 +2996,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3212,14 +3212,18 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/unapplied/server/0158-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0158-Expose-client-protocol-version-and-virtual-host.patch similarity index 94% rename from patches/unapplied/server/0158-Expose-client-protocol-version-and-virtual-host.patch rename to patches/server/0158-Expose-client-protocol-version-and-virtual-host.patch index 0ae6a7946..424b1bde6 100644 --- a/patches/unapplied/server/0158-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0158-Expose-client-protocol-version-and-virtual-host.patch @@ -60,10 +60,10 @@ index 0000000000000000000000000000000000000000..a5a7624f1f372a26b982836cd31cff15 + +} diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 0badcf02feafafc9932420ffee5062f7b99a9eb9..0e338ebdea3a02d56e9149a6904bfdc8889167f1 100644 +index c06f1e1f08c3a854031b48ecc49e35aeb0d9b628..b132a5ca649833043b81578a2439901eaf4c4ab5 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -93,6 +93,10 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -89,6 +89,10 @@ public class Connection extends SimpleChannelInboundHandler> { private float averageSentPackets; private int tickCount; private boolean handlingFault; @@ -90,7 +90,7 @@ index 9016aced079108aeae09f030a672467a953ef93f..4170bda451df3db43e7d57d87d1abb81 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7f4ed398c48534eec4303a394f360f476b7757ad..89f722ba437a5c2563af652431432cbc2a607fdd 100644 +index 198d679a0f46324b2ec483d474cff0829bbd6844..1c620dc2e798c9d4f0816753362cab8564037ca0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -218,6 +218,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0159-revert-serverside-behavior-of-keepalives.patch b/patches/server/0159-revert-serverside-behavior-of-keepalives.patch similarity index 85% rename from patches/unapplied/server/0159-revert-serverside-behavior-of-keepalives.patch rename to patches/server/0159-revert-serverside-behavior-of-keepalives.patch index 879da0970..44e1901c5 100644 --- a/patches/unapplied/server/0159-revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/0159-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 1669732069b255df1b53e3d82e310deab93dd296..b3d75627ecf672c048e9129e3e64a1994f683204 100644 +index 1be835e21c1400bbd4f6b793061c3d9f9c0625cd..0a2a55979ee58458928f78f1383a653717d0a18a 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -240,7 +240,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -253,7 +253,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public ServerPlayer player; private int tickCount; private int ackBlockChangesUpTo = -1; @@ -29,29 +29,28 @@ index 1669732069b255df1b53e3d82e310deab93dd296..b3d75627ecf672c048e9129e3e64a199 private boolean keepAlivePending; private long keepAliveChallenge; // CraftBukkit start - multithreaded fields -@@ -273,6 +273,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - private int knownMovePacketCount; - private final ChatPreviewThrottler chatPreviewThrottler = new ChatPreviewThrottler(); - private final AtomicReference lastChatTimeStamp; +@@ -290,6 +290,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + private final SignedMessageChain.Decoder signedMessageDecoder; + private final LastSeenMessagesValidator lastSeenMessagesValidator; + 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); -@@ -360,18 +361,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -388,18 +389,25 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } this.server.getProfiler().push("keepAlive"); - long i = Util.getMillis(); -- -- if (i - this.keepAliveTime >= 25000L) { // CraftBukkit -- if (this.keepAlivePending) { -- this.disconnect(Component.translatable("disconnect.timeout")); -- } else { + // Paper Start - give clients a longer time to respond to pings as per pre 1.12.2 timings + // This should effectively place the keepalive handling back to "as it was" before 1.12.2 + long currentTime = Util.getMillis(); + long elapsedTime = currentTime - this.keepAliveTime; -+ + +- if (i - this.keepAliveTime >= 25000L) { // CraftBukkit +- if (this.keepAlivePending) { +- this.disconnect(Component.translatable("disconnect.timeout")); +- } else { + if (this.keepAlivePending) { + if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected + ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info diff --git a/patches/unapplied/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/patches/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 92% rename from patches/unapplied/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to patches/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch index c8919be74..edadd2cc6 100644 --- a/patches/unapplied/server/0160-Send-attack-SoundEffects-only-to-players-who-can-see.patch +++ b/patches/server/0160-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 794081610e52b7b8e04403510d1ad05f4f11d320..98d776dc6970c5412cfe54538228c6fda2b0d02e 100644 +index d4e3649f4d66545842a7f8cd3dabad39d185046e..b07b9949b144981a8c461fc68bf3c296fd278572 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1245,7 +1245,7 @@ public abstract class Player extends LivingEntity { +@@ -1246,7 +1246,7 @@ public abstract class Player extends LivingEntity { int i = b0 + EnchantmentHelper.getKnockbackBonus(this); if (this.isSprinting() && flag) { @@ -18,7 +18,7 @@ index 794081610e52b7b8e04403510d1ad05f4f11d320..98d776dc6970c5412cfe54538228c6fd ++i; flag1 = true; } -@@ -1320,7 +1320,7 @@ public abstract class Player extends LivingEntity { +@@ -1321,7 +1321,7 @@ public abstract class Player extends LivingEntity { } } @@ -27,7 +27,7 @@ index 794081610e52b7b8e04403510d1ad05f4f11d320..98d776dc6970c5412cfe54538228c6fd this.sweepAttack(); } -@@ -1348,15 +1348,15 @@ public abstract class Player extends LivingEntity { +@@ -1349,15 +1349,15 @@ public abstract class Player extends LivingEntity { } if (flag2) { @@ -46,7 +46,7 @@ index 794081610e52b7b8e04403510d1ad05f4f11d320..98d776dc6970c5412cfe54538228c6fd } } -@@ -1408,7 +1408,7 @@ public abstract class Player extends LivingEntity { +@@ -1409,7 +1409,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 794081610e52b7b8e04403510d1ad05f4f11d320..98d776dc6970c5412cfe54538228c6fd if (flag4) { target.clearFire(); } -@@ -1861,6 +1861,14 @@ public abstract class Player extends LivingEntity { +@@ -1871,6 +1871,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/0161-Add-PlayerArmorChangeEvent.patch b/patches/server/0161-Add-PlayerArmorChangeEvent.patch similarity index 90% rename from patches/unapplied/server/0161-Add-PlayerArmorChangeEvent.patch rename to patches/server/0161-Add-PlayerArmorChangeEvent.patch index fab2852fe..6888a9977 100644 --- a/patches/unapplied/server/0161-Add-PlayerArmorChangeEvent.patch +++ b/patches/server/0161-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 20bc6684b0394fe08aa35c371bf668d8ebcf98b1..39635eae8b2f92ffb171c5cbb37bed5bd610266b 100644 +index 841149ffcdb2228fac3ac2bdc56c02ed26f219f6..18d29125c19db2ffc3550a843ee9c3974b619f89 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,7 +15,7 @@ index 20bc6684b0394fe08aa35c371bf668d8ebcf98b1..39635eae8b2f92ffb171c5cbb37bed5b import com.google.common.base.Objects; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -@@ -2974,6 +2975,13 @@ public abstract class LivingEntity extends Entity { +@@ -2977,6 +2978,13 @@ public abstract class LivingEntity extends Entity { ItemStack itemstack1 = this.getItemBySlot(enumitemslot); if (!ItemStack.matches(itemstack1, itemstack)) { diff --git a/patches/unapplied/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 85% rename from patches/unapplied/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch rename to patches/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch index 7b4e3a0b6..254bf53d0 100644 --- a/patches/unapplied/server/0162-Prevent-logins-from-being-processed-when-the-player-.patch +++ b/patches/server/0162-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 d2f0450c6bae722bfa9162b027e723eb10b22c78..145f3eae6622453d47769e10fb30ce8d31d5f847 100644 +index 6a0cd6763202a0a0e301a3a64f09f8cc60aa6b1d..85f2c4673b18126dce748051a20ababc6cbbf221 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -86,7 +86,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -88,7 +88,11 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se } // Paper end if (this.state == ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT) { diff --git a/patches/unapplied/server/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/server/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 100% rename from patches/unapplied/server/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to patches/server/0163-Fix-MC-117075-TE-Unload-Lag-Spike.patch diff --git a/patches/unapplied/server/0164-use-CB-BlockState-implementations-for-captured-block.patch b/patches/server/0164-use-CB-BlockState-implementations-for-captured-block.patch similarity index 100% rename from patches/unapplied/server/0164-use-CB-BlockState-implementations-for-captured-block.patch rename to patches/server/0164-use-CB-BlockState-implementations-for-captured-block.patch diff --git a/patches/unapplied/server/0165-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0165-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 100% rename from patches/unapplied/server/0165-API-to-get-a-BlockState-without-a-snapshot.patch rename to patches/server/0165-API-to-get-a-BlockState-without-a-snapshot.patch diff --git a/patches/unapplied/server/0166-AsyncTabCompleteEvent.patch b/patches/server/0166-AsyncTabCompleteEvent.patch similarity index 96% rename from patches/unapplied/server/0166-AsyncTabCompleteEvent.patch rename to patches/server/0166-AsyncTabCompleteEvent.patch index c2cfcbec3..7eb28ae99 100644 --- a/patches/unapplied/server/0166-AsyncTabCompleteEvent.patch +++ b/patches/server/0166-AsyncTabCompleteEvent.patch @@ -14,10 +14,10 @@ completion, such as offline players. Also adds isCommand and getLocation to the sync TabCompleteEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b3d75627ecf672c048e9129e3e64a1994f683204..0354657082890577d965c21fc18b1515480c203d 100644 +index 0a2a55979ee58458928f78f1383a653717d0a18a..7fb4e1cf4eb21dd19a581b082caf9825cdaa4ad9 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -741,10 +741,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -783,10 +783,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { @@ -30,7 +30,7 @@ index b3d75627ecf672c048e9129e3e64a1994f683204..0354657082890577d965c21fc18b1515 return; } // CraftBukkit end -@@ -754,12 +754,35 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -796,12 +796,35 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic stringreader.skip(); } @@ -46,14 +46,14 @@ index b3d75627ecf672c048e9129e3e64a1994f683204..0354657082890577d965c21fc18b1515 + // 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()) { -+ -+ this.server.scheduleOnMain(() -> { // Paper - 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.scheduleOnMain(() -> { // Paper - 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)); diff --git a/patches/unapplied/server/0167-PlayerPickupExperienceEvent.patch b/patches/server/0167-PlayerPickupExperienceEvent.patch similarity index 100% rename from patches/unapplied/server/0167-PlayerPickupExperienceEvent.patch rename to patches/server/0167-PlayerPickupExperienceEvent.patch diff --git a/patches/unapplied/server/0168-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch similarity index 96% rename from patches/unapplied/server/0168-Ability-to-apply-mending-to-XP-API.patch rename to patches/server/0168-Ability-to-apply-mending-to-XP-API.patch index d953751fe..021c0161a 100644 --- a/patches/unapplied/server/0168-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0168-Ability-to-apply-mending-to-XP-API.patch @@ -10,7 +10,7 @@ of giving the player experience points. Both an API To standalone mend, and apply mending logic to .giveExp has been added. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 89f722ba437a5c2563af652431432cbc2a607fdd..45fed25efebb22fface9a8784bb4c30b5a5ee200 100644 +index 1c620dc2e798c9d4f0816753362cab8564037ca0..383df34b8c71c0d3bd9315a978d242cf76d4a9b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1353,7 +1353,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0169-PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch similarity index 91% rename from patches/unapplied/server/0169-PlayerNaturallySpawnCreaturesEvent.patch rename to patches/server/0169-PlayerNaturallySpawnCreaturesEvent.patch index d41ab432a..31e7dfcc8 100644 --- a/patches/unapplied/server/0169-PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/0169-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 702d885b6a5caf8cabc40934893a081b01906781..4f2dfe5d2b646a1a2f19414388af13b26d28d504 100644 +index dd318c213742299fca1335fadf1f4465b471d7ea..cb261ab455eb2234159ba49b1c2f6c34b079973f 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1156,7 +1156,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1157,7 +1157,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 702d885b6a5caf8cabc40934893a081b01906781..4f2dfe5d2b646a1a2f19414388af13b2 // Spigot end long i = chunkcoordintpair.toLong(); -@@ -1173,6 +1175,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1174,6 +1176,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } entityplayer = (ServerPlayer) iterator.next(); @@ -60,7 +60,7 @@ index 86acdd910eebb8beac4536942119c9e97580ff2e..a81644df294c739b72fc638cd06a3976 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 5cd7e7eb7c1288cf4c1f13f63b3ea0cc34d6beb8..ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86 100644 +index 8f4b8e4911d5c3bb82c9ac246c041c0eb51a3123..a9497e21c87e785631788968bc4922f6261169f9 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,7 +70,7 @@ index 5cd7e7eb7c1288cf4c1f13f63b3ea0cc34d6beb8..ffa45c70d6b0bc73dc442413d49e33d7 import com.google.common.collect.Lists; import com.mojang.authlib.GameProfile; import com.mojang.datafixers.util.Either; -@@ -244,6 +245,7 @@ public class ServerPlayer extends Player { +@@ -245,6 +246,7 @@ public class ServerPlayer extends Player { public Integer clientViewDistance; public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end diff --git a/patches/unapplied/server/0170-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0170-Add-setPlayerProfile-API-for-Skulls.patch similarity index 100% rename from patches/unapplied/server/0170-Add-setPlayerProfile-API-for-Skulls.patch rename to patches/server/0170-Add-setPlayerProfile-API-for-Skulls.patch diff --git a/patches/unapplied/server/0171-PreCreatureSpawnEvent.patch b/patches/server/0171-PreCreatureSpawnEvent.patch similarity index 100% rename from patches/unapplied/server/0171-PreCreatureSpawnEvent.patch rename to patches/server/0171-PreCreatureSpawnEvent.patch diff --git a/patches/unapplied/server/0172-Fill-Profile-Property-Events.patch b/patches/server/0172-Fill-Profile-Property-Events.patch similarity index 100% rename from patches/unapplied/server/0172-Fill-Profile-Property-Events.patch rename to patches/server/0172-Fill-Profile-Property-Events.patch diff --git a/patches/unapplied/server/0173-PlayerAdvancementCriterionGrantEvent.patch b/patches/server/0173-PlayerAdvancementCriterionGrantEvent.patch similarity index 87% rename from patches/unapplied/server/0173-PlayerAdvancementCriterionGrantEvent.patch rename to patches/server/0173-PlayerAdvancementCriterionGrantEvent.patch index de0f23f17..04f350388 100644 --- a/patches/unapplied/server/0173-PlayerAdvancementCriterionGrantEvent.patch +++ b/patches/server/0173-PlayerAdvancementCriterionGrantEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerAdvancementCriterionGrantEvent diff --git a/src/main/java/net/minecraft/server/PlayerAdvancements.java b/src/main/java/net/minecraft/server/PlayerAdvancements.java -index e4d7bc72545971ce9b74cce18e9b79abef9fefb7..4591364057110b8abe6cc669b76918096cb6b776 100644 +index 4a60665ec4bbda53464151c3b4a7e83d5de6aa8f..3f7f6a43ac0bf2efb0e66dc96438febbd92113e9 100644 --- a/src/main/java/net/minecraft/server/PlayerAdvancements.java +++ b/src/main/java/net/minecraft/server/PlayerAdvancements.java -@@ -276,6 +276,12 @@ public class PlayerAdvancements { +@@ -275,6 +275,12 @@ public class PlayerAdvancements { boolean flag1 = advancementprogress.isDone(); if (advancementprogress.grantProgress(criterionName)) { diff --git a/patches/unapplied/server/0174-Add-ArmorStand-Item-Meta.patch b/patches/server/0174-Add-ArmorStand-Item-Meta.patch similarity index 100% rename from patches/unapplied/server/0174-Add-ArmorStand-Item-Meta.patch rename to patches/server/0174-Add-ArmorStand-Item-Meta.patch diff --git a/patches/unapplied/server/0175-Extend-Player-Interact-cancellation.patch b/patches/server/0175-Extend-Player-Interact-cancellation.patch similarity index 100% rename from patches/unapplied/server/0175-Extend-Player-Interact-cancellation.patch rename to patches/server/0175-Extend-Player-Interact-cancellation.patch diff --git a/patches/unapplied/server/0176-Tameable-getOwnerUniqueId-API.patch b/patches/server/0176-Tameable-getOwnerUniqueId-API.patch similarity index 100% rename from patches/unapplied/server/0176-Tameable-getOwnerUniqueId-API.patch rename to patches/server/0176-Tameable-getOwnerUniqueId-API.patch diff --git a/patches/unapplied/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch b/patches/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch similarity index 85% rename from patches/unapplied/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch rename to patches/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch index 8ec53f239..dd76c430f 100644 --- a/patches/unapplied/server/0177-Toggleable-player-crits-helps-mitigate-hacked-client.patch +++ b/patches/server/0177-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 98d776dc6970c5412cfe54538228c6fda2b0d02e..417a76fed2217d33ed3c0b0febf254b6405404b1 100644 +index b07b9949b144981a8c461fc68bf3c296fd278572..b8cddd5616522a6b0fd8d70620f3c3fffbf003dc 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1252,6 +1252,7 @@ public abstract class Player extends LivingEntity { +@@ -1253,6 +1253,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/0178-Disable-Explicit-Network-Manager-Flushing.patch b/patches/server/0178-Disable-Explicit-Network-Manager-Flushing.patch similarity index 86% rename from patches/unapplied/server/0178-Disable-Explicit-Network-Manager-Flushing.patch rename to patches/server/0178-Disable-Explicit-Network-Manager-Flushing.patch index 137aaae93..2afe05102 100644 --- a/patches/unapplied/server/0178-Disable-Explicit-Network-Manager-Flushing.patch +++ b/patches/server/0178-Disable-Explicit-Network-Manager-Flushing.patch @@ -12,10 +12,10 @@ flushing on the netty event loop, so it won't do the flush on the main thread. Renable flushing by passing -Dpaper.explicit-flush=true diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 0e338ebdea3a02d56e9149a6904bfdc8889167f1..311148ba8ca073d522cac81f9a3f66f30eb70909 100644 +index b132a5ca649833043b81578a2439901eaf4c4ab5..30073d1e0c61ad94119fc0859a17b011087b6fcc 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -96,6 +96,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -92,6 +92,7 @@ public class Connection extends SimpleChannelInboundHandler> { // Paper start - NetworkClient implementation public int protocolVersion; public java.net.InetSocketAddress virtualHost; @@ -23,7 +23,7 @@ index 0e338ebdea3a02d56e9149a6904bfdc8889167f1..311148ba8ca073d522cac81f9a3f66f3 // Paper end public Connection(PacketFlow side) { -@@ -271,7 +272,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -280,7 +281,7 @@ public class Connection extends SimpleChannelInboundHandler> { } if (this.channel != null) { diff --git a/patches/unapplied/server/0179-Implement-extended-PaperServerListPingEvent.patch b/patches/server/0179-Implement-extended-PaperServerListPingEvent.patch similarity index 99% rename from patches/unapplied/server/0179-Implement-extended-PaperServerListPingEvent.patch rename to patches/server/0179-Implement-extended-PaperServerListPingEvent.patch index 5fae0ed29..51f0b253c 100644 --- a/patches/unapplied/server/0179-Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/0179-Implement-extended-PaperServerListPingEvent.patch @@ -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 a4d14a12a5ede30f1e124bfaa5552e70f590dd09..cc7820999e558e49ee78a07263836f5d48da4ae1 100644 +index 68072a78d241bcfb54a206e7b85f038d51e26e58..bb50ca7bcbdf46d29bd749050674dc18d7e282e4 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; diff --git a/patches/unapplied/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/patches/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 90% rename from patches/unapplied/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to patches/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 96cfdac92..ebe4ecf51 100644 --- a/patches/unapplied/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/patches/server/0180-Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Ability to change PlayerProfile in AsyncPreLoginEvent This will allow you to change the players name or skin on login. diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 145f3eae6622453d47769e10fb30ce8d31d5f847..53e8804b8ee35acdc2c4b3cbe2bc409242840726 100644 +index 85f2c4673b18126dce748051a20ababc6cbbf221..681c4dddac4ffc5997f3ea92befaeafc36da99c4 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -393,8 +393,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -395,8 +395,16 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se java.util.UUID uniqueId = ServerLoginPacketListenerImpl.this.gameProfile.getId(); final org.bukkit.craftbukkit.CraftServer server = ServerLoginPacketListenerImpl.this.server.server; diff --git a/patches/unapplied/server/0181-Player.setPlayerProfile-API.patch b/patches/server/0181-Player.setPlayerProfile-API.patch similarity index 96% rename from patches/unapplied/server/0181-Player.setPlayerProfile-API.patch rename to patches/server/0181-Player.setPlayerProfile-API.patch index b34a02e7b..0bab4159e 100644 --- a/patches/unapplied/server/0181-Player.setPlayerProfile-API.patch +++ b/patches/server/0181-Player.setPlayerProfile-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Player.setPlayerProfile API This can be useful for changing name or skins after a player has logged in. diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 53e8804b8ee35acdc2c4b3cbe2bc409242840726..1b075033f0640433341957f6e26ebe25f18928ee 100644 +index 681c4dddac4ffc5997f3ea92befaeafc36da99c4..7c3c76b7ef169e0c0832e26212775111deb505c0 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -394,11 +394,11 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -396,11 +396,11 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se final org.bukkit.craftbukkit.CraftServer server = ServerLoginPacketListenerImpl.this.server.server; // Paper start @@ -24,7 +24,7 @@ index 53e8804b8ee35acdc2c4b3cbe2bc409242840726..1b075033f0640433341957f6e26ebe25 playerName = gameProfile.getName(); uniqueId = gameProfile.getId(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 45fed25efebb22fface9a8784bb4c30b5a5ee200..d69181e01503784ab6c78e585bb1160b41f945c8 100644 +index 383df34b8c71c0d3bd9315a978d242cf76d4a9b5..785e11b21b580298d5c3153aeb3cc3496ec97176 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -75,6 +75,7 @@ import net.minecraft.world.entity.ai.attributes.Attributes; diff --git a/patches/unapplied/server/0182-getPlayerUniqueId-API.patch b/patches/server/0182-getPlayerUniqueId-API.patch similarity index 100% rename from patches/unapplied/server/0182-getPlayerUniqueId-API.patch rename to patches/server/0182-getPlayerUniqueId-API.patch diff --git a/patches/unapplied/server/0183-Improved-Async-Task-Scheduler.patch b/patches/server/0183-Improved-Async-Task-Scheduler.patch similarity index 100% rename from patches/unapplied/server/0183-Improved-Async-Task-Scheduler.patch rename to patches/server/0183-Improved-Async-Task-Scheduler.patch diff --git a/patches/unapplied/server/0184-Make-legacy-ping-handler-more-reliable.patch b/patches/server/0184-Make-legacy-ping-handler-more-reliable.patch similarity index 93% rename from patches/unapplied/server/0184-Make-legacy-ping-handler-more-reliable.patch rename to patches/server/0184-Make-legacy-ping-handler-more-reliable.patch index 4b8b62f71..438fb37f3 100644 --- a/patches/unapplied/server/0184-Make-legacy-ping-handler-more-reliable.patch +++ b/patches/server/0184-Make-legacy-ping-handler-more-reliable.patch @@ -28,10 +28,10 @@ respond to the request. [2]: https://netty.io/wiki/user-guide-for-4.x.html#wiki-h4-13 diff --git a/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java b/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java -index 1369321f60ba0d8f754b1aad6dbc6d6ab990f2bf..c4f1de1413e37e91492e7dd3fa33da5ef87fdbd5 100644 +index 56f0090bbb8513e56ca5f0ed8b5292939f25953b..e35f4121280ca81dc78121d9aa65e9b7d0c41932 100644 --- a/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java +++ b/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java -@@ -16,6 +16,7 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -17,6 +17,7 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { private static final Logger LOGGER = LogUtils.getLogger(); public static final int FAKE_PROTOCOL_VERSION = 127; private final ServerConnectionListener serverConnectionListener; @@ -39,7 +39,7 @@ index 1369321f60ba0d8f754b1aad6dbc6d6ab990f2bf..c4f1de1413e37e91492e7dd3fa33da5e public LegacyQueryHandler(ServerConnectionListener networkIo) { this.serverConnectionListener = networkIo; -@@ -24,6 +25,16 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -25,6 +26,16 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { public void channelRead(ChannelHandlerContext channelhandlercontext, Object object) { ByteBuf bytebuf = (ByteBuf) object; @@ -56,7 +56,7 @@ index 1369321f60ba0d8f754b1aad6dbc6d6ab990f2bf..c4f1de1413e37e91492e7dd3fa33da5e bytebuf.markReaderIndex(); boolean flag = true; -@@ -54,6 +65,10 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -55,6 +66,10 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { this.sendFlushAndClose(channelhandlercontext, this.createReply(s)); break; default: @@ -67,7 +67,7 @@ index 1369321f60ba0d8f754b1aad6dbc6d6ab990f2bf..c4f1de1413e37e91492e7dd3fa33da5e boolean flag1 = bytebuf.readUnsignedByte() == 1; flag1 &= bytebuf.readUnsignedByte() == 250; -@@ -77,6 +92,7 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -78,6 +93,7 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { } finally { bytebuf1.release(); } @@ -75,7 +75,7 @@ index 1369321f60ba0d8f754b1aad6dbc6d6ab990f2bf..c4f1de1413e37e91492e7dd3fa33da5e } bytebuf.release(); -@@ -94,6 +110,90 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -95,6 +111,90 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { } diff --git a/patches/unapplied/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch b/patches/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 74% rename from patches/unapplied/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to patches/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch index 2e957c1ff..d65878827 100644 --- a/patches/unapplied/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/patches/server/0185-Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -84,10 +84,10 @@ index 0000000000000000000000000000000000000000..74c012fd40491f1d870fbc1aa8c318a2 + +} diff --git a/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java b/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java -index c4f1de1413e37e91492e7dd3fa33da5ef87fdbd5..0d35e9ff88542b02bb948aa10e064911e73a6913 100644 +index e35f4121280ca81dc78121d9aa65e9b7d0c41932..37cd7b44559e5705b31296df87c94d2ab200138d 100644 --- a/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java +++ b/src/main/java/net/minecraft/server/network/LegacyQueryHandler.java -@@ -47,12 +47,19 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -48,13 +48,21 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { MinecraftServer minecraftserver = this.serverConnectionListener.getServer(); int i = bytebuf.readableBytes(); String s; @@ -98,34 +98,36 @@ index c4f1de1413e37e91492e7dd3fa33da5ef87fdbd5..0d35e9ff88542b02bb948aa10e064911 switch (i) { case 0: LegacyQueryHandler.LOGGER.debug("Ping: (<1.3.x) from {}:{}", inetsocketaddress.getAddress(), inetsocketaddress.getPort()); -- s = String.format("%s\u00a7%d\u00a7%d", event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()); // CraftBukkit -+ // Paper start - Call PaperServerListPingEvent and use results -+ event = com.destroystokyo.paper.network.PaperLegacyStatusClient.processRequest(minecraftserver, inetsocketaddress, 39, null); -+ if (event == null) { -+ channelhandlercontext.close(); -+ break; -+ } -+ s = String.format("%s\u00a7%d\u00a7%d", com.destroystokyo.paper.network.PaperLegacyStatusClient.getUnformattedMotd(event), event.getNumPlayers(), event.getMaxPlayers()); +- s = String.format(Locale.ROOT, "%s\u00a7%d\u00a7%d", event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()); // CraftBukkit ++ // Paper start - Call PaperServerListPingEvent and use results ++ event = com.destroystokyo.paper.network.PaperLegacyStatusClient.processRequest(minecraftserver, inetsocketaddress, 39, null); ++ if (event == null) { ++ channelhandlercontext.close(); ++ break; ++ } ++ s = String.format(Locale.ROOT, "%s\u00a7%d\u00a7%d", com.destroystokyo.paper.network.PaperLegacyStatusClient.getUnformattedMotd(event), event.getNumPlayers(), event.getMaxPlayers()); this.sendFlushAndClose(channelhandlercontext, this.createReply(s)); ++ // Paper end break; case 1: -@@ -61,7 +68,14 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { + if (bytebuf.readUnsignedByte() != 1) { +@@ -62,7 +70,14 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { } LegacyQueryHandler.LOGGER.debug("Ping: (1.4-1.5.x) from {}:{}", inetsocketaddress.getAddress(), inetsocketaddress.getPort()); -- s = String.format("\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", 127, minecraftserver.getServerVersion(), event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()); // CraftBukkit -+ // Paper start - Call PaperServerListPingEvent and use results -+ event = com.destroystokyo.paper.network.PaperLegacyStatusClient.processRequest(minecraftserver, inetsocketaddress, 127, null); // Paper -+ if (event == null) { -+ channelhandlercontext.close(); -+ break; -+ } -+ s = String.format("\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", new Object[] { event.getProtocolVersion(), minecraftserver.getServerVersion(), event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()}); // CraftBukkit -+ // Paper end +- s = String.format(Locale.ROOT, "\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", 127, minecraftserver.getServerVersion(), event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()); // CraftBukkit ++ // Paper start - Call PaperServerListPingEvent and use results ++ event = com.destroystokyo.paper.network.PaperLegacyStatusClient.processRequest(minecraftserver, inetsocketaddress, 127, null); // Paper ++ if (event == null) { ++ channelhandlercontext.close(); ++ break; ++ } ++ s = String.format(Locale.ROOT, "\u00a71\u0000%d\u0000%s\u0000%s\u0000%d\u0000%d", new Object[] { event.getProtocolVersion(), minecraftserver.getServerVersion(), event.getMotd(), event.getNumPlayers(), event.getMaxPlayers()}); // CraftBukkit ++ // Paper end this.sendFlushAndClose(channelhandlercontext, this.createReply(s)); break; default: -@@ -171,8 +185,16 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { +@@ -172,8 +187,16 @@ public class LegacyQueryHandler extends ChannelInboundHandlerAdapter { LOGGER.debug("Ping: (1.6) from {}", ctx.channel().remoteAddress()); diff --git a/patches/unapplied/server/0186-Flag-to-disable-the-channel-limit.patch b/patches/server/0186-Flag-to-disable-the-channel-limit.patch similarity index 95% rename from patches/unapplied/server/0186-Flag-to-disable-the-channel-limit.patch rename to patches/server/0186-Flag-to-disable-the-channel-limit.patch index 5aad550fa..56f505d28 100644 --- a/patches/unapplied/server/0186-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0186-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d69181e01503784ab6c78e585bb1160b41f945c8..8824110b6e59dfc347fc442205076310dee1569e 100644 +index 785e11b21b580298d5c3153aeb3cc3496ec97176..375821d136bf98d13b86cdebef8a7968d6c8d3a9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -167,6 +167,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0187-Add-openSign-method-to-HumanEntity.patch b/patches/server/0187-Add-openSign-method-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/server/0187-Add-openSign-method-to-HumanEntity.patch rename to patches/server/0187-Add-openSign-method-to-HumanEntity.patch diff --git a/patches/unapplied/server/0188-Configurable-sprint-interruption-on-attack.patch b/patches/server/0188-Configurable-sprint-interruption-on-attack.patch similarity index 87% rename from patches/unapplied/server/0188-Configurable-sprint-interruption-on-attack.patch rename to patches/server/0188-Configurable-sprint-interruption-on-attack.patch index 157f5b6c2..5f5e0d01b 100644 --- a/patches/unapplied/server/0188-Configurable-sprint-interruption-on-attack.patch +++ b/patches/server/0188-Configurable-sprint-interruption-on-attack.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Configurable sprint interruption on attack If the sprint interruption is disabled players continue sprinting when they attack entities. 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 417a76fed2217d33ed3c0b0febf254b6405404b1..389724f74de627f09c6e2ba8419ef0982aa2961a 100644 +index b8cddd5616522a6b0fd8d70620f3c3fffbf003dc..25c3164c9ad3c43d866069fcccb579a282b1ab78 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1301,7 +1301,11 @@ public abstract class Player extends LivingEntity { +@@ -1302,7 +1302,11 @@ public abstract class Player extends LivingEntity { } this.setDeltaMovement(this.getDeltaMovement().multiply(0.6D, 1.0D, 0.6D)); diff --git a/patches/unapplied/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 59% rename from patches/unapplied/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch index 3db2a4753..0718c82df 100644 --- a/patches/unapplied/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch +++ b/patches/server/0189-Fix-exploit-that-allowed-colored-signs-to-be-created.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Fix exploit that allowed colored signs to be created diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 0354657082890577d965c21fc18b1515480c203d..15bad199895be87a93122fb3e860c2b552b89c55 100644 +index 7fb4e1cf4eb21dd19a581b082caf9825cdaa4ad9..78662c29e9771ddead43dc243fb5f7d802d6d40d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3002,9 +3002,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - FilteredText filteredtext = (signText.get(i)).map(Component::literal); // CraftBukkit - decompile error +@@ -3218,9 +3218,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + FilteredText filteredtext = (FilteredText) signText.get(i); if (this.player.isTextFilteringEnabled()) { -- lines.add(net.kyori.adventure.text.Component.text(filteredtext.filteredOrElse(CommonComponents.EMPTY).getString())); // Paper - adventure -+ lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(filteredtext.filteredOrElse(CommonComponents.EMPTY).getString()))); // Paper - adventure +- lines.add(net.kyori.adventure.text.Component.text(filteredtext.filteredOrEmpty())); // Paper - adventure ++ lines.add(SharedConstants.filterText(net.kyori.adventure.text.Component.text(filteredtext.filteredOrEmpty()))); // Paper - adventure } else { -- lines.add(net.kyori.adventure.text.Component.text(filteredtext.raw().getString())); // Paper - adventure -+ lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(filteredtext.raw().getString()))); // Paper - adventure +- lines.add(net.kyori.adventure.text.Component.text(filteredtext.raw())); // Paper - adventure ++ lines.add(net.kyori.adventure.text.Component.text(SharedConstants.filterText(filteredtext.raw()))); // Paper - adventure } } SignChangeEvent event = new SignChangeEvent((org.bukkit.craftbukkit.block.CraftBlock) player.getWorld().getBlockAt(x, y, z), this.player.getBukkitEntity(), lines); diff --git a/patches/unapplied/server/0190-EndermanEscapeEvent.patch b/patches/server/0190-EndermanEscapeEvent.patch similarity index 100% rename from patches/unapplied/server/0190-EndermanEscapeEvent.patch rename to patches/server/0190-EndermanEscapeEvent.patch diff --git a/patches/unapplied/server/0191-Enderman.teleportRandomly.patch b/patches/server/0191-Enderman.teleportRandomly.patch similarity index 100% rename from patches/unapplied/server/0191-Enderman.teleportRandomly.patch rename to patches/server/0191-Enderman.teleportRandomly.patch diff --git a/patches/unapplied/server/0192-Block-Enderpearl-Travel-Exploit.patch b/patches/server/0192-Block-Enderpearl-Travel-Exploit.patch similarity index 93% rename from patches/unapplied/server/0192-Block-Enderpearl-Travel-Exploit.patch rename to patches/server/0192-Block-Enderpearl-Travel-Exploit.patch index 6ea8be62f..e1f3da6f0 100644 --- a/patches/unapplied/server/0192-Block-Enderpearl-Travel-Exploit.patch +++ b/patches/server/0192-Block-Enderpearl-Travel-Exploit.patch @@ -12,10 +12,10 @@ This disables that by not saving the thrower when the chunk is unloaded. This is mainly useful for survival servers that do not allow freeform teleporting. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ddd956828996c9d7a86aa89a01cc5a2ee4606c30..2208dafab412df254bf4c17c1c03d1475b77fbd3 100644 +index 652c909eaa9e76c29427b7220adf9fe4947c2e84..c0a53e0effda295b9a4a798a0c7b29bd6ed9e435 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -2072,6 +2072,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2073,6 +2073,12 @@ public class ServerLevel extends Level implements WorldGenLevel { public void onTickingEnd(Entity entity) { ServerLevel.this.entityTickList.remove(entity); diff --git a/patches/unapplied/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 96% rename from patches/unapplied/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch rename to patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch index a19404abe..18756fe57 100644 --- a/patches/unapplied/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -10,10 +10,10 @@ Adds an option to control the force mode of the particle. This adds a new Builder API which is much friendlier to use. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2208dafab412df254bf4c17c1c03d1475b77fbd3..d394f7dd4ef1faa1b92a56945e5dab96b6dd17b8 100644 +index c0a53e0effda295b9a4a798a0c7b29bd6ed9e435..3d3926a14229d922fb7b7e76c9babb031bf7d9ab 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1485,12 +1485,17 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1486,12 +1486,17 @@ public class ServerLevel extends Level implements WorldGenLevel { } public int sendParticles(ServerPlayer sender, T t0, double d0, double d1, double d2, int i, double d3, double d4, double d5, double d6, boolean force) { diff --git a/patches/unapplied/server/0194-Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/patches/server/0194-Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 100% rename from patches/unapplied/server/0194-Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to patches/server/0194-Prevent-Frosted-Ice-from-loading-holding-chunks.patch diff --git a/patches/unapplied/server/0195-EndermanAttackPlayerEvent.patch b/patches/server/0195-EndermanAttackPlayerEvent.patch similarity index 100% rename from patches/unapplied/server/0195-EndermanAttackPlayerEvent.patch rename to patches/server/0195-EndermanAttackPlayerEvent.patch diff --git a/patches/unapplied/server/0196-WitchConsumePotionEvent.patch b/patches/server/0196-WitchConsumePotionEvent.patch similarity index 100% rename from patches/unapplied/server/0196-WitchConsumePotionEvent.patch rename to patches/server/0196-WitchConsumePotionEvent.patch diff --git a/patches/unapplied/server/0197-WitchThrowPotionEvent.patch b/patches/server/0197-WitchThrowPotionEvent.patch similarity index 100% rename from patches/unapplied/server/0197-WitchThrowPotionEvent.patch rename to patches/server/0197-WitchThrowPotionEvent.patch diff --git a/patches/unapplied/server/0198-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0198-Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 100% rename from patches/unapplied/server/0198-Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to patches/server/0198-Allow-spawning-Item-entities-with-World.spawnEntity.patch diff --git a/patches/unapplied/server/0199-WitchReadyPotionEvent.patch b/patches/server/0199-WitchReadyPotionEvent.patch similarity index 100% rename from patches/unapplied/server/0199-WitchReadyPotionEvent.patch rename to patches/server/0199-WitchReadyPotionEvent.patch diff --git a/patches/unapplied/server/0200-ItemStack-getMaxItemUseDuration.patch b/patches/server/0200-ItemStack-getMaxItemUseDuration.patch similarity index 100% rename from patches/unapplied/server/0200-ItemStack-getMaxItemUseDuration.patch rename to patches/server/0200-ItemStack-getMaxItemUseDuration.patch diff --git a/patches/unapplied/server/0201-Implement-EntityTeleportEndGatewayEvent.patch b/patches/server/0201-Implement-EntityTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/server/0201-Implement-EntityTeleportEndGatewayEvent.patch rename to patches/server/0201-Implement-EntityTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/server/0202-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/patches/server/0202-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 100% rename from patches/unapplied/server/0202-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to patches/server/0202-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch diff --git a/patches/unapplied/server/0203-Fix-CraftEntity-hashCode.patch b/patches/server/0203-Fix-CraftEntity-hashCode.patch similarity index 100% rename from patches/unapplied/server/0203-Fix-CraftEntity-hashCode.patch rename to patches/server/0203-Fix-CraftEntity-hashCode.patch diff --git a/patches/unapplied/server/0204-Configurable-Alternative-LootPool-Luck-Formula.patch b/patches/server/0204-Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 100% rename from patches/unapplied/server/0204-Configurable-Alternative-LootPool-Luck-Formula.patch rename to patches/server/0204-Configurable-Alternative-LootPool-Luck-Formula.patch diff --git a/patches/unapplied/server/0205-Print-Error-details-when-failing-to-save-player-data.patch b/patches/server/0205-Print-Error-details-when-failing-to-save-player-data.patch similarity index 100% rename from patches/unapplied/server/0205-Print-Error-details-when-failing-to-save-player-data.patch rename to patches/server/0205-Print-Error-details-when-failing-to-save-player-data.patch diff --git a/patches/unapplied/server/0206-Make-shield-blocking-delay-configurable.patch b/patches/server/0206-Make-shield-blocking-delay-configurable.patch similarity index 93% rename from patches/unapplied/server/0206-Make-shield-blocking-delay-configurable.patch rename to patches/server/0206-Make-shield-blocking-delay-configurable.patch index c2dd0c466..331bfc40f 100644 --- a/patches/unapplied/server/0206-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0206-Make-shield-blocking-delay-configurable.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make shield blocking delay configurable diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 39635eae8b2f92ffb171c5cbb37bed5bd610266b..a2bf006f79b0c22827720e7d95828590cb52c8ef 100644 +index 18d29125c19db2ffc3550a843ee9c3974b619f89..6e1484555eeceacf5a082ad16f1e7539f283fb8a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3697,12 +3697,24 @@ public abstract class LivingEntity extends Entity { +@@ -3700,12 +3700,24 @@ public abstract class LivingEntity extends Entity { if (this.isUsingItem() && !this.useItem.isEmpty()) { Item item = this.useItem.getItem(); diff --git a/patches/unapplied/server/0207-Improve-EntityShootBowEvent.patch b/patches/server/0207-Improve-EntityShootBowEvent.patch similarity index 100% rename from patches/unapplied/server/0207-Improve-EntityShootBowEvent.patch rename to patches/server/0207-Improve-EntityShootBowEvent.patch diff --git a/patches/unapplied/server/0208-PlayerReadyArrowEvent.patch b/patches/server/0208-PlayerReadyArrowEvent.patch similarity index 88% rename from patches/unapplied/server/0208-PlayerReadyArrowEvent.patch rename to patches/server/0208-PlayerReadyArrowEvent.patch index cb650e678..ccaaa2610 100644 --- a/patches/unapplied/server/0208-PlayerReadyArrowEvent.patch +++ b/patches/server/0208-PlayerReadyArrowEvent.patch @@ -7,10 +7,10 @@ Called when a player is firing a bow and the server is choosing an arrow to use. Plugins can skip selection of certain arrows and control which is used. 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 389724f74de627f09c6e2ba8419ef0982aa2961a..5ff66cefb4b5e274e381ed77545b36fb37146fdf 100644 +index 25c3164c9ad3c43d866069fcccb579a282b1ab78..6059bec9cafd69d622491222b67bc7ff78e13d7a 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -2244,6 +2244,17 @@ public abstract class Player extends LivingEntity { +@@ -2254,6 +2254,17 @@ public abstract class Player extends LivingEntity { return ImmutableList.of(Pose.STANDING, Pose.CROUCHING, Pose.SWIMMING); } @@ -28,7 +28,7 @@ index 389724f74de627f09c6e2ba8419ef0982aa2961a..5ff66cefb4b5e274e381ed77545b36fb @Override public ItemStack getProjectile(ItemStack stack) { if (!(stack.getItem() instanceof ProjectileWeaponItem)) { -@@ -2260,7 +2271,7 @@ public abstract class Player extends LivingEntity { +@@ -2270,7 +2281,7 @@ public abstract class Player extends LivingEntity { for (int i = 0; i < this.inventory.getContainerSize(); ++i) { ItemStack itemstack2 = this.inventory.getItem(i); diff --git a/patches/unapplied/server/0209-Implement-EntityKnockbackByEntityEvent.patch b/patches/server/0209-Implement-EntityKnockbackByEntityEvent.patch similarity index 95% rename from patches/unapplied/server/0209-Implement-EntityKnockbackByEntityEvent.patch rename to patches/server/0209-Implement-EntityKnockbackByEntityEvent.patch index 8de06d78b..0cb31474a 100644 --- a/patches/unapplied/server/0209-Implement-EntityKnockbackByEntityEvent.patch +++ b/patches/server/0209-Implement-EntityKnockbackByEntityEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement EntityKnockbackByEntityEvent This event is called when an entity receives knockback by another entity. diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index a2bf006f79b0c22827720e7d95828590cb52c8ef..de16969a25bd72b4420e5ecbdb477a1adc51f2d1 100644 +index 6e1484555eeceacf5a082ad16f1e7539f283fb8a..f7a535c35dde266e82369a8cee67c6e58c178731 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1456,7 +1456,7 @@ public abstract class LivingEntity extends Entity { @@ -82,10 +82,10 @@ index 3380b95e0eff5a6b1b683b8233b8991eb817b638..de8485df1c23e903ff0721fdb682b98d serverLevel.playSound((Player)null, goat, this.getImpactSound.apply(goat), SoundSource.HOSTILE, 1.0F, 1.0F); } else if (this.hasRammedHornBreakingBlock(serverLevel, goat)) { 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 5ff66cefb4b5e274e381ed77545b36fb37146fdf..f484bdf2ef045faefad326f8e6d59962b3abb4b3 100644 +index 6059bec9cafd69d622491222b67bc7ff78e13d7a..702a5e524127f9655279a24b54b8d4248dec460e 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1295,7 +1295,7 @@ public abstract class Player extends LivingEntity { +@@ -1296,7 +1296,7 @@ public abstract class Player extends LivingEntity { if (flag5) { if (i > 0) { if (target instanceof LivingEntity) { @@ -94,7 +94,7 @@ index 5ff66cefb4b5e274e381ed77545b36fb37146fdf..f484bdf2ef045faefad326f8e6d59962 } else { target.push((double) (-Mth.sin(this.getYRot() * 0.017453292F) * (float) i * 0.5F), 0.1D, (double) (Mth.cos(this.getYRot() * 0.017453292F) * (float) i * 0.5F)); } -@@ -1319,7 +1319,7 @@ public abstract class Player extends LivingEntity { +@@ -1320,7 +1320,7 @@ public abstract class Player extends LivingEntity { if (entityliving != this && entityliving != target && !this.isAlliedTo((Entity) entityliving) && (!(entityliving instanceof ArmorStand) || !((ArmorStand) entityliving).isMarker()) && this.distanceToSqr((Entity) entityliving) < 9.0D) { // CraftBukkit start - Only apply knockback if the damage hits if (entityliving.hurt(DamageSource.playerAttack(this).sweep(), f4)) { diff --git a/patches/unapplied/server/0210-Expand-Explosions-API.patch b/patches/server/0210-Expand-Explosions-API.patch similarity index 100% rename from patches/unapplied/server/0210-Expand-Explosions-API.patch rename to patches/server/0210-Expand-Explosions-API.patch diff --git a/patches/unapplied/server/0211-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0211-LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 100% rename from patches/unapplied/server/0211-LivingEntity-Hand-Raised-Item-Use-API.patch rename to patches/server/0211-LivingEntity-Hand-Raised-Item-Use-API.patch diff --git a/patches/unapplied/server/0212-RangedEntity-API.patch b/patches/server/0212-RangedEntity-API.patch similarity index 100% rename from patches/unapplied/server/0212-RangedEntity-API.patch rename to patches/server/0212-RangedEntity-API.patch diff --git a/patches/unapplied/server/0213-Add-config-to-disable-ender-dragon-legacy-check.patch b/patches/server/0213-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 100% rename from patches/unapplied/server/0213-Add-config-to-disable-ender-dragon-legacy-check.patch rename to patches/server/0213-Add-config-to-disable-ender-dragon-legacy-check.patch diff --git a/patches/unapplied/server/0214-Implement-World.getEntity-UUID-API.patch b/patches/server/0214-Implement-World.getEntity-UUID-API.patch similarity index 100% rename from patches/unapplied/server/0214-Implement-World.getEntity-UUID-API.patch rename to patches/server/0214-Implement-World.getEntity-UUID-API.patch diff --git a/patches/unapplied/server/0215-InventoryCloseEvent-Reason-API.patch b/patches/server/0215-InventoryCloseEvent-Reason-API.patch similarity index 90% rename from patches/unapplied/server/0215-InventoryCloseEvent-Reason-API.patch rename to patches/server/0215-InventoryCloseEvent-Reason-API.patch index dda06e28f..72c1a4931 100644 --- a/patches/unapplied/server/0215-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0215-InventoryCloseEvent-Reason-API.patch @@ -7,10 +7,10 @@ Allows you to determine why an inventory was closed, enabling plugin developers to "confirm" things based on if it was player triggered close or not. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index d394f7dd4ef1faa1b92a56945e5dab96b6dd17b8..0531b9c5b10fe250531b0c04cb2ffe2751e7d1c5 100644 +index 3d3926a14229d922fb7b7e76c9babb031bf7d9ab..5029436157fe7279a2a583f06b7d02a0413d2178 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1158,7 +1158,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1159,7 +1159,7 @@ public class ServerLevel extends Level implements WorldGenLevel { for (net.minecraft.world.level.block.entity.BlockEntity tileentity : chunk.getBlockEntities().values()) { if (tileentity instanceof net.minecraft.world.Container) { for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((net.minecraft.world.Container) tileentity).getViewers())) { @@ -19,7 +19,7 @@ index d394f7dd4ef1faa1b92a56945e5dab96b6dd17b8..0531b9c5b10fe250531b0c04cb2ffe27 } } } -@@ -2162,7 +2162,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -2163,7 +2163,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message for (org.bukkit.entity.HumanEntity h : Lists.newArrayList(((org.bukkit.inventory.InventoryHolder) entity.getBukkitEntity()).getInventory().getViewers())) { @@ -29,10 +29,10 @@ index d394f7dd4ef1faa1b92a56945e5dab96b6dd17b8..0531b9c5b10fe250531b0c04cb2ffe27 } // Spigot End diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4445ec6e9 100644 +index a9497e21c87e785631788968bc4922f6261169f9..522c8791edd87feb6cb32ef8e621ae35e53c9cb1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -609,7 +609,7 @@ public class ServerPlayer extends Player { +@@ -610,7 +610,7 @@ public class ServerPlayer extends Player { } // Paper end if (!this.level.isClientSide && !this.containerMenu.stillValid(this)) { @@ -41,7 +41,7 @@ index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4 this.containerMenu = this.inventoryMenu; } -@@ -802,7 +802,7 @@ public class ServerPlayer extends Player { +@@ -803,7 +803,7 @@ public class ServerPlayer extends Player { // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { @@ -50,7 +50,7 @@ index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4 } net.kyori.adventure.text.Component deathMessage = event.deathMessage() != null ? event.deathMessage() : net.kyori.adventure.text.Component.empty(); // Paper - Adventure -@@ -1443,7 +1443,7 @@ public class ServerPlayer extends Player { +@@ -1441,7 +1441,7 @@ public class ServerPlayer extends Player { } // CraftBukkit end if (this.containerMenu != this.inventoryMenu) { @@ -59,7 +59,7 @@ index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4 } // this.nextContainerCounter(); // CraftBukkit - moved up -@@ -1471,7 +1471,13 @@ public class ServerPlayer extends Player { +@@ -1469,7 +1469,13 @@ public class ServerPlayer extends Player { @Override public void closeContainer() { @@ -75,10 +75,10 @@ index ffa45c70d6b0bc73dc442413d49e33d7fbfcdd86..997b688d187b8b5d0e6a40ce030a14c4 this.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 15bad199895be87a93122fb3e860c2b552b89c55..70b81723e411283f4e4c41ab8b0c3eae9ed62f0f 100644 +index 78662c29e9771ddead43dc243fb5f7d802d6d40d..0e323c2acd447f0cd41d8afbc80f7fa20f03ca72 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -204,6 +204,7 @@ import org.bukkit.event.inventory.ClickType; +@@ -216,6 +216,7 @@ import org.bukkit.event.inventory.ClickType; import org.bukkit.event.inventory.CraftItemEvent; import org.bukkit.event.inventory.InventoryAction; import org.bukkit.event.inventory.InventoryClickEvent; @@ -86,7 +86,7 @@ index 15bad199895be87a93122fb3e860c2b552b89c55..70b81723e411283f4e4c41ab8b0c3eae import org.bukkit.event.inventory.InventoryCreativeEvent; import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.inventory.SmithItemEvent; -@@ -2541,10 +2542,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2744,10 +2745,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleContainerClose(ServerboundContainerClosePacket packet) { @@ -104,10 +104,10 @@ index 15bad199895be87a93122fb3e860c2b552b89c55..70b81723e411283f4e4c41ab8b0c3eae this.player.doCloseContainer(); } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 4a94be565a3a7f7b8b330a35d97a14ef52ac4e50..4c9d595234a849d87157678383d220051c556962 100644 +index 2b633053c56098c4046abe17c23ee2cb76e84887..d88ba2e702e7e5d32388057bb8f77689b641ffde 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -506,7 +506,7 @@ public abstract class PlayerList { +@@ -510,7 +510,7 @@ public abstract class PlayerList { // CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it // See SPIGOT-5799, SPIGOT-6145 if (entityplayer.containerMenu != entityplayer.inventoryMenu) { @@ -117,10 +117,10 @@ index 4a94be565a3a7f7b8b330a35d97a14ef52ac4e50..4c9d595234a849d87157678383d22005 PlayerQuitEvent playerQuitEvent = new PlayerQuitEvent(entityplayer.getBukkitEntity(), net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : net.kyori.adventure.text.Component.text(entityplayer.getScoreboardName()))); 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 f484bdf2ef045faefad326f8e6d59962b3abb4b3..9dad71368225d86598f02962b42659bc601ce144 100644 +index 702a5e524127f9655279a24b54b8d4248dec460e..2520ba136cf17392120f6187a73015f438c302f1 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -270,7 +270,7 @@ public abstract class Player extends LivingEntity { +@@ -271,7 +271,7 @@ public abstract class Player extends LivingEntity { this.updateIsUnderwater(); super.tick(); if (!this.level.isClientSide && this.containerMenu != null && !this.containerMenu.stillValid(this)) { @@ -129,7 +129,7 @@ index f484bdf2ef045faefad326f8e6d59962b3abb4b3..9dad71368225d86598f02962b42659bc this.containerMenu = this.inventoryMenu; } -@@ -494,6 +494,13 @@ public abstract class Player extends LivingEntity { +@@ -495,6 +495,13 @@ public abstract class Player extends LivingEntity { } @@ -173,7 +173,7 @@ index 4ff81744b7c9113f57cf1fa89bb943902711b2dc..404ed5e8f54d70a50de4232c6ea0f616 @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8824110b6e59dfc347fc442205076310dee1569e..4e1d776f5e62c1de04470268cb064ae4359d6c27 100644 +index 375821d136bf98d13b86cdebef8a7968d6c8d3a9..04786e67f1699b944cd5d09d916a086e34acfaef 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1067,7 +1067,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0216-Vex-get-setSummoner-API.patch b/patches/server/0216-Vex-get-setSummoner-API.patch similarity index 100% rename from patches/unapplied/server/0216-Vex-get-setSummoner-API.patch rename to patches/server/0216-Vex-get-setSummoner-API.patch diff --git a/patches/unapplied/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch b/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch similarity index 87% rename from patches/unapplied/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch rename to patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch index 73b1f7eba..622008f75 100644 --- a/patches/unapplied/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch +++ b/patches/server/0217-Refresh-player-inventory-when-cancelling-PlayerInter.patch @@ -16,10 +16,10 @@ Refresh the player inventory when PlayerInteractEntityEvent is cancelled to avoid this problem. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 70b81723e411283f4e4c41ab8b0c3eae9ed62f0f..1079db210d055e99fc5f543744a2802940af9906 100644 +index 0e323c2acd447f0cd41d8afbc80f7fa20f03ca72..af966cd751b73af9e01c8561d3e74972a241b0f5 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2426,6 +2426,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2629,6 +2629,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } if (event.isCancelled()) { diff --git a/patches/unapplied/server/0218-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0218-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch similarity index 100% rename from patches/unapplied/server/0218-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch rename to patches/server/0218-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch diff --git a/patches/unapplied/server/0219-add-more-information-to-Entity.toString.patch b/patches/server/0219-add-more-information-to-Entity.toString.patch similarity index 91% rename from patches/unapplied/server/0219-add-more-information-to-Entity.toString.patch rename to patches/server/0219-add-more-information-to-Entity.toString.patch index 7ec78e261..2fc7c9e63 100644 --- a/patches/unapplied/server/0219-add-more-information-to-Entity.toString.patch +++ b/patches/server/0219-add-more-information-to-Entity.toString.patch @@ -6,10 +6,10 @@ Subject: [PATCH] add more information to Entity.toString() UUID, ticks lived, valid, dead diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e233f1bd8047c06d69aed0e22c220658b9868729..214eeee95bcc176f3aa3daaff2465837e6a2933d 100644 +index 2e7b3de046bace7c4c275654a0f1e9066790db0c..3ef34b1da06eac4b160e56966c2e441cf9fa2f89 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2905,7 +2905,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2902,7 +2902,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { public String toString() { String s = this.level == null ? "~NULL~" : this.level.toString(); diff --git a/patches/unapplied/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch b/patches/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch similarity index 90% rename from patches/unapplied/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch rename to patches/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch index ac845dd26..2d9be80ee 100644 --- a/patches/unapplied/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch +++ b/patches/server/0220-Add-CraftMagicNumbers.isSupportedApiVersion.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add CraftMagicNumbers.isSupportedApiVersion() diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 8fc00b0ad230d9e7ae8dd73927b61116f73f7b4b..d4e5b0d8fbd885a84ae854f2dcced0423a42b4f9 100644 +index e6ffdbeb55eaeb8c2ea7c01a5206242f54756f2b..bd8f051496aae64d317ae0cff9f21662f016c62b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -426,6 +426,11 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/server/0221-EnderDragon-Events.patch b/patches/server/0221-EnderDragon-Events.patch similarity index 100% rename from patches/unapplied/server/0221-EnderDragon-Events.patch rename to patches/server/0221-EnderDragon-Events.patch diff --git a/patches/unapplied/server/0222-PlayerElytraBoostEvent.patch b/patches/server/0222-PlayerElytraBoostEvent.patch similarity index 100% rename from patches/unapplied/server/0222-PlayerElytraBoostEvent.patch rename to patches/server/0222-PlayerElytraBoostEvent.patch diff --git a/patches/unapplied/server/0223-PlayerLaunchProjectileEvent.patch b/patches/server/0223-PlayerLaunchProjectileEvent.patch similarity index 100% rename from patches/unapplied/server/0223-PlayerLaunchProjectileEvent.patch rename to patches/server/0223-PlayerLaunchProjectileEvent.patch diff --git a/patches/unapplied/server/0224-Improve-BlockPosition-inlining.patch b/patches/server/0224-Improve-BlockPosition-inlining.patch similarity index 100% rename from patches/unapplied/server/0224-Improve-BlockPosition-inlining.patch rename to patches/server/0224-Improve-BlockPosition-inlining.patch diff --git a/patches/unapplied/server/0225-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/patches/server/0225-Option-to-prevent-armor-stands-from-doing-entity-loo.patch similarity index 100% rename from patches/unapplied/server/0225-Option-to-prevent-armor-stands-from-doing-entity-loo.patch rename to patches/server/0225-Option-to-prevent-armor-stands-from-doing-entity-loo.patch diff --git a/patches/unapplied/server/0226-Vanished-players-don-t-have-rights.patch b/patches/server/0226-Vanished-players-don-t-have-rights.patch similarity index 100% rename from patches/unapplied/server/0226-Vanished-players-don-t-have-rights.patch rename to patches/server/0226-Vanished-players-don-t-have-rights.patch diff --git a/patches/unapplied/server/0227-Allow-disabling-armour-stand-ticking.patch b/patches/server/0227-Allow-disabling-armour-stand-ticking.patch similarity index 100% rename from patches/unapplied/server/0227-Allow-disabling-armour-stand-ticking.patch rename to patches/server/0227-Allow-disabling-armour-stand-ticking.patch diff --git a/patches/unapplied/server/0228-SkeletonHorse-Additions.patch b/patches/server/0228-SkeletonHorse-Additions.patch similarity index 100% rename from patches/unapplied/server/0228-SkeletonHorse-Additions.patch rename to patches/server/0228-SkeletonHorse-Additions.patch diff --git a/patches/unapplied/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch b/patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch similarity index 100% rename from patches/unapplied/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch rename to patches/server/0229-Don-t-call-getItemMeta-on-hasItemMeta.patch diff --git a/patches/unapplied/server/0230-Implement-Expanded-ArmorStand-API.patch b/patches/server/0230-Implement-Expanded-ArmorStand-API.patch similarity index 100% rename from patches/unapplied/server/0230-Implement-Expanded-ArmorStand-API.patch rename to patches/server/0230-Implement-Expanded-ArmorStand-API.patch diff --git a/patches/unapplied/server/0231-AnvilDamageEvent.patch b/patches/server/0231-AnvilDamageEvent.patch similarity index 100% rename from patches/unapplied/server/0231-AnvilDamageEvent.patch rename to patches/server/0231-AnvilDamageEvent.patch diff --git a/patches/unapplied/server/0232-Add-hand-to-bucket-events.patch b/patches/server/0232-Add-hand-to-bucket-events.patch similarity index 100% rename from patches/unapplied/server/0232-Add-hand-to-bucket-events.patch rename to patches/server/0232-Add-hand-to-bucket-events.patch diff --git a/patches/unapplied/server/0233-Add-TNTPrimeEvent.patch b/patches/server/0233-Add-TNTPrimeEvent.patch similarity index 100% rename from patches/unapplied/server/0233-Add-TNTPrimeEvent.patch rename to patches/server/0233-Add-TNTPrimeEvent.patch diff --git a/patches/unapplied/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch similarity index 89% rename from patches/unapplied/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch rename to patches/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch index 79d2880c4..b8f3c3056 100644 --- a/patches/unapplied/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch +++ b/patches/server/0234-Break-up-and-make-tab-spam-limits-configurable.patch @@ -22,10 +22,10 @@ to take the burden of this into their own hand without having to rely on plugins doing unsafe things. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1079db210d055e99fc5f543744a2802940af9906..5df920842608f7d4dd4bb24872de1adb3548f20c 100644 +index af966cd751b73af9e01c8561d3e74972a241b0f5..8a6fd7616df0f81e4b67a217846786d9c7bcd21f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -246,6 +246,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -259,6 +259,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private long keepAliveChallenge; // CraftBukkit start - multithreaded fields private final AtomicInteger chatSpamTickCount = new AtomicInteger(); @@ -33,7 +33,7 @@ index 1079db210d055e99fc5f543744a2802940af9906..5df920842608f7d4dd4bb24872de1adb // CraftBukkit end private int dropSpamTickCount; private double firstGoodX; -@@ -385,6 +386,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -413,6 +414,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.server.getProfiler().pop(); // CraftBukkit start for (int spam; (spam = this.chatSpamTickCount.get()) > 0 && !this.chatSpamTickCount.compareAndSet(spam, spam - 1); ) ; @@ -41,7 +41,7 @@ index 1079db210d055e99fc5f543744a2802940af9906..5df920842608f7d4dd4bb24872de1adb /* Use thread-safe field access instead if (this.chatSpamTickCount > 0) { --this.chatSpamTickCount; -@@ -744,7 +746,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -786,7 +788,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handleCustomCommandSuggestions(ServerboundCommandSuggestionPacket packet) { // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); // Paper - run this async // CraftBukkit start diff --git a/patches/unapplied/server/0235-MC-135506-Experience-should-save-as-Integers.patch b/patches/server/0235-MC-135506-Experience-should-save-as-Integers.patch similarity index 100% rename from patches/unapplied/server/0235-MC-135506-Experience-should-save-as-Integers.patch rename to patches/server/0235-MC-135506-Experience-should-save-as-Integers.patch diff --git a/patches/unapplied/server/0236-Remove-unnecessary-itemmeta-handling.patch b/patches/server/0236-Remove-unnecessary-itemmeta-handling.patch similarity index 100% rename from patches/unapplied/server/0236-Remove-unnecessary-itemmeta-handling.patch rename to patches/server/0236-Remove-unnecessary-itemmeta-handling.patch diff --git a/patches/unapplied/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 92% rename from patches/unapplied/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch index 0adafd0b9..db9ee43cf 100644 --- a/patches/unapplied/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch +++ b/patches/server/0237-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch @@ -8,10 +8,10 @@ Add -Ddebug.entities=true to your JVM flags to gain more information 1.17: Needs to be reworked for new entity storage system diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 4f2dfe5d2b646a1a2f19414388af13b26d28d504..213c94cecc1103056ce83625f1e78cd62b6476a6 100644 +index cb261ab455eb2234159ba49b1c2f6c34b079973f..7793d6c254c418847d3b5b65e5232bf8192b561b 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1395,6 +1395,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1396,6 +1396,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } else { ChunkMap.TrackedEntity playerchunkmap_entitytracker = new ChunkMap.TrackedEntity(entity, i, j, entitytypes.trackDeltas()); @@ -19,7 +19,7 @@ index 4f2dfe5d2b646a1a2f19414388af13b26d28d504..213c94cecc1103056ce83625f1e78cd6 this.entityMap.put(entity.getId(), playerchunkmap_entitytracker); playerchunkmap_entitytracker.updatePlayers(this.level.players()); if (entity instanceof ServerPlayer) { -@@ -1437,7 +1438,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1438,7 +1439,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider if (playerchunkmap_entitytracker1 != null) { playerchunkmap_entitytracker1.broadcastRemoved(); } @@ -29,10 +29,10 @@ index 4f2dfe5d2b646a1a2f19414388af13b26d28d504..213c94cecc1103056ce83625f1e78cd6 protected void tick() { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 0531b9c5b10fe250531b0c04cb2ffe2751e7d1c5..25df052247ba26b75e49c801587f71d0fed31c92 100644 +index 5029436157fe7279a2a583f06b7d02a0413d2178..cfaa5a5df9ae2fb0147d66b41de91e6b771b769c 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -215,6 +215,9 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -216,6 +216,9 @@ public class ServerLevel extends Level implements WorldGenLevel { public final LevelStorageSource.LevelStorageAccess convertable; public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper @@ -42,7 +42,7 @@ index 0531b9c5b10fe250531b0c04cb2ffe2751e7d1c5..25df052247ba26b75e49c801587f71d0 @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); -@@ -1120,7 +1123,28 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1121,7 +1124,28 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit start private boolean addEntity(Entity entity, CreatureSpawnEvent.SpawnReason spawnReason) { org.spigotmc.AsyncCatcher.catchOp("entity add"); // Spigot @@ -72,7 +72,7 @@ index 0531b9c5b10fe250531b0c04cb2ffe2751e7d1c5..25df052247ba26b75e49c801587f71d0 return false; } else { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 214eeee95bcc176f3aa3daaff2465837e6a2933d..bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1 100644 +index 3ef34b1da06eac4b160e56966c2e441cf9fa2f89..ed79a9d5a822370a9a285e58773669a00b159054 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -235,6 +235,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { diff --git a/patches/unapplied/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch similarity index 97% rename from patches/unapplied/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch rename to patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch index 5cffab8fb..2a9ef7c0b 100644 --- a/patches/unapplied/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0238-Add-Early-Warning-Feature-to-WatchDog.patch @@ -9,10 +9,10 @@ thread dumps at an interval until the point of crash. This will help diagnose what was going on in that time before the crash. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index cc7820999e558e49ee78a07263836f5d48da4ae1..6b655685f93bc2144fef68c9d1a06783524f9e20 100644 +index bb50ca7bcbdf46d29bd749050674dc18d7e282e4..f78e2d7926e665278a4d7dd78529e92abb54be85 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1058,6 +1058,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return true; }); @@ -2312,7 +2312,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 } else { this.visibleChunkMap.values().forEach(this::saveChunkIfNeeded); } -@@ -571,11 +573,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -572,11 +574,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider protected void tick(BooleanSupplier shouldKeepTicking) { ProfilerFiller gameprofilerfiller = this.level.getProfiler(); @@ -2328,7 +2328,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 } gameprofilerfiller.pop(); -@@ -638,7 +644,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -639,7 +645,16 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ((LevelChunk) ichunkaccess).setLoaded(false); } @@ -2346,7 +2346,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 if (this.entitiesInLevel.remove(pos) && ichunkaccess instanceof LevelChunk) { LevelChunk chunk = (LevelChunk) ichunkaccess; -@@ -704,32 +719,54 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -705,32 +720,54 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } private CompletableFuture> scheduleChunkLoad(ChunkPos pos) { @@ -2420,7 +2420,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 return nbt.contains("Status", 8); } -@@ -968,7 +1005,48 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -969,7 +1006,48 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } } @@ -2469,7 +2469,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 this.poiManager.flush(chunk.getPos()); if (!chunk.isUnsaved()) { return false; -@@ -980,7 +1058,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -981,7 +1059,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider ChunkStatus chunkstatus = chunk.getStatus(); if (chunkstatus.getChunkType() != ChunkStatus.ChunkType.LEVELCHUNK) { @@ -2478,7 +2478,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 return false; } -@@ -990,9 +1068,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -991,9 +1069,15 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } this.level.getProfiler().incrementCounter("chunkSave"); @@ -2496,7 +2496,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 this.markPosition(chunkcoordintpair, chunkstatus.getChunkType()); return true; } catch (Exception exception) { -@@ -1001,6 +1085,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1002,6 +1086,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return false; } } @@ -2504,7 +2504,7 @@ index 213c94cecc1103056ce83625f1e78cd62b6476a6..b289d6c166625947fb2abb4159bbec65 } private boolean isExistingChunkFull(ChunkPos pos) { -@@ -1134,6 +1219,35 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1135,6 +1220,35 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } } @@ -2716,10 +2716,10 @@ index a81644df294c739b72fc638cd06a3976250caa50..d66ec02b09bb7ae46aae8e55f0062613 } finally { chunkMap.callbackExecutor.run(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 25df052247ba26b75e49c801587f71d0fed31c92..bde271171b035633ff263b6c60e85f2db5264879 100644 +index cfaa5a5df9ae2fb0147d66b41de91e6b771b769c..293657617c32acfe70b0ab98939135e5ac6dae28 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -316,6 +316,78 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -317,6 +317,78 @@ public class ServerLevel extends Level implements WorldGenLevel { } } } @@ -2798,7 +2798,7 @@ index 25df052247ba26b75e49c801587f71d0fed31c92..bde271171b035633ff263b6c60e85f2d // Paper end // Add env and gen to constructor, IWorldDataServer -> WorldDataServer -@@ -398,6 +470,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -399,6 +471,8 @@ public class ServerLevel extends Level implements WorldGenLevel { this.sleepStatus = new SleepStatus(); this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit @@ -2820,10 +2820,10 @@ index 0d536d72ac918fbd403397ff369d10143ee9c204..be677d437d17b74c6188ce1bd5fc6fdc private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 5df920842608f7d4dd4bb24872de1adb3548f20c..b22762ed6731350a1803d80cb1a684a26ca0acac 100644 +index 8a6fd7616df0f81e4b67a217846786d9c7bcd21f..c4fffd9e5c3a263376832956b6700bafe143aa33 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -750,6 +750,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -792,6 +792,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic server.scheduleOnMain(() -> this.disconnect(Component.translatable("disconnect.spam", new Object[0]))); // Paper return; } diff --git a/patches/unapplied/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch similarity index 96% rename from patches/unapplied/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch rename to patches/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch index dbe67aaff..9faee7709 100644 --- a/patches/unapplied/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0253-Add-ray-tracing-methods-to-LivingEntity.patch @@ -28,10 +28,10 @@ index 0cf818fceddd76e7704fdc6625456787856b2815..ccdee183f02ab55723e16f41efce55dc switch (enumDirection) { case DOWN: diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index de16969a25bd72b4420e5ecbdb477a1adc51f2d1..642b496926d8f6ef5ba5f12e44043d4d769f06ef 100644 +index f7a535c35dde266e82369a8cee67c6e58c178731..75f1d666d7e15cfad3935ba3aff6b68b6b6f992a 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3718,6 +3718,23 @@ public abstract class LivingEntity extends Entity { +@@ -3721,6 +3721,23 @@ public abstract class LivingEntity extends Entity { } // Paper start diff --git a/patches/unapplied/server/0254-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch similarity index 92% rename from patches/unapplied/server/0254-Expose-attack-cooldown-methods-for-Player.patch rename to patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch index 5f01ad5b6..ea8fe5c62 100644 --- a/patches/unapplied/server/0254-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0254-Expose-attack-cooldown-methods-for-Player.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e1d776f5e62c1de04470268cb064ae4359d6c27..39097bd415a4028db604c0785c4c294037331e80 100644 +index 04786e67f1699b944cd5d09d916a086e34acfaef..be4663e5ab3afd554dec58b97b940eb6e46fead7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2498,6 +2498,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0255-Improve-death-events.patch b/patches/server/0255-Improve-death-events.patch similarity index 97% rename from patches/unapplied/server/0255-Improve-death-events.patch rename to patches/server/0255-Improve-death-events.patch index fd14c7853..c1dd3b270 100644 --- a/patches/unapplied/server/0255-Improve-death-events.patch +++ b/patches/server/0255-Improve-death-events.patch @@ -19,10 +19,10 @@ maybe more (please check patch overrides for drops for more): - players, armor stands, foxes, chested donkeys/llamas diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 997b688d187b8b5d0e6a40ce030a14c4445ec6e9..a8dd8cb390924a221e0be4ef4ef5e16868cc7682 100644 +index 522c8791edd87feb6cb32ef8e621ae35e53c9cb1..1b3188837069622baaba90c80fe387abfbfad10a 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -229,6 +229,10 @@ public class ServerPlayer extends Player { +@@ -230,6 +230,10 @@ public class ServerPlayer extends Player { public int latency; public boolean wonGame; private int containerUpdateDelay; // Paper @@ -33,7 +33,7 @@ index 997b688d187b8b5d0e6a40ce030a14c4445ec6e9..a8dd8cb390924a221e0be4ef4ef5e168 // CraftBukkit start public String displayName; -@@ -799,6 +803,15 @@ public class ServerPlayer extends Player { +@@ -800,6 +804,15 @@ public class ServerPlayer extends Player { String deathmessage = defaultMessage.getString(); this.keepLevel = keepInventory; // SPIGOT-2222: pre-set keepLevel org.bukkit.event.entity.PlayerDeathEvent event = CraftEventFactory.callPlayerDeathEvent(this, loot, PaperAdventure.asAdventure(defaultMessage), defaultMessage.getString(), keepInventory); // Paper - Adventure @@ -49,7 +49,7 @@ index 997b688d187b8b5d0e6a40ce030a14c4445ec6e9..a8dd8cb390924a221e0be4ef4ef5e168 // SPIGOT-943 - only call if they have an inventory open if (this.containerMenu != this.inventoryMenu) { -@@ -947,8 +960,17 @@ public class ServerPlayer extends Player { +@@ -945,8 +958,17 @@ public class ServerPlayer extends Player { } } } @@ -70,7 +70,7 @@ index 997b688d187b8b5d0e6a40ce030a14c4445ec6e9..a8dd8cb390924a221e0be4ef4ef5e168 } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 642b496926d8f6ef5ba5f12e44043d4d769f06ef..b1af9e9a4e530854049d7907c099c169692b12ab 100644 +index 75f1d666d7e15cfad3935ba3aff6b68b6b6f992a..ef1cc74bd09afe7228a78146ff1b8f368874dc70 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -262,6 +262,7 @@ public abstract class LivingEntity extends Entity { @@ -310,7 +310,7 @@ index f94a74728bd7c02a7f8245c92e7916f0b669ee0d..cd54fa8f7bbcb6036e90f4ef7cdc01d7 this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 39097bd415a4028db604c0785c4c294037331e80..c6b62a822689289a20cb675be22d8befa5364d35 100644 +index be4663e5ab3afd554dec58b97b940eb6e46fead7..0c29d7271c0ebc4aa11743db7a0c1a89036b4a27 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2062,7 +2062,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch b/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch similarity index 94% rename from patches/unapplied/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch rename to patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch index be052700e..e03ccbcd5 100644 --- a/patches/unapplied/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch +++ b/patches/server/0256-Allow-chests-to-be-placed-with-NBT-data.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow chests to be placed with NBT data diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index e7dbcacff58ce4b48f315eae80878c136b740416..cc908aeba2edd49a1282e84a28f68801581af77d 100644 +index c0959edaef2bc0ebcfa482cd120855c23d83f2b8..4b41d2dd00c1b206c1419ba767a3474947664e53 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -360,6 +360,7 @@ public final class ItemStack { diff --git a/patches/unapplied/server/0257-Mob-Pathfinding-API.patch b/patches/server/0257-Mob-Pathfinding-API.patch similarity index 100% rename from patches/unapplied/server/0257-Mob-Pathfinding-API.patch rename to patches/server/0257-Mob-Pathfinding-API.patch diff --git a/patches/unapplied/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch similarity index 100% rename from patches/unapplied/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch rename to patches/server/0258-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch diff --git a/patches/unapplied/server/0259-Prevent-chunk-loading-from-Fluid-Flowing.patch b/patches/server/0259-Prevent-chunk-loading-from-Fluid-Flowing.patch similarity index 100% rename from patches/unapplied/server/0259-Prevent-chunk-loading-from-Fluid-Flowing.patch rename to patches/server/0259-Prevent-chunk-loading-from-Fluid-Flowing.patch diff --git a/patches/unapplied/server/0260-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch b/patches/server/0260-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch similarity index 100% rename from patches/unapplied/server/0260-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch rename to patches/server/0260-Prevent-Mob-AI-Rules-from-Loading-Chunks.patch diff --git a/patches/unapplied/server/0261-Prevent-mob-spawning-from-loading-generating-chunks.patch b/patches/server/0261-Prevent-mob-spawning-from-loading-generating-chunks.patch similarity index 100% rename from patches/unapplied/server/0261-Prevent-mob-spawning-from-loading-generating-chunks.patch rename to patches/server/0261-Prevent-mob-spawning-from-loading-generating-chunks.patch diff --git a/patches/unapplied/server/0262-Implement-furnace-cook-speed-multiplier-API.patch b/patches/server/0262-Implement-furnace-cook-speed-multiplier-API.patch similarity index 100% rename from patches/unapplied/server/0262-Implement-furnace-cook-speed-multiplier-API.patch rename to patches/server/0262-Implement-furnace-cook-speed-multiplier-API.patch diff --git a/patches/unapplied/server/0263-Catch-JsonParseException-in-Entity-and-TE-names.patch b/patches/server/0263-Catch-JsonParseException-in-Entity-and-TE-names.patch similarity index 100% rename from patches/unapplied/server/0263-Catch-JsonParseException-in-Entity-and-TE-names.patch rename to patches/server/0263-Catch-JsonParseException-in-Entity-and-TE-names.patch diff --git a/patches/unapplied/server/0264-Honor-EntityAgeable.ageLock.patch b/patches/server/0264-Honor-EntityAgeable.ageLock.patch similarity index 100% rename from patches/unapplied/server/0264-Honor-EntityAgeable.ageLock.patch rename to patches/server/0264-Honor-EntityAgeable.ageLock.patch diff --git a/patches/unapplied/server/0265-Configurable-connection-throttle-kick-message.patch b/patches/server/0265-Configurable-connection-throttle-kick-message.patch similarity index 100% rename from patches/unapplied/server/0265-Configurable-connection-throttle-kick-message.patch rename to patches/server/0265-Configurable-connection-throttle-kick-message.patch diff --git a/patches/unapplied/server/0266-Hook-into-CB-plugin-rewrites.patch b/patches/server/0266-Hook-into-CB-plugin-rewrites.patch similarity index 100% rename from patches/unapplied/server/0266-Hook-into-CB-plugin-rewrites.patch rename to patches/server/0266-Hook-into-CB-plugin-rewrites.patch diff --git a/patches/unapplied/server/0267-PreSpawnerSpawnEvent.patch b/patches/server/0267-PreSpawnerSpawnEvent.patch similarity index 100% rename from patches/unapplied/server/0267-PreSpawnerSpawnEvent.patch rename to patches/server/0267-PreSpawnerSpawnEvent.patch diff --git a/patches/unapplied/server/0268-Add-LivingEntity-getTargetEntity.patch b/patches/server/0268-Add-LivingEntity-getTargetEntity.patch similarity index 97% rename from patches/unapplied/server/0268-Add-LivingEntity-getTargetEntity.patch rename to patches/server/0268-Add-LivingEntity-getTargetEntity.patch index 99a05da4e..42ee44744 100644 --- a/patches/unapplied/server/0268-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0268-Add-LivingEntity-getTargetEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#getTargetEntity diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index b1af9e9a4e530854049d7907c099c169692b12ab..0d5157abac635da2fdfe25fb10d28e18ad94bd3a 100644 +index ef1cc74bd09afe7228a78146ff1b8f368874dc70..5dc45412d9251be9c8e516160b1aed9255968bbb 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -116,6 +116,7 @@ import net.minecraft.world.level.storage.loot.LootTable; @@ -16,7 +16,7 @@ index b1af9e9a4e530854049d7907c099c169692b12ab..0d5157abac635da2fdfe25fb10d28e18 import net.minecraft.world.phys.HitResult; import net.minecraft.world.phys.Vec3; import net.minecraft.world.scores.PlayerTeam; -@@ -3781,6 +3782,38 @@ public abstract class LivingEntity extends Entity { +@@ -3784,6 +3785,38 @@ public abstract class LivingEntity extends Entity { return level.clip(raytrace); } diff --git a/patches/unapplied/server/0269-Add-sun-related-API.patch b/patches/server/0269-Add-sun-related-API.patch similarity index 100% rename from patches/unapplied/server/0269-Add-sun-related-API.patch rename to patches/server/0269-Add-sun-related-API.patch diff --git a/patches/unapplied/server/0270-Turtle-API.patch b/patches/server/0270-Turtle-API.patch similarity index 100% rename from patches/unapplied/server/0270-Turtle-API.patch rename to patches/server/0270-Turtle-API.patch diff --git a/patches/unapplied/server/0271-Call-player-spectator-target-events-and-improve-impl.patch b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch similarity index 96% rename from patches/unapplied/server/0271-Call-player-spectator-target-events-and-improve-impl.patch rename to patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch index f1d88ea58..b3d594b2d 100644 --- a/patches/unapplied/server/0271-Call-player-spectator-target-events-and-improve-impl.patch +++ b/patches/server/0271-Call-player-spectator-target-events-and-improve-impl.patch @@ -19,10 +19,10 @@ spectate the target entity. Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a8dd8cb390924a221e0be4ef4ef5e16868cc7682..a92a8e9d38cab33b2e161ef96e1cecd533b27324 100644 +index 1b3188837069622baaba90c80fe387abfbfad10a..f9cd8040f0782c0c0543c8a9f52727ba838f987f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1881,14 +1881,58 @@ public class ServerPlayer extends Player { +@@ -1870,14 +1870,58 @@ public class ServerPlayer extends Player { } public void setCamera(@Nullable Entity entity) { diff --git a/patches/unapplied/server/0272-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch b/patches/server/0272-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch similarity index 100% rename from patches/unapplied/server/0272-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch rename to patches/server/0272-MC-50319-Check-other-worlds-for-shooter-of-projectil.patch diff --git a/patches/unapplied/server/0273-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch similarity index 95% rename from patches/unapplied/server/0273-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch index 8cf9219bb..f92f393b6 100644 --- a/patches/unapplied/server/0273-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0273-Add-Velocity-IP-Forwarding-Support.patch @@ -88,18 +88,18 @@ index 0000000000000000000000000000000000000000..980e2b4dc308adf9a6cb2596b28eaeee + } +} diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index 1b075033f0640433341957f6e26ebe25f18928ee..8b5eddce4845619603ccfeec158d97cb86568e0d 100644 +index 7c3c76b7ef169e0c0832e26212775111deb505c0..c501e41ed7dd41a51cb87d4cf7ac62d694601156 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -69,6 +69,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -70,6 +70,7 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se @Nullable - private ProfilePublicKey playerProfilePublicKey; + private ProfilePublicKey.Data profilePublicKeyData; public String hostname = ""; // CraftBukkit - add field + private int velocityLoginMessageId = -1; // Paper - Velocity support public ServerLoginPacketListenerImpl(MinecraftServer server, Connection connection) { this.state = ServerLoginPacketListenerImpl.State.HELLO; -@@ -279,6 +280,16 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -279,6 +280,16 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se this.state = ServerLoginPacketListenerImpl.State.KEY; this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce)); } else { @@ -116,7 +116,7 @@ index 1b075033f0640433341957f6e26ebe25f18928ee..8b5eddce4845619603ccfeec158d97cb // Spigot start // Paper start - Cache authenticator threads authenticatorPool.execute(new Runnable() { -@@ -388,6 +399,12 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -390,6 +401,12 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se public class LoginHandler { public void fireEvents() throws Exception { @@ -129,7 +129,7 @@ index 1b075033f0640433341957f6e26ebe25f18928ee..8b5eddce4845619603ccfeec158d97cb String playerName = ServerLoginPacketListenerImpl.this.gameProfile.getName(); java.net.InetAddress address = ((java.net.InetSocketAddress) ServerLoginPacketListenerImpl.this.connection.getRemoteAddress()).getAddress(); java.util.UUID uniqueId = ServerLoginPacketListenerImpl.this.gameProfile.getId(); -@@ -435,6 +452,58 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener +@@ -437,6 +454,58 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se // Spigot end public void handleCustomQueryPacket(ServerboundCustomQueryPacket packet) { diff --git a/patches/unapplied/server/0274-Add-more-Witch-API.patch b/patches/server/0274-Add-more-Witch-API.patch similarity index 100% rename from patches/unapplied/server/0274-Add-more-Witch-API.patch rename to patches/server/0274-Add-more-Witch-API.patch diff --git a/patches/unapplied/server/0275-Check-Drowned-for-Villager-Aggression-Config.patch b/patches/server/0275-Check-Drowned-for-Villager-Aggression-Config.patch similarity index 100% rename from patches/unapplied/server/0275-Check-Drowned-for-Villager-Aggression-Config.patch rename to patches/server/0275-Check-Drowned-for-Villager-Aggression-Config.patch diff --git a/patches/unapplied/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch similarity index 90% rename from patches/unapplied/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch rename to patches/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch index 46715b081..835ab28b8 100644 --- a/patches/unapplied/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch +++ b/patches/server/0276-Add-option-to-prevent-players-from-moving-into-unloa.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add option to prevent players from moving into unloaded diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index b22762ed6731350a1803d80cb1a684a26ca0acac..471725c11de5f02d91ddb9246e79533774f25548 100644 +index c4fffd9e5c3a263376832956b6700bafe143aa33..30858fb07046d17ca66f821fe071b8aecbd00875 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -526,9 +526,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -568,9 +568,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic double d0 = entity.getX(); double d1 = entity.getY(); double d2 = entity.getZ(); @@ -22,7 +22,7 @@ index b22762ed6731350a1803d80cb1a684a26ca0acac..471725c11de5f02d91ddb9246e795337 float f = Mth.wrapDegrees(packet.getYRot()); float f1 = Mth.wrapDegrees(packet.getXRot()); double d6 = d3 - this.vehicleFirstGoodX; -@@ -563,6 +563,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -605,6 +605,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } speed *= 2f; // TODO: Get the speed of the vehicle instead of the player @@ -39,7 +39,7 @@ index b22762ed6731350a1803d80cb1a684a26ca0acac..471725c11de5f02d91ddb9246e795337 if (d10 - d9 > Math.max(100.0D, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) { // CraftBukkit end ServerGamePacketListenerImpl.LOGGER.warn("{} (vehicle of {}) moved too quickly! {},{},{}", new Object[]{entity.getName().getString(), this.player.getName().getString(), d6, d7, d8}); -@@ -1180,9 +1190,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1246,9 +1256,9 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.allowedPlayerTicks = 20; // CraftBukkit } else { this.awaitingTeleportTime = this.tickCount; @@ -52,7 +52,7 @@ index b22762ed6731350a1803d80cb1a684a26ca0acac..471725c11de5f02d91ddb9246e795337 float f = Mth.wrapDegrees(packet.getYRot(this.player.getYRot())); float f1 = Mth.wrapDegrees(packet.getXRot(this.player.getXRot())); -@@ -1238,6 +1248,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1304,6 +1314,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic } else { speed = this.player.getAbilities().walkingSpeed * 10f; } diff --git a/patches/unapplied/server/0277-Reset-players-airTicks-on-respawn.patch b/patches/server/0277-Reset-players-airTicks-on-respawn.patch similarity index 83% rename from patches/unapplied/server/0277-Reset-players-airTicks-on-respawn.patch rename to patches/server/0277-Reset-players-airTicks-on-respawn.patch index 3f235b7a3..4263234b5 100644 --- a/patches/unapplied/server/0277-Reset-players-airTicks-on-respawn.patch +++ b/patches/server/0277-Reset-players-airTicks-on-respawn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Reset players airTicks on respawn diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a92a8e9d38cab33b2e161ef96e1cecd533b27324..bdd81c856b750acaffa7ec8d95c00d481504a2b9 100644 +index f9cd8040f0782c0c0543c8a9f52727ba838f987f..ca3206ad7c6e4acf31eda406c439fc7c70e47c01 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2294,6 +2294,7 @@ public class ServerPlayer extends Player { +@@ -2283,6 +2283,7 @@ public class ServerPlayer extends Player { this.setHealth(this.getMaxHealth()); this.stopUsingItem(); // CraftBukkit - SPIGOT-6682: Clear active item on reset diff --git a/patches/unapplied/server/0278-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/patches/server/0278-Don-t-sleep-after-profile-lookups-if-not-needed.patch similarity index 100% rename from patches/unapplied/server/0278-Don-t-sleep-after-profile-lookups-if-not-needed.patch rename to patches/server/0278-Don-t-sleep-after-profile-lookups-if-not-needed.patch diff --git a/patches/unapplied/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch similarity index 90% rename from patches/unapplied/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch rename to patches/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch index cc81e98e4..3bd7cbcf8 100644 --- a/patches/unapplied/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch +++ b/patches/server/0279-Improve-Server-Thread-Pool-and-Thread-Priorities.patch @@ -12,10 +12,10 @@ server threads Allow usage of a single thread executor by not using ForkJoin so single core CPU's. diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 33ec7786cdf8c32e905d192fc8364418e47404d5..67567eb58beddc06eae4d8e7af3b3c0962405512 100644 +index 336a26733b5bf73455f8ec10347c1e08b8e866f7..4fce18c52c8144460ebf0c1e336dce712d796cc6 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java -@@ -78,8 +78,8 @@ public class Util { +@@ -79,8 +79,8 @@ public class Util { private static final int DEFAULT_MAX_THREADS = 255; private static final String MAX_THREADS_SYSTEM_PROPERTY = "max.bg.threads"; private static final AtomicInteger WORKER_COUNT = new AtomicInteger(1); @@ -26,8 +26,8 @@ index 33ec7786cdf8c32e905d192fc8364418e47404d5..67567eb58beddc06eae4d8e7af3b3c09 // Paper start - don't submit BLOCKING PROFILE LOOKUPS to the world gen thread public static final ExecutorService PROFILE_EXECUTOR = Executors.newFixedThreadPool(2, new java.util.concurrent.ThreadFactory() { -@@ -137,14 +137,18 @@ public class Util { - return Instant.now().toEpochMilli(); +@@ -143,14 +143,18 @@ public class Util { + return FILENAME_DATE_TIME_FORMATTER.format(ZonedDateTime.now()); } - private static ExecutorService makeExecutor(String name) { @@ -49,7 +49,7 @@ index 33ec7786cdf8c32e905d192fc8364418e47404d5..67567eb58beddc06eae4d8e7af3b3c09 @Override protected void onTermination(Throwable throwable) { if (throwable != null) { -@@ -160,6 +164,7 @@ public class Util { +@@ -166,6 +170,7 @@ public class Util { return forkJoinWorkerThread; }, Util::onThreadException, true); } @@ -58,10 +58,10 @@ index 33ec7786cdf8c32e905d192fc8364418e47404d5..67567eb58beddc06eae4d8e7af3b3c09 return executorService; } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d4c5e0f6a31ff0e26fbf1dfc0496bba774811197..338c723c64950aa03e9aab4d9592798ac87beddd 100644 +index 95f0525bd4ad62853559cc60d5d2b707cffcb727..202802af054b32beb0dc0d5a7f1dbde8748036c1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -304,6 +304,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { +@@ -126,6 +126,15 @@ public class Connection extends SimpleChannelInboundHandler> { } public void exceptionCaught(ChannelHandlerContext channelhandlercontext, Throwable throwable) { diff --git a/patches/unapplied/server/0288-force-entity-dismount-during-teleportation.patch b/patches/server/0288-force-entity-dismount-during-teleportation.patch similarity index 87% rename from patches/unapplied/server/0288-force-entity-dismount-during-teleportation.patch rename to patches/server/0288-force-entity-dismount-during-teleportation.patch index f3572aed5..ac2768d3f 100644 --- a/patches/unapplied/server/0288-force-entity-dismount-during-teleportation.patch +++ b/patches/server/0288-force-entity-dismount-during-teleportation.patch @@ -20,10 +20,10 @@ this is going to be the best soultion all around. Improvements/suggestions welcome! diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bdd81c856b750acaffa7ec8d95c00d481504a2b9..4552b02daae22fa93e60bff7057a69ef4107c046 100644 +index ca3206ad7c6e4acf31eda406c439fc7c70e47c01..f95e8e53fc0438858921446f44279f747414b12f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1337,11 +1337,13 @@ public class ServerPlayer extends Player { +@@ -1335,11 +1335,13 @@ public class ServerPlayer extends Player { } } @@ -41,10 +41,10 @@ index bdd81c856b750acaffa7ec8d95c00d481504a2b9..4552b02daae22fa93e60bff7057a69ef if (entity1 != entity && this.connection != null) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905b8755b9c 100644 +index ed79a9d5a822370a9a285e58773669a00b159054..f02b0afc1ef85622bc801f526e1ed476f9722c2e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2318,11 +2318,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2315,11 +2315,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } public void removeVehicle() { @@ -62,7 +62,7 @@ index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905 } } -@@ -2385,7 +2390,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2382,7 +2387,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { return true; // CraftBukkit } @@ -74,7 +74,7 @@ index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905 if (entity.getVehicle() == this) { throw new IllegalStateException("Use x.stopRiding(y), not y.removePassenger(x)"); } else { -@@ -2395,7 +2403,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2392,7 +2400,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { if (this.getBukkitEntity() instanceof Vehicle && entity.getBukkitEntity() instanceof LivingEntity) { VehicleExitEvent event = new VehicleExitEvent( (Vehicle) this.getBukkitEntity(), @@ -83,7 +83,7 @@ index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905 ); // Suppress during worldgen if (this.valid) { -@@ -2409,7 +2417,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2406,7 +2414,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } // CraftBukkit end // Spigot start @@ -93,10 +93,10 @@ index bde7eeea9dba42b1d38c2ebdc871bc5d003af9a1..2e275bf97258576edfbc96ea69c91905 if (this.valid) { Bukkit.getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0d5157abac635da2fdfe25fb10d28e18ad94bd3a..4a51a12cf57e4cbf10d9a7fd03c319573422c858 100644 +index 5dc45412d9251be9c8e516160b1aed9255968bbb..3aebd9999b1e0dba3405117a8223c99b35c7db12 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3379,9 +3379,15 @@ public abstract class LivingEntity extends Entity { +@@ -3382,9 +3382,15 @@ public abstract class LivingEntity extends Entity { @Override public void stopRiding() { @@ -114,10 +114,10 @@ index 0d5157abac635da2fdfe25fb10d28e18ad94bd3a..4a51a12cf57e4cbf10d9a7fd03c31957 this.dismountVehicle(entity); } 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 9dad71368225d86598f02962b42659bc601ce144..6b7aea148b7a979201dd51bf842a552644fd0a63 100644 +index 2520ba136cf17392120f6187a73015f438c302f1..d308c671ec1c4440777bccf1609ceca6670b98a8 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1159,7 +1159,13 @@ public abstract class Player extends LivingEntity { +@@ -1160,7 +1160,13 @@ public abstract class Player extends LivingEntity { @Override public void removeVehicle() { diff --git a/patches/unapplied/server/0289-Add-more-Zombie-API.patch b/patches/server/0289-Add-more-Zombie-API.patch similarity index 100% rename from patches/unapplied/server/0289-Add-more-Zombie-API.patch rename to patches/server/0289-Add-more-Zombie-API.patch diff --git a/patches/unapplied/server/0290-Book-Size-Limits.patch b/patches/server/0290-Book-Size-Limits.patch similarity index 93% rename from patches/unapplied/server/0290-Book-Size-Limits.patch rename to patches/server/0290-Book-Size-Limits.patch index 19f0638cb..9f1cb31e2 100644 --- a/patches/unapplied/server/0290-Book-Size-Limits.patch +++ b/patches/server/0290-Book-Size-Limits.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Book Size Limits Puts some limits on the size of books. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index deef30cf640d84aeb69cb6df3eeed29d21bf1f68..ef49922d34ec9d0d360c30be5f698be9859db1f6 100644 +index e1bd98981239f7dccb0f4560c8db167848fd8376..2205849e8aaa161c5772b39d9368765a552a5a94 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1049,6 +1049,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1113,6 +1113,45 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/unapplied/server/0291-Add-PlayerConnectionCloseEvent.patch b/patches/server/0291-Add-PlayerConnectionCloseEvent.patch similarity index 95% rename from patches/unapplied/server/0291-Add-PlayerConnectionCloseEvent.patch rename to patches/server/0291-Add-PlayerConnectionCloseEvent.patch index d084b3b4a..fa6febf09 100644 --- a/patches/unapplied/server/0291-Add-PlayerConnectionCloseEvent.patch +++ b/patches/server/0291-Add-PlayerConnectionCloseEvent.patch @@ -34,10 +34,10 @@ how PlayerPreLoginEvent interacts with PlayerConnectionCloseEvent is undefined. diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 8e7f7c7ad159c75d8066aa47aa5d8dd2add201eb..58e50b56b0e3f1388826c73c4616a1e24852bdbd 100644 +index 83c5264e4af146d3712cee4550d84c824a3a96d6..5ec25b729d1e7fce232ecdc723b8286c4eaf182c 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -430,6 +430,26 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -439,6 +439,26 @@ public class Connection extends SimpleChannelInboundHandler> { this.getPacketListener().onDisconnect(Component.translatable("multiplayer.disconnect.generic")); } this.queue.clear(); // Free up packet queue. diff --git a/patches/unapplied/server/0292-Prevent-Enderman-from-loading-chunks.patch b/patches/server/0292-Prevent-Enderman-from-loading-chunks.patch similarity index 100% rename from patches/unapplied/server/0292-Prevent-Enderman-from-loading-chunks.patch rename to patches/server/0292-Prevent-Enderman-from-loading-chunks.patch diff --git a/patches/unapplied/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch similarity index 94% rename from patches/unapplied/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch rename to patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 010a33ece..3a4261cc5 100644 --- a/patches/unapplied/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0293-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -16,10 +16,10 @@ intent to remove) and replace it with two new methods, clearly named and documented as to their purpose. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4552b02daae22fa93e60bff7057a69ef4107c046..4c7634c84dc2cc42099c0457321d468166afa3bb 100644 +index f95e8e53fc0438858921446f44279f747414b12f..eaf95c84896f71f36e250b3a07bb504230e4d85d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -229,6 +229,7 @@ public class ServerPlayer extends Player { +@@ -230,6 +230,7 @@ public class ServerPlayer extends Player { public int latency; public boolean wonGame; private int containerUpdateDelay; // Paper @@ -28,10 +28,10 @@ index 4552b02daae22fa93e60bff7057a69ef4107c046..4c7634c84dc2cc42099c0457321d4681 public boolean queueHealthUpdatePacket = false; public net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 5285cd8f395871c8bb55e0dc143216ae3acc0310..fee344bc4457fb4cd21d2e7ed9845f0bd3ce84da 100644 +index f181ee0db6c25eee07d2750ebe35b97b586c8c35..c3d797f0f57dfb065ba4ea594fbae734b1066318 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -177,6 +177,7 @@ public abstract class PlayerList { +@@ -178,6 +178,7 @@ public abstract class PlayerList { } public void placeNewPlayer(Connection connection, ServerPlayer player) { @@ -106,7 +106,7 @@ index e7442952ef1f03969949014492a7ddc6d0796ba5..d7823d7dc88cfba6f6ac9dae220e03de public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c6b62a822689289a20cb675be22d8befa5364d35..12a0e69ca2e20503a8a07ab17631a7f9d8763087 100644 +index 0c29d7271c0ebc4aa11743db7a0c1a89036b4a27..e434550ee5922e0d622a075085e0135ce1e93217 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -168,6 +168,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch similarity index 85% rename from patches/unapplied/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch rename to patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch index 073dc45a3..839d91d66 100644 --- a/patches/unapplied/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch +++ b/patches/server/0294-Workaround-for-vehicle-tracking-issue-on-disconnect.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Workaround for vehicle tracking issue on disconnect diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4c7634c84dc2cc42099c0457321d468166afa3bb..bea7a50c4e461eb69447f7f3b4b049e8dce66fd9 100644 +index eaf95c84896f71f36e250b3a07bb504230e4d85d..dff1961404ccbc767624e32a1c5158cbbe63d9f7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1579,6 +1579,13 @@ public class ServerPlayer extends Player { +@@ -1577,6 +1577,13 @@ public class ServerPlayer extends Player { public void disconnect() { this.disconnected = true; this.ejectPassengers(); diff --git a/patches/unapplied/server/0295-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch similarity index 94% rename from patches/unapplied/server/0295-Block-Entity-remove-from-being-called-on-Players.patch rename to patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch index 38285a1e7..ae3a54ebd 100644 --- a/patches/unapplied/server/0295-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0295-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 12a0e69ca2e20503a8a07ab17631a7f9d8763087..226bfb38b8b1c3463e5527c831d22875cfc051ba 100644 +index e434550ee5922e0d622a075085e0135ce1e93217..c8b9c55c2d927ed5f9a0597822ceef95842abe5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2545,6 +2545,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/unapplied/server/0296-BlockDestroyEvent.patch b/patches/server/0296-BlockDestroyEvent.patch similarity index 100% rename from patches/unapplied/server/0296-BlockDestroyEvent.patch rename to patches/server/0296-BlockDestroyEvent.patch diff --git a/patches/unapplied/server/0297-Async-command-map-building.patch b/patches/server/0297-Async-command-map-building.patch similarity index 89% rename from patches/unapplied/server/0297-Async-command-map-building.patch rename to patches/server/0297-Async-command-map-building.patch index a855feedc..bc4fcc419 100644 --- a/patches/unapplied/server/0297-Async-command-map-building.patch +++ b/patches/server/0297-Async-command-map-building.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Async command map building diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index a4d4b5059582cb5886f10e72bd5e8d84fe0b8441..4c9773997c63f7b2c8465b19810068f11367466b 100644 +index 2bf67468a6c745bc6243c65210477ba129bfcb07..685e04b1f17938d49cd126bcfe2f488f21afbea2 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -31,6 +31,7 @@ import net.minecraft.network.chat.ComponentUtils; +@@ -34,6 +34,7 @@ import net.minecraft.network.chat.ComponentUtils; import net.minecraft.network.chat.HoverEvent; import net.minecraft.network.chat.MutableComponent; import net.minecraft.network.protocol.game.ClientboundCommandsPacket; @@ -16,7 +16,7 @@ index a4d4b5059582cb5886f10e72bd5e8d84fe0b8441..4c9773997c63f7b2c8465b19810068f1 import net.minecraft.server.commands.AdvancementCommands; import net.minecraft.server.commands.AttributeCommand; import net.minecraft.server.commands.BanIpCommands; -@@ -349,6 +350,12 @@ public class Commands { +@@ -360,6 +361,12 @@ public class Commands { if ( org.spigotmc.SpigotConfig.tabComplete < 0 ) return; // Spigot // CraftBukkit start // Register Vanilla commands into builtRoot as before @@ -29,7 +29,7 @@ index a4d4b5059582cb5886f10e72bd5e8d84fe0b8441..4c9773997c63f7b2c8465b19810068f1 Map, CommandNode> map = Maps.newIdentityHashMap(); // Use identity to prevent aliasing issues RootCommandNode vanillaRoot = new RootCommandNode(); -@@ -366,7 +373,14 @@ public class Commands { +@@ -377,7 +384,14 @@ public class Commands { for (CommandNode node : rootcommandnode.getChildren()) { bukkit.add(node.getName()); } diff --git a/patches/unapplied/server/0298-Implement-Brigadier-Mojang-API.patch b/patches/server/0298-Implement-Brigadier-Mojang-API.patch similarity index 92% rename from patches/unapplied/server/0298-Implement-Brigadier-Mojang-API.patch rename to patches/server/0298-Implement-Brigadier-Mojang-API.patch index 8006ed9f6..3578f0784 100644 --- a/patches/unapplied/server/0298-Implement-Brigadier-Mojang-API.patch +++ b/patches/server/0298-Implement-Brigadier-Mojang-API.patch @@ -22,10 +22,10 @@ index 6dbac0f93481256dd57e76630ae9eea9d5c56849..e260462933a9f7065b2360e6bf9e4ee5 implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java -index cd7c33862c7e2e3895efce8a9675aa6a07a8053f..08cdd5807237c709accc989718178bc25428eb74 100644 +index a749ea8578fc8baeebd359e0275f1c3089beec13..981f08a537253516a6ce8b78f6cd04d7e5e1b546 100644 --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java -@@ -36,7 +36,7 @@ import net.minecraft.world.phys.Vec2; +@@ -39,7 +39,7 @@ import net.minecraft.world.phys.Vec2; import net.minecraft.world.phys.Vec3; import com.mojang.brigadier.tree.CommandNode; // CraftBukkit @@ -34,8 +34,8 @@ index cd7c33862c7e2e3895efce8a9675aa6a07a8053f..08cdd5807237c709accc989718178bc2 public static final SimpleCommandExceptionType ERROR_NOT_PLAYER = new SimpleCommandExceptionType(Component.translatable("permissions.requires.player")); public static final SimpleCommandExceptionType ERROR_NOT_ENTITY = new SimpleCommandExceptionType(Component.translatable("permissions.requires.entity")); -@@ -163,6 +163,26 @@ public class CommandSourceStack implements SharedSuggestionProvider { - return this.entity != null ? this.entity.asChatSender() : ChatSender.system(this.getDisplayName()); +@@ -172,6 +172,26 @@ public class CommandSourceStack implements SharedSuggestionProvider { + return this.entity != null ? this.entity.asChatSender() : ChatSender.SYSTEM; } + // Paper start @@ -62,10 +62,10 @@ index cd7c33862c7e2e3895efce8a9675aa6a07a8053f..08cdd5807237c709accc989718178bc2 public boolean hasPermission(int level) { // CraftBukkit start diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 4c9773997c63f7b2c8465b19810068f11367466b..a8f3a84615a640d2949d268ef1ac81a051f5a38b 100644 +index 685e04b1f17938d49cd126bcfe2f488f21afbea2..54bf5558c9048c215aee518874f3d96ab473beb6 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -374,6 +374,7 @@ public class Commands { +@@ -385,6 +385,7 @@ public class Commands { bukkit.add(node.getName()); } // Paper start - Async command map building @@ -73,7 +73,7 @@ index 4c9773997c63f7b2c8465b19810068f11367466b..a8f3a84615a640d2949d268ef1ac81a0 MinecraftServer.getServer().execute(() -> { runSync(player, bukkit, rootcommandnode); }); -@@ -381,6 +382,7 @@ public class Commands { +@@ -392,6 +393,7 @@ public class Commands { private void runSync(ServerPlayer player, Collection bukkit, RootCommandNode rootcommandnode) { // Paper end - Async command map building @@ -82,10 +82,10 @@ index 4c9773997c63f7b2c8465b19810068f11367466b..a8f3a84615a640d2949d268ef1ac81a0 event.getPlayer().getServer().getPluginManager().callEvent(event); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ef49922d34ec9d0d360c30be5f698be9859db1f6..befbc382387f921ad1ad9405db6821471b82fbba 100644 +index 2205849e8aaa161c5772b39d9368765a552a5a94..4ce4cba4f105c9abcad29173be38bb36feb1d061 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -790,8 +790,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -832,8 +832,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { @@ -100,7 +100,7 @@ index ef49922d34ec9d0d360c30be5f698be9859db1f6..befbc382387f921ad1ad9405db682147 }); }); } -@@ -800,7 +804,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -842,7 +846,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic builder = builder.createOffset(builder.getInput().lastIndexOf(' ') + 1); completions.forEach(builder::suggest); diff --git a/patches/unapplied/server/0299-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch b/patches/server/0299-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch similarity index 100% rename from patches/unapplied/server/0299-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch rename to patches/server/0299-Fix-Custom-Shapeless-Custom-Crafting-Recipes.patch diff --git a/patches/unapplied/server/0300-Limit-Client-Sign-length-more.patch b/patches/server/0300-Limit-Client-Sign-length-more.patch similarity index 84% rename from patches/unapplied/server/0300-Limit-Client-Sign-length-more.patch rename to patches/server/0300-Limit-Client-Sign-length-more.patch index af15df901..049731226 100644 --- a/patches/unapplied/server/0300-Limit-Client-Sign-length-more.patch +++ b/patches/server/0300-Limit-Client-Sign-length-more.patch @@ -22,18 +22,18 @@ it only impacts data sent from the client. Set -DPaper.maxSignLength=XX to change limit or -1 to disable diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index befbc382387f921ad1ad9405db6821471b82fbba..2a3840963f673e99abe36fa967155231820ff3a9 100644 +index 4ce4cba4f105c9abcad29173be38bb36feb1d061..fdc13ca3d48cf20d8b15f42fc19f1375947f0c90 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -276,6 +276,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - private final ChatPreviewThrottler chatPreviewThrottler = new ChatPreviewThrottler(); - private final AtomicReference lastChatTimeStamp; +@@ -293,6 +293,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + private final LastSeenMessagesValidator lastSeenMessagesValidator; + private final FutureChain chatMessageChain; private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit + private static final int MAX_SIGN_LINE_LENGTH = Integer.getInteger("Paper.maxSignLength", 80); // Paper public ServerGamePacketListenerImpl(MinecraftServer server, Connection connection, ServerPlayer player) { this.lastChatTimeStamp = new AtomicReference(Instant.EPOCH); -@@ -3047,7 +3048,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3263,7 +3264,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleSignUpdate(ServerboundSignUpdatePacket packet) { @@ -52,5 +52,5 @@ index befbc382387f921ad1ad9405db6821471b82fbba..2a3840963f673e99abe36fa967155231 + List list = (List) Stream.of(lines).map(ChatFormatting::stripFormatting).collect(Collectors.toList()); + // Paper end - this.filterTextPacket(list, (list1) -> { + this.filterTextPacket(list).thenAcceptAsync((list1) -> { this.updateSignText(packet, list1); diff --git a/patches/unapplied/server/0301-Don-t-check-ConvertSigns-boolean-every-sign-save.patch b/patches/server/0301-Don-t-check-ConvertSigns-boolean-every-sign-save.patch similarity index 100% rename from patches/unapplied/server/0301-Don-t-check-ConvertSigns-boolean-every-sign-save.patch rename to patches/server/0301-Don-t-check-ConvertSigns-boolean-every-sign-save.patch diff --git a/patches/unapplied/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 92% rename from patches/unapplied/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch index ae6bea162..4b166f1a9 100644 --- a/patches/unapplied/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch +++ b/patches/server/0302-Optimize-Network-Manager-and-add-advanced-packet-sup.patch @@ -28,10 +28,10 @@ and then catch exceptions and close if they fire. Part of this commit was authored by: Spottedleaf diff --git a/src/main/java/net/minecraft/network/Connection.java b/src/main/java/net/minecraft/network/Connection.java -index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc519bfbf6c 100644 +index 5ec25b729d1e7fce232ecdc723b8286c4eaf182c..a18e2146c4398b45ae50623fc6800a78718f4c81 100644 --- a/src/main/java/net/minecraft/network/Connection.java +++ b/src/main/java/net/minecraft/network/Connection.java -@@ -97,6 +97,10 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -93,6 +93,10 @@ public class Connection extends SimpleChannelInboundHandler> { public int protocolVersion; public java.net.InetSocketAddress virtualHost; private static boolean enableExplicitFlush = Boolean.getBoolean("paper.explicit-flush"); @@ -42,7 +42,7 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 // Paper end public Connection(PacketFlow side) { -@@ -120,6 +124,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -116,6 +120,7 @@ public class Connection extends SimpleChannelInboundHandler> { } public void setProtocol(ConnectionProtocol state) { @@ -50,7 +50,7 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 this.channel.attr(Connection.ATTRIBUTE_PROTOCOL).set(state); this.channel.config().setAutoRead(true); Connection.LOGGER.debug("Enabled auto read"); -@@ -198,19 +203,89 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -194,19 +199,89 @@ public class Connection extends SimpleChannelInboundHandler> { Validate.notNull(listener, "packetListener", new Object[0]); this.packetListener = listener; } @@ -102,10 +102,10 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 + // Paper end public void send(Packet packet) { - this.send(packet, (GenericFutureListener) null); + this.send(packet, (PacketSendListener) null); } - public void send(Packet packet, @Nullable GenericFutureListener> callback) { + public void send(Packet packet, @Nullable PacketSendListener packetsendlistener) { - if (this.isConnected()) { - this.flushQueue(); + // Paper start - handle oversized packets better @@ -118,9 +118,9 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 + net.minecraft.server.MCUtil.isMainThread() && packet.isReady() && this.queue.isEmpty() && + (packet.getExtraPackets() == null || packet.getExtraPackets().isEmpty()) + ))) { - this.sendPacket(packet, callback); + this.sendPacket(packet, packetsendlistener); - } else { -- this.queue.add(new Connection.PacketHolder(packet, callback)); +- this.queue.add(new Connection.PacketHolder(packet, packetsendlistener)); + return; } + // write the packets to the queue, then flush - antixray hooks there already @@ -143,8 +143,8 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 + // Paper end } - private void sendPacket(Packet packet, @Nullable GenericFutureListener> callback) { -@@ -238,33 +313,79 @@ public class Connection extends SimpleChannelInboundHandler> { + private void sendPacket(Packet packet, @Nullable PacketSendListener packetsendlistener) { +@@ -234,6 +309,15 @@ public class Connection extends SimpleChannelInboundHandler> { this.setProtocol(packetState); } @@ -159,8 +159,10 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 + // Paper end ChannelFuture channelfuture = this.channel.writeAndFlush(packet); - if (callback != null) { - channelfuture.addListener(callback); + if (packetsendlistener != null) { +@@ -252,28 +336,65 @@ public class Connection extends SimpleChannelInboundHandler> { + + }); } + // Paper start + if (packet.hasFinishListener()) { @@ -233,7 +235,7 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 public void tick() { this.flushQueue(); -@@ -301,9 +422,22 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -310,9 +431,22 @@ public class Connection extends SimpleChannelInboundHandler> { return this.address; } @@ -256,7 +258,7 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 // Spigot End if (this.channel.isOpen()) { this.channel.close(); // We can't wait as this may be called from an event loop. -@@ -421,7 +555,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -430,7 +564,7 @@ public class Connection extends SimpleChannelInboundHandler> { public void handleDisconnection() { if (this.channel != null && !this.channel.isOpen()) { if (this.disconnectionHandled) { @@ -265,7 +267,7 @@ index 58e50b56b0e3f1388826c73c4616a1e24852bdbd..97166c362a5468e3f7e2fcfd5e318dc5 } else { this.disconnectionHandled = true; if (this.getDisconnectedReason() != null) { -@@ -429,7 +563,7 @@ public class Connection extends SimpleChannelInboundHandler> { +@@ -438,7 +572,7 @@ public class Connection extends SimpleChannelInboundHandler> { } else if (this.getPacketListener() != null) { this.getPacketListener().onDisconnect(Component.translatable("multiplayer.disconnect.generic")); } @@ -299,10 +301,10 @@ index 74bfe0d3942259c45702b099efdc4e101a4e3022..e8fcd56906d26f6dc87959e32c4c7c78 return false; } diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -index 5e1a6f2cd2d0d9c6b17c446fa782e4089cc138d5..78808e6239070121d36b6c377202d76e8fb3fa32 100644 +index 0e04532b8f1d48116eb46dcef7952bfcc0d11394..a24ef433d0c9d06b86fd612978cfd6d877036791 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java +++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -@@ -64,10 +64,12 @@ public class ServerConnectionListener { +@@ -65,10 +65,12 @@ public class ServerConnectionListener { final List connections = Collections.synchronizedList(Lists.newArrayList()); // Paper start - prevent blocking on adding a new network manager while the server is ticking private final java.util.Queue pending = new java.util.concurrent.ConcurrentLinkedQueue<>(); @@ -315,7 +317,7 @@ index 5e1a6f2cd2d0d9c6b17c446fa782e4089cc138d5..78808e6239070121d36b6c377202d76e } } // Paper end -@@ -102,6 +104,7 @@ public class ServerConnectionListener { +@@ -103,6 +105,7 @@ public class ServerConnectionListener { ; } diff --git a/patches/unapplied/server/0303-Handle-Oversized-Tile-Entities-in-chunks.patch b/patches/server/0303-Handle-Oversized-Tile-Entities-in-chunks.patch similarity index 100% rename from patches/unapplied/server/0303-Handle-Oversized-Tile-Entities-in-chunks.patch rename to patches/server/0303-Handle-Oversized-Tile-Entities-in-chunks.patch diff --git a/patches/unapplied/server/0304-Set-Zombie-last-tick-at-start-of-drowning-process.patch b/patches/server/0304-Set-Zombie-last-tick-at-start-of-drowning-process.patch similarity index 100% rename from patches/unapplied/server/0304-Set-Zombie-last-tick-at-start-of-drowning-process.patch rename to patches/server/0304-Set-Zombie-last-tick-at-start-of-drowning-process.patch diff --git a/patches/unapplied/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/patches/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch similarity index 82% rename from patches/unapplied/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch rename to patches/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch index 7455c723b..f475fb82c 100644 --- a/patches/unapplied/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch +++ b/patches/server/0305-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Call WhitelistToggleEvent when whitelist is toggled diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index fee344bc4457fb4cd21d2e7ed9845f0bd3ce84da..c2370cb1128b55dd9d40a72a01296f40e01630b9 100644 +index c3d797f0f57dfb065ba4ea594fbae734b1066318..bbce7c04a9ec77c82f76f86263766d33ceea1ede 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1127,6 +1127,7 @@ public abstract class PlayerList { +@@ -1131,6 +1131,7 @@ public abstract class PlayerList { } public void setUsingWhiteList(boolean whitelistEnabled) { diff --git a/patches/unapplied/server/0306-Entity-getEntitySpawnReason.patch b/patches/server/0306-Entity-getEntitySpawnReason.patch similarity index 92% rename from patches/unapplied/server/0306-Entity-getEntitySpawnReason.patch rename to patches/server/0306-Entity-getEntitySpawnReason.patch index a15a3f956..a18b6fd66 100644 --- a/patches/unapplied/server/0306-Entity-getEntitySpawnReason.patch +++ b/patches/server/0306-Entity-getEntitySpawnReason.patch @@ -10,10 +10,10 @@ persistenting Living Entity, SPAWNER for spawners, or DEFAULT since data was not stored. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index bde271171b035633ff263b6c60e85f2db5264879..65eaf93c135871b3898cd418bfe3aca8368e092e 100644 +index 293657617c32acfe70b0ab98939135e5ac6dae28..6ba45e1322b0d04433b2aac23413a9cd10c0b4c0 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1212,6 +1212,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1213,6 +1213,7 @@ public class ServerLevel extends Level implements WorldGenLevel { return true; } // Paper end @@ -22,10 +22,10 @@ index bde271171b035633ff263b6c60e85f2db5264879..65eaf93c135871b3898cd418bfe3aca8 // Paper start if (DEBUG_ENTITIES) { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index c2370cb1128b55dd9d40a72a01296f40e01630b9..7fc211e97da0f3e00abc9e0098df137bcfda3c80 100644 +index bbce7c04a9ec77c82f76f86263766d33ceea1ede..7fc546e38c68a173208d62a8d0944c915b6df44a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -346,7 +346,7 @@ public abstract class PlayerList { +@@ -350,7 +350,7 @@ public abstract class PlayerList { // CraftBukkit start ServerLevel finalWorldServer = worldserver1; Entity entity = EntityType.loadEntityRecursive(nbttagcompound1.getCompound("Entity"), finalWorldServer, (entity1) -> { @@ -35,7 +35,7 @@ index c2370cb1128b55dd9d40a72a01296f40e01630b9..7fc211e97da0f3e00abc9e0098df137b }); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2e275bf97258576edfbc96ea69c91905b8755b9c..1ac0e8996ece6bd7be521a9a45fb8c398838b94e 100644 +index f02b0afc1ef85622bc801f526e1ed476f9722c2e..5f613eac047703b6f1521fcd2d802e381d5f42d5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -74,6 +74,8 @@ import net.minecraft.world.InteractionHand; @@ -55,7 +55,7 @@ index 2e275bf97258576edfbc96ea69c91905b8755b9c..1ac0e8996ece6bd7be521a9a45fb8c39 public com.destroystokyo.paper.loottable.PaperLootableInventoryData lootableData; // Paper private CraftEntity bukkitEntity; -@@ -1962,6 +1965,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -1957,6 +1960,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } nbt.put("Paper.Origin", this.newDoubleList(origin.getX(), origin.getY(), origin.getZ())); } @@ -65,7 +65,7 @@ index 2e275bf97258576edfbc96ea69c91905b8755b9c..1ac0e8996ece6bd7be521a9a45fb8c39 // Save entity's from mob spawner status if (spawnedViaMobSpawner) { nbt.putBoolean("Paper.FromMobSpawner", true); -@@ -2105,6 +2111,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { +@@ -2102,6 +2108,26 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { } spawnedViaMobSpawner = nbt.getBoolean("Paper.FromMobSpawner"); // Restore entity's from mob spawner status diff --git a/patches/unapplied/server/0307-Update-entity-Metadata-for-all-tracked-players.patch b/patches/server/0307-Update-entity-Metadata-for-all-tracked-players.patch similarity index 92% rename from patches/unapplied/server/0307-Update-entity-Metadata-for-all-tracked-players.patch rename to patches/server/0307-Update-entity-Metadata-for-all-tracked-players.patch index f4efc9420..2a0cbd487 100644 --- a/patches/unapplied/server/0307-Update-entity-Metadata-for-all-tracked-players.patch +++ b/patches/server/0307-Update-entity-Metadata-for-all-tracked-players.patch @@ -22,10 +22,10 @@ index d6f34adbdf45bbef4a39e629dd7cb6d7fcb5db0f..7881176a900daa3306c691454f688c1f this.broadcast.accept(packet); if (this.entity instanceof ServerPlayer) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2a3840963f673e99abe36fa967155231820ff3a9..8d41fea3d6c8a958be27dec17df8c85af49a5edd 100644 +index fdc13ca3d48cf20d8b15f42fc19f1375947f0c90..c3a2c3acaacff9a2570a54cab5239b888946728f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2501,7 +2501,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2704,7 +2704,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem) { // Refresh the current entity metadata diff --git a/patches/unapplied/server/0308-Fire-event-on-GS4-query.patch b/patches/server/0308-Fire-event-on-GS4-query.patch similarity index 97% rename from patches/unapplied/server/0308-Fire-event-on-GS4-query.patch rename to patches/server/0308-Fire-event-on-GS4-query.patch index 2365b652c..445725e8b 100644 --- a/patches/unapplied/server/0308-Fire-event-on-GS4-query.patch +++ b/patches/server/0308-Fire-event-on-GS4-query.patch @@ -26,10 +26,10 @@ index 51cb2644aa516a59e19fecb308d519dbc7e5fb11..e548aa0ca4e1e94ab628614b44fc1156 this.dataOutputStream.write(value); } diff --git a/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java b/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java -index cf3071d0b1f818995583e58d64194e4ceb927959..29e2bc3fa3091df3c2fa908a2632c3b592c4a872 100644 +index 88917d7a179739fc13c59831b15e7ddc711bed1b..1ef089dbf83de35d875c00efdf468c397be56978 100644 --- a/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java +++ b/src/main/java/net/minecraft/server/rcon/thread/QueryThreadGs4.java -@@ -105,13 +105,32 @@ public class QueryThreadGs4 extends GenericThread { +@@ -106,13 +106,32 @@ public class QueryThreadGs4 extends GenericThread { NetworkDataOutputStream networkDataOutputStream = new NetworkDataOutputStream(1460); networkDataOutputStream.write(0); networkDataOutputStream.writeBytes(this.getIdentBytes(packet.getSocketAddress())); @@ -68,7 +68,7 @@ index cf3071d0b1f818995583e58d64194e4ceb927959..29e2bc3fa3091df3c2fa908a2632c3b5 this.sendTo(networkDataOutputStream.toByteArray(), packet); LOGGER.debug("Status [{}]", (Object)socketAddress); } -@@ -146,31 +165,75 @@ public class QueryThreadGs4 extends GenericThread { +@@ -147,31 +166,75 @@ public class QueryThreadGs4 extends GenericThread { this.rulesResponse.writeString("splitnum"); this.rulesResponse.write(128); this.rulesResponse.write(0); diff --git a/patches/unapplied/server/0309-Implement-PlayerPostRespawnEvent.patch b/patches/server/0309-Implement-PlayerPostRespawnEvent.patch similarity index 86% rename from patches/unapplied/server/0309-Implement-PlayerPostRespawnEvent.patch rename to patches/server/0309-Implement-PlayerPostRespawnEvent.patch index 623ee5e32..a86d0197c 100644 --- a/patches/unapplied/server/0309-Implement-PlayerPostRespawnEvent.patch +++ b/patches/server/0309-Implement-PlayerPostRespawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement PlayerPostRespawnEvent diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 7fc211e97da0f3e00abc9e0098df137bcfda3c80..eeb014dfd4376090eb95bbf372a6b2c1f660593c 100644 +index 7fc546e38c68a173208d62a8d0944c915b6df44a..3d16541cc8e2d9db49fc95a0b640bdbbda8d56e2 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -726,9 +726,14 @@ public abstract class PlayerList { +@@ -730,9 +730,14 @@ public abstract class PlayerList { boolean flag2 = false; @@ -24,7 +24,7 @@ index 7fc211e97da0f3e00abc9e0098df137bcfda3c80..eeb014dfd4376090eb95bbf372a6b2c1 ServerLevel worldserver1 = this.server.getLevel(entityplayer.getRespawnDimension()); if (worldserver1 != null) { Optional optional; -@@ -780,6 +785,7 @@ public abstract class PlayerList { +@@ -784,6 +789,7 @@ public abstract class PlayerList { location = respawnEvent.getRespawnLocation(); if (!flag) entityplayer.reset(); // SPIGOT-4785 @@ -32,7 +32,7 @@ index 7fc211e97da0f3e00abc9e0098df137bcfda3c80..eeb014dfd4376090eb95bbf372a6b2c1 } else { location.setWorld(worldserver.getWorld()); } -@@ -837,6 +843,13 @@ public abstract class PlayerList { +@@ -841,6 +847,13 @@ public abstract class PlayerList { if (entityplayer.connection.isDisconnected()) { this.save(entityplayer); } diff --git a/patches/unapplied/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/patches/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch similarity index 86% rename from patches/unapplied/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch rename to patches/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch index beb023479..94aa72db1 100644 --- a/patches/unapplied/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch +++ b/patches/server/0310-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch @@ -6,10 +6,10 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items vanilla checks for == 0 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 a0b27bdeabcabd0bd07b1b495105f9b6af998092..23506fd3a98c240606a00e29624012ae3bbab21a 100644 +index 6ecab1dd5932c4c346cde987cb9463b00a32d385..95dc82a0a9bd8a3fa9c704696e7b3dc48bf4d6a0 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -116,6 +116,7 @@ public class ItemEntity extends Entity { +@@ -114,6 +114,7 @@ public class ItemEntity extends Entity { // CraftBukkit start - Use wall time for pickup and despawn timers int elapsedTicks = MinecraftServer.currentTick - this.lastTick; if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks; @@ -17,7 +17,7 @@ index a0b27bdeabcabd0bd07b1b495105f9b6af998092..23506fd3a98c240606a00e29624012ae if (this.age != -32768) this.age += elapsedTicks; this.lastTick = MinecraftServer.currentTick; // CraftBukkit end -@@ -202,6 +203,7 @@ public class ItemEntity extends Entity { +@@ -200,6 +201,7 @@ public class ItemEntity extends Entity { // CraftBukkit start - Use wall time for pickup and despawn timers int elapsedTicks = MinecraftServer.currentTick - this.lastTick; if (this.pickupDelay != 32767) this.pickupDelay -= elapsedTicks; diff --git a/patches/unapplied/server/0311-Server-Tick-Events.patch b/patches/server/0311-Server-Tick-Events.patch similarity index 93% rename from patches/unapplied/server/0311-Server-Tick-Events.patch rename to patches/server/0311-Server-Tick-Events.patch index bacdb3b55..82c99a607 100644 --- a/patches/unapplied/server/0311-Server-Tick-Events.patch +++ b/patches/server/0311-Server-Tick-Events.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Server Tick Events Fires event at start and end of a server tick diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 729339b2e090419869d53a5df69547eb84e4d4bc..d9216fb4d67cd26758548e4f00967a9fe8602061 100644 +index 1a76a4239213c7b8dc40e656164427c1c4f7c2cf..cadf93de666d9db4b08710e36d4420de312c9e2e 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1307,6 +1307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop void filterTextPacket(T text, Consumer consumer, BiFunction> backingFilterer) { + private CompletableFuture filterTextPacket(T text, BiFunction> bifunction) { diff --git a/patches/unapplied/server/0317-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/patches/server/0317-Fix-sounds-when-item-frames-are-modified-MC-123450.patch similarity index 100% rename from patches/unapplied/server/0317-Fix-sounds-when-item-frames-are-modified-MC-123450.patch rename to patches/server/0317-Fix-sounds-when-item-frames-are-modified-MC-123450.patch diff --git a/patches/unapplied/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch b/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch similarity index 95% rename from patches/unapplied/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch rename to patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch index 1e1aed8eb..6f4114359 100644 --- a/patches/unapplied/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch +++ b/patches/server/0318-Fix-CraftServer-isPrimaryThread-and-MinecraftServer-.patch @@ -16,7 +16,7 @@ handling that should have been handled synchronously will be handled synchronously when the server gets shut down. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index d9216fb4d67cd26758548e4f00967a9fe8602061..86a87ebf18b7f4dd08d85b6bbbc6962d1176a933 100644 +index cadf93de666d9db4b08710e36d4420de312c9e2e..4a1a3fd8a6f5b9008cfdad6cb1b20393f8a20530 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2310,7 +2310,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> readChunk(ChunkPos chunkPos) { @@ -28,7 +28,7 @@ index b289d6c166625947fb2abb4159bbec651a1067f3..b6407f47e1be630f93ad185d56304f0e } // CraftBukkit start -@@ -1260,6 +1264,63 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1261,6 +1265,63 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider // CraftBukkit end } diff --git a/patches/unapplied/server/0326-Show-blockstate-location-if-we-failed-to-read-it.patch b/patches/server/0326-Show-blockstate-location-if-we-failed-to-read-it.patch similarity index 100% rename from patches/unapplied/server/0326-Show-blockstate-location-if-we-failed-to-read-it.patch rename to patches/server/0326-Show-blockstate-location-if-we-failed-to-read-it.patch diff --git a/patches/unapplied/server/0327-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/patches/server/0327-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch similarity index 100% rename from patches/unapplied/server/0327-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch rename to patches/server/0327-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch diff --git a/patches/unapplied/server/0328-Configurable-projectile-relative-velocity.patch b/patches/server/0328-Configurable-projectile-relative-velocity.patch similarity index 100% rename from patches/unapplied/server/0328-Configurable-projectile-relative-velocity.patch rename to patches/server/0328-Configurable-projectile-relative-velocity.patch diff --git a/patches/unapplied/server/0329-offset-item-frame-ticking.patch b/patches/server/0329-offset-item-frame-ticking.patch similarity index 100% rename from patches/unapplied/server/0329-offset-item-frame-ticking.patch rename to patches/server/0329-offset-item-frame-ticking.patch diff --git a/patches/unapplied/server/0330-Fix-MC-158900.patch b/patches/server/0330-Fix-MC-158900.patch similarity index 90% rename from patches/unapplied/server/0330-Fix-MC-158900.patch rename to patches/server/0330-Fix-MC-158900.patch index 1491c9e33..21fda3256 100644 --- a/patches/unapplied/server/0330-Fix-MC-158900.patch +++ b/patches/server/0330-Fix-MC-158900.patch @@ -7,10 +7,10 @@ The problem was we were checking isExpired() on the entry, but if it was expired at that point, then it would be null. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index eeb014dfd4376090eb95bbf372a6b2c1f660593c..f14d4bfd5ac03eeffefcf98e1077d915fd3fa2cb 100644 +index 3d16541cc8e2d9db49fc95a0b640bdbbda8d56e2..be1bdcc99b3f2cc1103bce4ecdc5077bec6a1e85 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -610,8 +610,10 @@ public abstract class PlayerList { +@@ -614,8 +614,10 @@ public abstract class PlayerList { Player player = entity.getBukkitEntity(); PlayerLoginEvent event = new PlayerLoginEvent(player, hostname, ((java.net.InetSocketAddress) socketaddress).getAddress(), ((java.net.InetSocketAddress) loginlistener.connection.getRawAddress()).getAddress()); diff --git a/patches/unapplied/server/0331-Prevent-consuming-the-wrong-itemstack.patch b/patches/server/0331-Prevent-consuming-the-wrong-itemstack.patch similarity index 87% rename from patches/unapplied/server/0331-Prevent-consuming-the-wrong-itemstack.patch rename to patches/server/0331-Prevent-consuming-the-wrong-itemstack.patch index 1e411abeb..78e9ce8ae 100644 --- a/patches/unapplied/server/0331-Prevent-consuming-the-wrong-itemstack.patch +++ b/patches/server/0331-Prevent-consuming-the-wrong-itemstack.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Prevent consuming the wrong itemstack diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 4a51a12cf57e4cbf10d9a7fd03c319573422c858..90f6fcb6c0a53133ecf7d9adbd5e526e29be3fa2 100644 +index 3aebd9999b1e0dba3405117a8223c99b35c7db12..590b8af46f8e060aa568dde50025b4f4c6bb162e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -3596,9 +3596,14 @@ public abstract class LivingEntity extends Entity { +@@ -3599,9 +3599,14 @@ public abstract class LivingEntity extends Entity { } public void startUsingItem(InteractionHand hand) { @@ -24,7 +24,7 @@ index 4a51a12cf57e4cbf10d9a7fd03c319573422c858..90f6fcb6c0a53133ecf7d9adbd5e526e this.useItem = itemstack; this.useItemRemaining = itemstack.getUseDuration(); if (!this.level.isClientSide) { -@@ -3678,6 +3683,7 @@ public abstract class LivingEntity extends Entity { +@@ -3681,6 +3686,7 @@ public abstract class LivingEntity extends Entity { this.releaseUsingItem(); } else { if (!this.useItem.isEmpty() && this.isUsingItem()) { @@ -32,7 +32,7 @@ index 4a51a12cf57e4cbf10d9a7fd03c319573422c858..90f6fcb6c0a53133ecf7d9adbd5e526e this.triggerItemUseEffects(this.useItem, 16); // CraftBukkit start - fire PlayerItemConsumeEvent ItemStack itemstack; -@@ -3712,8 +3718,8 @@ public abstract class LivingEntity extends Entity { +@@ -3715,8 +3721,8 @@ public abstract class LivingEntity extends Entity { } this.stopUsingItem(); diff --git a/patches/unapplied/server/0332-Dont-send-unnecessary-sign-update.patch b/patches/server/0332-Dont-send-unnecessary-sign-update.patch similarity index 84% rename from patches/unapplied/server/0332-Dont-send-unnecessary-sign-update.patch rename to patches/server/0332-Dont-send-unnecessary-sign-update.patch index fe9a06331..a664cb65d 100644 --- a/patches/unapplied/server/0332-Dont-send-unnecessary-sign-update.patch +++ b/patches/server/0332-Dont-send-unnecessary-sign-update.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont send unnecessary sign update diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 1383f99a96db680c8c6d1767eda36ea672bf7180..6f13ce05d8b818e501a286a9fe3f9c0aad85af0d 100644 +index b3a23434a5111d6ad393a7b3c0da67cb48dbaad9..e1c413ef1db2c8e3aa2303351ef97aa8deb3da11 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3092,6 +3092,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3308,6 +3308,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic if (!tileentitysign.isEditable() || !this.player.getUUID().equals(tileentitysign.getPlayerWhoMayEdit())) { ServerGamePacketListenerImpl.LOGGER.warn("Player {} just tried to change non-editable sign", this.player.getName().getString()); diff --git a/patches/unapplied/server/0333-Add-option-to-disable-pillager-patrols.patch b/patches/server/0333-Add-option-to-disable-pillager-patrols.patch similarity index 100% rename from patches/unapplied/server/0333-Add-option-to-disable-pillager-patrols.patch rename to patches/server/0333-Add-option-to-disable-pillager-patrols.patch diff --git a/patches/unapplied/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch b/patches/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch similarity index 85% rename from patches/unapplied/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch rename to patches/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch index 5db678a6f..21fc7d965 100644 --- a/patches/unapplied/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch +++ b/patches/server/0334-Fix-AssertionError-when-player-hand-set-to-empty-typ.patch @@ -7,10 +7,10 @@ Fixes an AssertionError when setting the player's item in hand to null or a new Fixes GH-2718 diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6f13ce05d8b818e501a286a9fe3f9c0aad85af0d..7b78a7f5e4257f929fd870913e27b6090fa882ce 100644 +index e1c413ef1db2c8e3aa2303351ef97aa8deb3da11..97dc7785b50873ee132825bced24cdf2d8217a60 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1791,6 +1791,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1857,6 +1857,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.player.getBukkitEntity().updateInventory(); // SPIGOT-2524 return; } diff --git a/patches/unapplied/server/0335-Flat-bedrock-generator-settings.patch b/patches/server/0335-Flat-bedrock-generator-settings.patch similarity index 99% rename from patches/unapplied/server/0335-Flat-bedrock-generator-settings.patch rename to patches/server/0335-Flat-bedrock-generator-settings.patch index 2b9f7e9a1..43ca0facd 100644 --- a/patches/unapplied/server/0335-Flat-bedrock-generator-settings.patch +++ b/patches/server/0335-Flat-bedrock-generator-settings.patch @@ -112,7 +112,7 @@ index c5822637e48fad4ca4e8cf210431b5eafbf5abb1..0ece775ca7e63184f79fcdd1aa7ed5c1 Bootstrap.wrapStreams(); } diff --git a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java -index 49f88abe2b9833c324d2b93f7ed3094fb5739e07..df1db87d2dd5076fccea6a1ac9271a9d786729bb 100644 +index e66e52da84408eb705d23504e500bd8a98322b0e..575efe82a7219e256afd8362984eb26795445119 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/levelgen/NoiseBasedChunkGenerator.java @@ -210,7 +210,7 @@ public final class NoiseBasedChunkGenerator extends ChunkGenerator { diff --git a/patches/unapplied/server/0336-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch b/patches/server/0336-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch similarity index 100% rename from patches/unapplied/server/0336-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch rename to patches/server/0336-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch diff --git a/patches/unapplied/server/0337-MC-145656-Fix-Follow-Range-Initial-Target.patch b/patches/server/0337-MC-145656-Fix-Follow-Range-Initial-Target.patch similarity index 100% rename from patches/unapplied/server/0337-MC-145656-Fix-Follow-Range-Initial-Target.patch rename to patches/server/0337-MC-145656-Fix-Follow-Range-Initial-Target.patch diff --git a/patches/unapplied/server/0338-Duplicate-UUID-Resolve-Option.patch b/patches/server/0338-Duplicate-UUID-Resolve-Option.patch similarity index 88% rename from patches/unapplied/server/0338-Duplicate-UUID-Resolve-Option.patch rename to patches/server/0338-Duplicate-UUID-Resolve-Option.patch index dc4592003..56ab60e5d 100644 --- a/patches/unapplied/server/0338-Duplicate-UUID-Resolve-Option.patch +++ b/patches/server/0338-Duplicate-UUID-Resolve-Option.patch @@ -33,28 +33,10 @@ But for those who are ok with leaving this inconsistent behavior, you may use WA It is recommended you regenerate the entities, as these were legit entities, and deserve your love. diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index b6407f47e1be630f93ad185d56304f0ecbada6eb..375f66bf1617e255b3465b736076a65e080eb36e 100644 +index 33483dc272dbdee74767934f4b379a675162b7d1..eae2472f6dfd166cb457953ab396f85ca8c3f0f9 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -32,13 +32,17 @@ import java.io.Writer; - import java.nio.file.Path; - import java.util.ArrayList; - import java.util.BitSet; -+import java.util.HashMap; // Paper -+import java.util.Collection; - import java.util.Iterator; - import java.util.List; -+import java.util.Map; // Paper - import java.util.Objects; - import java.util.Optional; - import java.util.Queue; - import java.util.Set; - import java.util.concurrent.CancellationException; -+import java.util.UUID; // Paper - import java.util.concurrent.CompletableFuture; - import java.util.concurrent.CompletionException; - import java.util.concurrent.CompletionStage; -@@ -877,6 +881,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -878,6 +878,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider entity.discard(); needsRemoval = true; } @@ -62,7 +44,7 @@ index b6407f47e1be630f93ad185d56304f0ecbada6eb..375f66bf1617e255b3465b736076a65e return !needsRemoval; })); // CraftBukkit end -@@ -927,6 +932,43 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -928,6 +929,43 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }); } @@ -87,7 +69,7 @@ index b6407f47e1be630f93ad185d56304f0ecbada6eb..375f66bf1617e255b3465b736076a65e + if (other != null && !other.isRemoved()) { + switch (mode) { + case SAFE_REGEN: { -+ entity.setUUID(UUID.randomUUID()); ++ entity.setUUID(java.util.UUID.randomUUID()); + if (ServerLevel.DEBUG_ENTITIES) LOGGER.warn("[DUPE-UUID] Duplicate UUID found used by " + other + ", regenerated UUID for " + entity + ". See https://github.com/PaperMC/Paper/issues/1223 for discussion on what this is about."); + break; + } diff --git a/patches/unapplied/server/0339-Optimize-Hoppers.patch b/patches/server/0339-Optimize-Hoppers.patch similarity index 99% rename from patches/unapplied/server/0339-Optimize-Hoppers.patch rename to patches/server/0339-Optimize-Hoppers.patch index d671e8ff7..d491d945c 100644 --- a/patches/unapplied/server/0339-Optimize-Hoppers.patch +++ b/patches/server/0339-Optimize-Hoppers.patch @@ -13,7 +13,7 @@ Subject: [PATCH] Optimize Hoppers * Remove Streams from Item Suck In and restore restore 1.12 AABB checks which is simpler and no voxel allocations (was doing TWO Item Suck ins) diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c7d06aa55f5cc569890c50acc6c4e6fd9d44fbec..a4bfec79fa93b45084adbf502d5900bc420300ab 100644 +index c774a2e9b55ccb124e923102496af322a9fc1962..8be6de893f1df78afc0e2c023e548a50ff7c2629 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1410,6 +1410,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return worldserver + " " + worldserver.dimension().location(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index cc908aeba2edd49a1282e84a28f68801581af77d..5d7e07a9612dc8e62b5843b3c805f6423d5304f2 100644 +index 4b41d2dd00c1b206c1419ba767a3474947664e53..5e0852c4656813272a7ee6cb9c2331410c1b7739 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -625,11 +625,12 @@ public final class ItemStack { diff --git a/patches/unapplied/server/0340-PlayerDeathEvent-shouldDropExperience.patch b/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch similarity index 85% rename from patches/unapplied/server/0340-PlayerDeathEvent-shouldDropExperience.patch rename to patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch index 29b3f5b03..e8093541d 100644 --- a/patches/unapplied/server/0340-PlayerDeathEvent-shouldDropExperience.patch +++ b/patches/server/0340-PlayerDeathEvent-shouldDropExperience.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerDeathEvent#shouldDropExperience diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index aafe0fb730235be7c77b5539fbafbe8babba462c..3ba550d0de4b88379331cf56fe114f7c7e0ea558 100644 +index 78603883ca3246fa411b37fb84497dbb08d9adf0..628ef18b5043504f206c6b60b7805892870e5736 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -897,7 +897,7 @@ public class ServerPlayer extends Player { +@@ -895,7 +895,7 @@ public class ServerPlayer extends Player { this.tellNeutralMobsThatIDied(); } // SPIGOT-5478 must be called manually now diff --git a/patches/unapplied/server/0341-Prevent-bees-loading-chunks-checking-hive-position.patch b/patches/server/0341-Prevent-bees-loading-chunks-checking-hive-position.patch similarity index 100% rename from patches/unapplied/server/0341-Prevent-bees-loading-chunks-checking-hive-position.patch rename to patches/server/0341-Prevent-bees-loading-chunks-checking-hive-position.patch diff --git a/patches/unapplied/server/0342-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/patches/server/0342-Don-t-load-Chunks-from-Hoppers-and-other-things.patch similarity index 100% rename from patches/unapplied/server/0342-Don-t-load-Chunks-from-Hoppers-and-other-things.patch rename to patches/server/0342-Don-t-load-Chunks-from-Hoppers-and-other-things.patch