From d4e6ee3d12d9230429f21b7210048ffb937d3736 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 7 Dec 2022 19:52:24 +0100 Subject: [PATCH] Moar, fix API --- ...dd-extended-PaperServerListPingEvent.patch | 8 ++++---- ...-get-a-BlockState-without-a-snapshot.patch | 0 .../Ability-to-apply-mending-to-XP-API.patch | 0 ...e-PlayerProfile-in-AsyncPreLoginEven.patch | 2 +- ...to-control-if-armour-stands-can-move.patch | 0 .../server/Add-ArmorStand-Item-Meta.patch | 0 ...ftMagicNumbers.isSupportedApiVersion.patch | 0 .../server/Add-EntityZapEvent.patch | 20 +++++++++---------- .../server/Add-PlayerArmorChangeEvent.patch | 2 +- .../server/Add-PlayerJumpEvent.patch | 0 .../Add-PlayerUseUnknownEntityEvent.patch | 0 .../server/Add-ProjectileCollideEvent.patch | 0 .../server/Add-UnknownCommandEvent.patch | 0 .../server/Add-World-Util-Methods.patch | 0 ...-to-configure-frosted_ice-properties.patch | 0 ...to-disable-ender-dragon-legacy-check.patch | 0 ...n-option-to-prevent-player-names-fro.patch | 0 ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../Add-openSign-method-to-HumanEntity.patch | 4 ++-- ...ke-parrots-stay-on-shoulders-despite.patch | 0 .../server/Add-server-name-parameter.patch | 0 .../Add-setPlayerProfile-API-for-Skulls.patch | 0 ...setting-for-proxy-online-mode-status.patch | 0 .../Add-source-to-PlayerExpChangeEvent.patch | 0 .../Allow-Reloading-of-Command-Aliases.patch | 0 ...Allow-disabling-armour-stand-ticking.patch | 0 ...Item-entities-with-World.spawnEntity.patch | 0 ...-a-custom-authentication-servers-dow.patch | 2 +- .../Async-GameProfileCache-saving.patch | 0 .../server/AsyncTabCompleteEvent.patch | 14 +++++++------ ...blocking-on-Network-Manager-creation.patch | 0 .../server/Basic-PlayerProfile-API.patch | 0 .../Block-Enderpearl-Travel-Exploit.patch | 0 ...player-logins-during-server-shutdown.patch | 2 +- .../Bound-Treasure-Maps-to-World-Border.patch | 0 .../Cache-user-authenticator-threads.patch | 12 +++++------ ...ServerListPingEvent-for-legacy-pings.patch | 4 ++-- .../server/Cap-Entity-Collisions.patch | 10 +++++----- ...le-Alternative-LootPool-Luck-Formula.patch | 0 ...figurable-Cartographer-Treasure-Maps.patch | 0 .../Configurable-Chunk-Inhabited-Time.patch | 2 +- .../Configurable-Grass-Spread-Tick-Rate.patch | 0 ...urable-Non-Player-Arrow-Despawn-Rate.patch | 0 .../Configurable-Player-Collision.patch | 2 +- .../server/Configurable-RCON-IP-address.patch | 6 +++--- .../Configurable-flying-kick-messages.patch | 0 ...onfigurable-packet-in-spam-threshold.patch | 0 ...le-spawn-chances-for-skeleton-horses.patch | 0 ...urable-sprint-interruption-on-attack.patch | 0 .../Custom-replacement-for-eaten-items.patch | 0 ...le-Explicit-Network-Manager-Flushing.patch | 0 .../server/Do-not-let-armorstands-drown.patch | 0 .../Do-not-load-chunks-for-Pathfinding.patch | 0 ...-profile-lookups-to-worldgen-threads.patch | 0 ...llow-entities-to-ride-themselves-572.patch | 0 ...on-t-call-getItemMeta-on-hasItemMeta.patch | 0 ...e-profiles-that-have-no-UUID-and-no-.patch | 0 ...y-scoreboard-teams-to-scoreboard.dat.patch | 0 .../server/EnderDragon-Events.patch | 0 .../server/Enderman.teleportRandomly.patch | 0 .../server/EndermanAttackPlayerEvent.patch | 0 .../server/EndermanEscapeEvent.patch | 0 .../server/Enforce-Sync-Player-Saves.patch | 0 ...Entity-AddTo-RemoveFrom-World-Events.patch | 0 .../server/Entity-fromMobSpawner.patch | 0 .../server/EntityPathfindEvent.patch | 0 ...ityRegainHealthEvent-isFastRegen-API.patch | 0 .../server/Expand-Explosions-API.patch | 2 +- ...ld.spawnParticle-API-and-add-Builder.patch | 0 ...PI-for-Reason-Source-Triggering-play.patch | 4 ++-- ...nt-protocol-version-and-virtual-host.patch | 0 .../Extend-Player-Interact-cancellation.patch | 0 ...r-redstone-torch-rapid-clock-removal.patch | 0 .../server/Fill-Profile-Property-Events.patch | 0 ...a-from-ArmorStand-and-SpawnEgg-items.patch | 2 +- .../server/Firework-API-s.patch | 2 +- ...g-BlockPlaceEvent-triggering-physics.patch | 0 .../server/Fix-CraftEntity-hashCode.patch | 0 .../Fix-MC-117075-TE-Unload-Lag-Spike.patch | 0 .../server/Fix-Old-Sign-Conversion.patch | 0 ...-allowed-colored-signs-to-be-created.patch | 0 .../server/Fix-this-stupid-bullshit.patch | 4 ++-- .../Flag-to-disable-the-channel-limit.patch | 0 ...n-prefixes-using-Log4J-configuration.patch | 2 +- ...plement-EntityKnockbackByEntityEvent.patch | 14 ++++++------- ...lement-EntityTeleportEndGatewayEvent.patch | 0 .../Implement-Expanded-ArmorStand-API.patch | 0 .../Implement-World.getEntity-UUID-API.patch | 0 ...mplement-ensureServerConversions-API.patch | 0 ...nt-extended-PaperServerListPingEvent.patch | 2 +- .../server/Implement-getI18NDisplayName.patch | 0 .../Improve-BlockPosition-inlining.patch | 0 .../server/Improve-EntityShootBowEvent.patch | 0 ...e-Log4J-Configuration-Plugin-Loggers.patch | 0 ...item-frames-performance-and-bug-fixe.patch | 0 .../Improve-the-Saddle-API-for-Horses.patch | 0 .../Improved-Async-Task-Scheduler.patch | 0 .../InventoryCloseEvent-Reason-API.patch | 0 .../server/Item-canEntityPickup.patch | 0 .../ItemStack-getMaxItemUseDuration.patch | 0 ...ivingEntity-Hand-Raised-Item-Use-API.patch | 0 .../server/LivingEntity-setKiller.patch | 0 ...-API-Replenishable-Lootables-Feature.patch | 0 ...ke-legacy-ping-handler-more-reliable.patch | 0 ...e-shield-blocking-delay-configurable.patch | 0 ...awns-should-honor-nametags-and-leash.patch | 0 ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 0 ...-sounds-to-same-world-if-limiting-ra.patch | 0 ...ptimise-BlockState-s-hashCode-equals.patch | 0 .../server/Optimize-DataBits.patch | 0 .../server/Optimize-ItemStack.isEmpty.patch | 2 +- ...imize-World.isLoaded-BlockPosition-Z.patch | 0 ...ldBounds-and-getBlockState-for-inlin.patch | 2 +- ...t-armor-stands-from-doing-entity-loo.patch | 0 ...nilla-per-world-scoreboard-coloring-.patch | 0 .../Optional-TNT-doesn-t-move-in-water.patch | 8 ++++---- .../server/Player.setPlayerProfile-API.patch | 4 ++-- ...PlayerAdvancementCriterionGrantEvent.patch | 0 .../server/PlayerAttemptPickupItemEvent.patch | 0 .../server/PlayerElytraBoostEvent.patch | 0 .../server/PlayerLaunchProjectileEvent.patch | 10 +--------- .../PlayerNaturallySpawnCreaturesEvent.patch | 8 ++++---- .../server/PlayerPickupExperienceEvent.patch | 0 ...PlayerPickupItemEvent-setFlyAtPlayer.patch | 0 .../server/PlayerReadyArrowEvent.patch | 0 .../PlayerTeleportEndGatewayEvent.patch | 0 .../server/PreCreatureSpawnEvent.patch | 10 +++++----- ...sted-Ice-from-loading-holding-chunks.patch | 0 ...vent-Pathfinding-out-of-World-Border.patch | 0 ...rom-being-processed-when-the-player-.patch | 2 +- ...ils-when-failing-to-save-player-data.patch | 0 .../server/Profile-Lookup-Events.patch | 0 .../server/ProfileWhitelistVerifyEvent.patch | 0 .../Properly-fix-item-duplication-bug.patch | 0 ...le-async-calls-to-restart-the-server.patch | 8 ++++---- ...rovide-E-TE-Chunk-count-stat-methods.patch | 0 .../server/RangedEntity-API.patch | 0 ...nventory-when-cancelling-PlayerInter.patch | 10 +++++----- ...e-CraftScheduler-Async-Task-Debugger.patch | 0 ...imer-when-spawner-event-is-cancelled.patch | 0 ...egionFileCache-and-make-configurable.patch | 0 ...dEffects-only-to-players-who-can-see.patch | 0 .../Shoulder-Entities-Release-API.patch | 0 .../server/SkeletonHorse-Additions.patch | 0 .../server/String-based-Action-Bar-API.patch | 0 ...tem-property-for-disabling-watchdoge.patch | 0 .../Tameable-getOwnerUniqueId-API.patch | 0 ...r-crits-helps-mitigate-hacked-client.patch | 0 ...ed-flag-on-cancel-of-Explosion-Event.patch | 0 ...r-to-keep-logging-IO-off-main-thread.patch | 0 ...oleAppender-for-console-improvements.patch | 14 ++++++------- .../Use-a-Shared-Random-for-Entities.patch | 0 .../Vanished-players-don-t-have-rights.patch | 17 +++------------- .../server/Vex-get-setSummoner-API.patch | 0 .../server/WitchConsumePotionEvent.patch | 0 .../server/WitchReadyPotionEvent.patch | 0 .../server/WitchThrowPotionEvent.patch | 0 ...-more-information-to-Entity.toString.patch | 0 .../server/getPlayerUniqueId-API.patch | 0 ...th-absorb-values-and-repair-bad-data.patch | 0 ...dle-ServerboundKeepAlivePacket-async.patch | 0 ...urable-option-to-disable-creeper-lin.patch | 0 ...-possibility-for-getServer-singleton.patch | 2 +- ...rt-serverside-behavior-of-keepalives.patch | 4 ++-- ...e-implementations-for-captured-block.patch | 0 165 files changed, 103 insertions(+), 120 deletions(-) rename patches/{unapplied => }/server/API-to-get-a-BlockState-without-a-snapshot.patch (100%) rename patches/{unapplied => }/server/Ability-to-apply-mending-to-XP-API.patch (100%) rename patches/{unapplied => }/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch (98%) rename patches/{unapplied => }/server/Add-API-methods-to-control-if-armour-stands-can-move.patch (100%) rename patches/{unapplied => }/server/Add-ArmorStand-Item-Meta.patch (100%) rename patches/{unapplied => }/server/Add-CraftMagicNumbers.isSupportedApiVersion.patch (100%) rename patches/{unapplied => }/server/Add-EntityZapEvent.patch (74%) rename patches/{unapplied => }/server/Add-PlayerArmorChangeEvent.patch (96%) rename patches/{unapplied => }/server/Add-PlayerJumpEvent.patch (100%) rename patches/{unapplied => }/server/Add-PlayerUseUnknownEntityEvent.patch (100%) rename patches/{unapplied => }/server/Add-ProjectileCollideEvent.patch (100%) rename patches/{unapplied => }/server/Add-UnknownCommandEvent.patch (100%) rename patches/{unapplied => }/server/Add-World-Util-Methods.patch (100%) rename patches/{unapplied => }/server/Add-ability-to-configure-frosted_ice-properties.patch (100%) rename patches/{unapplied => }/server/Add-config-to-disable-ender-dragon-legacy-check.patch (100%) rename patches/{unapplied => }/server/Add-configuration-option-to-prevent-player-names-fro.patch (100%) rename patches/{unapplied => }/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/{unapplied => }/server/Add-openSign-method-to-HumanEntity.patch (93%) rename patches/{unapplied => }/server/Add-option-to-make-parrots-stay-on-shoulders-despite.patch (100%) rename patches/{unapplied => }/server/Add-server-name-parameter.patch (100%) rename patches/{unapplied => }/server/Add-setPlayerProfile-API-for-Skulls.patch (100%) rename patches/{unapplied => }/server/Add-setting-for-proxy-online-mode-status.patch (100%) rename patches/{unapplied => }/server/Add-source-to-PlayerExpChangeEvent.patch (100%) rename patches/{unapplied => }/server/Allow-Reloading-of-Command-Aliases.patch (100%) rename patches/{unapplied => }/server/Allow-disabling-armour-stand-ticking.patch (100%) rename patches/{unapplied => }/server/Allow-spawning-Item-entities-with-World.spawnEntity.patch (100%) rename patches/{unapplied => }/server/Allow-specifying-a-custom-authentication-servers-dow.patch (97%) rename patches/{unapplied => }/server/Async-GameProfileCache-saving.patch (100%) rename patches/{unapplied => }/server/AsyncTabCompleteEvent.patch (99%) rename patches/{unapplied => }/server/Avoid-blocking-on-Network-Manager-creation.patch (100%) rename patches/{unapplied => }/server/Basic-PlayerProfile-API.patch (100%) rename patches/{unapplied => }/server/Block-Enderpearl-Travel-Exploit.patch (100%) rename patches/{unapplied => }/server/Block-player-logins-during-server-shutdown.patch (97%) rename patches/{unapplied => }/server/Bound-Treasure-Maps-to-World-Border.patch (100%) rename patches/{unapplied => }/server/Cache-user-authenticator-threads.patch (93%) rename patches/{unapplied => }/server/Call-PaperServerListPingEvent-for-legacy-pings.patch (96%) rename patches/{unapplied => }/server/Cap-Entity-Collisions.patch (91%) rename patches/{unapplied => }/server/Configurable-Alternative-LootPool-Luck-Formula.patch (100%) rename patches/{unapplied => }/server/Configurable-Cartographer-Treasure-Maps.patch (100%) rename patches/{unapplied => }/server/Configurable-Chunk-Inhabited-Time.patch (94%) rename patches/{unapplied => }/server/Configurable-Grass-Spread-Tick-Rate.patch (100%) rename patches/{unapplied => }/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch (100%) rename patches/{unapplied => }/server/Configurable-Player-Collision.patch (97%) rename patches/{unapplied => }/server/Configurable-RCON-IP-address.patch (85%) rename patches/{unapplied => }/server/Configurable-flying-kick-messages.patch (100%) rename patches/{unapplied => }/server/Configurable-packet-in-spam-threshold.patch (100%) rename patches/{unapplied => }/server/Configurable-spawn-chances-for-skeleton-horses.patch (100%) rename patches/{unapplied => }/server/Configurable-sprint-interruption-on-attack.patch (100%) rename patches/{unapplied => }/server/Custom-replacement-for-eaten-items.patch (100%) rename patches/{unapplied => }/server/Disable-Explicit-Network-Manager-Flushing.patch (100%) rename patches/{unapplied => }/server/Do-not-let-armorstands-drown.patch (100%) rename patches/{unapplied => }/server/Do-not-load-chunks-for-Pathfinding.patch (100%) rename patches/{unapplied => }/server/Do-not-submit-profile-lookups-to-worldgen-threads.patch (100%) rename patches/{unapplied => }/server/Don-t-allow-entities-to-ride-themselves-572.patch (100%) rename patches/{unapplied => }/server/Don-t-call-getItemMeta-on-hasItemMeta.patch (100%) rename patches/{unapplied => }/server/Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch (100%) rename patches/{unapplied => }/server/Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (100%) rename patches/{unapplied => }/server/EnderDragon-Events.patch (100%) rename patches/{unapplied => }/server/Enderman.teleportRandomly.patch (100%) rename patches/{unapplied => }/server/EndermanAttackPlayerEvent.patch (100%) rename patches/{unapplied => }/server/EndermanEscapeEvent.patch (100%) rename patches/{unapplied => }/server/Enforce-Sync-Player-Saves.patch (100%) rename patches/{unapplied => }/server/Entity-AddTo-RemoveFrom-World-Events.patch (100%) rename patches/{unapplied => }/server/Entity-fromMobSpawner.patch (100%) rename patches/{unapplied => }/server/EntityPathfindEvent.patch (100%) rename patches/{unapplied => }/server/EntityRegainHealthEvent-isFastRegen-API.patch (100%) rename patches/{unapplied => }/server/Expand-Explosions-API.patch (91%) rename patches/{unapplied => }/server/Expand-World.spawnParticle-API-and-add-Builder.patch (100%) rename patches/{unapplied => }/server/ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (99%) rename patches/{unapplied => }/server/Expose-client-protocol-version-and-virtual-host.patch (100%) rename patches/{unapplied => }/server/Extend-Player-Interact-cancellation.patch (100%) rename patches/{unapplied => }/server/Faster-redstone-torch-rapid-clock-removal.patch (100%) rename patches/{unapplied => }/server/Fill-Profile-Property-Events.patch (100%) rename patches/{unapplied => }/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch (92%) rename patches/{unapplied => }/server/Firework-API-s.patch (98%) rename patches/{unapplied => }/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (100%) rename patches/{unapplied => }/server/Fix-CraftEntity-hashCode.patch (100%) rename patches/{unapplied => }/server/Fix-MC-117075-TE-Unload-Lag-Spike.patch (100%) rename patches/{unapplied => }/server/Fix-Old-Sign-Conversion.patch (100%) rename patches/{unapplied => }/server/Fix-exploit-that-allowed-colored-signs-to-be-created.patch (100%) rename patches/{unapplied => }/server/Fix-this-stupid-bullshit.patch (95%) rename patches/{unapplied => }/server/Flag-to-disable-the-channel-limit.patch (100%) rename patches/{unapplied => }/server/Handle-plugin-prefixes-using-Log4J-configuration.patch (99%) rename patches/{unapplied => }/server/Implement-EntityKnockbackByEntityEvent.patch (93%) rename patches/{unapplied => }/server/Implement-EntityTeleportEndGatewayEvent.patch (100%) rename patches/{unapplied => }/server/Implement-Expanded-ArmorStand-API.patch (100%) rename patches/{unapplied => }/server/Implement-World.getEntity-UUID-API.patch (100%) rename patches/{unapplied => }/server/Implement-ensureServerConversions-API.patch (100%) rename patches/{unapplied => }/server/Implement-extended-PaperServerListPingEvent.patch (99%) rename patches/{unapplied => }/server/Implement-getI18NDisplayName.patch (100%) rename patches/{unapplied => }/server/Improve-BlockPosition-inlining.patch (100%) rename patches/{unapplied => }/server/Improve-EntityShootBowEvent.patch (100%) rename patches/{unapplied => }/server/Improve-Log4J-Configuration-Plugin-Loggers.patch (100%) rename patches/{unapplied => }/server/Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (100%) rename patches/{unapplied => }/server/Improve-the-Saddle-API-for-Horses.patch (100%) rename patches/{unapplied => }/server/Improved-Async-Task-Scheduler.patch (100%) rename patches/{unapplied => }/server/InventoryCloseEvent-Reason-API.patch (100%) rename patches/{unapplied => }/server/Item-canEntityPickup.patch (100%) rename patches/{unapplied => }/server/ItemStack-getMaxItemUseDuration.patch (100%) rename patches/{unapplied => }/server/LivingEntity-Hand-Raised-Item-Use-API.patch (100%) rename patches/{unapplied => }/server/LivingEntity-setKiller.patch (100%) rename patches/{unapplied => }/server/LootTable-API-Replenishable-Lootables-Feature.patch (100%) rename patches/{unapplied => }/server/Make-legacy-ping-handler-more-reliable.patch (100%) rename patches/{unapplied => }/server/Make-shield-blocking-delay-configurable.patch (100%) rename patches/{unapplied => }/server/Ocelot-despawns-should-honor-nametags-and-leash.patch (100%) rename patches/{unapplied => }/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (100%) rename patches/{unapplied => }/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch (100%) rename patches/{unapplied => }/server/Optimise-BlockState-s-hashCode-equals.patch (100%) rename patches/{unapplied => }/server/Optimize-DataBits.patch (100%) rename patches/{unapplied => }/server/Optimize-ItemStack.isEmpty.patch (93%) rename patches/{unapplied => }/server/Optimize-World.isLoaded-BlockPosition-Z.patch (100%) rename patches/{unapplied => }/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (99%) rename patches/{unapplied => }/server/Option-to-prevent-armor-stands-from-doing-entity-loo.patch (100%) rename patches/{unapplied => }/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (100%) rename patches/{unapplied => }/server/Optional-TNT-doesn-t-move-in-water.patch (94%) rename patches/{unapplied => }/server/Player.setPlayerProfile-API.patch (98%) rename patches/{unapplied => }/server/PlayerAdvancementCriterionGrantEvent.patch (100%) rename patches/{unapplied => }/server/PlayerAttemptPickupItemEvent.patch (100%) rename patches/{unapplied => }/server/PlayerElytraBoostEvent.patch (100%) rename patches/{unapplied => }/server/PlayerLaunchProjectileEvent.patch (97%) rename patches/{unapplied => }/server/PlayerNaturallySpawnCreaturesEvent.patch (96%) rename patches/{unapplied => }/server/PlayerPickupExperienceEvent.patch (100%) rename patches/{unapplied => }/server/PlayerPickupItemEvent-setFlyAtPlayer.patch (100%) rename patches/{unapplied => }/server/PlayerReadyArrowEvent.patch (100%) rename patches/{unapplied => }/server/PlayerTeleportEndGatewayEvent.patch (100%) rename patches/{unapplied => }/server/PreCreatureSpawnEvent.patch (95%) rename patches/{unapplied => }/server/Prevent-Frosted-Ice-from-loading-holding-chunks.patch (100%) rename patches/{unapplied => }/server/Prevent-Pathfinding-out-of-World-Border.patch (100%) rename patches/{unapplied => }/server/Prevent-logins-from-being-processed-when-the-player-.patch (97%) rename patches/{unapplied => }/server/Print-Error-details-when-failing-to-save-player-data.patch (100%) rename patches/{unapplied => }/server/Profile-Lookup-Events.patch (100%) rename patches/{unapplied => }/server/ProfileWhitelistVerifyEvent.patch (100%) rename patches/{unapplied => }/server/Properly-fix-item-duplication-bug.patch (100%) rename patches/{unapplied => }/server/Properly-handle-async-calls-to-restart-the-server.patch (98%) rename patches/{unapplied => }/server/Provide-E-TE-Chunk-count-stat-methods.patch (100%) rename patches/{unapplied => }/server/RangedEntity-API.patch (100%) rename patches/{unapplied => }/server/Refresh-player-inventory-when-cancelling-PlayerInter.patch (87%) rename patches/{unapplied => }/server/Remove-CraftScheduler-Async-Task-Debugger.patch (100%) rename patches/{unapplied => }/server/Reset-spawner-timer-when-spawner-event-is-cancelled.patch (100%) rename patches/{unapplied => }/server/Sanitise-RegionFileCache-and-make-configurable.patch (100%) rename patches/{unapplied => }/server/Send-attack-SoundEffects-only-to-players-who-can-see.patch (100%) rename patches/{unapplied => }/server/Shoulder-Entities-Release-API.patch (100%) rename patches/{unapplied => }/server/SkeletonHorse-Additions.patch (100%) rename patches/{unapplied => }/server/String-based-Action-Bar-API.patch (100%) rename patches/{unapplied => }/server/System-property-for-disabling-watchdoge.patch (100%) rename patches/{unapplied => }/server/Tameable-getOwnerUniqueId-API.patch (100%) rename patches/{unapplied => }/server/Toggleable-player-crits-helps-mitigate-hacked-client.patch (100%) rename patches/{unapplied => }/server/Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (100%) rename patches/{unapplied => }/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (100%) rename patches/{unapplied => }/server/Use-TerminalConsoleAppender-for-console-improvements.patch (98%) rename patches/{unapplied => }/server/Use-a-Shared-Random-for-Entities.patch (100%) rename patches/{unapplied => }/server/Vanished-players-don-t-have-rights.patch (88%) rename patches/{unapplied => }/server/Vex-get-setSummoner-API.patch (100%) rename patches/{unapplied => }/server/WitchConsumePotionEvent.patch (100%) rename patches/{unapplied => }/server/WitchReadyPotionEvent.patch (100%) rename patches/{unapplied => }/server/WitchThrowPotionEvent.patch (100%) rename patches/{unapplied => }/server/add-more-information-to-Entity.toString.patch (100%) rename patches/{unapplied => }/server/getPlayerUniqueId-API.patch (100%) rename patches/{unapplied => }/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch (100%) rename patches/{unapplied => }/server/handle-ServerboundKeepAlivePacket-async.patch (100%) rename patches/{unapplied => }/server/provide-a-configurable-option-to-disable-creeper-lin.patch (100%) rename patches/{unapplied => }/server/remove-null-possibility-for-getServer-singleton.patch (82%) rename patches/{unapplied => }/server/revert-serverside-behavior-of-keepalives.patch (96%) rename patches/{unapplied => }/server/use-CB-BlockState-implementations-for-captured-block.patch (100%) diff --git a/patches/api/Add-extended-PaperServerListPingEvent.patch b/patches/api/Add-extended-PaperServerListPingEvent.patch index c94896b1b3..dbbf58919c 100644 --- a/patches/api/Add-extended-PaperServerListPingEvent.patch +++ b/patches/api/Add-extended-PaperServerListPingEvent.patch @@ -56,9 +56,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + private Object[] players; + + @Deprecated -+ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull String motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers, ++ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull String motd, int numPlayers, int maxPlayers, + @NotNull String version, int protocolVersion, @Nullable CachedServerIcon favicon) { -+ super(client.getAddress().getAddress(), motd, shouldSendChatPreviews, numPlayers, maxPlayers); ++ super("", client.getAddress().getAddress(), motd, numPlayers, maxPlayers); + this.client = client; + this.numPlayers = numPlayers; + this.version = version; @@ -66,9 +66,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + setServerIcon(favicon); + } + -+ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull net.kyori.adventure.text.Component motd, boolean shouldSendChatPreviews, int numPlayers, int maxPlayers, ++ public PaperServerListPingEvent(@NotNull StatusClient client, @NotNull net.kyori.adventure.text.Component motd, int numPlayers, int maxPlayers, + @NotNull String version, int protocolVersion, @Nullable CachedServerIcon favicon) { -+ super(client.getAddress().getAddress(), motd, shouldSendChatPreviews, numPlayers, maxPlayers); ++ super("", client.getAddress().getAddress(), motd, numPlayers, maxPlayers); + this.client = client; + this.numPlayers = numPlayers; + this.version = version; diff --git a/patches/unapplied/server/API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/API-to-get-a-BlockState-without-a-snapshot.patch similarity index 100% rename from patches/unapplied/server/API-to-get-a-BlockState-without-a-snapshot.patch rename to patches/server/API-to-get-a-BlockState-without-a-snapshot.patch diff --git a/patches/unapplied/server/Ability-to-apply-mending-to-XP-API.patch b/patches/server/Ability-to-apply-mending-to-XP-API.patch similarity index 100% rename from patches/unapplied/server/Ability-to-apply-mending-to-XP-API.patch rename to patches/server/Ability-to-apply-mending-to-XP-API.patch diff --git a/patches/unapplied/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch b/patches/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch similarity index 98% rename from patches/unapplied/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch rename to patches/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch index 4abc8b55e6..3e1a3a154a 100644 --- a/patches/unapplied/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch +++ b/patches/server/Ability-to-change-PlayerProfile-in-AsyncPreLoginEven.patch @@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, java.util.UUID uniqueId = ServerLoginPacketListenerImpl.this.gameProfile.getId(); final org.bukkit.craftbukkit.CraftServer server = ServerLoginPacketListenerImpl.this.server.server; diff --git a/patches/unapplied/server/Add-API-methods-to-control-if-armour-stands-can-move.patch b/patches/server/Add-API-methods-to-control-if-armour-stands-can-move.patch similarity index 100% rename from patches/unapplied/server/Add-API-methods-to-control-if-armour-stands-can-move.patch rename to patches/server/Add-API-methods-to-control-if-armour-stands-can-move.patch diff --git a/patches/unapplied/server/Add-ArmorStand-Item-Meta.patch b/patches/server/Add-ArmorStand-Item-Meta.patch similarity index 100% rename from patches/unapplied/server/Add-ArmorStand-Item-Meta.patch rename to patches/server/Add-ArmorStand-Item-Meta.patch diff --git a/patches/unapplied/server/Add-CraftMagicNumbers.isSupportedApiVersion.patch b/patches/server/Add-CraftMagicNumbers.isSupportedApiVersion.patch similarity index 100% rename from patches/unapplied/server/Add-CraftMagicNumbers.isSupportedApiVersion.patch rename to patches/server/Add-CraftMagicNumbers.isSupportedApiVersion.patch diff --git a/patches/unapplied/server/Add-EntityZapEvent.patch b/patches/server/Add-EntityZapEvent.patch similarity index 74% rename from patches/unapplied/server/Add-EntityZapEvent.patch rename to patches/server/Add-EntityZapEvent.patch index f79637be38..33ebee0b67 100644 --- a/patches/unapplied/server/Add-EntityZapEvent.patch +++ b/patches/server/Add-EntityZapEvent.patch @@ -16,17 +16,17 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper - move log down, event can cancel Witch entitywitch = (Witch) EntityType.WITCH.create(world); -+ // Paper start -+ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, lightning, entitywitch).isCancelled()) { -+ return; -+ } -+ // Paper end + if (entitywitch != null) { ++ // Paper start ++ if (org.bukkit.craftbukkit.event.CraftEventFactory.callEntityZapEvent(this, lightning, entitywitch).isCancelled()) { ++ return; ++ } ++ if (org.spigotmc.SpigotConfig.logVillagerDeaths) Villager.LOGGER.info("Villager {} was struck by lightning {}.", this, lightning); // Move down ++ // Paper end + -+ if (org.spigotmc.SpigotConfig.logVillagerDeaths) Villager.LOGGER.info("Villager {} was struck by lightning {}.", this, lightning); // Paper - move log down, event can cancel -+ - entitywitch.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); - entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); - entitywitch.setNoAi(this.isNoAi()); + entitywitch.moveTo(this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); + entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); + entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java diff --git a/patches/unapplied/server/Add-PlayerArmorChangeEvent.patch b/patches/server/Add-PlayerArmorChangeEvent.patch similarity index 96% rename from patches/unapplied/server/Add-PlayerArmorChangeEvent.patch rename to patches/server/Add-PlayerArmorChangeEvent.patch index c8ce4adc8d..fe2f6328c9 100644 --- a/patches/unapplied/server/Add-PlayerArmorChangeEvent.patch +++ b/patches/server/Add-PlayerArmorChangeEvent.patch @@ -18,7 +18,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity { ItemStack itemstack1 = this.getItemBySlot(enumitemslot); - if (!ItemStack.matches(itemstack1, itemstack)) { + if (this.equipmentHasChanged(itemstack, itemstack1)) { + // Paper start - PlayerArmorChangeEvent + if (this instanceof ServerPlayer && enumitemslot.getType() == EquipmentSlot.Type.ARMOR) { + final org.bukkit.inventory.ItemStack oldItem = CraftItemStack.asBukkitCopy(itemstack); diff --git a/patches/unapplied/server/Add-PlayerJumpEvent.patch b/patches/server/Add-PlayerJumpEvent.patch similarity index 100% rename from patches/unapplied/server/Add-PlayerJumpEvent.patch rename to patches/server/Add-PlayerJumpEvent.patch diff --git a/patches/unapplied/server/Add-PlayerUseUnknownEntityEvent.patch b/patches/server/Add-PlayerUseUnknownEntityEvent.patch similarity index 100% rename from patches/unapplied/server/Add-PlayerUseUnknownEntityEvent.patch rename to patches/server/Add-PlayerUseUnknownEntityEvent.patch diff --git a/patches/unapplied/server/Add-ProjectileCollideEvent.patch b/patches/server/Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/unapplied/server/Add-ProjectileCollideEvent.patch rename to patches/server/Add-ProjectileCollideEvent.patch diff --git a/patches/unapplied/server/Add-UnknownCommandEvent.patch b/patches/server/Add-UnknownCommandEvent.patch similarity index 100% rename from patches/unapplied/server/Add-UnknownCommandEvent.patch rename to patches/server/Add-UnknownCommandEvent.patch diff --git a/patches/unapplied/server/Add-World-Util-Methods.patch b/patches/server/Add-World-Util-Methods.patch similarity index 100% rename from patches/unapplied/server/Add-World-Util-Methods.patch rename to patches/server/Add-World-Util-Methods.patch diff --git a/patches/unapplied/server/Add-ability-to-configure-frosted_ice-properties.patch b/patches/server/Add-ability-to-configure-frosted_ice-properties.patch similarity index 100% rename from patches/unapplied/server/Add-ability-to-configure-frosted_ice-properties.patch rename to patches/server/Add-ability-to-configure-frosted_ice-properties.patch diff --git a/patches/unapplied/server/Add-config-to-disable-ender-dragon-legacy-check.patch b/patches/server/Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 100% rename from patches/unapplied/server/Add-config-to-disable-ender-dragon-legacy-check.patch rename to patches/server/Add-config-to-disable-ender-dragon-legacy-check.patch diff --git a/patches/unapplied/server/Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/Add-configuration-option-to-prevent-player-names-fro.patch similarity index 100% rename from patches/unapplied/server/Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/server/Add-configuration-option-to-prevent-player-names-fro.patch diff --git a/patches/unapplied/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/server/Add-openSign-method-to-HumanEntity.patch b/patches/server/Add-openSign-method-to-HumanEntity.patch similarity index 93% rename from patches/unapplied/server/Add-openSign-method-to-HumanEntity.patch rename to patches/server/Add-openSign-method-to-HumanEntity.patch index 843adeab95..8c5daa7b52 100644 --- a/patches/unapplied/server/Add-openSign-method-to-HumanEntity.patch +++ b/patches/server/Add-openSign-method-to-HumanEntity.patch @@ -8,7 +8,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java b/src/mai index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSign.java -@@ -0,0 +0,0 @@ public class CraftSign extends CraftBlockEntityState implements +@@ -0,0 +0,0 @@ public class CraftSign extends CraftBlockEntityState< } } @@ -19,7 +19,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Preconditions.checkArgument(sign.isPlaced(), "Sign must be placed"); // Paper - don't require placed Preconditions.checkArgument(sign.getWorld() == player.getWorld(), "Sign must be in same world as Player"); - SignBlockEntity handle = ((CraftSign) sign).getTileEntity(); + SignBlockEntity handle = ((CraftSign) sign).getTileEntity(); handle.isEditable = true; - ((CraftPlayer) player).getHandle().openTextEdit(handle); diff --git a/patches/unapplied/server/Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/server/Add-option-to-make-parrots-stay-on-shoulders-despite.patch similarity index 100% rename from patches/unapplied/server/Add-option-to-make-parrots-stay-on-shoulders-despite.patch rename to patches/server/Add-option-to-make-parrots-stay-on-shoulders-despite.patch diff --git a/patches/unapplied/server/Add-server-name-parameter.patch b/patches/server/Add-server-name-parameter.patch similarity index 100% rename from patches/unapplied/server/Add-server-name-parameter.patch rename to patches/server/Add-server-name-parameter.patch diff --git a/patches/unapplied/server/Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/Add-setPlayerProfile-API-for-Skulls.patch similarity index 100% rename from patches/unapplied/server/Add-setPlayerProfile-API-for-Skulls.patch rename to patches/server/Add-setPlayerProfile-API-for-Skulls.patch diff --git a/patches/unapplied/server/Add-setting-for-proxy-online-mode-status.patch b/patches/server/Add-setting-for-proxy-online-mode-status.patch similarity index 100% rename from patches/unapplied/server/Add-setting-for-proxy-online-mode-status.patch rename to patches/server/Add-setting-for-proxy-online-mode-status.patch diff --git a/patches/unapplied/server/Add-source-to-PlayerExpChangeEvent.patch b/patches/server/Add-source-to-PlayerExpChangeEvent.patch similarity index 100% rename from patches/unapplied/server/Add-source-to-PlayerExpChangeEvent.patch rename to patches/server/Add-source-to-PlayerExpChangeEvent.patch diff --git a/patches/unapplied/server/Allow-Reloading-of-Command-Aliases.patch b/patches/server/Allow-Reloading-of-Command-Aliases.patch similarity index 100% rename from patches/unapplied/server/Allow-Reloading-of-Command-Aliases.patch rename to patches/server/Allow-Reloading-of-Command-Aliases.patch diff --git a/patches/unapplied/server/Allow-disabling-armour-stand-ticking.patch b/patches/server/Allow-disabling-armour-stand-ticking.patch similarity index 100% rename from patches/unapplied/server/Allow-disabling-armour-stand-ticking.patch rename to patches/server/Allow-disabling-armour-stand-ticking.patch diff --git a/patches/unapplied/server/Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/Allow-spawning-Item-entities-with-World.spawnEntity.patch similarity index 100% rename from patches/unapplied/server/Allow-spawning-Item-entities-with-World.spawnEntity.patch rename to patches/server/Allow-spawning-Item-entities-with-World.spawnEntity.patch diff --git a/patches/unapplied/server/Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/server/Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 97% rename from patches/unapplied/server/Allow-specifying-a-custom-authentication-servers-dow.patch rename to patches/server/Allow-specifying-a-custom-authentication-servers-dow.patch index 60b17bfafe..ec75f8033f 100644 --- a/patches/unapplied/server/Allow-specifying-a-custom-authentication-servers-dow.patch +++ b/patches/server/Allow-specifying-a-custom-authentication-servers-dow.patch @@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, ServerLoginPacketListenerImpl.this.gameProfile = gameprofile; ServerLoginPacketListenerImpl.this.state = ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT; } else { diff --git a/patches/unapplied/server/Async-GameProfileCache-saving.patch b/patches/server/Async-GameProfileCache-saving.patch similarity index 100% rename from patches/unapplied/server/Async-GameProfileCache-saving.patch rename to patches/server/Async-GameProfileCache-saving.patch diff --git a/patches/unapplied/server/AsyncTabCompleteEvent.patch b/patches/server/AsyncTabCompleteEvent.patch similarity index 99% rename from patches/unapplied/server/AsyncTabCompleteEvent.patch rename to patches/server/AsyncTabCompleteEvent.patch index e5196c460a..d0d3aa7044 100644 --- a/patches/unapplied/server/AsyncTabCompleteEvent.patch +++ b/patches/server/AsyncTabCompleteEvent.patch @@ -49,6 +49,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 if (stringreader.canRead() && stringreader.peek() == '/') { stringreader.skip(); } +- +- ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); +- +- this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { +- if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer +- this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); + final String command = packet.getCommand(); + final com.destroystokyo.paper.event.server.AsyncTabCompleteEvent event = new com.destroystokyo.paper.event.server.AsyncTabCompleteEvent(this.getCraftPlayer(), command, true, null); + event.callEvent(); @@ -56,14 +62,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // If the event isn't handled, we can assume that we have no completions, and so we'll ask the server + if (!event.isHandled()) { + if (!event.isCancelled()) { - -- ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); ++ + this.server.scheduleOnMain(() -> { // This needs to be on main + ParseResults parseresults = this.server.getCommands().getDispatcher().parse(stringreader, this.player.createCommandSourceStack()); - -- this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { -- if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer -- this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); ++ + this.server.getCommands().getDispatcher().getCompletionSuggestions(parseresults).thenAccept((suggestions) -> { + if (suggestions.isEmpty()) return; // CraftBukkit - don't send through empty suggestions - prevents [] from showing for plugins with nothing more to offer + this.connection.send(new ClientboundCommandSuggestionsPacket(packet.getId(), suggestions)); diff --git a/patches/unapplied/server/Avoid-blocking-on-Network-Manager-creation.patch b/patches/server/Avoid-blocking-on-Network-Manager-creation.patch similarity index 100% rename from patches/unapplied/server/Avoid-blocking-on-Network-Manager-creation.patch rename to patches/server/Avoid-blocking-on-Network-Manager-creation.patch diff --git a/patches/unapplied/server/Basic-PlayerProfile-API.patch b/patches/server/Basic-PlayerProfile-API.patch similarity index 100% rename from patches/unapplied/server/Basic-PlayerProfile-API.patch rename to patches/server/Basic-PlayerProfile-API.patch diff --git a/patches/unapplied/server/Block-Enderpearl-Travel-Exploit.patch b/patches/server/Block-Enderpearl-Travel-Exploit.patch similarity index 100% rename from patches/unapplied/server/Block-Enderpearl-Travel-Exploit.patch rename to patches/server/Block-Enderpearl-Travel-Exploit.patch diff --git a/patches/unapplied/server/Block-player-logins-during-server-shutdown.patch b/patches/server/Block-player-logins-during-server-shutdown.patch similarity index 97% rename from patches/unapplied/server/Block-player-logins-during-server-shutdown.patch rename to patches/server/Block-player-logins-during-server-shutdown.patch index 6230eed14e..d9e296a01c 100644 --- a/patches/unapplied/server/Block-player-logins-during-server-shutdown.patch +++ b/patches/server/Block-player-logins-during-server-shutdown.patch @@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @Override public void tick() { diff --git a/patches/unapplied/server/Bound-Treasure-Maps-to-World-Border.patch b/patches/server/Bound-Treasure-Maps-to-World-Border.patch similarity index 100% rename from patches/unapplied/server/Bound-Treasure-Maps-to-World-Border.patch rename to patches/server/Bound-Treasure-Maps-to-World-Border.patch diff --git a/patches/unapplied/server/Cache-user-authenticator-threads.patch b/patches/server/Cache-user-authenticator-threads.patch similarity index 93% rename from patches/unapplied/server/Cache-user-authenticator-threads.patch rename to patches/server/Cache-user-authenticator-threads.patch index 0df93ce132..7c5e67a7b6 100644 --- a/patches/unapplied/server/Cache-user-authenticator-threads.patch +++ b/patches/server/Cache-user-authenticator-threads.patch @@ -8,7 +8,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } @@ -17,8 +17,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 // Spigot start public void initUUID() { -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se - this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.nonce)); +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, + this.connection.send(new ClientboundHelloPacket("", this.server.getKeyPair().getPublic().getEncoded(), this.challenge)); } else { // Spigot start - new Thread("User Authenticator #" + ServerLoginPacketListenerImpl.UNIQUE_THREAD_ID.incrementAndGet()) { @@ -28,7 +28,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @Override public void run() { try { -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, server.server.getLogger().log(java.util.logging.Level.WARNING, "Exception verifying " + ServerLoginPacketListenerImpl.this.gameProfile.getName(), ex); } } @@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 // Spigot end } -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, throw new IllegalStateException("Protocol error", cryptographyexception); } @@ -48,7 +48,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 public void run() { GameProfile gameprofile = ServerLoginPacketListenerImpl.this.gameProfile; -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, return ServerLoginPacketListenerImpl.this.server.getPreventProxyConnections() && socketaddress instanceof InetSocketAddress ? ((InetSocketAddress) socketaddress).getAddress() : null; } diff --git a/patches/unapplied/server/Call-PaperServerListPingEvent-for-legacy-pings.patch b/patches/server/Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 96% rename from patches/unapplied/server/Call-PaperServerListPingEvent-for-legacy-pings.patch rename to patches/server/Call-PaperServerListPingEvent-for-legacy-pings.patch index a7ff63148d..f16aa394a6 100644 --- a/patches/unapplied/server/Call-PaperServerListPingEvent-for-legacy-pings.patch +++ b/patches/server/Call-PaperServerListPingEvent-for-legacy-pings.patch @@ -91,8 +91,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 MinecraftServer minecraftserver = this.serverConnectionListener.getServer(); int i = bytebuf.readableBytes(); String s; -- org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.previewsChat(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit -+ //org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.previewsChat(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit // Paper +- org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit ++ //org.bukkit.event.server.ServerListPingEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callServerListPingEvent(minecraftserver.server, inetsocketaddress.getAddress(), minecraftserver.getMotd(), minecraftserver.getPlayerCount(), minecraftserver.getMaxPlayers()); // CraftBukkit // Paper + com.destroystokyo.paper.event.server.PaperServerListPingEvent event; // Paper switch (i) { diff --git a/patches/unapplied/server/Cap-Entity-Collisions.patch b/patches/server/Cap-Entity-Collisions.patch similarity index 91% rename from patches/unapplied/server/Cap-Entity-Collisions.patch rename to patches/server/Cap-Entity-Collisions.patch index 7f3b59fb6d..b829547b99 100644 --- a/patches/unapplied/server/Cap-Entity-Collisions.patch +++ b/patches/server/Cap-Entity-Collisions.patch @@ -28,15 +28,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -0,0 +0,0 @@ public abstract class LivingEntity extends Entity { + } } - } -- for (j = 0; j < list.size(); ++j) { +- for (j = 0; j < list.size(); ++j) { + this.numCollisions = Math.max(0, this.numCollisions - this.level.paperConfig().collisions.maxEntityCollisions); // Paper + for (j = 0; j < list.size() && this.numCollisions < this.level.paperConfig().collisions.maxEntityCollisions; ++j) { // Paper - Entity entity = (Entity) list.get(j); + Entity entity = (Entity) list.get(j); + entity.numCollisions++; // Paper + this.numCollisions++; // Paper - this.doPush(entity); - } + this.doPush(entity); + } diff --git a/patches/unapplied/server/Configurable-Alternative-LootPool-Luck-Formula.patch b/patches/server/Configurable-Alternative-LootPool-Luck-Formula.patch similarity index 100% rename from patches/unapplied/server/Configurable-Alternative-LootPool-Luck-Formula.patch rename to patches/server/Configurable-Alternative-LootPool-Luck-Formula.patch diff --git a/patches/unapplied/server/Configurable-Cartographer-Treasure-Maps.patch b/patches/server/Configurable-Cartographer-Treasure-Maps.patch similarity index 100% rename from patches/unapplied/server/Configurable-Cartographer-Treasure-Maps.patch rename to patches/server/Configurable-Cartographer-Treasure-Maps.patch diff --git a/patches/unapplied/server/Configurable-Chunk-Inhabited-Time.patch b/patches/server/Configurable-Chunk-Inhabited-Time.patch similarity index 94% rename from patches/unapplied/server/Configurable-Chunk-Inhabited-Time.patch rename to patches/server/Configurable-Chunk-Inhabited-Time.patch index f4117b3456..9703dc0a44 100644 --- a/patches/unapplied/server/Configurable-Chunk-Inhabited-Time.patch +++ b/patches/server/Configurable-Chunk-Inhabited-Time.patch @@ -26,5 +26,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + // Paper end + @Override - public GameEventDispatcher getEventDispatcher(int ySectionCoord) { + public GameEventListenerRegistry getListenerRegistry(int ySectionCoord) { Level world = this.level; diff --git a/patches/unapplied/server/Configurable-Grass-Spread-Tick-Rate.patch b/patches/server/Configurable-Grass-Spread-Tick-Rate.patch similarity index 100% rename from patches/unapplied/server/Configurable-Grass-Spread-Tick-Rate.patch rename to patches/server/Configurable-Grass-Spread-Tick-Rate.patch diff --git a/patches/unapplied/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch similarity index 100% rename from patches/unapplied/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch rename to patches/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch diff --git a/patches/unapplied/server/Configurable-Player-Collision.patch b/patches/server/Configurable-Player-Collision.patch similarity index 97% rename from patches/unapplied/server/Configurable-Player-Collision.patch rename to patches/server/Configurable-Player-Collision.patch index 805a20fb18..e3587047c9 100644 --- a/patches/unapplied/server/Configurable-Player-Collision.patch +++ b/patches/server/Configurable-Player-Collision.patch @@ -60,7 +60,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 private final Map playersByName = new java.util.HashMap<>(); + public @Nullable String collideRuleTeamName; // Paper - Team name used for collideRule - public PlayerList(MinecraftServer server, RegistryAccess.Frozen registryManager, PlayerDataStorage saveHandler, int maxPlayers) { + public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); @@ -0,0 +0,0 @@ public abstract class PlayerList { diff --git a/patches/unapplied/server/Configurable-RCON-IP-address.patch b/patches/server/Configurable-RCON-IP-address.patch similarity index 85% rename from patches/unapplied/server/Configurable-RCON-IP-address.patch rename to patches/server/Configurable-RCON-IP-address.patch index 041f7bb52e..24018d3016 100644 --- a/patches/unapplied/server/Configurable-RCON-IP-address.patch +++ b/patches/server/Configurable-RCON-IP-address.patch @@ -13,8 +13,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java @@ -0,0 +0,0 @@ public class DedicatedServerProperties extends Settings { if (this.level.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { // CraftBukkit start - use event experience if (experience > 0) { @@ -187,7 +187,7 @@ diff --git a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java b/sr index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java +++ b/src/main/java/net/minecraft/world/entity/animal/frog/Frog.java -@@ -0,0 +0,0 @@ public class Frog extends Animal { +@@ -0,0 +0,0 @@ public class Frog extends Animal implements VariantHolder { this.getBrain().setMemory(MemoryModuleType.IS_PREGNANT, Unit.INSTANCE); world.broadcastEntityEvent(this, (byte)18); if (world.getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { diff --git a/patches/unapplied/server/Expose-client-protocol-version-and-virtual-host.patch b/patches/server/Expose-client-protocol-version-and-virtual-host.patch similarity index 100% rename from patches/unapplied/server/Expose-client-protocol-version-and-virtual-host.patch rename to patches/server/Expose-client-protocol-version-and-virtual-host.patch diff --git a/patches/unapplied/server/Extend-Player-Interact-cancellation.patch b/patches/server/Extend-Player-Interact-cancellation.patch similarity index 100% rename from patches/unapplied/server/Extend-Player-Interact-cancellation.patch rename to patches/server/Extend-Player-Interact-cancellation.patch diff --git a/patches/unapplied/server/Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/Faster-redstone-torch-rapid-clock-removal.patch similarity index 100% rename from patches/unapplied/server/Faster-redstone-torch-rapid-clock-removal.patch rename to patches/server/Faster-redstone-torch-rapid-clock-removal.patch diff --git a/patches/unapplied/server/Fill-Profile-Property-Events.patch b/patches/server/Fill-Profile-Property-Events.patch similarity index 100% rename from patches/unapplied/server/Fill-Profile-Property-Events.patch rename to patches/server/Fill-Profile-Property-Events.patch diff --git a/patches/unapplied/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch b/patches/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch similarity index 92% rename from patches/unapplied/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch rename to patches/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch index 93f07ffb51..57b4737094 100644 --- a/patches/unapplied/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch +++ b/patches/server/Filter-bad-data-from-ArmorStand-and-SpawnEgg-items.patch @@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @@ -0,0 +0,0 @@ public class FallingBlockEntity extends Entity { @Override protected void readAdditionalSaveData(CompoundTag nbt) { - this.blockState = NbtUtils.readBlockState(nbt.getCompound("BlockState")); + this.blockState = NbtUtils.readBlockState(this.level.holderLookup(Registries.BLOCK), nbt.getCompound("BlockState")); + // Paper start - Block FallingBlocks with Command Blocks + final Block b = this.blockState.getBlock(); + if (this.level.paperConfig().entities.spawning.filterNbtDataFromSpawnEggsAndRelated diff --git a/patches/unapplied/server/Firework-API-s.patch b/patches/server/Firework-API-s.patch similarity index 98% rename from patches/unapplied/server/Firework-API-s.patch rename to patches/server/Firework-API-s.patch index 90fcff29e4..e993500f5a 100644 --- a/patches/unapplied/server/Firework-API-s.patch +++ b/patches/server/Firework-API-s.patch @@ -13,7 +13,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @@ -0,0 +0,0 @@ public class FireworkRocketEntity extends Projectile implements ItemSupplier { public int lifetime; @Nullable - public LivingEntity attachedToEntity; // PAIL private -> public + public LivingEntity attachedToEntity; + public java.util.UUID spawningEntity; // Paper public FireworkRocketEntity(EntityType type, Level world) { diff --git a/patches/unapplied/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch similarity index 100% rename from patches/unapplied/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch rename to patches/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch diff --git a/patches/unapplied/server/Fix-CraftEntity-hashCode.patch b/patches/server/Fix-CraftEntity-hashCode.patch similarity index 100% rename from patches/unapplied/server/Fix-CraftEntity-hashCode.patch rename to patches/server/Fix-CraftEntity-hashCode.patch diff --git a/patches/unapplied/server/Fix-MC-117075-TE-Unload-Lag-Spike.patch b/patches/server/Fix-MC-117075-TE-Unload-Lag-Spike.patch similarity index 100% rename from patches/unapplied/server/Fix-MC-117075-TE-Unload-Lag-Spike.patch rename to patches/server/Fix-MC-117075-TE-Unload-Lag-Spike.patch diff --git a/patches/unapplied/server/Fix-Old-Sign-Conversion.patch b/patches/server/Fix-Old-Sign-Conversion.patch similarity index 100% rename from patches/unapplied/server/Fix-Old-Sign-Conversion.patch rename to patches/server/Fix-Old-Sign-Conversion.patch diff --git a/patches/unapplied/server/Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/patches/server/Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 100% rename from patches/unapplied/server/Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to patches/server/Fix-exploit-that-allowed-colored-signs-to-be-created.patch diff --git a/patches/unapplied/server/Fix-this-stupid-bullshit.patch b/patches/server/Fix-this-stupid-bullshit.patch similarity index 95% rename from patches/unapplied/server/Fix-this-stupid-bullshit.patch rename to patches/server/Fix-this-stupid-bullshit.patch index 58b9fe0c51..97d468a1d9 100644 --- a/patches/unapplied/server/Fix-this-stupid-bullshit.patch +++ b/patches/server/Fix-this-stupid-bullshit.patch @@ -29,14 +29,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + }*/ // Paper // CraftBukkit end Bootstrap.isBootstrapped = true; - if (Registry.REGISTRY.keySet().isEmpty()) { + if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -0,0 +0,0 @@ public class Main { Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -28); + deadline.add(Calendar.DAY_OF_YEAR, -3); if (buildDate.before(deadline.getTime())) { - System.err.println("*** Error, this build is outdated ***"); + // Paper start - This is some stupid bullshit diff --git a/patches/unapplied/server/Flag-to-disable-the-channel-limit.patch b/patches/server/Flag-to-disable-the-channel-limit.patch similarity index 100% rename from patches/unapplied/server/Flag-to-disable-the-channel-limit.patch rename to patches/server/Flag-to-disable-the-channel-limit.patch diff --git a/patches/unapplied/server/Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 99% rename from patches/unapplied/server/Handle-plugin-prefixes-using-Log4J-configuration.patch rename to patches/server/Handle-plugin-prefixes-using-Log4J-configuration.patch index f43950229e..24fdaba277 100644 --- a/patches/unapplied/server/Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -25,7 +25,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 - runtimeOnly("org.apache.logging.log4j:log4j-core:2.14.1") + implementation("org.apache.logging.log4j:log4j-core:2.14.1") // Paper - implementation // Paper end - implementation("org.apache.logging.log4j:log4j-iostreams:2.17.1") // Paper + implementation("org.apache.logging.log4j:log4j-iostreams:2.19.0") // Paper - remove exclusion implementation("org.ow2.asm:asm:9.3") diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 diff --git a/patches/unapplied/server/Implement-EntityKnockbackByEntityEvent.patch b/patches/server/Implement-EntityKnockbackByEntityEvent.patch similarity index 93% rename from patches/unapplied/server/Implement-EntityKnockbackByEntityEvent.patch rename to patches/server/Implement-EntityKnockbackByEntityEvent.patch index 15a32bc588..a3b4efe711 100644 --- a/patches/unapplied/server/Implement-EntityKnockbackByEntityEvent.patch +++ b/patches/server/Implement-EntityKnockbackByEntityEvent.patch @@ -74,13 +74,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/RamTarget.java @@ -0,0 +0,0 @@ public class RamTarget extends Behavior { float f = 0.25F * (float)(i - j); - float g = Mth.clamp(goat.getSpeed() * 1.65F, 0.2F, 3.0F) + f; - float h = livingEntity.isDamageSourceBlocked(DamageSource.mobAttack(goat)) ? 0.5F : 1.0F; -- livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(goat), this.ramDirection.x(), this.ramDirection.z()); -+ livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(goat), this.ramDirection.x(), this.ramDirection.z(), goat); // Paper - this.finishRam(serverLevel, goat); - serverLevel.playSound((Player)null, goat, this.getImpactSound.apply(goat), SoundSource.HOSTILE, 1.0F, 1.0F); - } else if (this.hasRammedHornBreakingBlock(serverLevel, goat)) { + float g = Mth.clamp(entity.getSpeed() * 1.65F, 0.2F, 3.0F) + f; + float h = livingEntity.isDamageSourceBlocked(DamageSource.mobAttack(entity)) ? 0.5F : 1.0F; +- livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(entity), this.ramDirection.x(), this.ramDirection.z()); ++ livingEntity.knockback((double)(h * g) * this.getKnockbackForce.applyAsDouble(entity), this.ramDirection.x(), this.ramDirection.z(), goat); // Paper + this.finishRam(world, entity); + world.playSound((Player)null, entity, this.getImpactSound.apply(entity), SoundSource.NEUTRAL, 1.0F, 1.0F); + } else if (this.hasRammedHornBreakingBlock(world, 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java diff --git a/patches/unapplied/server/Implement-EntityTeleportEndGatewayEvent.patch b/patches/server/Implement-EntityTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/server/Implement-EntityTeleportEndGatewayEvent.patch rename to patches/server/Implement-EntityTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/server/Implement-Expanded-ArmorStand-API.patch b/patches/server/Implement-Expanded-ArmorStand-API.patch similarity index 100% rename from patches/unapplied/server/Implement-Expanded-ArmorStand-API.patch rename to patches/server/Implement-Expanded-ArmorStand-API.patch diff --git a/patches/unapplied/server/Implement-World.getEntity-UUID-API.patch b/patches/server/Implement-World.getEntity-UUID-API.patch similarity index 100% rename from patches/unapplied/server/Implement-World.getEntity-UUID-API.patch rename to patches/server/Implement-World.getEntity-UUID-API.patch diff --git a/patches/unapplied/server/Implement-ensureServerConversions-API.patch b/patches/server/Implement-ensureServerConversions-API.patch similarity index 100% rename from patches/unapplied/server/Implement-ensureServerConversions-API.patch rename to patches/server/Implement-ensureServerConversions-API.patch diff --git a/patches/unapplied/server/Implement-extended-PaperServerListPingEvent.patch b/patches/server/Implement-extended-PaperServerListPingEvent.patch similarity index 99% rename from patches/unapplied/server/Implement-extended-PaperServerListPingEvent.patch rename to patches/server/Implement-extended-PaperServerListPingEvent.patch index da404de600..5395001ac2 100644 --- a/patches/unapplied/server/Implement-extended-PaperServerListPingEvent.patch +++ b/patches/server/Implement-extended-PaperServerListPingEvent.patch @@ -25,7 +25,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + private final MinecraftServer server; + + PaperServerListPingEventImpl(MinecraftServer server, StatusClient client, int protocolVersion, @Nullable CachedServerIcon icon) { -+ super(client, server.server.motd(), server.previewsChat(), server.getPlayerCount(), server.getMaxPlayers(), ++ super(client, server.server.motd(), server.getPlayerCount(), server.getMaxPlayers(), + server.getServerModName() + ' ' + server.getServerVersion(), protocolVersion, icon); + this.server = server; + } diff --git a/patches/unapplied/server/Implement-getI18NDisplayName.patch b/patches/server/Implement-getI18NDisplayName.patch similarity index 100% rename from patches/unapplied/server/Implement-getI18NDisplayName.patch rename to patches/server/Implement-getI18NDisplayName.patch diff --git a/patches/unapplied/server/Improve-BlockPosition-inlining.patch b/patches/server/Improve-BlockPosition-inlining.patch similarity index 100% rename from patches/unapplied/server/Improve-BlockPosition-inlining.patch rename to patches/server/Improve-BlockPosition-inlining.patch diff --git a/patches/unapplied/server/Improve-EntityShootBowEvent.patch b/patches/server/Improve-EntityShootBowEvent.patch similarity index 100% rename from patches/unapplied/server/Improve-EntityShootBowEvent.patch rename to patches/server/Improve-EntityShootBowEvent.patch diff --git a/patches/unapplied/server/Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/Improve-Log4J-Configuration-Plugin-Loggers.patch similarity index 100% rename from patches/unapplied/server/Improve-Log4J-Configuration-Plugin-Loggers.patch rename to patches/server/Improve-Log4J-Configuration-Plugin-Loggers.patch diff --git a/patches/unapplied/server/Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 100% rename from patches/unapplied/server/Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/server/Improve-Maps-in-item-frames-performance-and-bug-fixe.patch diff --git a/patches/unapplied/server/Improve-the-Saddle-API-for-Horses.patch b/patches/server/Improve-the-Saddle-API-for-Horses.patch similarity index 100% rename from patches/unapplied/server/Improve-the-Saddle-API-for-Horses.patch rename to patches/server/Improve-the-Saddle-API-for-Horses.patch diff --git a/patches/unapplied/server/Improved-Async-Task-Scheduler.patch b/patches/server/Improved-Async-Task-Scheduler.patch similarity index 100% rename from patches/unapplied/server/Improved-Async-Task-Scheduler.patch rename to patches/server/Improved-Async-Task-Scheduler.patch diff --git a/patches/unapplied/server/InventoryCloseEvent-Reason-API.patch b/patches/server/InventoryCloseEvent-Reason-API.patch similarity index 100% rename from patches/unapplied/server/InventoryCloseEvent-Reason-API.patch rename to patches/server/InventoryCloseEvent-Reason-API.patch diff --git a/patches/unapplied/server/Item-canEntityPickup.patch b/patches/server/Item-canEntityPickup.patch similarity index 100% rename from patches/unapplied/server/Item-canEntityPickup.patch rename to patches/server/Item-canEntityPickup.patch diff --git a/patches/unapplied/server/ItemStack-getMaxItemUseDuration.patch b/patches/server/ItemStack-getMaxItemUseDuration.patch similarity index 100% rename from patches/unapplied/server/ItemStack-getMaxItemUseDuration.patch rename to patches/server/ItemStack-getMaxItemUseDuration.patch diff --git a/patches/unapplied/server/LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/LivingEntity-Hand-Raised-Item-Use-API.patch similarity index 100% rename from patches/unapplied/server/LivingEntity-Hand-Raised-Item-Use-API.patch rename to patches/server/LivingEntity-Hand-Raised-Item-Use-API.patch diff --git a/patches/unapplied/server/LivingEntity-setKiller.patch b/patches/server/LivingEntity-setKiller.patch similarity index 100% rename from patches/unapplied/server/LivingEntity-setKiller.patch rename to patches/server/LivingEntity-setKiller.patch diff --git a/patches/unapplied/server/LootTable-API-Replenishable-Lootables-Feature.patch b/patches/server/LootTable-API-Replenishable-Lootables-Feature.patch similarity index 100% rename from patches/unapplied/server/LootTable-API-Replenishable-Lootables-Feature.patch rename to patches/server/LootTable-API-Replenishable-Lootables-Feature.patch diff --git a/patches/unapplied/server/Make-legacy-ping-handler-more-reliable.patch b/patches/server/Make-legacy-ping-handler-more-reliable.patch similarity index 100% rename from patches/unapplied/server/Make-legacy-ping-handler-more-reliable.patch rename to patches/server/Make-legacy-ping-handler-more-reliable.patch diff --git a/patches/unapplied/server/Make-shield-blocking-delay-configurable.patch b/patches/server/Make-shield-blocking-delay-configurable.patch similarity index 100% rename from patches/unapplied/server/Make-shield-blocking-delay-configurable.patch rename to patches/server/Make-shield-blocking-delay-configurable.patch diff --git a/patches/unapplied/server/Ocelot-despawns-should-honor-nametags-and-leash.patch b/patches/server/Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 100% rename from patches/unapplied/server/Ocelot-despawns-should-honor-nametags-and-leash.patch rename to patches/server/Ocelot-despawns-should-honor-nametags-and-leash.patch diff --git a/patches/unapplied/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch similarity index 100% rename from patches/unapplied/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch rename to patches/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch diff --git a/patches/unapplied/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch b/patches/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch similarity index 100% rename from patches/unapplied/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch rename to patches/server/Only-send-global-sounds-to-same-world-if-limiting-ra.patch diff --git a/patches/unapplied/server/Optimise-BlockState-s-hashCode-equals.patch b/patches/server/Optimise-BlockState-s-hashCode-equals.patch similarity index 100% rename from patches/unapplied/server/Optimise-BlockState-s-hashCode-equals.patch rename to patches/server/Optimise-BlockState-s-hashCode-equals.patch diff --git a/patches/unapplied/server/Optimize-DataBits.patch b/patches/server/Optimize-DataBits.patch similarity index 100% rename from patches/unapplied/server/Optimize-DataBits.patch rename to patches/server/Optimize-DataBits.patch diff --git a/patches/unapplied/server/Optimize-ItemStack.isEmpty.patch b/patches/server/Optimize-ItemStack.isEmpty.patch similarity index 93% rename from patches/unapplied/server/Optimize-ItemStack.isEmpty.patch rename to patches/server/Optimize-ItemStack.isEmpty.patch index 27801c1510..0c2c0e2f49 100644 --- a/patches/unapplied/server/Optimize-ItemStack.isEmpty.patch +++ b/patches/server/Optimize-ItemStack.isEmpty.patch @@ -17,4 +17,4 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + return this == ItemStack.EMPTY || this.item == null || this.item == Items.AIR || this.count <= 0; // Paper } - public ItemStack split(int amount) { + public boolean isItemEnabled(FeatureFlagSet enabledFeatures) { diff --git a/patches/unapplied/server/Optimize-World.isLoaded-BlockPosition-Z.patch b/patches/server/Optimize-World.isLoaded-BlockPosition-Z.patch similarity index 100% rename from patches/unapplied/server/Optimize-World.isLoaded-BlockPosition-Z.patch rename to patches/server/Optimize-World.isLoaded-BlockPosition-Z.patch diff --git a/patches/unapplied/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 99% rename from patches/unapplied/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch index 632db232c7..2a1eaf15f1 100644 --- a/patches/unapplied/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch +++ b/patches/server/Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch @@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java @@ -0,0 +0,0 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom - return GameEventDispatcher.NOOP; + return GameEventListenerRegistry.NOOP; } + public abstract BlockState getBlockState(final int x, final int y, final int z); // Paper diff --git a/patches/unapplied/server/Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/patches/server/Option-to-prevent-armor-stands-from-doing-entity-loo.patch similarity index 100% rename from patches/unapplied/server/Option-to-prevent-armor-stands-from-doing-entity-loo.patch rename to patches/server/Option-to-prevent-armor-stands-from-doing-entity-loo.patch diff --git a/patches/unapplied/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch similarity index 100% rename from patches/unapplied/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch rename to patches/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch diff --git a/patches/unapplied/server/Optional-TNT-doesn-t-move-in-water.patch b/patches/server/Optional-TNT-doesn-t-move-in-water.patch similarity index 94% rename from patches/unapplied/server/Optional-TNT-doesn-t-move-in-water.patch rename to patches/server/Optional-TNT-doesn-t-move-in-water.patch index 66ed47708b..0a5c118264 100644 --- a/patches/unapplied/server/Optional-TNT-doesn-t-move-in-water.patch +++ b/patches/server/Optional-TNT-doesn-t-move-in-water.patch @@ -9,8 +9,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -0,0 +0,0 @@ public class ServerEntity { - private boolean wasRiding; - private boolean wasOnGround; + @Nullable + private List> trackedDataValues; // CraftBukkit start - private final Set trackedPlayers; + final Set trackedPlayers; // Paper - private -> package @@ -50,8 +50,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 private void explode() { @@ -0,0 +0,0 @@ public class PrimedTnt extends Entity { - public Packet getAddEntityPacket() { - return new ClientboundAddEntityPacket(this); + public int getFuse() { + return (Integer) this.entityData.get(PrimedTnt.DATA_FUSE_ID); } + + // Paper start - Optional prevent TNT from moving in water diff --git a/patches/unapplied/server/Player.setPlayerProfile-API.patch b/patches/server/Player.setPlayerProfile-API.patch similarity index 98% rename from patches/unapplied/server/Player.setPlayerProfile-API.patch rename to patches/server/Player.setPlayerProfile-API.patch index e9accfca6c..e0c9af1cc5 100644 --- a/patches/unapplied/server/Player.setPlayerProfile-API.patch +++ b/patches/server/Player.setPlayerProfile-API.patch @@ -12,7 +12,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, final org.bukkit.craftbukkit.CraftServer server = ServerLoginPacketListenerImpl.this.server.server; // Paper start @@ -68,7 +68,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 if (entry != null) { entry.removePlayer(this.getHandle()); @@ -0,0 +0,0 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - this.getHandle().connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.REMOVE_PLAYER, otherPlayer)); + this.getHandle().connection.send(new ClientboundPlayerInfoRemovePacket(List.of(otherPlayer.getUUID()))); } } - diff --git a/patches/unapplied/server/PlayerAdvancementCriterionGrantEvent.patch b/patches/server/PlayerAdvancementCriterionGrantEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerAdvancementCriterionGrantEvent.patch rename to patches/server/PlayerAdvancementCriterionGrantEvent.patch diff --git a/patches/unapplied/server/PlayerAttemptPickupItemEvent.patch b/patches/server/PlayerAttemptPickupItemEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerAttemptPickupItemEvent.patch rename to patches/server/PlayerAttemptPickupItemEvent.patch diff --git a/patches/unapplied/server/PlayerElytraBoostEvent.patch b/patches/server/PlayerElytraBoostEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerElytraBoostEvent.patch rename to patches/server/PlayerElytraBoostEvent.patch diff --git a/patches/unapplied/server/PlayerLaunchProjectileEvent.patch b/patches/server/PlayerLaunchProjectileEvent.patch similarity index 97% rename from patches/unapplied/server/PlayerLaunchProjectileEvent.patch rename to patches/server/PlayerLaunchProjectileEvent.patch index a8914014f5..ec9cc0cd3d 100644 --- a/patches/unapplied/server/PlayerLaunchProjectileEvent.patch +++ b/patches/server/PlayerLaunchProjectileEvent.patch @@ -135,14 +135,6 @@ diff --git a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java b/sr index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/item/FireworkRocketItem.java +++ b/src/main/java/net/minecraft/world/item/FireworkRocketItem.java -@@ -0,0 +0,0 @@ import net.minecraft.nbt.CompoundTag; - import net.minecraft.nbt.ListTag; - import net.minecraft.network.chat.Component; - import net.minecraft.stats.Stats; -+import net.minecraft.server.level.ServerPlayer; - import net.minecraft.world.InteractionHand; - import net.minecraft.world.InteractionResult; - import net.minecraft.world.InteractionResultHolder; @@ -0,0 +0,0 @@ public class FireworkRocketItem extends Item { Direction direction = context.getClickedFace(); FireworkRocketEntity fireworkRocketEntity = new FireworkRocketEntity(level, context.getPlayer(), vec3.x + (double)direction.getStepX() * 0.15D, vec3.y + (double)direction.getStepY() * 0.15D, vec3.z + (double)direction.getStepZ() * 0.15D, itemStack); @@ -153,7 +145,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent event = new com.destroystokyo.paper.event.player.PlayerLaunchProjectileEvent((org.bukkit.entity.Player) context.getPlayer().getBukkitEntity(), org.bukkit.craftbukkit.inventory.CraftItemStack.asCraftMirror(itemStack), (org.bukkit.entity.Firework) fireworkRocketEntity.getBukkitEntity()); + if (!event.callEvent() || !level.addFreshEntity(fireworkRocketEntity)) return InteractionResult.PASS; + if (event.shouldConsume() && !context.getPlayer().getAbilities().instabuild) itemStack.shrink(1); -+ else if (context.getPlayer() instanceof ServerPlayer) ((ServerPlayer) context.getPlayer()).getBukkitEntity().updateInventory(); ++ else if (context.getPlayer() instanceof net.minecraft.server.level.ServerPlayer) ((net.minecraft.server.level.ServerPlayer) context.getPlayer()).getBukkitEntity().updateInventory(); + // Paper end } diff --git a/patches/unapplied/server/PlayerNaturallySpawnCreaturesEvent.patch b/patches/server/PlayerNaturallySpawnCreaturesEvent.patch similarity index 96% rename from patches/unapplied/server/PlayerNaturallySpawnCreaturesEvent.patch rename to patches/server/PlayerNaturallySpawnCreaturesEvent.patch index 37c8623bd2..64b136338e 100644 --- a/patches/unapplied/server/PlayerNaturallySpawnCreaturesEvent.patch +++ b/patches/server/PlayerNaturallySpawnCreaturesEvent.patch @@ -71,10 +71,10 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 import com.mojang.authlib.GameProfile; import com.mojang.datafixers.util.Either; @@ -0,0 +0,0 @@ public class ServerPlayer extends Player { - public Integer clientViewDistance; - public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end -+ public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper - public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper ++ public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper + + public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile) { + super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/patches/unapplied/server/PlayerPickupExperienceEvent.patch b/patches/server/PlayerPickupExperienceEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerPickupExperienceEvent.patch rename to patches/server/PlayerPickupExperienceEvent.patch diff --git a/patches/unapplied/server/PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/server/PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 100% rename from patches/unapplied/server/PlayerPickupItemEvent-setFlyAtPlayer.patch rename to patches/server/PlayerPickupItemEvent-setFlyAtPlayer.patch diff --git a/patches/unapplied/server/PlayerReadyArrowEvent.patch b/patches/server/PlayerReadyArrowEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerReadyArrowEvent.patch rename to patches/server/PlayerReadyArrowEvent.patch diff --git a/patches/unapplied/server/PlayerTeleportEndGatewayEvent.patch b/patches/server/PlayerTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/server/PlayerTeleportEndGatewayEvent.patch rename to patches/server/PlayerTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/server/PreCreatureSpawnEvent.patch b/patches/server/PreCreatureSpawnEvent.patch similarity index 95% rename from patches/unapplied/server/PreCreatureSpawnEvent.patch rename to patches/server/PreCreatureSpawnEvent.patch index a660637e5f..fdaaac47d6 100644 --- a/patches/unapplied/server/PreCreatureSpawnEvent.patch +++ b/patches/server/PreCreatureSpawnEvent.patch @@ -55,17 +55,17 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + break; + } + // Paper end - T t0 = entitytypes.create(worldserver, (CompoundTag) null, (Component) null, (Player) null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error + T t0 = entitytypes.create(worldserver, (CompoundTag) null, null, blockposition_mutableblockposition, enummobspawn, false, false); // CraftBukkit - decompile error if (t0 != null) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -0,0 +0,0 @@ public class EntityType implements EntityTypeTest { - +@@ -0,0 +0,0 @@ public class EntityType implements FeatureElement, EntityTypeT @Nullable - public T spawn(ServerLevel worldserver, @Nullable CompoundTag nbttagcompound, @Nullable Component ichatbasecomponent, @Nullable Player entityhuman, BlockPos blockposition, MobSpawnType enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { + public T spawn(ServerLevel worldserver, @Nullable CompoundTag nbttagcompound, @Nullable Consumer consumer, BlockPos blockposition, MobSpawnType enummobspawn, boolean flag, boolean flag1, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason spawnReason) { + // CraftBukkit end + // Paper start - Call PreCreatureSpawnEvent + org.bukkit.entity.EntityType type = org.bukkit.entity.EntityType.fromName(EntityType.getKey(this).getPath()); + if (type != null) { @@ -80,7 +80,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + } + } + // Paper end - T t0 = this.create(worldserver, nbttagcompound, ichatbasecomponent, entityhuman, blockposition, enummobspawn, flag, flag1); + T t0 = this.create(worldserver, nbttagcompound, consumer, blockposition, enummobspawn, flag, flag1); if (t0 != null) { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java diff --git a/patches/unapplied/server/Prevent-Frosted-Ice-from-loading-holding-chunks.patch b/patches/server/Prevent-Frosted-Ice-from-loading-holding-chunks.patch similarity index 100% rename from patches/unapplied/server/Prevent-Frosted-Ice-from-loading-holding-chunks.patch rename to patches/server/Prevent-Frosted-Ice-from-loading-holding-chunks.patch diff --git a/patches/unapplied/server/Prevent-Pathfinding-out-of-World-Border.patch b/patches/server/Prevent-Pathfinding-out-of-World-Border.patch similarity index 100% rename from patches/unapplied/server/Prevent-Pathfinding-out-of-World-Border.patch rename to patches/server/Prevent-Pathfinding-out-of-World-Border.patch diff --git a/patches/unapplied/server/Prevent-logins-from-being-processed-when-the-player-.patch b/patches/server/Prevent-logins-from-being-processed-when-the-player-.patch similarity index 97% rename from patches/unapplied/server/Prevent-logins-from-being-processed-when-the-player-.patch rename to patches/server/Prevent-logins-from-being-processed-when-the-player-.patch index 957f216834..da7c035fcb 100644 --- a/patches/unapplied/server/Prevent-logins-from-being-processed-when-the-player-.patch +++ b/patches/server/Prevent-logins-from-being-processed-when-the-player-.patch @@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListene index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements TickablePacketListener, Se +@@ -0,0 +0,0 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, } // Paper end if (this.state == ServerLoginPacketListenerImpl.State.READY_TO_ACCEPT) { diff --git a/patches/unapplied/server/Print-Error-details-when-failing-to-save-player-data.patch b/patches/server/Print-Error-details-when-failing-to-save-player-data.patch similarity index 100% rename from patches/unapplied/server/Print-Error-details-when-failing-to-save-player-data.patch rename to patches/server/Print-Error-details-when-failing-to-save-player-data.patch diff --git a/patches/unapplied/server/Profile-Lookup-Events.patch b/patches/server/Profile-Lookup-Events.patch similarity index 100% rename from patches/unapplied/server/Profile-Lookup-Events.patch rename to patches/server/Profile-Lookup-Events.patch diff --git a/patches/unapplied/server/ProfileWhitelistVerifyEvent.patch b/patches/server/ProfileWhitelistVerifyEvent.patch similarity index 100% rename from patches/unapplied/server/ProfileWhitelistVerifyEvent.patch rename to patches/server/ProfileWhitelistVerifyEvent.patch diff --git a/patches/unapplied/server/Properly-fix-item-duplication-bug.patch b/patches/server/Properly-fix-item-duplication-bug.patch similarity index 100% rename from patches/unapplied/server/Properly-fix-item-duplication-bug.patch rename to patches/server/Properly-fix-item-duplication-bug.patch diff --git a/patches/unapplied/server/Properly-handle-async-calls-to-restart-the-server.patch b/patches/server/Properly-handle-async-calls-to-restart-the-server.patch similarity index 98% rename from patches/unapplied/server/Properly-handle-async-calls-to-restart-the-server.patch rename to patches/server/Properly-handle-async-calls-to-restart-the-server.patch index 0837ad3b7b..545abd0049 100644 --- a/patches/unapplied/server/Properly-handle-async-calls-to-restart-the-server.patch +++ b/patches/server/Properly-handle-async-calls-to-restart-the-server.patch @@ -53,15 +53,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); - server.console = org.bukkit.craftbukkit.command.ColouredConsoleSender.getInstance(); - server.reader.addCompleter(new org.bukkit.craftbukkit.command.ConsoleCommandCompleter(server.server)); diff --git a/patches/unapplied/server/Use-a-Shared-Random-for-Entities.patch b/patches/server/Use-a-Shared-Random-for-Entities.patch similarity index 100% rename from patches/unapplied/server/Use-a-Shared-Random-for-Entities.patch rename to patches/server/Use-a-Shared-Random-for-Entities.patch diff --git a/patches/unapplied/server/Vanished-players-don-t-have-rights.patch b/patches/server/Vanished-players-don-t-have-rights.patch similarity index 88% rename from patches/unapplied/server/Vanished-players-don-t-have-rights.patch rename to patches/server/Vanished-players-don-t-have-rights.patch index e183611916..d34b95c8c0 100644 --- a/patches/unapplied/server/Vanished-players-don-t-have-rights.patch +++ b/patches/server/Vanished-players-don-t-have-rights.patch @@ -41,27 +41,16 @@ diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/ index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -0,0 +0,0 @@ import net.minecraft.world.level.saveddata.maps.MapItemSavedData; - import net.minecraft.world.level.storage.LevelData; - import net.minecraft.world.level.storage.WritableLevelData; - import net.minecraft.world.phys.AABB; -+import net.minecraft.world.phys.shapes.BooleanOp; -+import net.minecraft.world.phys.shapes.CollisionContext; -+import net.minecraft.world.phys.shapes.Shapes; -+import net.minecraft.world.phys.shapes.VoxelShape; - import net.minecraft.world.scores.Scoreboard; - - // CraftBukkit start @@ -0,0 +0,0 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.tileLimiter = new org.spigotmc.TickLimiter(spigotConfig.tileMaxTickTime); } + // Paper start + // ret true if no collision -+ public final boolean checkEntityCollision(BlockState data, Entity source, CollisionContext voxelshapedcollision, ++ public final boolean checkEntityCollision(BlockState data, Entity source, net.minecraft.world.phys.shapes.CollisionContext voxelshapedcollision, + BlockPos position, boolean checkCanSee) { + // Copied from IWorldReader#a(IBlockData, BlockPosition, VoxelShapeCollision) & EntityAccess#a(Entity, VoxelShape) -+ VoxelShape voxelshape = data.getCollisionShape(this, position, voxelshapedcollision); ++ net.minecraft.world.phys.shapes.VoxelShape voxelshape = data.getCollisionShape(this, position, voxelshapedcollision); + if (voxelshape.isEmpty()) { + return true; + } @@ -87,7 +76,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 + continue; + } + -+ if (Shapes.joinIsNotEmpty(voxelshape, Shapes.create(entity.getBoundingBox()), BooleanOp.AND)) { ++ if (net.minecraft.world.phys.shapes.Shapes.joinIsNotEmpty(voxelshape, net.minecraft.world.phys.shapes.Shapes.create(entity.getBoundingBox()), net.minecraft.world.phys.shapes.BooleanOp.AND)) { + return false; + } + } diff --git a/patches/unapplied/server/Vex-get-setSummoner-API.patch b/patches/server/Vex-get-setSummoner-API.patch similarity index 100% rename from patches/unapplied/server/Vex-get-setSummoner-API.patch rename to patches/server/Vex-get-setSummoner-API.patch diff --git a/patches/unapplied/server/WitchConsumePotionEvent.patch b/patches/server/WitchConsumePotionEvent.patch similarity index 100% rename from patches/unapplied/server/WitchConsumePotionEvent.patch rename to patches/server/WitchConsumePotionEvent.patch diff --git a/patches/unapplied/server/WitchReadyPotionEvent.patch b/patches/server/WitchReadyPotionEvent.patch similarity index 100% rename from patches/unapplied/server/WitchReadyPotionEvent.patch rename to patches/server/WitchReadyPotionEvent.patch diff --git a/patches/unapplied/server/WitchThrowPotionEvent.patch b/patches/server/WitchThrowPotionEvent.patch similarity index 100% rename from patches/unapplied/server/WitchThrowPotionEvent.patch rename to patches/server/WitchThrowPotionEvent.patch diff --git a/patches/unapplied/server/add-more-information-to-Entity.toString.patch b/patches/server/add-more-information-to-Entity.toString.patch similarity index 100% rename from patches/unapplied/server/add-more-information-to-Entity.toString.patch rename to patches/server/add-more-information-to-Entity.toString.patch diff --git a/patches/unapplied/server/getPlayerUniqueId-API.patch b/patches/server/getPlayerUniqueId-API.patch similarity index 100% rename from patches/unapplied/server/getPlayerUniqueId-API.patch rename to patches/server/getPlayerUniqueId-API.patch diff --git a/patches/unapplied/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch similarity index 100% rename from patches/unapplied/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch rename to patches/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch diff --git a/patches/unapplied/server/handle-ServerboundKeepAlivePacket-async.patch b/patches/server/handle-ServerboundKeepAlivePacket-async.patch similarity index 100% rename from patches/unapplied/server/handle-ServerboundKeepAlivePacket-async.patch rename to patches/server/handle-ServerboundKeepAlivePacket-async.patch diff --git a/patches/unapplied/server/provide-a-configurable-option-to-disable-creeper-lin.patch b/patches/server/provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 100% rename from patches/unapplied/server/provide-a-configurable-option-to-disable-creeper-lin.patch rename to patches/server/provide-a-configurable-option-to-disable-creeper-lin.patch diff --git a/patches/unapplied/server/remove-null-possibility-for-getServer-singleton.patch b/patches/server/remove-null-possibility-for-getServer-singleton.patch similarity index 82% rename from patches/unapplied/server/remove-null-possibility-for-getServer-singleton.patch rename to patches/server/remove-null-possibility-for-getServer-singleton.patch index 50119dd9be..52159675ba 100644 --- a/patches/unapplied/server/remove-null-possibility-for-getServer-singleton.patch +++ b/patches/server/remove-null-possibility-for-getServer-singleton.patch @@ -19,7 +19,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop registryreadops, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { + public MinecraftServer(OptionSet options, WorldLoader.DataLoadContext worldLoader, Thread thread, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PackRepository resourcepackrepository, WorldStem worldstem, Proxy proxy, DataFixer datafixer, Services services, ChunkProgressListenerFactory worldloadlistenerfactory) { super("Server"); + SERVER = this; // Paper - better singleton this.metricsRecorder = InactiveMetricsRecorder.INSTANCE; diff --git a/patches/unapplied/server/revert-serverside-behavior-of-keepalives.patch b/patches/server/revert-serverside-behavior-of-keepalives.patch similarity index 96% rename from patches/unapplied/server/revert-serverside-behavior-of-keepalives.patch rename to patches/server/revert-serverside-behavior-of-keepalives.patch index 002b5fd80a..e881934b0b 100644 --- a/patches/unapplied/server/revert-serverside-behavior-of-keepalives.patch +++ b/patches/server/revert-serverside-behavior-of-keepalives.patch @@ -30,8 +30,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000 private long keepAliveChallenge; // CraftBukkit start - multithreaded fields @@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic - private final SignedMessageChain.Decoder signedMessageDecoder; - private final LastSeenMessagesValidator lastSeenMessagesValidator; + private final LastSeenMessagesValidator lastSeenMessages; + private final MessageSignatureCache messageSignatureCache; private final FutureChain chatMessageChain; + private static final long KEEPALIVE_LIMIT = Long.getLong("paper.playerconnection.keepalive", 30) * 1000; // Paper - provide property to set keepalive limit diff --git a/patches/unapplied/server/use-CB-BlockState-implementations-for-captured-block.patch b/patches/server/use-CB-BlockState-implementations-for-captured-block.patch similarity index 100% rename from patches/unapplied/server/use-CB-BlockState-implementations-for-captured-block.patch rename to patches/server/use-CB-BlockState-implementations-for-captured-block.patch