From d280061a1a038ef5b24fa3d036819ef034b958db Mon Sep 17 00:00:00 2001 From: Noah van der Aa Date: Tue, 22 Oct 2024 19:28:57 +0200 Subject: [PATCH] First batch of server patches --- build.gradle.kts | 2 +- .../server/0001-Setup-Gradle-project.patch | 117 +++++- .../0002-Remap-fixes.patch | 12 +- .../0003-Build-system-changes.patch | 12 +- .../0004-Test-changes.patch | 38 +- .../0005-Paper-config-files.patch | 50 +-- .../0006-MC-Dev-fixes.patch | 30 +- .../0007-ConcurrentUtil.patch | 0 .../{unapplied => server}/0008-CB-fixes.patch | 16 +- .../{unapplied => server}/0009-MC-Utils.patch | 275 ++++++------ .../0010-Adventure.patch | 231 +++++----- ...oleAppender-for-console-improvements.patch | 38 +- ...n-prefixes-using-Log4J-configuration.patch | 2 +- ...e-Log4J-Configuration-Plugin-Loggers.patch | 0 ...r-to-keep-logging-IO-off-main-thread.patch | 6 +- ...ktraces-in-log-messages-crash-report.patch | 8 +- ...s-to-contain-the-source-jars-in-stac.patch | 0 .../0017-Paper-command.patch | 10 +- .../0018-Paper-Metrics.patch | 6 +- .../0019-Paper-Plugins.patch | 28 +- .../0020-Plugin-remapping.patch | 20 +- .../0021-Hook-into-CB-plugin-rewrites.patch | 0 ...ion-calls-in-plugins-using-internals.patch | 8 +- .../0023-Timings-v2.patch | 394 +++++++++--------- ...024-Further-improve-server-tick-loop.patch | 22 +- ...-option-to-load-extra-plugin-jars-no.patch | 6 +- .../0026-Support-components-in-ItemMeta.patch | 10 +- ...cactus-bamboo-and-reed-growth-height.patch | 18 +- ...figurable-baby-zombie-movement-speed.patch | 6 +- ...029-Configurable-fishing-time-ranges.patch | 8 +- .../0030-Allow-nerfed-mobs-to-jump.patch | 8 +- ...onfigurable-entity-despawn-distances.patch | 0 ...ck-and-tnt-entities-at-the-specified.patch | 0 ...0033-Expose-server-build-information.patch | 0 .../0034-Player-affects-spawning-API.patch | 0 ...035-Only-refresh-abilities-if-needed.patch | 0 .../{ => server}/0036-Entity-Origin-API.patch | 0 ...vent-block-entity-and-entity-crashes.patch | 0 ...nfigurable-top-of-nether-void-damage.patch | 0 ...e-before-converting-and-renaming-pla.patch | 0 ...ties-to-activation-range-ignore-list.patch | 0 .../0041-Configurable-end-credits.patch | 0 ...-explosions-processing-dead-entities.patch | 0 .../0043-Optimize-explosions.patch | 0 .../0044-Disable-explosion-knockback.patch | 0 .../{ => server}/0045-Disable-thunder.patch | 0 .../0046-Disable-ice-and-snow.patch | 0 ...7-Configurable-mob-spawner-tick-rate.patch | 0 .../0048-Use-null-Locale-by-default.patch | 0 .../0049-Add-BeaconEffectEvent.patch | 0 ...figurable-container-update-tick-rate.patch | 0 .../0051-Use-UserCache-for-player-heads.patch | 0 .../0052-Disable-spigot-tick-limiters.patch | 0 ...awn-location-event-changing-location.patch | 0 ...urable-Disabling-Cat-Chest-Detection.patch | 0 ...055-Improve-Player-chat-API-handling.patch | 0 ...chunks-are-slime-spawn-chunks-toggle.patch | 0 .../0057-Expose-server-CommandMap.patch | 0 ...e-informative-in-maxHealth-exception.patch | 0 .../0059-Player-Tab-List-and-Title-APIs.patch | 0 ...dd-configurable-portal-search-radius.patch | 0 .../0061-Add-velocity-warnings.patch | 0 .../0062-Add-exception-reporting-event.patch | 0 ...oreboards-for-non-players-by-default.patch | 0 ...working-with-arrows-stuck-in-living-.patch | 0 .../0065-Chunk-Save-Reattempt.patch | 0 .../0066-Complete-resource-pack-API.patch | 0 ...ading-permissions.yml-before-plugins.patch | 0 ...llow-Reloading-of-Custom-Permissions.patch | 0 .../0069-Remove-Metadata-on-reload.patch | 0 ...070-Handle-Item-Meta-Inconsistencies.patch | 0 ...urable-Non-Player-Arrow-Despawn-Rate.patch | 0 .../0072-Add-World-Util-Methods.patch | 0 ...3-Custom-replacement-for-eaten-items.patch | 0 ...th-absorb-values-and-repair-bad-data.patch | 0 ...075-Use-a-Shared-Random-for-Entities.patch | 0 ...le-spawn-chances-for-skeleton-horses.patch | 0 ...ckPhysicsEvent-if-a-plugin-has-a-lis.patch | 0 ...Entity-AddTo-RemoveFrom-World-Events.patch | 0 ...79-Configurable-Chunk-Inhabited-Time.patch | 0 .../0080-EntityPathfindEvent.patch | 0 ...egionFileCache-and-make-configurable.patch | 0 ...2-Do-not-load-chunks-for-Pathfinding.patch | 0 ...0083-Add-PlayerUseUnknownEntityEvent.patch | 0 ...gurable-random-tick-rates-for-blocks.patch | 0 ...g-BlockPlaceEvent-triggering-physics.patch | 0 .../{ => server}/0086-Optimize-DataBits.patch | 0 ...nilla-per-world-scoreboard-coloring-.patch | 0 .../0088-Configurable-Player-Collision.patch | 0 ...ent-to-allow-plugins-to-handle-clien.patch | 0 .../0090-Configurable-RCON-IP-address.patch | 0 ...ityRegainHealthEvent-isFastRegen-API.patch | 0 ...-to-configure-frosted_ice-properties.patch | 0 ...-possibility-for-getServer-singleton.patch | 0 ...y-scoreboard-teams-to-scoreboard.dat.patch | 0 ...able-API-and-replenishable-lootables.patch | 0 ...tem-property-for-disabling-watchdoge.patch | 0 .../0097-Async-GameProfileCache-saving.patch | 0 ...8-Optional-TNT-doesn-t-move-in-water.patch | 0 ...r-redstone-torch-rapid-clock-removal.patch | 0 .../0100-Add-server-name-parameter.patch | 0 .../0101-Fix-global-sound-handling.patch | 0 ...blocking-on-Network-Manager-creation.patch | 0 ...e-profiles-that-have-no-UUID-and-no-.patch | 0 ...setting-for-proxy-online-mode-status.patch | 0 ...ptimise-BlockState-s-hashCode-equals.patch | 0 ...onfigurable-packet-in-spam-threshold.patch | 0 ...07-Configurable-flying-kick-messages.patch | 0 .../0108-Add-EntityZapEvent.patch | 0 ...-entity-nbt-data-from-falling-blocks.patch | 0 ...110-Cache-user-authenticator-threads.patch | 0 ...1-Allow-Reloading-of-Command-Aliases.patch | 0 ...2-Add-source-to-PlayerExpChangeEvent.patch | 0 .../0113-Add-ProjectileCollideEvent.patch | 0 ...vent-Pathfinding-out-of-World-Border.patch | 0 ...ize-Level.hasChunkAt-BlockPosition-Z.patch | 0 ...-Bound-Treasure-Maps-to-World-Border.patch | 0 ...figurable-Cartographer-Treasure-Maps.patch | 0 ...-to-control-if-armor-stands-can-move.patch | 0 .../0119-String-based-Action-Bar-API.patch | 0 ...20-Properly-fix-item-duplication-bug.patch | 0 .../{ => server}/0121-Firework-API-s.patch | 0 .../0122-PlayerTeleportEndGatewayEvent.patch | 0 ...rovide-E-TE-Chunk-count-stat-methods.patch | 0 .../0124-Enforce-Sync-Player-Saves.patch | 0 ...PI-for-Reason-Source-Triggering-play.patch | 0 .../0126-Cap-Entity-Collisions.patch | 0 ...e-CraftScheduler-Async-Task-Debugger.patch | 0 ...le-async-calls-to-restart-the-server.patch | 0 ...ke-parrots-stay-on-shoulders-despite.patch | 0 ...n-option-to-prevent-player-names-fro.patch | 0 ...urable-option-to-disable-creeper-lin.patch | 0 .../0132-Item-canEntityPickup.patch | 0 ...PlayerPickupItemEvent-setFlyAtPlayer.patch | 0 .../0134-PlayerAttemptPickupItemEvent.patch | 0 ...-profile-lookups-to-worldgen-threads.patch | 0 .../0136-Basic-PlayerProfile-API.patch | 0 .../0137-Add-UnknownCommandEvent.patch | 0 .../0138-Shoulder-Entities-Release-API.patch | 0 .../0139-Profile-Lookup-Events.patch | 0 ...player-logins-during-server-shutdown.patch | 0 .../0141-Entity-fromMobSpawner.patch | 0 ...42-Improve-the-Saddle-API-for-Horses.patch | 0 .../0143-ensureServerConversions-API.patch | 0 .../0144-Implement-getI18NDisplayName.patch | 0 .../0145-ProfileWhitelistVerifyEvent.patch | 0 .../0146-Fix-this-stupid-bullshit.patch | 0 .../0147-LivingEntity-setKiller.patch | 0 ...awns-should-honor-nametags-and-leash.patch | 0 ...imer-when-spawner-event-is-cancelled.patch | 0 ...-a-custom-authentication-servers-dow.patch | 0 .../0151-Add-PlayerJumpEvent.patch | 0 ...dle-ServerboundKeepAlivePacket-async.patch | 0 ...nt-protocol-version-and-virtual-host.patch | 0 ...rt-serverside-behavior-of-keepalives.patch | 0 ...dEffects-only-to-players-who-can-see.patch | 0 .../0156-Add-PlayerArmorChangeEvent.patch | 0 ...rom-being-processed-when-the-player-.patch | 0 ...117075-Block-entity-unload-lag-spike.patch | 0 ...e-implementations-for-captured-block.patch | 0 ...-get-a-BlockState-without-a-snapshot.patch | 0 .../0161-AsyncTabCompleteEvent.patch | 0 .../0162-PlayerPickupExperienceEvent.patch | 0 ...3-Ability-to-apply-mending-to-XP-API.patch | 0 ...4-PlayerNaturallySpawnCreaturesEvent.patch | 0 ...-Add-setPlayerProfile-API-for-Skulls.patch | 0 .../0166-PreCreatureSpawnEvent.patch | 0 .../0167-Fill-Profile-Property-Events.patch | 0 ...PlayerAdvancementCriterionGrantEvent.patch | 0 .../0169-Add-ArmorStand-Item-Meta.patch | 0 ...-Extend-Player-Interact-cancellation.patch | 0 .../0171-Tameable-getOwnerUniqueId-API.patch | 0 .../0172-Toggleable-player-crits.patch | 0 ...le-Explicit-Network-Manager-Flushing.patch | 0 ...nt-extended-PaperServerListPingEvent.patch | 0 ...dd-more-fields-to-AsyncPreLoginEvent.patch | 0 .../0176-Player.setPlayerProfile-API.patch | 0 .../0177-getPlayerUniqueId-API.patch | 0 .../0178-Improved-Async-Task-Scheduler.patch | 0 ...ke-legacy-ping-handler-more-reliable.patch | 0 ...ServerListPingEvent-for-legacy-pings.patch | 0 ...81-Flag-to-disable-the-channel-limit.patch | 0 ...2-Add-openSign-method-to-HumanEntity.patch | 0 ...urable-sprint-interruption-on-attack.patch | 0 .../0184-EndermanEscapeEvent.patch | 0 .../0185-Enderman.teleportRandomly.patch | 0 ...0186-Block-Enderpearl-Travel-Exploit.patch | 0 ...ld.spawnParticle-API-and-add-Builder.patch | 0 ...-allowed-colored-signs-to-be-created.patch | 0 .../0189-EndermanAttackPlayerEvent.patch | 0 .../0190-WitchConsumePotionEvent.patch | 0 .../0191-WitchThrowPotionEvent.patch | 0 .../0192-WitchReadyPotionEvent.patch | 0 ...0193-ItemStack-getMaxItemUseDuration.patch | 0 ...94-Add-EntityTeleportEndGatewayEvent.patch | 0 ...ed-flag-on-cancel-of-Explosion-Event.patch | 0 .../0196-Fix-CraftEntity-hashCode.patch | 0 ...7-Configurable-LootPool-luck-formula.patch | 0 ...ils-when-failing-to-save-player-data.patch | 0 ...e-shield-blocking-delay-configurable.patch | 0 .../0200-Improve-EntityShootBowEvent.patch | 0 .../0201-PlayerReadyArrowEvent.patch | 0 .../0202-Add-entity-knockback-events.patch | 0 .../0203-Expand-Explosions-API.patch | 0 .../0204-LivingEntity-Active-Item-API.patch | 0 .../{ => server}/0205-RangedEntity-API.patch | 0 ...to-disable-ender-dragon-legacy-check.patch | 0 ...7-Implement-World.getEntity-UUID-API.patch | 0 .../0208-InventoryCloseEvent-Reason-API.patch | 0 .../0209-Vex-get-setSummoner-API.patch | 0 ...-more-information-to-Entity.toString.patch | 0 .../0211-EnderDragon-Events.patch | 0 .../0212-PlayerElytraBoostEvent.patch | 0 .../0213-PlayerLaunchProjectileEvent.patch | 0 .../0214-Improve-BlockPosition-inlining.patch | 0 ...t-armor-stands-from-doing-entity-loo.patch | 0 ...6-Vanished-players-don-t-have-rights.patch | 0 ...-Allow-disabling-armor-stand-ticking.patch | 0 .../0218-SkeletonHorse-Additions.patch | 0 .../0219-Expand-ArmorStand-API.patch | 0 .../{ => server}/0220-AnvilDamageEvent.patch | 0 .../{ => server}/0221-Add-TNTPrimeEvent.patch | 0 ...nd-make-tab-spam-limits-configurable.patch | 0 .../0223-Fix-NBT-type-issues.patch | 0 ...Remove-unnecessary-itemmeta-handling.patch | 0 ...ies-option-to-debug-dupe-uuid-issues.patch | 0 ...dd-Early-Warning-Feature-to-WatchDog.patch | 0 ...27-Use-ConcurrentHashMap-in-JsonList.patch | 0 ...28-Use-a-Queue-for-Queueing-Commands.patch | 0 ...lock-entities-from-a-chunk-without-s.patch | 0 ...ptimize-BlockPosition-helper-methods.patch | 0 ...default-mob-spawn-range-and-water-an.patch | 0 .../0232-Slime-Pathfinder-Events.patch | 0 ...le-speed-for-water-flowing-over-lava.patch | 0 ...234-Optimize-CraftBlockData-Creation.patch | 0 .../0235-Optimize-MappedRegistry.patch | 0 .../0236-Add-PhantomPreSpawnEvent.patch | 0 .../0237-Add-More-Creeper-API.patch | 0 .../0238-Inventory-removeItemAnySlot.patch | 0 ...loadChunk-int-int-false-load-unconve.patch | 0 ...-ray-tracing-methods-to-LivingEntity.patch | 0 ...e-attack-cooldown-methods-for-Player.patch | 0 .../0242-Improve-death-events.patch | 0 ...ow-chests-to-be-placed-with-NBT-data.patch | 0 .../0244-Mob-Pathfinding-API.patch | 0 ...interactions-from-causing-chunk-load.patch | 0 ...wning-from-loading-generating-chunks.patch | 0 ...nt-furnace-cook-speed-multiplier-API.patch | 0 .../0248-Honor-EntityAgeable.ageLock.patch | 0 ...ble-connection-throttle-kick-message.patch | 0 ...ent-chunk-loading-from-Fluid-Flowing.patch | 0 .../0251-PreSpawnerSpawnEvent.patch | 0 ...252-Add-LivingEntity-getTargetEntity.patch | 0 .../0253-Add-sun-related-API.patch | 0 .../{ => server}/0254-Turtle-API.patch | 0 ...tator-target-events-and-improve-impl.patch | 0 .../0256-Add-more-Witch-API.patch | 0 ...owned-for-Villager-Aggression-Config.patch | 0 ...event-players-from-moving-into-unloa.patch | 0 ...59-Reset-players-airTicks-on-respawn.patch | 0 ...-after-profile-lookups-if-not-needed.patch | 0 ...er-Thread-Pool-and-Thread-Priorities.patch | 0 .../0262-Optimize-World-Time-Updates.patch | 0 ...store-custom-InventoryHolder-support.patch | 0 .../0264-Fix-SpongeAbsortEvent-handling.patch | 0 ...t-allow-digging-into-unloaded-chunks.patch | 0 ...ault-permission-message-configurable.patch | 0 ...entity-dismount-during-teleportation.patch | 0 .../0268-Add-more-Zombie-API.patch | 0 .../{ => server}/0269-Book-size-limits.patch | 0 .../0270-Add-PlayerConnectionCloseEvent.patch | 0 ...-Replace-OfflinePlayer-getLastPlayed.patch | 0 ...vehicle-tracking-issue-on-disconnect.patch | 0 ...r-remove-if-the-handle-is-a-custom-p.patch | 0 .../{ => server}/0274-BlockDestroyEvent.patch | 0 .../0275-Async-command-map-building.patch | 0 .../0276-Brigadier-Mojang-API.patch | 0 ...rove-exact-choice-recipe-ingredients.patch | 0 .../0278-Limit-Client-Sign-length-more.patch | 0 ...oggleEvent-when-whitelist-is-toggled.patch | 0 ...nd-additions-to-the-spawn-reason-API.patch | 0 .../0281-Fire-event-on-GS4-query.patch | 0 .../0282-Add-PlayerPostRespawnEvent.patch | 0 .../0283-Server-Tick-Events.patch | 0 ...0284-PlayerDeathEvent-getItemsToKeep.patch | 0 ...Optimize-Captured-BlockEntity-Lookup.patch | 0 .../0286-Mob-Spawner-API-Enhancements.patch | 0 ...l-to-changed-postToMainThread-method.patch | 0 ...n-item-frames-are-modified-MC-123450.patch | 0 .../0289-Implement-CraftBlockSoundGroup.patch | 0 ...290-Expose-the-internal-current-tick.patch | 0 ...ate-location-if-we-failed-to-read-it.patch | 0 ...al-Spawned-mobs-towards-natural-spaw.patch | 0 ...gurable-projectile-relative-velocity.patch | 0 .../0294-offset-item-frame-ticking.patch | 0 ...revent-consuming-the-wrong-itemstack.patch | 0 ...96-Dont-send-unnecessary-sign-update.patch | 0 ...d-option-to-disable-pillager-patrols.patch | 0 ...nk-loads-when-villagers-try-to-find-.patch | 0 ...5656-Fix-Follow-Range-Initial-Target.patch | 0 .../0300-Duplicate-UUID-Resolve-Option.patch | 0 ...layerDeathEvent-shouldDropExperience.patch | 0 ...oading-chunks-checking-hive-position.patch | 0 ...Chunks-from-Hoppers-and-other-things.patch | 0 ...ptimise-EntityGetter-getPlayerByUUID.patch | 0 ...0305-Fix-items-not-falling-correctly.patch | 0 ...mize-call-to-getFluid-for-explosions.patch | 0 ...rializing-mismatching-chunk-coordina.patch | 0 .../0308-Alternative-item-despawn-rate.patch | 0 .../0309-Tracking-Range-Improvements.patch | 0 ...get-gravity-in-void.-Fixes-MC-167279.patch | 0 ...311-Improve-Block-breakNaturally-API.patch | 0 ...e-getChunkAt-calls-for-loaded-chunks.patch | 0 .../0313-Add-debug-for-sync-chunk-loads.patch | 0 .../0314-Improve-java-version-check.patch | 0 .../0315-Add-ThrownEggHatchEvent.patch | 0 .../{ => server}/0316-Entity-Jump-API.patch | 0 ...n-to-nerf-pigmen-from-nether-portals.patch | 0 .../0318-Make-the-GUI-graph-fancier.patch | 0 ...319-add-hand-to-BlockMultiPlaceEvent.patch | 0 ...ripwire-hook-placement-before-update.patch | 0 ...to-allow-iron-golems-to-spawn-in-air.patch | 0 ...-chance-of-villager-zombie-infection.patch | 0 .../0323-Optimise-Chunk-getFluid.patch | 0 ...erbose-world-setting-to-false-by-def.patch | 0 ...-Add-tick-times-API-and-mspt-command.patch | 0 ...326-Expose-MinecraftServer-isRunning.patch | 0 ...Add-Raw-Byte-ItemStack-Serialization.patch | 0 ...spawn-settings-and-per-player-option.patch | 0 ...nnections-shouldn-t-hold-up-shutdown.patch | 0 ...low-bees-to-load-chunks-for-beehives.patch | 0 ...-PlayerChunkMap-adds-crashing-server.patch | 0 .../0332-Don-t-tick-dead-players.patch | 0 ...d-Player-s-shouldn-t-be-able-to-move.patch | 0 ...move-existing-players-to-world-spawn.patch | 0 .../0335-Optimize-Pathfinding.patch | 0 ...36-Reduce-Either-Optional-allocation.patch | 0 ...duce-memory-footprint-of-CompoundTag.patch | 0 ...vent-opening-inventories-when-frozen.patch | 0 ...-entity-collision-code-if-not-needed.patch | 0 ...-Implement-Player-Client-Options-API.patch | 0 ...layer-is-attempted-to-be-removed-fro.patch | 0 ...nEvent-when-Player-is-actually-ready.patch | 0 ...pawn-point-if-spawn-in-unloaded-worl.patch | 0 ...PlayerAttackEntityCooldownResetEvent.patch | 0 ...t-fire-BlockFade-on-worldgen-threads.patch | 0 ...ntom-creative-and-insomniac-controls.patch | 0 ...item-duplication-and-teleport-issues.patch | 0 .../0348-Villager-Restocks-API.patch | 0 ...PickItem-Packet-and-kick-for-invalid.patch | 0 ...-per-thread-native-byte-buffer-cache.patch | 0 .../0351-misc-debugging-dumps.patch | 0 ...52-Prevent-teleporting-dead-entities.patch | 0 .../0353-Implement-Mob-Goal-API.patch | 0 .../0354-Add-villager-reputation-API.patch | 0 ...ceOrb-merging-stacking-API-and-fixes.patch | 0 ...6-Fix-PotionEffect-ignores-icon-flag.patch | 0 .../{ => server}/0357-Potential-bed-API.patch | 0 ...Wait-for-Async-Tasks-during-shutdown.patch | 0 ...der-respects-game-and-entity-rules-f.patch | 0 ...n-for-console-having-all-permissions.patch | 0 ...ix-villager-trading-demand-MC-163962.patch | 0 .../0362-Maps-shouldn-t-load-chunks.patch | 0 ...ookup-for-Treasure-Maps-Fixes-lag-fr.patch | 0 ...er-runTaskTimerAsynchronously-Plugin.patch | 0 ...ston-physics-inconsistency-MC-188840.patch | 0 ...ssing-chunks-due-to-integer-overflow.patch | 0 ...t-position-desync-causing-tp-exploit.patch | 0 ...Holder-method-without-block-snapshot.patch | 0 .../0369-Add-PlayerRecipeBookClickEvent.patch | 0 ...0-Hide-sync-chunk-writes-behind-flag.patch | 0 ...71-Add-permission-for-command-blocks.patch | 0 ...-position-and-AABB-are-never-invalid.patch | 0 ...ld-Difficulty-Remembering-Difficulty.patch | 0 .../0374-Paper-dumpitem-command.patch | 0 ...-Legacy-Component-serialization-size.patch | 0 ...-Plugin-Tickets-to-API-Chunk-Methods.patch | 0 ...7-Add-BlockStateMeta-clearBlockState.patch | 0 ...nvert-legacy-attributes-in-Item-Meta.patch | 0 ...o-not-accept-invalid-client-settings.patch | 0 ...ve-fix-EntityTargetLivingEntityEvent.patch | 0 .../0381-Add-entity-liquid-API.patch | 0 .../0382-Add-PrepareResultEvent.patch | 0 ...k-for-portal-on-world-gen-entity-add.patch | 0 ...ix-arrows-never-despawning-MC-125757.patch | 0 ...-Vanilla-Command-permission-checking.patch | 0 ...4-Bukkit-world-container-is-not-used.patch | 0 ...-5885-Unable-to-disable-advancements.patch | 0 ...ataPlayer-leak-due-from-quitting-ear.patch | 0 ...ze-NetworkManager-Exception-Handling.patch | 0 ...Fix-some-rails-connecting-improperly.patch | 0 ...istake-in-CB-NBT-int-deserialization.patch | 0 .../{ => server}/0392-Brand-support.patch | 0 ...yPickupItemAnimation-to-LivingEntity.patch | 0 .../0394-Don-t-require-FACING-data.patch | 0 ...geEvent-not-firing-for-all-use-cases.patch | 0 .../0396-Add-moon-phase-API.patch | 0 ...erver-load-chunks-from-newer-version.patch | 0 ...-headless-pistons-from-being-created.patch | 0 .../{ => server}/0399-Add-BellRingEvent.patch | 0 ...Add-zombie-targets-turtle-egg-config.patch | 0 .../0401-Buffer-joins-to-world.patch | 0 ...rs-not-working-in-some-kick-messages.patch | 0 .../0403-Add-more-Evoker-API.patch | 0 ...-Add-methods-to-get-translation-keys.patch | 0 ...ate-HoverEvent-from-ItemStack-Entity.patch | 0 .../0406-Cache-block-data-strings.patch | 0 ...ortation-and-cancel-velocity-if-tele.patch | 0 ...al-open-container-api-to-HumanEntity.patch | 0 ...taFixerUpper-Rewrite-Rules-on-demand.patch | 0 ...p-capture-to-capture-all-items-added.patch | 0 ...y-Counter-to-allow-plugins-to-use-va.patch | 0 ...-track-plugin-scoreboards-by-default.patch | 0 .../{ => server}/0413-Entity-isTicking.patch | 0 ...-non-whitelisted-player-when-white-l.patch | 0 ...x-Concurrency-issue-in-ShufflingList.patch | 0 ...Reset-Ender-Crystals-on-Dragon-Spawn.patch | 0 ...r-large-move-vectors-crashing-server.patch | 0 .../0418-Optimise-getType-calls.patch | 0 .../0419-Villager-resetOffers.patch | 0 ...ace-order-when-capturing-blockstates.patch | 0 ...tem-locations-dropped-from-campfires.patch | 0 ...22-Fix-bell-block-entity-memory-leak.patch | 0 ...ling-up-when-item-stack-is-empty-in-.patch | 0 ...-Add-getOfflinePlayerIfCached-String.patch | 0 .../0425-Add-ignore-discounts-API.patch | 0 ...-Toggle-for-removing-existing-dragon.patch | 0 ...ix-client-lag-on-advancement-loading.patch | 0 .../0428-Item-no-age-no-player-pickup.patch | 0 ...0429-Beacon-API-custom-effect-ranges.patch | 0 .../0430-Add-API-for-quit-reason.patch | 0 ...ing-Trader-spawn-rate-config-options.patch | 0 .../0432-Add-Destroy-Speed-API.patch | 0 ...r-spawnParticle-x-y-z-precision-loss.patch | 0 ...434-Add-LivingEntity-clearActiveItem.patch | 0 .../0435-Add-PlayerItemCooldownEvent.patch | 0 ...prove-performance-of-the-end-generat.patch | 0 .../0437-More-lightning-API.patch | 0 ...-should-not-bypass-cramming-gamerule.patch | 0 ...d-missing-default-perms-for-commands.patch | 0 .../0440-Add-PlayerShearBlockEvent.patch | 0 .../0441-Limit-recipe-packets.patch | 0 ...x-CraftSound-backwards-compatibility.patch | 0 ...0443-Player-Chunk-Load-Unload-Events.patch | 0 ...44-Optimize-Dynamic-get-Missing-Keys.patch | 0 ...5-Expose-LivingEntity-hurt-direction.patch | 0 ...-OBSTRUCTED-reason-to-BedEnterResult.patch | 0 ...nvalid-ingredient-lists-in-VillagerA.patch | 0 .../0448-Add-TargetHitEvent.patch | 0 .../0449-MC-4-Fix-item-position-desync.patch | 0 .../0450-Additional-Block-Material-API.patch | 0 .../0451-Fix-harming-potion-dupe.patch | 0 ...et-Material-from-Boats-and-Minecarts.patch | 0 ...mob-spawner-spawn-egg-transformation.patch | 0 ...Fix-Not-a-string-Map-Conversion-spam.patch | 0 ...5-Add-PlayerFlowerPotManipulateEvent.patch | 0 ...act-event-not-being-called-sometimes.patch | 0 .../0457-Zombie-API-breaking-doors.patch | 0 ...0458-Fix-nerfed-slime-when-splitting.patch | 0 .../0459-Add-EntityLoadCrossbowEvent.patch | 0 .../0460-Add-WorldGameRuleChangeEvent.patch | 0 ...461-Add-ServerResourcesReloadedEvent.patch | 0 ...ld-settings-for-mobs-picking-up-loot.patch | 0 .../0463-Add-BlockFailedDispenseEvent.patch | 0 ...464-Add-PlayerLecternPageChangeEvent.patch | 0 ...465-Add-PlayerLoomPatternSelectEvent.patch | 0 ...onfigurable-door-breaking-difficulty.patch | 0 ...pty-commands-shall-not-be-dispatched.patch | 0 .../{ => server}/0468-Remove-stale-POIs.patch | 0 .../0469-Fix-villager-boat-exploit.patch | 0 .../0470-Add-sendOpLevel-API.patch | 0 ...gistryAccess-for-managing-Registries.patch | 0 .../0472-Add-StructuresLocateEvent.patch | 0 ...n-for-requiring-a-player-participant.patch | 0 ...onent-with-empty-text-instead-of-thr.patch | 0 ...0475-Make-schedule-command-per-world.patch | 0 ...0476-Configurable-max-leash-distance.patch | 0 .../0477-Add-BlockPreDispenseEvent.patch | 0 ...78-Add-PlayerChangeBeaconEffectEvent.patch | 0 ...le-for-always-placing-the-dragon-egg.patch | 0 ...d-PlayerStonecutterRecipeSelectEvent.patch | 0 .../0481-Expand-EntityUnleashEvent.patch | 0 ...-shield-blocking-on-dimension-change.patch | 0 .../0483-Add-DragonEggFormEvent.patch | 0 .../0484-Add-EntityMoveEvent.patch | 0 ...disable-pathfinding-updates-on-block.patch | 0 .../0486-Inline-shift-direction-fields.patch | 0 ...w-adding-items-to-BlockDropItemEvent.patch | 0 ...ainThreadExecutor-to-BukkitScheduler.patch | 0 ...-entity-allow-attribute-registration.patch | 0 ...fix-dead-slime-setSize-invincibility.patch | 0 ...ipes-should-return-an-immutable-list.patch | 0 .../0492-Expose-Tracked-Players.patch | 0 .../{ => server}/0493-Improve-ServerGUI.patch | 0 ...0494-fix-converting-txt-to-json-file.patch | 0 .../0495-Add-worldborder-events.patch | 0 .../0496-Add-PlayerNameEntityEvent.patch | 0 .../0497-Add-recipe-to-cook-events.patch | 0 .../0498-Add-Block-isValidTool.patch | 0 ...-using-signs-inside-spawn-protection.patch | 0 .../0500-Expand-world-key-API.patch | 0 ...lternative-constructor-for-Rotations.patch | 0 ...ed-item-when-player-has-disconnected.patch | 0 ...telist-use-configurable-kick-message.patch | 0 ...ignore-result-of-PlayerEditBookEvent.patch | 0 .../0505-Expose-protocol-version.patch | 0 ...tab-completions-for-brigadier-comman.patch | 0 ...ItemConsumeEvent-cancelling-properly.patch | 0 .../0508-Add-bypass-host-check.patch | 0 .../0509-Set-area-affect-cloud-rotation.patch | 0 ...-add-isDeeplySleeping-to-HumanEntity.patch | 0 ...-add-consumeFuel-to-FurnaceBurnEvent.patch | 0 ...t-set-drop-chance-to-EntityEquipment.patch | 0 ...fix-PigZombieAngerEvent-cancellation.patch | 0 ...fix-PlayerItemHeldEvent-firing-twice.patch | 0 .../0515-Add-PlayerDeepSleepEvent.patch | 0 .../{ => server}/0516-More-World-API.patch | 0 .../0517-Add-PlayerBedFailEnterEvent.patch | 0 ...s-to-convert-between-Component-and-B.patch | 0 ...pawnEvent-fix-passed-parameter-issue.patch | 0 ...eacon-activation-deactivation-events.patch | 0 ...Add-Channel-initialization-listeners.patch | 0 ...mmands-if-tab-completion-is-disabled.patch | 0 .../0523-Add-more-WanderingTrader-API.patch | 0 ...Add-EntityBlockStorage-clearEntities.patch | 0 ...essage-to-PlayerAdvancementDoneEvent.patch | 0 .../0526-Add-HiddenPotionEffect-API.patch | 0 .../{ => server}/0527-Inventory-close.patch | 0 ...n-in-sunlight-API-for-Phantoms-and-S.patch | 0 .../0529-Add-basic-Datapack-API.patch | 0 ...nment-variable-to-disable-server-gui.patch | 0 ...531-Expand-PlayerGameModeChangeEvent.patch | 0 .../0532-ItemStack-repair-check-API.patch | 0 .../0533-More-Enchantment-API.patch | 0 ...ove-range-check-for-block-placing-up.patch | 0 .../0535-Add-Mob-lookAt-API.patch | 0 ...if-bucket-dispenses-will-succeed-for.patch | 0 .../0537-Add-Unix-domain-socket-support.patch | 0 .../0538-Add-EntityInsideBlockEvent.patch | 0 ...9-Improve-item-default-attribute-API.patch | 0 ...cause-to-Weather-ThunderChangeEvents.patch | 0 .../0541-More-Lidded-Block-API.patch | 0 ...542-Limit-item-frame-cursors-on-maps.patch | 0 .../0543-Add-PlayerKickEvent-causes.patch | 0 .../0544-Add-PufferFishStateChangeEvent.patch | 0 ...yerBucketEmptyEvent-result-itemstack.patch | 0 ...ttedContainer-instead-of-ThreadingDe.patch | 0 ...n-to-fix-items-merging-through-walls.patch | 0 .../0548-Add-BellRevealRaiderEvent.patch | 0 .../0549-Fix-invulnerable-end-crystals.patch | 0 ...550-Add-ElderGuardianAppearanceEvent.patch | 0 ...e-Biome-Mob-Lookups-for-Mob-Spawning.patch | 0 .../0552-Line-Of-Sight-Changes.patch | 0 .../0553-add-per-world-spawn-limits.patch | 0 .../0554-Fix-potions-splash-events.patch | 0 .../0555-Add-more-LimitedRegion-API.patch | 0 ...PlayerDropItemEvent-using-wrong-item.patch | 0 .../0557-Missing-Entity-API.patch | 0 ...-of-Block-applyBoneMeal-always-being.patch | 0 ...etChunkIfLoadedImmediately-in-places.patch | 0 ...from-signs-not-firing-command-events.patch | 0 .../0561-Add-PlayerArmSwingEvent.patch | 0 ...k-event-leave-message-not-being-sent.patch | 0 ...n-t-apply-cramming-damage-to-players.patch | 0 ...nd-timings-for-sensors-and-behaviors.patch | 0 .../0565-Add-missing-forceDrop-toggles.patch | 0 .../{ => server}/0566-Stinger-API.patch | 0 .../0567-Add-System.out-err-catcher.patch | 0 ...-AFK-kick-while-watching-end-credits.patch | 0 ...riting-of-comments-to-server.propert.patch | 0 .../0570-Add-PlayerSetSpawnEvent.patch | 0 ...ers-respect-inventory-max-stack-size.patch | 0 ...mize-entity-tracker-passenger-checks.patch | 0 ...g-option-for-Piglins-guarding-chests.patch | 0 .../0574-Add-EntityDamageItemEvent.patch | 0 ...ptimize-indirect-passenger-iteration.patch | 0 ...tem-frame-map-cursor-update-interval.patch | 0 ...target-without-changing-other-things.patch | 0 .../0578-Add-BlockBreakBlockEvent.patch | 0 ...t-data-components-copy-in-smithing-r.patch | 0 .../0580-More-CommandBlock-API.patch | 0 ...d-missing-team-sidebar-display-slots.patch | 0 .../0582-Add-back-EntityPortalExitEvent.patch | 0 ...o-find-targets-for-lightning-strikes.patch | 0 .../0584-Get-entity-default-attributes.patch | 0 .../{ => server}/0585-Left-handed-API.patch | 0 .../0586-Add-more-advancement-API.patch | 0 ...0587-Add-ItemFactory-getSpawnEgg-API.patch | 0 .../0588-Add-critical-damage-API.patch | 0 .../0589-Fix-issues-with-mob-conversion.patch | 0 ...sCollision-methods-to-various-places.patch | 0 .../{ => server}/0591-Goat-ram-API.patch | 0 ...Add-API-for-resetting-a-single-score.patch | 0 ...93-Add-Raw-Byte-Entity-Serialization.patch | 0 ...594-Vanilla-command-permission-fixes.patch | 0 ...-logic-for-inventories-on-chunk-unlo.patch | 0 ...596-Fix-GameProfileCache-concurrency.patch | 0 ...0597-Improve-and-expand-AsyncCatcher.patch | 0 ...aper-mobcaps-and-paper-playermobcaps.patch | 0 ...itize-ResourceLocation-error-logging.patch | 0 ...ally-inline-methods-in-BlockPosition.patch | 0 ...uler-threads-according-to-the-plugin.patch | 0 ...d-getChunkAt-has-inlined-logic-for-l.patch | 0 ...bour-chunk-data-off-disk-when-conver.patch | 0 ...id-state-when-raytracing-skip-air-bl.patch | 0 .../0605-Time-scoreboard-search.patch | 0 ...primise-map-impl-for-tracked-players.patch | 0 .../0607-Add-missing-InventoryType.patch | 0 ...timise-BlockSoil-nearby-water-lookup.patch | 0 ...entory-not-closing-on-entity-removal.patch | 0 ...irement-before-suggesting-root-nodes.patch | 0 ...-ServerboundCommandSuggestionPacket-.patch | 0 .../0612-Add-packet-limiter-config.patch | 0 ...rnColor-on-tropical-fish-bucket-meta.patch | 0 .../0614-Ensure-valid-vehicle-status.patch | 0 ...oftlocked-end-exit-portal-generation.patch | 0 ...or-causing-a-crash-when-trying-to-ge.patch | 0 ...n-t-log-debug-logging-being-disabled.patch | 0 ...ious-menus-with-empty-level-accesses.patch | 0 .../0619-Preserve-overstacked-loot.patch | 0 ...date-head-rotation-in-missing-places.patch | 0 ...-unintended-light-block-manipulation.patch | 0 .../0622-Fix-CraftCriteria-defaults-map.patch | 0 ...-Fix-upstreams-block-state-factories.patch | 0 .../0624-Configurable-feature-seeds.patch | 0 .../0625-Add-root-admin-user-detection.patch | 0 ...-t-attempt-to-teleport-dead-entities.patch | 0 ...sive-velocity-through-repeated-crits.patch | 0 ...de-code-using-deprecated-for-removal.patch | 0 .../0629-Fix-Spigot-growth-modifiers.patch | 0 ...rOpenersCounter-openCount-from-going.patch | 0 .../0631-Add-PlayerItemFrameChangeEvent.patch | 0 .../0632-Optimize-HashMapPalette.patch | 0 ...t-isSectionEmpty-int-and-optimize-Pa.patch | 0 .../0634-Add-more-Campfire-API.patch | 0 ...-data-to-disk-if-it-serializes-witho.patch | 0 ...ward-CraftEntity-in-teleport-command.patch | 0 .../0637-Improve-scoreboard-entries.patch | 0 .../0638-Entity-powdered-snow-API.patch | 0 .../0639-Add-API-for-item-entity-health.patch | 0 ...max-block-light-for-monster-spawning.patch | 0 ...-pistons-and-BlockPistonRetractEvent.patch | 0 ...d-canSmelt-methods-to-FurnaceInvento.patch | 0 .../{ => server}/0643-Bucketable-API.patch | 0 .../0644-Validate-usernames.patch | 0 ...ter-animal-spawn-height-configurable.patch | 0 ...vanilla-BiomeProvider-from-WorldInfo.patch | 0 ...tion-for-worlds-affected-by-time-cmd.patch | 0 ...check-for-PersistentDataContainer-ha.patch | 0 ...49-Multiple-Entries-with-Scoreboards.patch | 0 ...0650-Reset-placed-block-on-exception.patch | 0 ...-configurable-height-for-slime-spawn.patch | 0 .../0652-Fix-xp-reward-for-baby-zombies.patch | 0 ...ulti-Block-Change-API-Implementation.patch | 0 .../{ => server}/0654-Fix-NotePlayEvent.patch | 0 .../0655-Freeze-Tick-Lock-API.patch | 0 .../0656-More-PotionEffectType-API.patch | 0 ...-for-StructureTemplate.Pallete-cache.patch | 0 ...-command-sender-which-forwards-feedb.patch | 0 ...d-missing-structure-set-seed-configs.patch | 0 ...elled-powdered-snow-bucket-placement.patch | 0 ...date-calls-to-CraftServer-getSpawnLi.patch | 0 .../0662-Add-GameEvent-tags.patch | 0 ...sks-fairly-for-worlds-while-waiting-.patch | 0 .../0664-Furnace-RecipesUsed-API.patch | 0 ...igurable-sculk-sensor-listener-range.patch | 0 .../0666-Add-missing-block-data-API.patch | 0 ...efault-CustomSpawners-in-custom-worl.patch | 0 ...o-worldlist-before-initing-the-world.patch | 0 .../0669-Custom-Potion-Mixes.patch | 0 ...670-Force-close-world-loading-screen.patch | 0 ...0671-Fix-falling-block-spawn-methods.patch | 0 ...-Expose-furnace-minecart-push-values.patch | 0 ...rojectileHitEvent-for-piercing-arrow.patch | 0 .../0674-More-Projectile-API.patch | 0 ...ix-swamp-hut-cat-generation-deadlock.patch | 0 ...cle-movement-from-players-while-tele.patch | 0 .../0677-Implement-getComputedBiome-API.patch | 0 .../0678-Make-some-itemstacks-nonnull.patch | 0 ...0679-Implement-enchantWithLevels-API.patch | 0 .../0680-Fix-saving-in-unloadWorld.patch | 0 .../0681-Buffer-OOB-setBlock-calls.patch | 0 .../0682-Add-TameableDeathMessageEvent.patch | 0 ...lock-data-for-EntityChangeBlockEvent.patch | 0 ...ables-running-when-mob-loot-gamerule.patch | 0 ...assenger-world-matches-ridden-entity.patch | 0 ...eys-and-optimize-reference-Holder-ta.patch | 0 ...llow-changing-the-EnderDragon-podium.patch | 0 ...verriding-a-block-entity-during-worl.patch | 0 ...nt-tile-entity-copies-loading-chunks.patch | 0 ...tead-of-display-name-in-PlayerList-g.patch | 0 .../0691-Expand-PlayerItemDamageEvent.patch | 0 .../0692-WorldCreator-keepSpawnLoaded.patch | 0 ...E-in-CraftPersistentDataTypeRegistry.patch | 0 ..._destroyed-trigger-in-the-correct-pl.patch | 0 ...eEvent-and-CollarColorable-interface.patch | 0 ...-CauldronLevelChange-on-initial-fill.patch | 0 ...-snow-cauldrons-not-turning-to-water.patch | 0 .../0698-Add-PlayerStopUsingItemEvent.patch | 0 .../0699-Don-t-tick-markers.patch | 0 .../0700-Expand-FallingBlock-API.patch | 0 .../0701-Add-support-for-Proxy-Protocol.patch | 0 ...ix-OfflinePlayer-getBedSpawnLocation.patch | 0 ...ntory-for-smokers-and-blast-furnaces.patch | 0 .../0704-Sanitize-sent-BlockEntity-NBT.patch | 0 ...t-selector-resolving-in-books-by-def.patch | 0 ...entity-loading-causing-async-lookups.patch | 0 ...n-on-world-create-while-being-ticked.patch | 0 ...708-Dont-resent-entity-on-art-update.patch | 0 .../0709-Add-WardenAngerChangeEvent.patch | 0 ...-strict-advancement-dimension-checks.patch | 0 ...rtant-BlockStateListPopulator-method.patch | 0 .../0712-Nameable-Banner-API.patch | 0 ...broadcast-messages-to-command-blocks.patch | 0 ...mpty-items-from-being-added-to-world.patch | 0 ...shPotion-and-LingeringPotion-spawnin.patch | 0 .../0716-Add-Player-getFishHook.patch | 0 ...-chunk-for-dynamic-game-event-listen.patch | 0 ...us-missing-EntityDropItemEvent-calls.patch | 0 .../0719-Fix-Bee-flower-NPE.patch | 0 ...g-not-using-commands.spam-exclusions.patch | 0 .../{ => server}/0721-More-Teleport-API.patch | 0 .../0722-Add-EntityPortalReadyEvent.patch | 0 ...-level-random-in-entity-constructors.patch | 0 ...ck-entities-after-destroy-prediction.patch | 0 ...-on-plugins-accessing-faraway-chunks.patch | 0 ...stom-Chat-Completion-Suggestions-API.patch | 0 ...-Add-and-fix-missing-BlockFadeEvents.patch | 0 .../{ => server}/0728-Collision-API.patch | 0 ...and-message-for-brigadier-syntax-exc.patch | 0 .../{ => server}/0730-Block-Ticking-API.patch | 0 ...1-Add-Velocity-IP-Forwarding-Support.patch | 0 ...0732-Add-NamespacedKey-biome-methods.patch | 0 ...ix-plugin-loggers-on-server-shutdown.patch | 0 ...ook-changes-from-crashing-the-server.patch | 0 ...ntityChangeBlockEvent-in-more-places.patch | 0 .../0736-Missing-eating-regain-reason.patch | 0 .../0737-Missing-effect-cause.patch | 0 ...-serialization-deserialization-for-P.patch | 0 ...39-Call-BlockPhysicsEvent-more-often.patch | 0 .../0740-Configurable-chat-thread-limit.patch | 0 ...-of-WorldCreator-keepSpawnLoaded-ret.patch | 0 .../0742-fix-Jigsaw-block-kicking-user.patch | 0 ...rmEvent-for-mud-converting-into-clay.patch | 0 .../0744-Add-getDrops-to-BlockState.patch | 0 .../0745-Fix-a-bunch-of-vanilla-bugs.patch | 0 ...ry-onTrackingStart-during-navigation.patch | 0 .../0747-Fix-custom-piglin-loved-items.patch | 0 .../0748-EntityPickupItemEvent-fixes.patch | 0 ...-interactions-with-items-on-cooldown.patch | 0 ...0-Add-PlayerInventorySlotChangeEvent.patch | 0 .../0751-Elder-Guardian-appearance-API.patch | 0 .../0752-Add-entity-knockback-API.patch | 0 .../0753-Detect-headless-JREs.patch | 0 ...y-vehicle-collision-event-not-called.patch | 0 .../0755-Add-EntityToggleSitEvent.patch | 0 .../0756-Add-fire-tick-delay-option.patch | 0 .../0757-Add-Moving-Piston-API.patch | 0 .../0758-Ignore-impossible-spawn-tick.patch | 0 ...nt-and-EntitySelectorParser-permissi.patch | 0 ...tEvent-cancellation-cant-fully-preve.patch | 0 .../0761-Add-PrePlayerAttackEntityEvent.patch | 0 ...re-reset-EnderDragon-boss-event-name.patch | 0 .../0763-Add-Player-Warden-Warning-API.patch | 0 ...la-friendly-methods-to-update-trades.patch | 0 ...0765-Add-paper-dumplisteners-command.patch | 0 ...global-player-list-where-appropriate.patch | 0 ...async-entity-add-due-to-fungus-trees.patch | 0 .../0768-ItemStack-damage-API.patch | 0 .../{ => server}/0769-Friction-API.patch | 0 ...ntrol-player-s-insomnia-and-phantoms.patch | 0 ...x-premature-player-kicks-on-shutdown.patch | 0 .../0772-Sync-offhand-slot-in-menus.patch | 0 .../0773-Player-Entity-Tracking-Events.patch | 0 .../0774-Limit-pet-look-distance.patch | 0 .../{ => server}/0775-fix-Instruments.patch | 0 ...-for-some-hot-BlockBehavior-and-Flui.patch | 0 ...ies-in-dispense-events-regarding-sta.patch | 0 .../0778-Add-BlockLockCheckEvent.patch | 0 .../0779-Add-Sneaking-API-for-Entities.patch | 0 .../0780-Improve-logging-and-errors.patch | 0 .../0781-Improve-PortalEvents.patch | 0 ...tion-for-spider-worldborder-climbing.patch | 0 ...ssing-SpigotConfig-logCommands-check.patch | 0 ...-Allay-stopDancing-while-not-dancing.patch | 0 .../0785-Flying-Fall-Damage.patch | 0 ...sion-moving-velocity-to-VehicleBlock.patch | 0 ...config-for-disabling-entity-tag-tags.patch | 0 ...le-player-info-update-packet-on-join.patch | 0 ...nk-items-during-EntityResurrectEvent.patch | 0 .../{ => server}/0790-Win-Screen-API.patch | 0 ...tItemStack-setAmount-null-assignment.patch | 0 ...Fix-force-opening-enchantment-tables.patch | 0 .../0793-Add-Entity-Body-Yaw-API.patch | 0 ...event-sleeping-villagers-moving-towa.patch | 0 .../0795-Add-EntityFertilizeEggEvent.patch | 0 ...ity-drop-not-updating-the-client-inv.patch | 0 ...ItemEvent-and-EntityCompostItemEvent.patch | 0 ...ectly-handle-ArmorStand-invisibility.patch | 0 ...vancement-triggers-for-entity-damage.patch | 0 ...0800-Fix-text-display-error-on-spawn.patch | 0 ...inventories-returning-null-Locations.patch | 0 .../{ => server}/0802-Add-Shearable-API.patch | 0 ...-Fix-SpawnEggMeta-get-setSpawnedType.patch | 0 ...ng-to-bad-recipes-in-furnace-like-ti.patch | 0 ...uence-violations-like-they-should-be.patch | 0 ...expired-keys-from-impacting-new-join.patch | 0 ...nts-being-fired-from-unloaded-chunks.patch | 0 .../0808-Use-array-for-gamerule-storage.patch | 0 ...-Fix-a-couple-of-upstream-bed-issues.patch | 0 ...Fix-demo-flag-not-enabling-demo-mode.patch | 0 .../0811-Add-Mob-Experience-reward-API.patch | 0 ...-redstone-on-top-of-trap-doors-early.patch | 0 ...-Lazy-Initialization-for-Enum-Fields.patch | 0 ...814-More-accurate-isInOpenWater-impl.patch | 0 .../0815-Expand-PlayerItemMendEvent.patch | 0 ...esh-ProjectileSource-for-projectiles.patch | 0 .../0817-Add-transient-modifier-API.patch | 0 .../0818-Fix-block-place-logic.patch | 0 ...und-playing-for-BlockItem-ItemStacks.patch | 0 ...ll-BlockGrowEvent-for-missing-blocks.patch | 0 ...anhasbukkit-default-if-alias-block-e.patch | 0 ...apLike-spam-for-missing-key-selector.patch | 0 ...3-Fix-sniffer-removeExploredLocation.patch | 0 ...-to-remove-all-active-potion-effects.patch | 0 ...crafting-result-amount-for-fireworks.patch | 0 ...26-Add-event-for-player-editing-sign.patch | 0 ...ck-item-frames-if-players-can-see-it.patch | 0 ...permission-levels-for-command-blocks.patch | 0 ...-Add-option-to-disable-block-updates.patch | 0 ...0830-Call-missing-BlockDispenseEvent.patch | 0 ...d-chunks-for-supporting-block-checks.patch | 0 ...-Optimize-player-lookups-for-beacons.patch | 0 .../0833-More-Sign-Block-API.patch | 0 ...34-fix-item-meta-for-tadpole-buckets.patch | 0 .../{ => server}/0835-Fix-BanList-API.patch | 0 ...nd-water-fluid-explosion-resistance-.patch | 0 ...ix-possible-NPE-on-painting-creation.patch | 0 ...Timer-for-Wandering-Traders-spawned-.patch | 0 ...enceOrb-should-call-EntitySpawnEvent.patch | 0 ...st-throw-both-Spread-and-Grow-Events.patch | 0 .../0841-Add-whitelist-events.patch | 0 .../0842-Implement-PlayerFailMoveEvent.patch | 0 ...Folia-scheduler-and-owned-region-API.patch | 0 ...ase-allay-memory-on-non-item-targets.patch | 0 ...-API-for-updating-recipes-on-clients.patch | 0 ...ation-when-spawning-display-entities.patch | 0 ...0847-Only-capture-actual-tree-growth.patch | 0 ...urce-for-mushroom-block-spread-event.patch | 0 ...eData-on-more-entities-when-spawning.patch | 0 ...0-Use-correct-seed-on-api-world-load.patch | 0 ...ata-neighbour-ticks-outside-of-range.patch | 0 .../0852-Cache-map-ids-on-item-frames.patch | 0 ...x-custom-statistic-criteria-creation.patch | 0 .../0854-Bandaid-fix-for-Effect.patch | 0 .../0855-SculkCatalyst-bloom-API.patch | 0 ...-API-for-an-entity-s-scoreboard-name.patch | 0 ...place-methods-with-old-StructureType.patch | 0 ...te-namespaced-commands-if-send-names.patch | 0 ...y-handle-BlockBreakEvent-isDropItems.patch | 0 ...-entity-death-event-for-ender-dragon.patch | 0 ...ntity-tracking-range-by-Y-coordinate.patch | 0 .../0862-Add-Listing-API-for-Player.patch | 0 ...nfigurable-Region-Compression-Format.patch | 0 ...64-Add-BlockFace-to-BlockDamageEvent.patch | 0 .../0865-Fix-NPE-on-Boat-getStatus.patch | 0 .../{ => server}/0866-Expand-Pose-API.patch | 0 .../0867-More-DragonBattle-API.patch | 0 .../0868-Add-PlayerPickItemEvent.patch | 0 .../0869-Allow-trident-custom-damage.patch | 0 ...70-Expose-hand-in-BlockCanBuildEvent.patch | 0 ...e-nearest-structure-border-iteration.patch | 0 ...-Implement-OfflinePlayer-isConnected.patch | 0 .../{ => server}/0873-Fix-slot-desync.patch | 0 ...-titleOverride-to-InventoryOpenEvent.patch | 0 ...875-Configure-sniffer-egg-hatch-time.patch | 0 ...l-proximity-check-before-entity-look.patch | 0 ...Skip-POI-finding-if-stuck-in-vehicle.patch | 0 ...ot-sanity-checks-in-container-clicks.patch | 0 ...all-BlockRedstoneEvents-for-lecterns.patch | 0 ...proper-checking-of-empty-item-stacks.patch | 0 ...Fix-silent-equipment-change-for-mobs.patch | 0 .../0882-Fix-spigot-s-Forced-Stats.patch | 0 ...sing-InventoryHolders-to-inventories.patch | 0 ...-entities-in-chunks-that-are-positio.patch | 0 ...ssing-logs-for-log-ips-config-option.patch | 0 ...on-on-UpgradeData.BlockFixers-class-.patch | 0 ...n-AdvancementProgress-getDateAwarded.patch | 0 ...sidebar-objectives-not-being-cleared.patch | 0 ...ix-missing-map-initialize-event-call.patch | 0 ...ta-when-attaching-firework-to-entity.patch | 0 ...891-Fix-UnsafeValues-loadAdvancement.patch | 0 .../0892-Add-player-idle-duration-API.patch | 0 ...k-if-we-can-see-non-visible-entities.patch | 0 ...-NPE-in-SculkBloomEvent-world-access.patch | 0 ...stack-for-Player-sendEquipmentChange.patch | 0 .../{ => server}/0896-Optimize-VarInts.patch | 0 ...he-collision-shape-of-a-block-before.patch | 0 ...predicate-for-blocks-when-raytracing.patch | 0 ...tem-packets-with-collector-as-source.patch | 0 .../0900-Expand-LingeringPotion-API.patch | 0 ...ingEffect-powers-lightning-rods-and-.patch | 0 ...sh-event-for-all-player-interactions.patch | 0 ...several-issues-with-EntityBreedEvent.patch | 0 ...0904-Add-UUID-attribute-modifier-API.patch | 0 ...g-event-call-for-entity-teleport-API.patch | 0 ...ly-create-LootContext-for-criterions.patch | 0 ...n-t-fire-sync-events-during-worldgen.patch | 0 .../0908-Add-Structure-check-API.patch | 0 ...m-getAttributeModifier-duplication-c.patch | 0 ...estore-vanilla-entity-drops-behavior.patch | 0 ...1-Dont-resend-blocks-on-interactions.patch | 0 .../0912-add-more-scoreboard-API.patch | 0 .../{ => server}/0913-Improve-Registry.patch | 0 ...-on-null-loc-for-EntityTeleportEvent.patch | 0 .../0915-Add-experience-points-API.patch | 0 .../0916-Add-drops-to-shear-events.patch | 0 .../0917-Add-PlayerShieldDisableEvent.patch | 0 ...date-ResourceLocation-in-NBT-reading.patch | 0 ...e-experience-dropping-on-block-break.patch | 0 .../0920-Fixup-NamespacedKey-handling.patch | 0 ...921-Expose-LootTable-of-DecoratedPot.patch | 0 ...llocation-of-Vec3D-by-entity-tracker.patch | 0 ...erTradeEvent-and-PlayerPurchaseEvent.patch | 0 .../0924-Add-ShulkerDuplicateEvent.patch | 0 ...Add-api-for-spawn-egg-texture-colors.patch | 0 .../0926-Add-Lifecycle-Event-system.patch | 0 .../0927-ItemStack-Tooltip-API.patch | 0 ...kSnapshot-includeLightData-parameter.patch | 0 .../0929-Add-FluidState-API.patch | 0 .../0930-add-number-format-api.patch | 0 .../0931-improve-BanList-types.patch | 0 .../0932-Expanded-Hopper-API.patch | 0 ...33-Add-BlockBreakProgressUpdateEvent.patch | 0 .../0934-Deprecate-ItemStack-setType.patch | 0 .../0935-Add-CartographyItemEvent.patch | 0 .../{ => server}/0936-More-Raid-API.patch | 0 ...ing-message-for-initial-server-start.patch | 0 ...8-Configurable-max-block-fluid-ticks.patch | 0 .../0939-Fix-bees-aging-inside-hives.patch | 0 ...40-Disable-memory-reserve-allocating.patch | 0 ...eByEntityEvent-for-unowned-wither-sk.patch | 0 .../0942-Fix-DamageSource-API.patch | 0 ...invalid-block-entity-during-world-ge.patch | 0 ...tackOverflowError-for-some-dispenses.patch | 0 .../0945-Improve-tag-parser-handling.patch | 0 .../0946-Item-Mutation-Fixes.patch | 0 ...7-Per-world-ticks-per-spawn-settings.patch | 0 ...he-changed-item-from-dispense-events.patch | 0 ...and-End-Portal-Frames-from-being-des.patch | 0 ...re-disarming-not-working-as-intended.patch | 0 ...g-for-mobs-immune-to-default-effects.patch | 0 .../0952-Deep-clone-nbt-tags-in-PDC.patch | 0 ...0953-Support-old-UUID-format-for-NBT.patch | 0 ...954-Fix-shield-disable-inconsistency.patch | 0 ...e-Large-Packets-disconnecting-client.patch | 0 .../{ => server}/0956-Fix-ItemFlags.patch | 0 ...met-damage-reduction-inconsistencies.patch | 0 ...a-handling-of-LivingEntity-actuallyH.patch | 0 ...ve-checking-handled-tags-in-itemmeta.patch | 0 .../0960-General-ItemMeta-fixes.patch | 0 ...961-Expose-hasColor-to-leather-armor.patch | 0 ...d-API-to-get-player-ha-proxy-address.patch | 0 .../0963-More-Chest-Block-API.patch | 0 ...ata-component-type-on-encoding-error.patch | 0 .../0965-Brigadier-based-command-API.patch | 0 .../0966-Fix-issues-with-Recipe-API.patch | 0 ...967-Fix-equipment-slot-and-group-API.patch | 0 ...plugin-to-use-Paper-PluginLoader-API.patch | 0 ...oversized-item-data-in-equipment-and.patch | 0 ...ent-NPE-if-hooked-entity-was-cleared.patch | 0 ...ing-BlockPlaceEvent-calling-onRemove.patch | 0 ...0972-Add-missing-fishing-event-state.patch | 0 ...cate-InvAction-HOTBAR_MOVE_AND_READD.patch | 0 ...onnect-packet-in-phases-where-it-doe.patch | 0 .../0975-Adopt-MaterialRerouting.patch | 0 .../0976-Suspicious-Effect-Entry-API.patch | 0 ...heck-if-itemstack-is-stackable-first.patch | 0 ...removing-recipes-from-RecipeIterator.patch | 0 ...amage-tick-when-blocking-with-shield.patch | 0 ...the-experimental-smithing-inventory-.patch | 0 .../0981-Moonrise-optimisation-patches.patch | 0 .../0982-Rewrite-dataconverter-system.patch | 0 ...983-disable-forced-empty-world-ticks.patch | 0 ...ldBounds-and-getBlockState-for-inlin.patch | 0 ...item-frames-performance-and-bug-fixe.patch | 0 ...cing-for-EntityLiving-hasLineOfSight.patch | 0 ...-Manager-and-add-advanced-packet-sup.patch | 0 ...988-Allow-Saving-of-Oversized-Chunks.patch | 0 ...0989-Flat-bedrock-generator-settings.patch | 0 .../0990-Entity-Activation-Range-2.0.patch | 0 .../0991-Optional-per-player-mob-spawns.patch | 0 .../{ => server}/0992-Anti-Xray.patch | 0 ...3-Eigencraft-redstone-implementation.patch | 0 ...nate-Current-redstone-implementation.patch | 0 ...ng-PreCreatureSpawnEvent-with-per-pl.patch | 0 ...ocity-compression-and-cipher-natives.patch | 0 ...ptimize-Collision-to-not-load-chunks.patch | 0 ...oalSelector-Goal.Flag-Set-operations.patch | 0 .../{ => server}/0999-Optimize-Hoppers.patch | 0 ...000-Entity-load-save-limit-per-chunk.patch | 0 .../1001-Optimize-Voxel-Shape-Merging.patch | 0 ...-Optimize-Bit-Operations-by-inlining.patch | 0 .../1003-Remove-streams-from-hot-code.patch | 0 ...der-Remove-Streams-Optimized-collect.patch | 0 ...lementation-for-blockstate-state-loo.patch | 0 ...y-type-tags-suggestions-in-selectors.patch | 0 ...e-Oversized-block-entities-in-chunks.patch | 0 .../1008-API-for-checking-sent-chunks.patch | 0 ...heck-distance-in-entity-interactions.patch | 0 .../1010-Configurable-Sand-Duping.patch | 0 .../1011-Optimise-general-POI-access.patch | 0 ...2-Improve-performance-of-mass-crafts.patch | 0 .../1013-Properly-resend-entities.patch | 0 .../1014-Registry-Modification-API.patch | 0 ...1015-Add-registry-entry-and-builders.patch | 0 .../1016-Improved-Watchdog-Support.patch | 0 ...17-Proxy-ItemStack-to-CraftItemStack.patch | 0 ...w-accessible-directly-from-ItemStack.patch | 0 ...raft-commands-in-function-parsing-an.patch | 0 ...020-optimize-dirt-and-snow-spreading.patch | 0 .../1021-Fix-NPE-for-Jukebox-setRecord.patch | 0 ...1022-Fix-CraftWorld-isChunkGenerated.patch | 0 .../1023-fix-horse-inventories.patch | 0 ...tityDamageEvents-before-actuallyHurt.patch | 0 ...er-desync-when-new-players-are-added.patch | 0 .../1026-Lag-compensation-ticks.patch | 0 ...l-more-information-in-watchdog-dumps.patch | 0 .../1028-Write-SavedData-IO-async.patch | 0 .../1029-Add-ItemType-getItemRarity.patch | 0 ...-Incremental-chunk-and-player-saving.patch | 0 ...culate-regionfile-header-if-it-is-co.patch | 0 .../{ => server}/1032-Bundle-spark.patch | 0 .../1033-Add-plugin-info-at-startup.patch | 0 ...ction-leniency-distance-configurable.patch | 0 .../1035-Fix-PickupStatus-getting-reset.patch | 0 ...type-in-SculkSensorBlock-canActivate.patch | 0 ...CanPlaceOn-and-CanDestroy-NBT-values.patch | 0 ...ion-for-horizontal-only-item-merging.patch | 0 ...on-checking-in-player-move-packet-ha.patch | 0 ...1040-Add-skipping-world-symlink-scan.patch | 0 .../1041-Add-even-more-Enchantment-API.patch | 0 .../{ => server}/1042-Leashable-API.patch | 0 .../1043-Fix-CraftBukkit-drag-system.patch | 0 ...vent-firing-for-block-entity-loading.patch | 0 ...e-lootable-item-function-from-compas.patch | 0 ...oy-placed-blocks-on-the-end-platform.patch | 0 ...1047-Add-enchantment-seed-update-API.patch | 0 ...sending-chat-to-client-with-updating.patch | 0 ...-Fix-InventoryOpenEvent-cancellation.patch | 0 ...Fire-BlockExpEvent-on-grindstone-use.patch | 0 .../1051-Check-dead-flag-in-isAlive.patch | 0 .../1052-Add-FeatureFlag-API.patch | 0 .../1053-Tag-Lifecycle-Events.patch | 0 .../1054-Item-serialization-as-json.patch | 0 ...date-slot-in-PlayerInventory-setSlot.patch | 0 ...all-time-unused-skip-tick-protection.patch | 0 ...etty-printing-for-advancement-saving.patch | 0 ...ndPreprocessEvent-on-signed-commands.patch | 0 ...Levels-with-enchantment-registry-set.patch | 0 .../1060-Improve-entity-effect-API.patch | 0 .../1061-Add-recipeBrewTime.patch | 0 ...062-Call-bucket-events-for-cauldrons.patch | 0 ...063-Add-PlayerInsertLecternBookEvent.patch | 0 .../1064-Void-damage-configuration-API.patch | 0 .../1065-Add-Offline-PDC-API.patch | 0 ...ew-bypassEnchantmentLevelRestriction.patch | 0 ...d-proper-async-player-disconnections.patch | 0 ...s-send-Banner-patterns-to-the-client.patch | 0 ...999-Optimise-nearby-player-retrieval.patch | 0 todo.txt | 1 + 1071 files changed, 730 insertions(+), 652 deletions(-) rename patches/{unapplied => server}/0002-Remap-fixes.patch (95%) rename patches/{unapplied => server}/0003-Build-system-changes.patch (95%) rename patches/{unapplied => server}/0004-Test-changes.patch (89%) rename patches/{unapplied => server}/0005-Paper-config-files.patch (98%) rename patches/{unapplied => server}/0006-MC-Dev-fixes.patch (85%) rename patches/{unapplied => server}/0007-ConcurrentUtil.patch (100%) rename patches/{unapplied => server}/0008-CB-fixes.patch (92%) rename patches/{unapplied => server}/0009-MC-Utils.patch (95%) rename patches/{unapplied => server}/0010-Adventure.patch (97%) rename patches/{unapplied => server}/0011-Use-TerminalConsoleAppender-for-console-improvements.patch (96%) rename patches/{unapplied => server}/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch (97%) rename patches/{unapplied => server}/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch (100%) rename patches/{unapplied => server}/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch (89%) rename patches/{unapplied => server}/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch (98%) rename patches/{unapplied => server}/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch (100%) rename patches/{unapplied => server}/0017-Paper-command.patch (98%) rename patches/{unapplied => server}/0018-Paper-Metrics.patch (99%) rename patches/{unapplied => server}/0019-Paper-Plugins.patch (99%) rename patches/{unapplied => server}/0020-Plugin-remapping.patch (99%) rename patches/{unapplied => server}/0021-Hook-into-CB-plugin-rewrites.patch (100%) rename patches/{unapplied => server}/0022-Remap-reflection-calls-in-plugins-using-internals.patch (98%) rename patches/{unapplied => server}/0023-Timings-v2.patch (87%) rename patches/{unapplied => server}/0024-Further-improve-server-tick-loop.patch (94%) rename patches/{unapplied => server}/0025-Add-command-line-option-to-load-extra-plugin-jars-no.patch (92%) rename patches/{unapplied => server}/0026-Support-components-in-ItemMeta.patch (89%) rename patches/{unapplied => server}/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch (89%) rename patches/{unapplied => server}/0028-Configurable-baby-zombie-movement-speed.patch (91%) rename patches/{unapplied => server}/0029-Configurable-fishing-time-ranges.patch (83%) rename patches/{unapplied => server}/0030-Allow-nerfed-mobs-to-jump.patch (87%) rename patches/unapplied/{ => server}/0031-Add-configurable-entity-despawn-distances.patch (100%) rename patches/unapplied/{ => server}/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch (100%) rename patches/unapplied/{ => server}/0033-Expose-server-build-information.patch (100%) rename patches/unapplied/{ => server}/0034-Player-affects-spawning-API.patch (100%) rename patches/unapplied/{ => server}/0035-Only-refresh-abilities-if-needed.patch (100%) rename patches/unapplied/{ => server}/0036-Entity-Origin-API.patch (100%) rename patches/unapplied/{ => server}/0037-Prevent-block-entity-and-entity-crashes.patch (100%) rename patches/unapplied/{ => server}/0038-Configurable-top-of-nether-void-damage.patch (100%) rename patches/unapplied/{ => server}/0039-Check-online-mode-before-converting-and-renaming-pla.patch (100%) rename patches/unapplied/{ => server}/0040-Add-more-entities-to-activation-range-ignore-list.patch (100%) rename patches/unapplied/{ => server}/0041-Configurable-end-credits.patch (100%) rename patches/unapplied/{ => server}/0042-Fix-lag-from-explosions-processing-dead-entities.patch (100%) rename patches/unapplied/{ => server}/0043-Optimize-explosions.patch (100%) rename patches/unapplied/{ => server}/0044-Disable-explosion-knockback.patch (100%) rename patches/unapplied/{ => server}/0045-Disable-thunder.patch (100%) rename patches/unapplied/{ => server}/0046-Disable-ice-and-snow.patch (100%) rename patches/unapplied/{ => server}/0047-Configurable-mob-spawner-tick-rate.patch (100%) rename patches/unapplied/{ => server}/0048-Use-null-Locale-by-default.patch (100%) rename patches/unapplied/{ => server}/0049-Add-BeaconEffectEvent.patch (100%) rename patches/unapplied/{ => server}/0050-Configurable-container-update-tick-rate.patch (100%) rename patches/unapplied/{ => server}/0051-Use-UserCache-for-player-heads.patch (100%) rename patches/unapplied/{ => server}/0052-Disable-spigot-tick-limiters.patch (100%) rename patches/unapplied/{ => server}/0053-Fix-spawn-location-event-changing-location.patch (100%) rename patches/unapplied/{ => server}/0054-Configurable-Disabling-Cat-Chest-Detection.patch (100%) rename patches/unapplied/{ => server}/0055-Improve-Player-chat-API-handling.patch (100%) rename patches/unapplied/{ => server}/0056-All-chunks-are-slime-spawn-chunks-toggle.patch (100%) rename patches/unapplied/{ => server}/0057-Expose-server-CommandMap.patch (100%) rename patches/unapplied/{ => server}/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch (100%) rename patches/unapplied/{ => server}/0059-Player-Tab-List-and-Title-APIs.patch (100%) rename patches/unapplied/{ => server}/0060-Add-configurable-portal-search-radius.patch (100%) rename patches/unapplied/{ => server}/0061-Add-velocity-warnings.patch (100%) rename patches/unapplied/{ => server}/0062-Add-exception-reporting-event.patch (100%) rename patches/unapplied/{ => server}/0063-Disable-Scoreboards-for-non-players-by-default.patch (100%) rename patches/unapplied/{ => server}/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch (100%) rename patches/unapplied/{ => server}/0065-Chunk-Save-Reattempt.patch (100%) rename patches/unapplied/{ => server}/0066-Complete-resource-pack-API.patch (100%) rename patches/unapplied/{ => server}/0067-Default-loading-permissions.yml-before-plugins.patch (100%) rename patches/unapplied/{ => server}/0068-Allow-Reloading-of-Custom-Permissions.patch (100%) rename patches/unapplied/{ => server}/0069-Remove-Metadata-on-reload.patch (100%) rename patches/unapplied/{ => server}/0070-Handle-Item-Meta-Inconsistencies.patch (100%) rename patches/unapplied/{ => server}/0071-Configurable-Non-Player-Arrow-Despawn-Rate.patch (100%) rename patches/unapplied/{ => server}/0072-Add-World-Util-Methods.patch (100%) rename patches/unapplied/{ => server}/0073-Custom-replacement-for-eaten-items.patch (100%) rename patches/unapplied/{ => server}/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch (100%) rename patches/unapplied/{ => server}/0075-Use-a-Shared-Random-for-Entities.patch (100%) rename patches/unapplied/{ => server}/0076-Configurable-spawn-chances-for-skeleton-horses.patch (100%) rename patches/unapplied/{ => server}/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch (100%) rename patches/unapplied/{ => server}/0078-Entity-AddTo-RemoveFrom-World-Events.patch (100%) rename patches/unapplied/{ => server}/0079-Configurable-Chunk-Inhabited-Time.patch (100%) rename patches/unapplied/{ => server}/0080-EntityPathfindEvent.patch (100%) rename patches/unapplied/{ => server}/0081-Sanitise-RegionFileCache-and-make-configurable.patch (100%) rename patches/unapplied/{ => server}/0082-Do-not-load-chunks-for-Pathfinding.patch (100%) rename patches/unapplied/{ => server}/0083-Add-PlayerUseUnknownEntityEvent.patch (100%) rename patches/unapplied/{ => server}/0084-Configurable-random-tick-rates-for-blocks.patch (100%) rename patches/unapplied/{ => server}/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch (100%) rename patches/unapplied/{ => server}/0086-Optimize-DataBits.patch (100%) rename patches/unapplied/{ => server}/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch (100%) rename patches/unapplied/{ => server}/0088-Configurable-Player-Collision.patch (100%) rename patches/unapplied/{ => server}/0089-Add-handshake-event-to-allow-plugins-to-handle-clien.patch (100%) rename patches/unapplied/{ => server}/0090-Configurable-RCON-IP-address.patch (100%) rename patches/unapplied/{ => server}/0091-EntityRegainHealthEvent-isFastRegen-API.patch (100%) rename patches/unapplied/{ => server}/0092-Add-ability-to-configure-frosted_ice-properties.patch (100%) rename patches/unapplied/{ => server}/0093-remove-null-possibility-for-getServer-singleton.patch (100%) rename patches/unapplied/{ => server}/0094-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch (100%) rename patches/unapplied/{ => server}/0095-LootTable-API-and-replenishable-lootables.patch (100%) rename patches/unapplied/{ => server}/0096-System-property-for-disabling-watchdoge.patch (100%) rename patches/unapplied/{ => server}/0097-Async-GameProfileCache-saving.patch (100%) rename patches/unapplied/{ => server}/0098-Optional-TNT-doesn-t-move-in-water.patch (100%) rename patches/unapplied/{ => server}/0099-Faster-redstone-torch-rapid-clock-removal.patch (100%) rename patches/unapplied/{ => server}/0100-Add-server-name-parameter.patch (100%) rename patches/unapplied/{ => server}/0101-Fix-global-sound-handling.patch (100%) rename patches/unapplied/{ => server}/0102-Avoid-blocking-on-Network-Manager-creation.patch (100%) rename patches/unapplied/{ => server}/0103-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch (100%) rename patches/unapplied/{ => server}/0104-Add-setting-for-proxy-online-mode-status.patch (100%) rename patches/unapplied/{ => server}/0105-Optimise-BlockState-s-hashCode-equals.patch (100%) rename patches/unapplied/{ => server}/0106-Configurable-packet-in-spam-threshold.patch (100%) rename patches/unapplied/{ => server}/0107-Configurable-flying-kick-messages.patch (100%) rename patches/unapplied/{ => server}/0108-Add-EntityZapEvent.patch (100%) rename patches/unapplied/{ => server}/0109-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch (100%) rename patches/unapplied/{ => server}/0110-Cache-user-authenticator-threads.patch (100%) rename patches/unapplied/{ => server}/0111-Allow-Reloading-of-Command-Aliases.patch (100%) rename patches/unapplied/{ => server}/0112-Add-source-to-PlayerExpChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0113-Add-ProjectileCollideEvent.patch (100%) rename patches/unapplied/{ => server}/0114-Prevent-Pathfinding-out-of-World-Border.patch (100%) rename patches/unapplied/{ => server}/0115-Optimize-Level.hasChunkAt-BlockPosition-Z.patch (100%) rename patches/unapplied/{ => server}/0116-Bound-Treasure-Maps-to-World-Border.patch (100%) rename patches/unapplied/{ => server}/0117-Configurable-Cartographer-Treasure-Maps.patch (100%) rename patches/unapplied/{ => server}/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch (100%) rename patches/unapplied/{ => server}/0119-String-based-Action-Bar-API.patch (100%) rename patches/unapplied/{ => server}/0120-Properly-fix-item-duplication-bug.patch (100%) rename patches/unapplied/{ => server}/0121-Firework-API-s.patch (100%) rename patches/unapplied/{ => server}/0122-PlayerTeleportEndGatewayEvent.patch (100%) rename patches/unapplied/{ => server}/0123-Provide-E-TE-Chunk-count-stat-methods.patch (100%) rename patches/unapplied/{ => server}/0124-Enforce-Sync-Player-Saves.patch (100%) rename patches/unapplied/{ => server}/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch (100%) rename patches/unapplied/{ => server}/0126-Cap-Entity-Collisions.patch (100%) rename patches/unapplied/{ => server}/0127-Remove-CraftScheduler-Async-Task-Debugger.patch (100%) rename patches/unapplied/{ => server}/0128-Properly-handle-async-calls-to-restart-the-server.patch (100%) rename patches/unapplied/{ => server}/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch (100%) rename patches/unapplied/{ => server}/0130-Add-configuration-option-to-prevent-player-names-fro.patch (100%) rename patches/unapplied/{ => server}/0131-provide-a-configurable-option-to-disable-creeper-lin.patch (100%) rename patches/unapplied/{ => server}/0132-Item-canEntityPickup.patch (100%) rename patches/unapplied/{ => server}/0133-PlayerPickupItemEvent-setFlyAtPlayer.patch (100%) rename patches/unapplied/{ => server}/0134-PlayerAttemptPickupItemEvent.patch (100%) rename patches/unapplied/{ => server}/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch (100%) rename patches/unapplied/{ => server}/0136-Basic-PlayerProfile-API.patch (100%) rename patches/unapplied/{ => server}/0137-Add-UnknownCommandEvent.patch (100%) rename patches/unapplied/{ => server}/0138-Shoulder-Entities-Release-API.patch (100%) rename patches/unapplied/{ => server}/0139-Profile-Lookup-Events.patch (100%) rename patches/unapplied/{ => server}/0140-Block-player-logins-during-server-shutdown.patch (100%) rename patches/unapplied/{ => server}/0141-Entity-fromMobSpawner.patch (100%) rename patches/unapplied/{ => server}/0142-Improve-the-Saddle-API-for-Horses.patch (100%) rename patches/unapplied/{ => server}/0143-ensureServerConversions-API.patch (100%) rename patches/unapplied/{ => server}/0144-Implement-getI18NDisplayName.patch (100%) rename patches/unapplied/{ => server}/0145-ProfileWhitelistVerifyEvent.patch (100%) rename patches/unapplied/{ => server}/0146-Fix-this-stupid-bullshit.patch (100%) rename patches/unapplied/{ => server}/0147-LivingEntity-setKiller.patch (100%) rename patches/unapplied/{ => server}/0148-Ocelot-despawns-should-honor-nametags-and-leash.patch (100%) rename patches/unapplied/{ => server}/0149-Reset-spawner-timer-when-spawner-event-is-cancelled.patch (100%) rename patches/unapplied/{ => server}/0150-Allow-specifying-a-custom-authentication-servers-dow.patch (100%) rename patches/unapplied/{ => server}/0151-Add-PlayerJumpEvent.patch (100%) rename patches/unapplied/{ => server}/0152-handle-ServerboundKeepAlivePacket-async.patch (100%) rename patches/unapplied/{ => server}/0153-Expose-client-protocol-version-and-virtual-host.patch (100%) rename patches/unapplied/{ => server}/0154-revert-serverside-behavior-of-keepalives.patch (100%) rename patches/unapplied/{ => server}/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch (100%) rename patches/unapplied/{ => server}/0156-Add-PlayerArmorChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0157-Prevent-logins-from-being-processed-when-the-player-.patch (100%) rename patches/unapplied/{ => server}/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch (100%) rename patches/unapplied/{ => server}/0159-use-CB-BlockState-implementations-for-captured-block.patch (100%) rename patches/unapplied/{ => server}/0160-API-to-get-a-BlockState-without-a-snapshot.patch (100%) rename patches/unapplied/{ => server}/0161-AsyncTabCompleteEvent.patch (100%) rename patches/unapplied/{ => server}/0162-PlayerPickupExperienceEvent.patch (100%) rename patches/unapplied/{ => server}/0163-Ability-to-apply-mending-to-XP-API.patch (100%) rename patches/unapplied/{ => server}/0164-PlayerNaturallySpawnCreaturesEvent.patch (100%) rename patches/unapplied/{ => server}/0165-Add-setPlayerProfile-API-for-Skulls.patch (100%) rename patches/unapplied/{ => server}/0166-PreCreatureSpawnEvent.patch (100%) rename patches/unapplied/{ => server}/0167-Fill-Profile-Property-Events.patch (100%) rename patches/unapplied/{ => server}/0168-Add-PlayerAdvancementCriterionGrantEvent.patch (100%) rename patches/unapplied/{ => server}/0169-Add-ArmorStand-Item-Meta.patch (100%) rename patches/unapplied/{ => server}/0170-Extend-Player-Interact-cancellation.patch (100%) rename patches/unapplied/{ => server}/0171-Tameable-getOwnerUniqueId-API.patch (100%) rename patches/unapplied/{ => server}/0172-Toggleable-player-crits.patch (100%) rename patches/unapplied/{ => server}/0173-Disable-Explicit-Network-Manager-Flushing.patch (100%) rename patches/unapplied/{ => server}/0174-Implement-extended-PaperServerListPingEvent.patch (100%) rename patches/unapplied/{ => server}/0175-Add-more-fields-to-AsyncPreLoginEvent.patch (100%) rename patches/unapplied/{ => server}/0176-Player.setPlayerProfile-API.patch (100%) rename patches/unapplied/{ => server}/0177-getPlayerUniqueId-API.patch (100%) rename patches/unapplied/{ => server}/0178-Improved-Async-Task-Scheduler.patch (100%) rename patches/unapplied/{ => server}/0179-Make-legacy-ping-handler-more-reliable.patch (100%) rename patches/unapplied/{ => server}/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch (100%) rename patches/unapplied/{ => server}/0181-Flag-to-disable-the-channel-limit.patch (100%) rename patches/unapplied/{ => server}/0182-Add-openSign-method-to-HumanEntity.patch (100%) rename patches/unapplied/{ => server}/0183-Configurable-sprint-interruption-on-attack.patch (100%) rename patches/unapplied/{ => server}/0184-EndermanEscapeEvent.patch (100%) rename patches/unapplied/{ => server}/0185-Enderman.teleportRandomly.patch (100%) rename patches/unapplied/{ => server}/0186-Block-Enderpearl-Travel-Exploit.patch (100%) rename patches/unapplied/{ => server}/0187-Expand-World.spawnParticle-API-and-add-Builder.patch (100%) rename patches/unapplied/{ => server}/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch (100%) rename patches/unapplied/{ => server}/0189-EndermanAttackPlayerEvent.patch (100%) rename patches/unapplied/{ => server}/0190-WitchConsumePotionEvent.patch (100%) rename patches/unapplied/{ => server}/0191-WitchThrowPotionEvent.patch (100%) rename patches/unapplied/{ => server}/0192-WitchReadyPotionEvent.patch (100%) rename patches/unapplied/{ => server}/0193-ItemStack-getMaxItemUseDuration.patch (100%) rename patches/unapplied/{ => server}/0194-Add-EntityTeleportEndGatewayEvent.patch (100%) rename patches/unapplied/{ => server}/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch (100%) rename patches/unapplied/{ => server}/0196-Fix-CraftEntity-hashCode.patch (100%) rename patches/unapplied/{ => server}/0197-Configurable-LootPool-luck-formula.patch (100%) rename patches/unapplied/{ => server}/0198-Print-Error-details-when-failing-to-save-player-data.patch (100%) rename patches/unapplied/{ => server}/0199-Make-shield-blocking-delay-configurable.patch (100%) rename patches/unapplied/{ => server}/0200-Improve-EntityShootBowEvent.patch (100%) rename patches/unapplied/{ => server}/0201-PlayerReadyArrowEvent.patch (100%) rename patches/unapplied/{ => server}/0202-Add-entity-knockback-events.patch (100%) rename patches/unapplied/{ => server}/0203-Expand-Explosions-API.patch (100%) rename patches/unapplied/{ => server}/0204-LivingEntity-Active-Item-API.patch (100%) rename patches/unapplied/{ => server}/0205-RangedEntity-API.patch (100%) rename patches/unapplied/{ => server}/0206-Add-config-to-disable-ender-dragon-legacy-check.patch (100%) rename patches/unapplied/{ => server}/0207-Implement-World.getEntity-UUID-API.patch (100%) rename patches/unapplied/{ => server}/0208-InventoryCloseEvent-Reason-API.patch (100%) rename patches/unapplied/{ => server}/0209-Vex-get-setSummoner-API.patch (100%) rename patches/unapplied/{ => server}/0210-add-more-information-to-Entity.toString.patch (100%) rename patches/unapplied/{ => server}/0211-EnderDragon-Events.patch (100%) rename patches/unapplied/{ => server}/0212-PlayerElytraBoostEvent.patch (100%) rename patches/unapplied/{ => server}/0213-PlayerLaunchProjectileEvent.patch (100%) rename patches/unapplied/{ => server}/0214-Improve-BlockPosition-inlining.patch (100%) rename patches/unapplied/{ => server}/0215-Option-to-prevent-armor-stands-from-doing-entity-loo.patch (100%) rename patches/unapplied/{ => server}/0216-Vanished-players-don-t-have-rights.patch (100%) rename patches/unapplied/{ => server}/0217-Allow-disabling-armor-stand-ticking.patch (100%) rename patches/unapplied/{ => server}/0218-SkeletonHorse-Additions.patch (100%) rename patches/unapplied/{ => server}/0219-Expand-ArmorStand-API.patch (100%) rename patches/unapplied/{ => server}/0220-AnvilDamageEvent.patch (100%) rename patches/unapplied/{ => server}/0221-Add-TNTPrimeEvent.patch (100%) rename patches/unapplied/{ => server}/0222-Break-up-and-make-tab-spam-limits-configurable.patch (100%) rename patches/unapplied/{ => server}/0223-Fix-NBT-type-issues.patch (100%) rename patches/unapplied/{ => server}/0224-Remove-unnecessary-itemmeta-handling.patch (100%) rename patches/unapplied/{ => server}/0225-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch (100%) rename patches/unapplied/{ => server}/0226-Add-Early-Warning-Feature-to-WatchDog.patch (100%) rename patches/unapplied/{ => server}/0227-Use-ConcurrentHashMap-in-JsonList.patch (100%) rename patches/unapplied/{ => server}/0228-Use-a-Queue-for-Queueing-Commands.patch (100%) rename patches/unapplied/{ => server}/0229-Ability-to-get-block-entities-from-a-chunk-without-s.patch (100%) rename patches/unapplied/{ => server}/0230-Optimize-BlockPosition-helper-methods.patch (100%) rename patches/unapplied/{ => server}/0231-Restore-vanilla-default-mob-spawn-range-and-water-an.patch (100%) rename patches/unapplied/{ => server}/0232-Slime-Pathfinder-Events.patch (100%) rename patches/unapplied/{ => server}/0233-Configurable-speed-for-water-flowing-over-lava.patch (100%) rename patches/unapplied/{ => server}/0234-Optimize-CraftBlockData-Creation.patch (100%) rename patches/unapplied/{ => server}/0235-Optimize-MappedRegistry.patch (100%) rename patches/unapplied/{ => server}/0236-Add-PhantomPreSpawnEvent.patch (100%) rename patches/unapplied/{ => server}/0237-Add-More-Creeper-API.patch (100%) rename patches/unapplied/{ => server}/0238-Inventory-removeItemAnySlot.patch (100%) rename patches/unapplied/{ => server}/0239-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch (100%) rename patches/unapplied/{ => server}/0240-Add-ray-tracing-methods-to-LivingEntity.patch (100%) rename patches/unapplied/{ => server}/0241-Expose-attack-cooldown-methods-for-Player.patch (100%) rename patches/unapplied/{ => server}/0242-Improve-death-events.patch (100%) rename patches/unapplied/{ => server}/0243-Allow-chests-to-be-placed-with-NBT-data.patch (100%) rename patches/unapplied/{ => server}/0244-Mob-Pathfinding-API.patch (100%) rename patches/unapplied/{ => server}/0245-Prevent-various-interactions-from-causing-chunk-load.patch (100%) rename patches/unapplied/{ => server}/0246-Prevent-mob-spawning-from-loading-generating-chunks.patch (100%) rename patches/unapplied/{ => server}/0247-Implement-furnace-cook-speed-multiplier-API.patch (100%) rename patches/unapplied/{ => server}/0248-Honor-EntityAgeable.ageLock.patch (100%) rename patches/unapplied/{ => server}/0249-Configurable-connection-throttle-kick-message.patch (100%) rename patches/unapplied/{ => server}/0250-Prevent-chunk-loading-from-Fluid-Flowing.patch (100%) rename patches/unapplied/{ => server}/0251-PreSpawnerSpawnEvent.patch (100%) rename patches/unapplied/{ => server}/0252-Add-LivingEntity-getTargetEntity.patch (100%) rename patches/unapplied/{ => server}/0253-Add-sun-related-API.patch (100%) rename patches/unapplied/{ => server}/0254-Turtle-API.patch (100%) rename patches/unapplied/{ => server}/0255-Call-player-spectator-target-events-and-improve-impl.patch (100%) rename patches/unapplied/{ => server}/0256-Add-more-Witch-API.patch (100%) rename patches/unapplied/{ => server}/0257-Check-Drowned-for-Villager-Aggression-Config.patch (100%) rename patches/unapplied/{ => server}/0258-Add-option-to-prevent-players-from-moving-into-unloa.patch (100%) rename patches/unapplied/{ => server}/0259-Reset-players-airTicks-on-respawn.patch (100%) rename patches/unapplied/{ => server}/0260-Don-t-sleep-after-profile-lookups-if-not-needed.patch (100%) rename patches/unapplied/{ => server}/0261-Improve-Server-Thread-Pool-and-Thread-Priorities.patch (100%) rename patches/unapplied/{ => server}/0262-Optimize-World-Time-Updates.patch (100%) rename patches/unapplied/{ => server}/0263-Restore-custom-InventoryHolder-support.patch (100%) rename patches/unapplied/{ => server}/0264-Fix-SpongeAbsortEvent-handling.patch (100%) rename patches/unapplied/{ => server}/0265-Don-t-allow-digging-into-unloaded-chunks.patch (100%) rename patches/unapplied/{ => server}/0266-Make-the-default-permission-message-configurable.patch (100%) rename patches/unapplied/{ => server}/0267-force-entity-dismount-during-teleportation.patch (100%) rename patches/unapplied/{ => server}/0268-Add-more-Zombie-API.patch (100%) rename patches/unapplied/{ => server}/0269-Book-size-limits.patch (100%) rename patches/unapplied/{ => server}/0270-Add-PlayerConnectionCloseEvent.patch (100%) rename patches/unapplied/{ => server}/0271-Replace-OfflinePlayer-getLastPlayed.patch (100%) rename patches/unapplied/{ => server}/0272-Workaround-for-vehicle-tracking-issue-on-disconnect.patch (100%) rename patches/unapplied/{ => server}/0273-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch (100%) rename patches/unapplied/{ => server}/0274-BlockDestroyEvent.patch (100%) rename patches/unapplied/{ => server}/0275-Async-command-map-building.patch (100%) rename patches/unapplied/{ => server}/0276-Brigadier-Mojang-API.patch (100%) rename patches/unapplied/{ => server}/0277-Improve-exact-choice-recipe-ingredients.patch (100%) rename patches/unapplied/{ => server}/0278-Limit-Client-Sign-length-more.patch (100%) rename patches/unapplied/{ => server}/0279-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch (100%) rename patches/unapplied/{ => server}/0280-Fixes-and-additions-to-the-spawn-reason-API.patch (100%) rename patches/unapplied/{ => server}/0281-Fire-event-on-GS4-query.patch (100%) rename patches/unapplied/{ => server}/0282-Add-PlayerPostRespawnEvent.patch (100%) rename patches/unapplied/{ => server}/0283-Server-Tick-Events.patch (100%) rename patches/unapplied/{ => server}/0284-PlayerDeathEvent-getItemsToKeep.patch (100%) rename patches/unapplied/{ => server}/0285-Optimize-Captured-BlockEntity-Lookup.patch (100%) rename patches/unapplied/{ => server}/0286-Mob-Spawner-API-Enhancements.patch (100%) rename patches/unapplied/{ => server}/0287-Fix-CB-call-to-changed-postToMainThread-method.patch (100%) rename patches/unapplied/{ => server}/0288-Fix-sounds-when-item-frames-are-modified-MC-123450.patch (100%) rename patches/unapplied/{ => server}/0289-Implement-CraftBlockSoundGroup.patch (100%) rename patches/unapplied/{ => server}/0290-Expose-the-internal-current-tick.patch (100%) rename patches/unapplied/{ => server}/0291-Show-blockstate-location-if-we-failed-to-read-it.patch (100%) rename patches/unapplied/{ => server}/0292-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch (100%) rename patches/unapplied/{ => server}/0293-Configurable-projectile-relative-velocity.patch (100%) rename patches/unapplied/{ => server}/0294-offset-item-frame-ticking.patch (100%) rename patches/unapplied/{ => server}/0295-Prevent-consuming-the-wrong-itemstack.patch (100%) rename patches/unapplied/{ => server}/0296-Dont-send-unnecessary-sign-update.patch (100%) rename patches/unapplied/{ => server}/0297-Add-option-to-disable-pillager-patrols.patch (100%) rename patches/unapplied/{ => server}/0298-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch (100%) rename patches/unapplied/{ => server}/0299-MC-145656-Fix-Follow-Range-Initial-Target.patch (100%) rename patches/unapplied/{ => server}/0300-Duplicate-UUID-Resolve-Option.patch (100%) rename patches/unapplied/{ => server}/0301-PlayerDeathEvent-shouldDropExperience.patch (100%) rename patches/unapplied/{ => server}/0302-Prevent-bees-loading-chunks-checking-hive-position.patch (100%) rename patches/unapplied/{ => server}/0303-Don-t-load-Chunks-from-Hoppers-and-other-things.patch (100%) rename patches/unapplied/{ => server}/0304-Optimise-EntityGetter-getPlayerByUUID.patch (100%) rename patches/unapplied/{ => server}/0305-Fix-items-not-falling-correctly.patch (100%) rename patches/unapplied/{ => server}/0306-Optimize-call-to-getFluid-for-explosions.patch (100%) rename patches/unapplied/{ => server}/0307-Guard-against-serializing-mismatching-chunk-coordina.patch (100%) rename patches/unapplied/{ => server}/0308-Alternative-item-despawn-rate.patch (100%) rename patches/unapplied/{ => server}/0309-Tracking-Range-Improvements.patch (100%) rename patches/unapplied/{ => server}/0310-Bees-get-gravity-in-void.-Fixes-MC-167279.patch (100%) rename patches/unapplied/{ => server}/0311-Improve-Block-breakNaturally-API.patch (100%) rename patches/unapplied/{ => server}/0312-Optimise-getChunkAt-calls-for-loaded-chunks.patch (100%) rename patches/unapplied/{ => server}/0313-Add-debug-for-sync-chunk-loads.patch (100%) rename patches/unapplied/{ => server}/0314-Improve-java-version-check.patch (100%) rename patches/unapplied/{ => server}/0315-Add-ThrownEggHatchEvent.patch (100%) rename patches/unapplied/{ => server}/0316-Entity-Jump-API.patch (100%) rename patches/unapplied/{ => server}/0317-Add-option-to-nerf-pigmen-from-nether-portals.patch (100%) rename patches/unapplied/{ => server}/0318-Make-the-GUI-graph-fancier.patch (100%) rename patches/unapplied/{ => server}/0319-add-hand-to-BlockMultiPlaceEvent.patch (100%) rename patches/unapplied/{ => server}/0320-Validate-tripwire-hook-placement-before-update.patch (100%) rename patches/unapplied/{ => server}/0321-Add-option-to-allow-iron-golems-to-spawn-in-air.patch (100%) rename patches/unapplied/{ => server}/0322-Configurable-chance-of-villager-zombie-infection.patch (100%) rename patches/unapplied/{ => server}/0323-Optimise-Chunk-getFluid.patch (100%) rename patches/unapplied/{ => server}/0324-Set-spigots-verbose-world-setting-to-false-by-def.patch (100%) rename patches/unapplied/{ => server}/0325-Add-tick-times-API-and-mspt-command.patch (100%) rename patches/unapplied/{ => server}/0326-Expose-MinecraftServer-isRunning.patch (100%) rename patches/unapplied/{ => server}/0327-Add-Raw-Byte-ItemStack-Serialization.patch (100%) rename patches/unapplied/{ => server}/0328-Pillager-patrol-spawn-settings-and-per-player-option.patch (100%) rename patches/unapplied/{ => server}/0329-Remote-Connections-shouldn-t-hold-up-shutdown.patch (100%) rename patches/unapplied/{ => server}/0330-Do-not-allow-bees-to-load-chunks-for-beehives.patch (100%) rename patches/unapplied/{ => server}/0331-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch (100%) rename patches/unapplied/{ => server}/0332-Don-t-tick-dead-players.patch (100%) rename patches/unapplied/{ => server}/0333-Dead-Player-s-shouldn-t-be-able-to-move.patch (100%) rename patches/unapplied/{ => server}/0334-Don-t-move-existing-players-to-world-spawn.patch (100%) rename patches/unapplied/{ => server}/0335-Optimize-Pathfinding.patch (100%) rename patches/unapplied/{ => server}/0336-Reduce-Either-Optional-allocation.patch (100%) rename patches/unapplied/{ => server}/0337-Reduce-memory-footprint-of-CompoundTag.patch (100%) rename patches/unapplied/{ => server}/0338-Prevent-opening-inventories-when-frozen.patch (100%) rename patches/unapplied/{ => server}/0339-Don-t-run-entity-collision-code-if-not-needed.patch (100%) rename patches/unapplied/{ => server}/0340-Implement-Player-Client-Options-API.patch (100%) rename patches/unapplied/{ => server}/0341-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch (100%) rename patches/unapplied/{ => server}/0342-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch (100%) rename patches/unapplied/{ => server}/0343-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch (100%) rename patches/unapplied/{ => server}/0344-Add-PlayerAttackEntityCooldownResetEvent.patch (100%) rename patches/unapplied/{ => server}/0345-Don-t-fire-BlockFade-on-worldgen-threads.patch (100%) rename patches/unapplied/{ => server}/0346-Add-phantom-creative-and-insomniac-controls.patch (100%) rename patches/unapplied/{ => server}/0347-Fix-item-duplication-and-teleport-issues.patch (100%) rename patches/unapplied/{ => server}/0348-Villager-Restocks-API.patch (100%) rename patches/unapplied/{ => server}/0349-Validate-PickItem-Packet-and-kick-for-invalid.patch (100%) rename patches/unapplied/{ => server}/0350-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch (100%) rename patches/unapplied/{ => server}/0351-misc-debugging-dumps.patch (100%) rename patches/unapplied/{ => server}/0352-Prevent-teleporting-dead-entities.patch (100%) rename patches/unapplied/{ => server}/0353-Implement-Mob-Goal-API.patch (100%) rename patches/unapplied/{ => server}/0354-Add-villager-reputation-API.patch (100%) rename patches/unapplied/{ => server}/0355-ExperienceOrb-merging-stacking-API-and-fixes.patch (100%) rename patches/unapplied/{ => server}/0356-Fix-PotionEffect-ignores-icon-flag.patch (100%) rename patches/unapplied/{ => server}/0357-Potential-bed-API.patch (100%) rename patches/unapplied/{ => server}/0358-Wait-for-Async-Tasks-during-shutdown.patch (100%) rename patches/unapplied/{ => server}/0359-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch (100%) rename patches/unapplied/{ => server}/0360-Add-option-for-console-having-all-permissions.patch (100%) rename patches/unapplied/{ => server}/0361-Fix-villager-trading-demand-MC-163962.patch (100%) rename patches/unapplied/{ => server}/0362-Maps-shouldn-t-load-chunks.patch (100%) rename patches/unapplied/{ => server}/0363-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch (100%) rename patches/unapplied/{ => server}/0364-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch (100%) rename patches/unapplied/{ => server}/0365-Fix-piston-physics-inconsistency-MC-188840.patch (100%) rename patches/unapplied/{ => server}/0366-Fix-missing-chunks-due-to-integer-overflow.patch (100%) rename patches/unapplied/{ => server}/0367-Prevent-position-desync-causing-tp-exploit.patch (100%) rename patches/unapplied/{ => server}/0368-Inventory-getHolder-method-without-block-snapshot.patch (100%) rename patches/unapplied/{ => server}/0369-Add-PlayerRecipeBookClickEvent.patch (100%) rename patches/unapplied/{ => server}/0370-Hide-sync-chunk-writes-behind-flag.patch (100%) rename patches/unapplied/{ => server}/0371-Add-permission-for-command-blocks.patch (100%) rename patches/unapplied/{ => server}/0372-Ensure-Entity-position-and-AABB-are-never-invalid.patch (100%) rename patches/unapplied/{ => server}/0373-Fix-Per-World-Difficulty-Remembering-Difficulty.patch (100%) rename patches/unapplied/{ => server}/0374-Paper-dumpitem-command.patch (100%) rename patches/unapplied/{ => server}/0375-Improve-Legacy-Component-serialization-size.patch (100%) rename patches/unapplied/{ => server}/0376-Add-Plugin-Tickets-to-API-Chunk-Methods.patch (100%) rename patches/unapplied/{ => server}/0377-Add-BlockStateMeta-clearBlockState.patch (100%) rename patches/unapplied/{ => server}/0378-Convert-legacy-attributes-in-Item-Meta.patch (100%) rename patches/unapplied/{ => server}/0379-Do-not-accept-invalid-client-settings.patch (100%) rename patches/unapplied/{ => server}/0380-Improve-fix-EntityTargetLivingEntityEvent.patch (100%) rename patches/unapplied/{ => server}/0381-Add-entity-liquid-API.patch (100%) rename patches/unapplied/{ => server}/0382-Add-PrepareResultEvent.patch (100%) rename patches/unapplied/{ => server}/0383-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch (100%) rename patches/unapplied/{ => server}/0384-Fix-arrows-never-despawning-MC-125757.patch (100%) rename patches/unapplied/{ => server}/0385-Thread-Safe-Vanilla-Command-permission-checking.patch (100%) rename patches/unapplied/{ => server}/0386-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch (100%) rename patches/unapplied/{ => server}/0387-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch (100%) rename patches/unapplied/{ => server}/0388-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch (100%) rename patches/unapplied/{ => server}/0389-Optimize-NetworkManager-Exception-Handling.patch (100%) rename patches/unapplied/{ => server}/0390-Fix-some-rails-connecting-improperly.patch (100%) rename patches/unapplied/{ => server}/0391-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch (100%) rename patches/unapplied/{ => server}/0392-Brand-support.patch (100%) rename patches/unapplied/{ => server}/0393-Add-playPickupItemAnimation-to-LivingEntity.patch (100%) rename patches/unapplied/{ => server}/0394-Don-t-require-FACING-data.patch (100%) rename patches/unapplied/{ => server}/0395-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch (100%) rename patches/unapplied/{ => server}/0396-Add-moon-phase-API.patch (100%) rename patches/unapplied/{ => server}/0397-Do-not-let-the-server-load-chunks-from-newer-version.patch (100%) rename patches/unapplied/{ => server}/0398-Prevent-headless-pistons-from-being-created.patch (100%) rename patches/unapplied/{ => server}/0399-Add-BellRingEvent.patch (100%) rename patches/unapplied/{ => server}/0400-Add-zombie-targets-turtle-egg-config.patch (100%) rename patches/unapplied/{ => server}/0401-Buffer-joins-to-world.patch (100%) rename patches/unapplied/{ => server}/0402-Fix-hex-colors-not-working-in-some-kick-messages.patch (100%) rename patches/unapplied/{ => server}/0403-Add-more-Evoker-API.patch (100%) rename patches/unapplied/{ => server}/0404-Add-methods-to-get-translation-keys.patch (100%) rename patches/unapplied/{ => server}/0405-Create-HoverEvent-from-ItemStack-Entity.patch (100%) rename patches/unapplied/{ => server}/0406-Cache-block-data-strings.patch (100%) rename patches/unapplied/{ => server}/0407-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch (100%) rename patches/unapplied/{ => server}/0408-Add-additional-open-container-api-to-HumanEntity.patch (100%) rename patches/unapplied/{ => server}/0409-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch (100%) rename patches/unapplied/{ => server}/0410-Extend-block-drop-capture-to-capture-all-items-added.patch (100%) rename patches/unapplied/{ => server}/0411-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch (100%) rename patches/unapplied/{ => server}/0412-Lazily-track-plugin-scoreboards-by-default.patch (100%) rename patches/unapplied/{ => server}/0413-Entity-isTicking.patch (100%) rename patches/unapplied/{ => server}/0414-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch (100%) rename patches/unapplied/{ => server}/0415-Fix-Concurrency-issue-in-ShufflingList.patch (100%) rename patches/unapplied/{ => server}/0416-Reset-Ender-Crystals-on-Dragon-Spawn.patch (100%) rename patches/unapplied/{ => server}/0417-Fix-for-large-move-vectors-crashing-server.patch (100%) rename patches/unapplied/{ => server}/0418-Optimise-getType-calls.patch (100%) rename patches/unapplied/{ => server}/0419-Villager-resetOffers.patch (100%) rename patches/unapplied/{ => server}/0420-Retain-block-place-order-when-capturing-blockstates.patch (100%) rename patches/unapplied/{ => server}/0421-Fix-item-locations-dropped-from-campfires.patch (100%) rename patches/unapplied/{ => server}/0422-Fix-bell-block-entity-memory-leak.patch (100%) rename patches/unapplied/{ => server}/0423-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch (100%) rename patches/unapplied/{ => server}/0424-Add-getOfflinePlayerIfCached-String.patch (100%) rename patches/unapplied/{ => server}/0425-Add-ignore-discounts-API.patch (100%) rename patches/unapplied/{ => server}/0426-Toggle-for-removing-existing-dragon.patch (100%) rename patches/unapplied/{ => server}/0427-Fix-client-lag-on-advancement-loading.patch (100%) rename patches/unapplied/{ => server}/0428-Item-no-age-no-player-pickup.patch (100%) rename patches/unapplied/{ => server}/0429-Beacon-API-custom-effect-ranges.patch (100%) rename patches/unapplied/{ => server}/0430-Add-API-for-quit-reason.patch (100%) rename patches/unapplied/{ => server}/0431-Add-Wandering-Trader-spawn-rate-config-options.patch (100%) rename patches/unapplied/{ => server}/0432-Add-Destroy-Speed-API.patch (100%) rename patches/unapplied/{ => server}/0433-Fix-Player-spawnParticle-x-y-z-precision-loss.patch (100%) rename patches/unapplied/{ => server}/0434-Add-LivingEntity-clearActiveItem.patch (100%) rename patches/unapplied/{ => server}/0435-Add-PlayerItemCooldownEvent.patch (100%) rename patches/unapplied/{ => server}/0436-Significantly-improve-performance-of-the-end-generat.patch (100%) rename patches/unapplied/{ => server}/0437-More-lightning-API.patch (100%) rename patches/unapplied/{ => server}/0438-Climbing-should-not-bypass-cramming-gamerule.patch (100%) rename patches/unapplied/{ => server}/0439-Add-missing-default-perms-for-commands.patch (100%) rename patches/unapplied/{ => server}/0440-Add-PlayerShearBlockEvent.patch (100%) rename patches/unapplied/{ => server}/0441-Limit-recipe-packets.patch (100%) rename patches/unapplied/{ => server}/0442-Fix-CraftSound-backwards-compatibility.patch (100%) rename patches/unapplied/{ => server}/0443-Player-Chunk-Load-Unload-Events.patch (100%) rename patches/unapplied/{ => server}/0444-Optimize-Dynamic-get-Missing-Keys.patch (100%) rename patches/unapplied/{ => server}/0445-Expose-LivingEntity-hurt-direction.patch (100%) rename patches/unapplied/{ => server}/0446-Add-OBSTRUCTED-reason-to-BedEnterResult.patch (100%) rename patches/unapplied/{ => server}/0447-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch (100%) rename patches/unapplied/{ => server}/0448-Add-TargetHitEvent.patch (100%) rename patches/unapplied/{ => server}/0449-MC-4-Fix-item-position-desync.patch (100%) rename patches/unapplied/{ => server}/0450-Additional-Block-Material-API.patch (100%) rename patches/unapplied/{ => server}/0451-Fix-harming-potion-dupe.patch (100%) rename patches/unapplied/{ => server}/0452-API-to-get-Material-from-Boats-and-Minecarts.patch (100%) rename patches/unapplied/{ => server}/0453-Allow-disabling-mob-spawner-spawn-egg-transformation.patch (100%) rename patches/unapplied/{ => server}/0454-Fix-Not-a-string-Map-Conversion-spam.patch (100%) rename patches/unapplied/{ => server}/0455-Add-PlayerFlowerPotManipulateEvent.patch (100%) rename patches/unapplied/{ => server}/0456-Fix-interact-event-not-being-called-sometimes.patch (100%) rename patches/unapplied/{ => server}/0457-Zombie-API-breaking-doors.patch (100%) rename patches/unapplied/{ => server}/0458-Fix-nerfed-slime-when-splitting.patch (100%) rename patches/unapplied/{ => server}/0459-Add-EntityLoadCrossbowEvent.patch (100%) rename patches/unapplied/{ => server}/0460-Add-WorldGameRuleChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0461-Add-ServerResourcesReloadedEvent.patch (100%) rename patches/unapplied/{ => server}/0462-Add-world-settings-for-mobs-picking-up-loot.patch (100%) rename patches/unapplied/{ => server}/0463-Add-BlockFailedDispenseEvent.patch (100%) rename patches/unapplied/{ => server}/0464-Add-PlayerLecternPageChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0465-Add-PlayerLoomPatternSelectEvent.patch (100%) rename patches/unapplied/{ => server}/0466-Configurable-door-breaking-difficulty.patch (100%) rename patches/unapplied/{ => server}/0467-Empty-commands-shall-not-be-dispatched.patch (100%) rename patches/unapplied/{ => server}/0468-Remove-stale-POIs.patch (100%) rename patches/unapplied/{ => server}/0469-Fix-villager-boat-exploit.patch (100%) rename patches/unapplied/{ => server}/0470-Add-sendOpLevel-API.patch (100%) rename patches/unapplied/{ => server}/0471-Add-RegistryAccess-for-managing-Registries.patch (100%) rename patches/unapplied/{ => server}/0472-Add-StructuresLocateEvent.patch (100%) rename patches/unapplied/{ => server}/0473-Collision-option-for-requiring-a-player-participant.patch (100%) rename patches/unapplied/{ => server}/0474-Return-chat-component-with-empty-text-instead-of-thr.patch (100%) rename patches/unapplied/{ => server}/0475-Make-schedule-command-per-world.patch (100%) rename patches/unapplied/{ => server}/0476-Configurable-max-leash-distance.patch (100%) rename patches/unapplied/{ => server}/0477-Add-BlockPreDispenseEvent.patch (100%) rename patches/unapplied/{ => server}/0478-Add-PlayerChangeBeaconEffectEvent.patch (100%) rename patches/unapplied/{ => server}/0479-Add-toggle-for-always-placing-the-dragon-egg.patch (100%) rename patches/unapplied/{ => server}/0480-Add-PlayerStonecutterRecipeSelectEvent.patch (100%) rename patches/unapplied/{ => server}/0481-Expand-EntityUnleashEvent.patch (100%) rename patches/unapplied/{ => server}/0482-Reset-shield-blocking-on-dimension-change.patch (100%) rename patches/unapplied/{ => server}/0483-Add-DragonEggFormEvent.patch (100%) rename patches/unapplied/{ => server}/0484-Add-EntityMoveEvent.patch (100%) rename patches/unapplied/{ => server}/0485-added-option-to-disable-pathfinding-updates-on-block.patch (100%) rename patches/unapplied/{ => server}/0486-Inline-shift-direction-fields.patch (100%) rename patches/unapplied/{ => server}/0487-Allow-adding-items-to-BlockDropItemEvent.patch (100%) rename patches/unapplied/{ => server}/0488-Add-getMainThreadExecutor-to-BukkitScheduler.patch (100%) rename patches/unapplied/{ => server}/0489-living-entity-allow-attribute-registration.patch (100%) rename patches/unapplied/{ => server}/0490-fix-dead-slime-setSize-invincibility.patch (100%) rename patches/unapplied/{ => server}/0491-Merchant-getRecipes-should-return-an-immutable-list.patch (100%) rename patches/unapplied/{ => server}/0492-Expose-Tracked-Players.patch (100%) rename patches/unapplied/{ => server}/0493-Improve-ServerGUI.patch (100%) rename patches/unapplied/{ => server}/0494-fix-converting-txt-to-json-file.patch (100%) rename patches/unapplied/{ => server}/0495-Add-worldborder-events.patch (100%) rename patches/unapplied/{ => server}/0496-Add-PlayerNameEntityEvent.patch (100%) rename patches/unapplied/{ => server}/0497-Add-recipe-to-cook-events.patch (100%) rename patches/unapplied/{ => server}/0498-Add-Block-isValidTool.patch (100%) rename patches/unapplied/{ => server}/0499-Allow-using-signs-inside-spawn-protection.patch (100%) rename patches/unapplied/{ => server}/0500-Expand-world-key-API.patch (100%) rename patches/unapplied/{ => server}/0501-Add-fast-alternative-constructor-for-Rotations.patch (100%) rename patches/unapplied/{ => server}/0502-Drop-carried-item-when-player-has-disconnected.patch (100%) rename patches/unapplied/{ => server}/0503-forced-whitelist-use-configurable-kick-message.patch (100%) rename patches/unapplied/{ => server}/0504-Don-t-ignore-result-of-PlayerEditBookEvent.patch (100%) rename patches/unapplied/{ => server}/0505-Expose-protocol-version.patch (100%) rename patches/unapplied/{ => server}/0506-Enhance-console-tab-completions-for-brigadier-comman.patch (100%) rename patches/unapplied/{ => server}/0507-Fix-PlayerItemConsumeEvent-cancelling-properly.patch (100%) rename patches/unapplied/{ => server}/0508-Add-bypass-host-check.patch (100%) rename patches/unapplied/{ => server}/0509-Set-area-affect-cloud-rotation.patch (100%) rename patches/unapplied/{ => server}/0510-add-isDeeplySleeping-to-HumanEntity.patch (100%) rename patches/unapplied/{ => server}/0511-add-consumeFuel-to-FurnaceBurnEvent.patch (100%) rename patches/unapplied/{ => server}/0512-add-get-set-drop-chance-to-EntityEquipment.patch (100%) rename patches/unapplied/{ => server}/0513-fix-PigZombieAngerEvent-cancellation.patch (100%) rename patches/unapplied/{ => server}/0514-fix-PlayerItemHeldEvent-firing-twice.patch (100%) rename patches/unapplied/{ => server}/0515-Add-PlayerDeepSleepEvent.patch (100%) rename patches/unapplied/{ => server}/0516-More-World-API.patch (100%) rename patches/unapplied/{ => server}/0517-Add-PlayerBedFailEnterEvent.patch (100%) rename patches/unapplied/{ => server}/0518-Implement-methods-to-convert-between-Component-and-B.patch (100%) rename patches/unapplied/{ => server}/0519-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch (100%) rename patches/unapplied/{ => server}/0520-Introduce-beacon-activation-deactivation-events.patch (100%) rename patches/unapplied/{ => server}/0521-Add-Channel-initialization-listeners.patch (100%) rename patches/unapplied/{ => server}/0522-Send-empty-commands-if-tab-completion-is-disabled.patch (100%) rename patches/unapplied/{ => server}/0523-Add-more-WanderingTrader-API.patch (100%) rename patches/unapplied/{ => server}/0524-Add-EntityBlockStorage-clearEntities.patch (100%) rename patches/unapplied/{ => server}/0525-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch (100%) rename patches/unapplied/{ => server}/0526-Add-HiddenPotionEffect-API.patch (100%) rename patches/unapplied/{ => server}/0527-Inventory-close.patch (100%) rename patches/unapplied/{ => server}/0528-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch (100%) rename patches/unapplied/{ => server}/0529-Add-basic-Datapack-API.patch (100%) rename patches/unapplied/{ => server}/0530-Add-environment-variable-to-disable-server-gui.patch (100%) rename patches/unapplied/{ => server}/0531-Expand-PlayerGameModeChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0532-ItemStack-repair-check-API.patch (100%) rename patches/unapplied/{ => server}/0533-More-Enchantment-API.patch (100%) rename patches/unapplied/{ => server}/0534-Move-range-check-for-block-placing-up.patch (100%) rename patches/unapplied/{ => server}/0535-Add-Mob-lookAt-API.patch (100%) rename patches/unapplied/{ => server}/0536-Correctly-check-if-bucket-dispenses-will-succeed-for.patch (100%) rename patches/unapplied/{ => server}/0537-Add-Unix-domain-socket-support.patch (100%) rename patches/unapplied/{ => server}/0538-Add-EntityInsideBlockEvent.patch (100%) rename patches/unapplied/{ => server}/0539-Improve-item-default-attribute-API.patch (100%) rename patches/unapplied/{ => server}/0540-Add-cause-to-Weather-ThunderChangeEvents.patch (100%) rename patches/unapplied/{ => server}/0541-More-Lidded-Block-API.patch (100%) rename patches/unapplied/{ => server}/0542-Limit-item-frame-cursors-on-maps.patch (100%) rename patches/unapplied/{ => server}/0543-Add-PlayerKickEvent-causes.patch (100%) rename patches/unapplied/{ => server}/0544-Add-PufferFishStateChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0545-Fix-PlayerBucketEmptyEvent-result-itemstack.patch (100%) rename patches/unapplied/{ => server}/0546-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch (100%) rename patches/unapplied/{ => server}/0547-Add-option-to-fix-items-merging-through-walls.patch (100%) rename patches/unapplied/{ => server}/0548-Add-BellRevealRaiderEvent.patch (100%) rename patches/unapplied/{ => server}/0549-Fix-invulnerable-end-crystals.patch (100%) rename patches/unapplied/{ => server}/0550-Add-ElderGuardianAppearanceEvent.patch (100%) rename patches/unapplied/{ => server}/0551-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch (100%) rename patches/unapplied/{ => server}/0552-Line-Of-Sight-Changes.patch (100%) rename patches/unapplied/{ => server}/0553-add-per-world-spawn-limits.patch (100%) rename patches/unapplied/{ => server}/0554-Fix-potions-splash-events.patch (100%) rename patches/unapplied/{ => server}/0555-Add-more-LimitedRegion-API.patch (100%) rename patches/unapplied/{ => server}/0556-Fix-PlayerDropItemEvent-using-wrong-item.patch (100%) rename patches/unapplied/{ => server}/0557-Missing-Entity-API.patch (100%) rename patches/unapplied/{ => server}/0558-Fix-return-value-of-Block-applyBoneMeal-always-being.patch (100%) rename patches/unapplied/{ => server}/0559-Use-getChunkIfLoadedImmediately-in-places.patch (100%) rename patches/unapplied/{ => server}/0560-Fix-commands-from-signs-not-firing-command-events.patch (100%) rename patches/unapplied/{ => server}/0561-Add-PlayerArmSwingEvent.patch (100%) rename patches/unapplied/{ => server}/0562-Fix-kick-event-leave-message-not-being-sent.patch (100%) rename patches/unapplied/{ => server}/0563-Don-t-apply-cramming-damage-to-players.patch (100%) rename patches/unapplied/{ => server}/0564-Rate-options-and-timings-for-sensors-and-behaviors.patch (100%) rename patches/unapplied/{ => server}/0565-Add-missing-forceDrop-toggles.patch (100%) rename patches/unapplied/{ => server}/0566-Stinger-API.patch (100%) rename patches/unapplied/{ => server}/0567-Add-System.out-err-catcher.patch (100%) rename patches/unapplied/{ => server}/0568-Prevent-AFK-kick-while-watching-end-credits.patch (100%) rename patches/unapplied/{ => server}/0569-Allow-skipping-writing-of-comments-to-server.propert.patch (100%) rename patches/unapplied/{ => server}/0570-Add-PlayerSetSpawnEvent.patch (100%) rename patches/unapplied/{ => server}/0571-Make-hoppers-respect-inventory-max-stack-size.patch (100%) rename patches/unapplied/{ => server}/0572-Optimize-entity-tracker-passenger-checks.patch (100%) rename patches/unapplied/{ => server}/0573-Config-option-for-Piglins-guarding-chests.patch (100%) rename patches/unapplied/{ => server}/0574-Add-EntityDamageItemEvent.patch (100%) rename patches/unapplied/{ => server}/0575-Optimize-indirect-passenger-iteration.patch (100%) rename patches/unapplied/{ => server}/0576-Configurable-item-frame-map-cursor-update-interval.patch (100%) rename patches/unapplied/{ => server}/0577-Change-EnderEye-target-without-changing-other-things.patch (100%) rename patches/unapplied/{ => server}/0578-Add-BlockBreakBlockEvent.patch (100%) rename patches/unapplied/{ => server}/0579-Option-to-prevent-data-components-copy-in-smithing-r.patch (100%) rename patches/unapplied/{ => server}/0580-More-CommandBlock-API.patch (100%) rename patches/unapplied/{ => server}/0581-Add-missing-team-sidebar-display-slots.patch (100%) rename patches/unapplied/{ => server}/0582-Add-back-EntityPortalExitEvent.patch (100%) rename patches/unapplied/{ => server}/0583-Add-methods-to-find-targets-for-lightning-strikes.patch (100%) rename patches/unapplied/{ => server}/0584-Get-entity-default-attributes.patch (100%) rename patches/unapplied/{ => server}/0585-Left-handed-API.patch (100%) rename patches/unapplied/{ => server}/0586-Add-more-advancement-API.patch (100%) rename patches/unapplied/{ => server}/0587-Add-ItemFactory-getSpawnEgg-API.patch (100%) rename patches/unapplied/{ => server}/0588-Add-critical-damage-API.patch (100%) rename patches/unapplied/{ => server}/0589-Fix-issues-with-mob-conversion.patch (100%) rename patches/unapplied/{ => server}/0590-Add-hasCollision-methods-to-various-places.patch (100%) rename patches/unapplied/{ => server}/0591-Goat-ram-API.patch (100%) rename patches/unapplied/{ => server}/0592-Add-API-for-resetting-a-single-score.patch (100%) rename patches/unapplied/{ => server}/0593-Add-Raw-Byte-Entity-Serialization.patch (100%) rename patches/unapplied/{ => server}/0594-Vanilla-command-permission-fixes.patch (100%) rename patches/unapplied/{ => server}/0595-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch (100%) rename patches/unapplied/{ => server}/0596-Fix-GameProfileCache-concurrency.patch (100%) rename patches/unapplied/{ => server}/0597-Improve-and-expand-AsyncCatcher.patch (100%) rename patches/unapplied/{ => server}/0598-Add-paper-mobcaps-and-paper-playermobcaps.patch (100%) rename patches/unapplied/{ => server}/0599-Sanitize-ResourceLocation-error-logging.patch (100%) rename patches/unapplied/{ => server}/0600-Manually-inline-methods-in-BlockPosition.patch (100%) rename patches/unapplied/{ => server}/0601-Name-craft-scheduler-threads-according-to-the-plugin.patch (100%) rename patches/unapplied/{ => server}/0602-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch (100%) rename patches/unapplied/{ => server}/0603-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch (100%) rename patches/unapplied/{ => server}/0604-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch (100%) rename patches/unapplied/{ => server}/0605-Time-scoreboard-search.patch (100%) rename patches/unapplied/{ => server}/0606-Oprimise-map-impl-for-tracked-players.patch (100%) rename patches/unapplied/{ => server}/0607-Add-missing-InventoryType.patch (100%) rename patches/unapplied/{ => server}/0608-Optimise-BlockSoil-nearby-water-lookup.patch (100%) rename patches/unapplied/{ => server}/0609-Fix-merchant-inventory-not-closing-on-entity-removal.patch (100%) rename patches/unapplied/{ => server}/0610-Check-requirement-before-suggesting-root-nodes.patch (100%) rename patches/unapplied/{ => server}/0611-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch (100%) rename patches/unapplied/{ => server}/0612-Add-packet-limiter-config.patch (100%) rename patches/unapplied/{ => server}/0613-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch (100%) rename patches/unapplied/{ => server}/0614-Ensure-valid-vehicle-status.patch (100%) rename patches/unapplied/{ => server}/0615-Prevent-softlocked-end-exit-portal-generation.patch (100%) rename patches/unapplied/{ => server}/0616-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch (100%) rename patches/unapplied/{ => server}/0617-Don-t-log-debug-logging-being-disabled.patch (100%) rename patches/unapplied/{ => server}/0618-fix-various-menus-with-empty-level-accesses.patch (100%) rename patches/unapplied/{ => server}/0619-Preserve-overstacked-loot.patch (100%) rename patches/unapplied/{ => server}/0620-Update-head-rotation-in-missing-places.patch (100%) rename patches/unapplied/{ => server}/0621-prevent-unintended-light-block-manipulation.patch (100%) rename patches/unapplied/{ => server}/0622-Fix-CraftCriteria-defaults-map.patch (100%) rename patches/unapplied/{ => server}/0623-Fix-upstreams-block-state-factories.patch (100%) rename patches/unapplied/{ => server}/0624-Configurable-feature-seeds.patch (100%) rename patches/unapplied/{ => server}/0625-Add-root-admin-user-detection.patch (100%) rename patches/unapplied/{ => server}/0626-don-t-attempt-to-teleport-dead-entities.patch (100%) rename patches/unapplied/{ => server}/0627-Prevent-excessive-velocity-through-repeated-crits.patch (100%) rename patches/unapplied/{ => server}/0628-Remove-client-side-code-using-deprecated-for-removal.patch (100%) rename patches/unapplied/{ => server}/0629-Fix-Spigot-growth-modifiers.patch (100%) rename patches/unapplied/{ => server}/0630-Prevent-ContainerOpenersCounter-openCount-from-going.patch (100%) rename patches/unapplied/{ => server}/0631-Add-PlayerItemFrameChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0632-Optimize-HashMapPalette.patch (100%) rename patches/unapplied/{ => server}/0633-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch (100%) rename patches/unapplied/{ => server}/0634-Add-more-Campfire-API.patch (100%) rename patches/unapplied/{ => server}/0635-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch (100%) rename patches/unapplied/{ => server}/0636-Forward-CraftEntity-in-teleport-command.patch (100%) rename patches/unapplied/{ => server}/0637-Improve-scoreboard-entries.patch (100%) rename patches/unapplied/{ => server}/0638-Entity-powdered-snow-API.patch (100%) rename patches/unapplied/{ => server}/0639-Add-API-for-item-entity-health.patch (100%) rename patches/unapplied/{ => server}/0640-Configurable-max-block-light-for-monster-spawning.patch (100%) rename patches/unapplied/{ => server}/0641-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch (100%) rename patches/unapplied/{ => server}/0642-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch (100%) rename patches/unapplied/{ => server}/0643-Bucketable-API.patch (100%) rename patches/unapplied/{ => server}/0644-Validate-usernames.patch (100%) rename patches/unapplied/{ => server}/0645-Make-water-animal-spawn-height-configurable.patch (100%) rename patches/unapplied/{ => server}/0646-Expose-vanilla-BiomeProvider-from-WorldInfo.patch (100%) rename patches/unapplied/{ => server}/0647-Add-config-option-for-worlds-affected-by-time-cmd.patch (100%) rename patches/unapplied/{ => server}/0648-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch (100%) rename patches/unapplied/{ => server}/0649-Multiple-Entries-with-Scoreboards.patch (100%) rename patches/unapplied/{ => server}/0650-Reset-placed-block-on-exception.patch (100%) rename patches/unapplied/{ => server}/0651-Add-configurable-height-for-slime-spawn.patch (100%) rename patches/unapplied/{ => server}/0652-Fix-xp-reward-for-baby-zombies.patch (100%) rename patches/unapplied/{ => server}/0653-Multi-Block-Change-API-Implementation.patch (100%) rename patches/unapplied/{ => server}/0654-Fix-NotePlayEvent.patch (100%) rename patches/unapplied/{ => server}/0655-Freeze-Tick-Lock-API.patch (100%) rename patches/unapplied/{ => server}/0656-More-PotionEffectType-API.patch (100%) rename patches/unapplied/{ => server}/0657-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch (100%) rename patches/unapplied/{ => server}/0658-API-for-creating-command-sender-which-forwards-feedb.patch (100%) rename patches/unapplied/{ => server}/0659-Add-missing-structure-set-seed-configs.patch (100%) rename patches/unapplied/{ => server}/0660-Fix-cancelled-powdered-snow-bucket-placement.patch (100%) rename patches/unapplied/{ => server}/0661-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch (100%) rename patches/unapplied/{ => server}/0662-Add-GameEvent-tags.patch (100%) rename patches/unapplied/{ => server}/0663-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch (100%) rename patches/unapplied/{ => server}/0664-Furnace-RecipesUsed-API.patch (100%) rename patches/unapplied/{ => server}/0665-Configurable-sculk-sensor-listener-range.patch (100%) rename patches/unapplied/{ => server}/0666-Add-missing-block-data-API.patch (100%) rename patches/unapplied/{ => server}/0667-Option-to-have-default-CustomSpawners-in-custom-worl.patch (100%) rename patches/unapplied/{ => server}/0668-Put-world-into-worldlist-before-initing-the-world.patch (100%) rename patches/unapplied/{ => server}/0669-Custom-Potion-Mixes.patch (100%) rename patches/unapplied/{ => server}/0670-Force-close-world-loading-screen.patch (100%) rename patches/unapplied/{ => server}/0671-Fix-falling-block-spawn-methods.patch (100%) rename patches/unapplied/{ => server}/0672-Expose-furnace-minecart-push-values.patch (100%) rename patches/unapplied/{ => server}/0673-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch (100%) rename patches/unapplied/{ => server}/0674-More-Projectile-API.patch (100%) rename patches/unapplied/{ => server}/0675-Fix-swamp-hut-cat-generation-deadlock.patch (100%) rename patches/unapplied/{ => server}/0676-Don-t-allow-vehicle-movement-from-players-while-tele.patch (100%) rename patches/unapplied/{ => server}/0677-Implement-getComputedBiome-API.patch (100%) rename patches/unapplied/{ => server}/0678-Make-some-itemstacks-nonnull.patch (100%) rename patches/unapplied/{ => server}/0679-Implement-enchantWithLevels-API.patch (100%) rename patches/unapplied/{ => server}/0680-Fix-saving-in-unloadWorld.patch (100%) rename patches/unapplied/{ => server}/0681-Buffer-OOB-setBlock-calls.patch (100%) rename patches/unapplied/{ => server}/0682-Add-TameableDeathMessageEvent.patch (100%) rename patches/unapplied/{ => server}/0683-Fix-new-block-data-for-EntityChangeBlockEvent.patch (100%) rename patches/unapplied/{ => server}/0684-fix-player-loottables-running-when-mob-loot-gamerule.patch (100%) rename patches/unapplied/{ => server}/0685-Ensure-entity-passenger-world-matches-ridden-entity.patch (100%) rename patches/unapplied/{ => server}/0686-Cache-resource-keys-and-optimize-reference-Holder-ta.patch (100%) rename patches/unapplied/{ => server}/0687-Allow-changing-the-EnderDragon-podium.patch (100%) rename patches/unapplied/{ => server}/0688-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch (100%) rename patches/unapplied/{ => server}/0689-Prevent-tile-entity-copies-loading-chunks.patch (100%) rename patches/unapplied/{ => server}/0690-Use-username-instead-of-display-name-in-PlayerList-g.patch (100%) rename patches/unapplied/{ => server}/0691-Expand-PlayerItemDamageEvent.patch (100%) rename patches/unapplied/{ => server}/0692-WorldCreator-keepSpawnLoaded.patch (100%) rename patches/unapplied/{ => server}/0693-Fix-CME-in-CraftPersistentDataTypeRegistry.patch (100%) rename patches/unapplied/{ => server}/0694-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch (100%) rename patches/unapplied/{ => server}/0695-Add-EntityDyeEvent-and-CollarColorable-interface.patch (100%) rename patches/unapplied/{ => server}/0696-Fire-CauldronLevelChange-on-initial-fill.patch (100%) rename patches/unapplied/{ => server}/0697-fix-powder-snow-cauldrons-not-turning-to-water.patch (100%) rename patches/unapplied/{ => server}/0698-Add-PlayerStopUsingItemEvent.patch (100%) rename patches/unapplied/{ => server}/0699-Don-t-tick-markers.patch (100%) rename patches/unapplied/{ => server}/0700-Expand-FallingBlock-API.patch (100%) rename patches/unapplied/{ => server}/0701-Add-support-for-Proxy-Protocol.patch (100%) rename patches/unapplied/{ => server}/0702-Fix-OfflinePlayer-getBedSpawnLocation.patch (100%) rename patches/unapplied/{ => server}/0703-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch (100%) rename patches/unapplied/{ => server}/0704-Sanitize-sent-BlockEntity-NBT.patch (100%) rename patches/unapplied/{ => server}/0705-Disable-component-selector-resolving-in-books-by-def.patch (100%) rename patches/unapplied/{ => server}/0706-Prevent-entity-loading-causing-async-lookups.patch (100%) rename patches/unapplied/{ => server}/0707-Throw-exception-on-world-create-while-being-ticked.patch (100%) rename patches/unapplied/{ => server}/0708-Dont-resent-entity-on-art-update.patch (100%) rename patches/unapplied/{ => server}/0709-Add-WardenAngerChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0710-Add-option-for-strict-advancement-dimension-checks.patch (100%) rename patches/unapplied/{ => server}/0711-Add-missing-important-BlockStateListPopulator-method.patch (100%) rename patches/unapplied/{ => server}/0712-Nameable-Banner-API.patch (100%) rename patches/unapplied/{ => server}/0713-Don-t-broadcast-messages-to-command-blocks.patch (100%) rename patches/unapplied/{ => server}/0714-Prevent-empty-items-from-being-added-to-world.patch (100%) rename patches/unapplied/{ => server}/0715-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch (100%) rename patches/unapplied/{ => server}/0716-Add-Player-getFishHook.patch (100%) rename patches/unapplied/{ => server}/0717-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch (100%) rename patches/unapplied/{ => server}/0718-Add-various-missing-EntityDropItemEvent-calls.patch (100%) rename patches/unapplied/{ => server}/0719-Fix-Bee-flower-NPE.patch (100%) rename patches/unapplied/{ => server}/0720-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch (100%) rename patches/unapplied/{ => server}/0721-More-Teleport-API.patch (100%) rename patches/unapplied/{ => server}/0722-Add-EntityPortalReadyEvent.patch (100%) rename patches/unapplied/{ => server}/0723-Don-t-use-level-random-in-entity-constructors.patch (100%) rename patches/unapplied/{ => server}/0724-Send-block-entities-after-destroy-prediction.patch (100%) rename patches/unapplied/{ => server}/0725-Warn-on-plugins-accessing-faraway-chunks.patch (100%) rename patches/unapplied/{ => server}/0726-Custom-Chat-Completion-Suggestions-API.patch (100%) rename patches/unapplied/{ => server}/0727-Add-and-fix-missing-BlockFadeEvents.patch (100%) rename patches/unapplied/{ => server}/0728-Collision-API.patch (100%) rename patches/unapplied/{ => server}/0729-Fix-suggest-command-message-for-brigadier-syntax-exc.patch (100%) rename patches/unapplied/{ => server}/0730-Block-Ticking-API.patch (100%) rename patches/unapplied/{ => server}/0731-Add-Velocity-IP-Forwarding-Support.patch (100%) rename patches/unapplied/{ => server}/0732-Add-NamespacedKey-biome-methods.patch (100%) rename patches/unapplied/{ => server}/0733-Fix-plugin-loggers-on-server-shutdown.patch (100%) rename patches/unapplied/{ => server}/0734-Stop-large-look-changes-from-crashing-the-server.patch (100%) rename patches/unapplied/{ => server}/0735-Fire-EntityChangeBlockEvent-in-more-places.patch (100%) rename patches/unapplied/{ => server}/0736-Missing-eating-regain-reason.patch (100%) rename patches/unapplied/{ => server}/0737-Missing-effect-cause.patch (100%) rename patches/unapplied/{ => server}/0738-Added-byte-array-serialization-deserialization-for-P.patch (100%) rename patches/unapplied/{ => server}/0739-Call-BlockPhysicsEvent-more-often.patch (100%) rename patches/unapplied/{ => server}/0740-Configurable-chat-thread-limit.patch (100%) rename patches/unapplied/{ => server}/0741-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch (100%) rename patches/unapplied/{ => server}/0742-fix-Jigsaw-block-kicking-user.patch (100%) rename patches/unapplied/{ => server}/0743-use-BlockFormEvent-for-mud-converting-into-clay.patch (100%) rename patches/unapplied/{ => server}/0744-Add-getDrops-to-BlockState.patch (100%) rename patches/unapplied/{ => server}/0745-Fix-a-bunch-of-vanilla-bugs.patch (100%) rename patches/unapplied/{ => server}/0746-Remove-unnecessary-onTrackingStart-during-navigation.patch (100%) rename patches/unapplied/{ => server}/0747-Fix-custom-piglin-loved-items.patch (100%) rename patches/unapplied/{ => server}/0748-EntityPickupItemEvent-fixes.patch (100%) rename patches/unapplied/{ => server}/0749-Correctly-handle-interactions-with-items-on-cooldown.patch (100%) rename patches/unapplied/{ => server}/0750-Add-PlayerInventorySlotChangeEvent.patch (100%) rename patches/unapplied/{ => server}/0751-Elder-Guardian-appearance-API.patch (100%) rename patches/unapplied/{ => server}/0752-Add-entity-knockback-API.patch (100%) rename patches/unapplied/{ => server}/0753-Detect-headless-JREs.patch (100%) rename patches/unapplied/{ => server}/0754-fix-entity-vehicle-collision-event-not-called.patch (100%) rename patches/unapplied/{ => server}/0755-Add-EntityToggleSitEvent.patch (100%) rename patches/unapplied/{ => server}/0756-Add-fire-tick-delay-option.patch (100%) rename patches/unapplied/{ => server}/0757-Add-Moving-Piston-API.patch (100%) rename patches/unapplied/{ => server}/0758-Ignore-impossible-spawn-tick.patch (100%) rename patches/unapplied/{ => server}/0759-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch (100%) rename patches/unapplied/{ => server}/0760-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch (100%) rename patches/unapplied/{ => server}/0761-Add-PrePlayerAttackEntityEvent.patch (100%) rename patches/unapplied/{ => server}/0762-ensure-reset-EnderDragon-boss-event-name.patch (100%) rename patches/unapplied/{ => server}/0763-Add-Player-Warden-Warning-API.patch (100%) rename patches/unapplied/{ => server}/0764-More-vanilla-friendly-methods-to-update-trades.patch (100%) rename patches/unapplied/{ => server}/0765-Add-paper-dumplisteners-command.patch (100%) rename patches/unapplied/{ => server}/0766-check-global-player-list-where-appropriate.patch (100%) rename patches/unapplied/{ => server}/0767-Fix-async-entity-add-due-to-fungus-trees.patch (100%) rename patches/unapplied/{ => server}/0768-ItemStack-damage-API.patch (100%) rename patches/unapplied/{ => server}/0769-Friction-API.patch (100%) rename patches/unapplied/{ => server}/0770-Ability-to-control-player-s-insomnia-and-phantoms.patch (100%) rename patches/unapplied/{ => server}/0771-Fix-premature-player-kicks-on-shutdown.patch (100%) rename patches/unapplied/{ => server}/0772-Sync-offhand-slot-in-menus.patch (100%) rename patches/unapplied/{ => server}/0773-Player-Entity-Tracking-Events.patch (100%) rename patches/unapplied/{ => server}/0774-Limit-pet-look-distance.patch (100%) rename patches/unapplied/{ => server}/0775-fix-Instruments.patch (100%) rename patches/unapplied/{ => server}/0776-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch (100%) rename patches/unapplied/{ => server}/0777-Fix-inconsistencies-in-dispense-events-regarding-sta.patch (100%) rename patches/unapplied/{ => server}/0778-Add-BlockLockCheckEvent.patch (100%) rename patches/unapplied/{ => server}/0779-Add-Sneaking-API-for-Entities.patch (100%) rename patches/unapplied/{ => server}/0780-Improve-logging-and-errors.patch (100%) rename patches/unapplied/{ => server}/0781-Improve-PortalEvents.patch (100%) rename patches/unapplied/{ => server}/0782-Add-config-option-for-spider-worldborder-climbing.patch (100%) rename patches/unapplied/{ => server}/0783-Add-missing-SpigotConfig-logCommands-check.patch (100%) rename patches/unapplied/{ => server}/0784-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch (100%) rename patches/unapplied/{ => server}/0785-Flying-Fall-Damage.patch (100%) rename patches/unapplied/{ => server}/0786-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch (100%) rename patches/unapplied/{ => server}/0787-config-for-disabling-entity-tag-tags.patch (100%) rename patches/unapplied/{ => server}/0788-Use-single-player-info-update-packet-on-join.patch (100%) rename patches/unapplied/{ => server}/0789-Correctly-shrink-items-during-EntityResurrectEvent.patch (100%) rename patches/unapplied/{ => server}/0790-Win-Screen-API.patch (100%) rename patches/unapplied/{ => server}/0791-Remove-CraftItemStack-setAmount-null-assignment.patch (100%) rename patches/unapplied/{ => server}/0792-Fix-force-opening-enchantment-tables.patch (100%) rename patches/unapplied/{ => server}/0793-Add-Entity-Body-Yaw-API.patch (100%) rename patches/unapplied/{ => server}/0794-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch (100%) rename patches/unapplied/{ => server}/0795-Add-EntityFertilizeEggEvent.patch (100%) rename patches/unapplied/{ => server}/0796-Fix-HumanEntity-drop-not-updating-the-client-inv.patch (100%) rename patches/unapplied/{ => server}/0797-Add-CompostItemEvent-and-EntityCompostItemEvent.patch (100%) rename patches/unapplied/{ => server}/0798-Correctly-handle-ArmorStand-invisibility.patch (100%) rename patches/unapplied/{ => server}/0799-Fix-advancement-triggers-for-entity-damage.patch (100%) rename patches/unapplied/{ => server}/0800-Fix-text-display-error-on-spawn.patch (100%) rename patches/unapplied/{ => server}/0801-Fix-inventories-returning-null-Locations.patch (100%) rename patches/unapplied/{ => server}/0802-Add-Shearable-API.patch (100%) rename patches/unapplied/{ => server}/0803-Fix-SpawnEggMeta-get-setSpawnedType.patch (100%) rename patches/unapplied/{ => server}/0804-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch (100%) rename patches/unapplied/{ => server}/0805-Treat-sequence-violations-like-they-should-be.patch (100%) rename patches/unapplied/{ => server}/0806-Prevent-causing-expired-keys-from-impacting-new-join.patch (100%) rename patches/unapplied/{ => server}/0807-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch (100%) rename patches/unapplied/{ => server}/0808-Use-array-for-gamerule-storage.patch (100%) rename patches/unapplied/{ => server}/0809-Fix-a-couple-of-upstream-bed-issues.patch (100%) rename patches/unapplied/{ => server}/0810-Fix-demo-flag-not-enabling-demo-mode.patch (100%) rename patches/unapplied/{ => server}/0811-Add-Mob-Experience-reward-API.patch (100%) rename patches/unapplied/{ => server}/0812-Break-redstone-on-top-of-trap-doors-early.patch (100%) rename patches/unapplied/{ => server}/0813-Avoid-Lazy-Initialization-for-Enum-Fields.patch (100%) rename patches/unapplied/{ => server}/0814-More-accurate-isInOpenWater-impl.patch (100%) rename patches/unapplied/{ => server}/0815-Expand-PlayerItemMendEvent.patch (100%) rename patches/unapplied/{ => server}/0816-Refresh-ProjectileSource-for-projectiles.patch (100%) rename patches/unapplied/{ => server}/0817-Add-transient-modifier-API.patch (100%) rename patches/unapplied/{ => server}/0818-Fix-block-place-logic.patch (100%) rename patches/unapplied/{ => server}/0819-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch (100%) rename patches/unapplied/{ => server}/0820-Call-BlockGrowEvent-for-missing-blocks.patch (100%) rename patches/unapplied/{ => server}/0821-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch (100%) rename patches/unapplied/{ => server}/0822-fix-MapLike-spam-for-missing-key-selector.patch (100%) rename patches/unapplied/{ => server}/0823-Fix-sniffer-removeExploredLocation.patch (100%) rename patches/unapplied/{ => server}/0824-Add-method-to-remove-all-active-potion-effects.patch (100%) rename patches/unapplied/{ => server}/0825-Fix-incorrect-crafting-result-amount-for-fireworks.patch (100%) rename patches/unapplied/{ => server}/0826-Add-event-for-player-editing-sign.patch (100%) rename patches/unapplied/{ => server}/0827-Only-tick-item-frames-if-players-can-see-it.patch (100%) rename patches/unapplied/{ => server}/0828-Fix-cmd-permission-levels-for-command-blocks.patch (100%) rename patches/unapplied/{ => server}/0829-Add-option-to-disable-block-updates.patch (100%) rename patches/unapplied/{ => server}/0830-Call-missing-BlockDispenseEvent.patch (100%) rename patches/unapplied/{ => server}/0831-Don-t-load-chunks-for-supporting-block-checks.patch (100%) rename patches/unapplied/{ => server}/0832-Optimize-player-lookups-for-beacons.patch (100%) rename patches/unapplied/{ => server}/0833-More-Sign-Block-API.patch (100%) rename patches/unapplied/{ => server}/0834-fix-item-meta-for-tadpole-buckets.patch (100%) rename patches/unapplied/{ => server}/0835-Fix-BanList-API.patch (100%) rename patches/unapplied/{ => server}/0836-Determine-lava-and-water-fluid-explosion-resistance-.patch (100%) rename patches/unapplied/{ => server}/0837-Fix-possible-NPE-on-painting-creation.patch (100%) rename patches/unapplied/{ => server}/0838-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (100%) rename patches/unapplied/{ => server}/0839-ExperienceOrb-should-call-EntitySpawnEvent.patch (100%) rename patches/unapplied/{ => server}/0840-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (100%) rename patches/unapplied/{ => server}/0841-Add-whitelist-events.patch (100%) rename patches/unapplied/{ => server}/0842-Implement-PlayerFailMoveEvent.patch (100%) rename patches/unapplied/{ => server}/0843-Folia-scheduler-and-owned-region-API.patch (100%) rename patches/unapplied/{ => server}/0844-Only-erase-allay-memory-on-non-item-targets.patch (100%) rename patches/unapplied/{ => server}/0845-API-for-updating-recipes-on-clients.patch (100%) rename patches/unapplied/{ => server}/0846-Fix-rotation-when-spawning-display-entities.patch (100%) rename patches/unapplied/{ => server}/0847-Only-capture-actual-tree-growth.patch (100%) rename patches/unapplied/{ => server}/0848-Use-correct-source-for-mushroom-block-spread-event.patch (100%) rename patches/unapplied/{ => server}/0849-Respect-randomizeData-on-more-entities-when-spawning.patch (100%) rename patches/unapplied/{ => server}/0850-Use-correct-seed-on-api-world-load.patch (100%) rename patches/unapplied/{ => server}/0851-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (100%) rename patches/unapplied/{ => server}/0852-Cache-map-ids-on-item-frames.patch (100%) rename patches/unapplied/{ => server}/0853-Fix-custom-statistic-criteria-creation.patch (100%) rename patches/unapplied/{ => server}/0854-Bandaid-fix-for-Effect.patch (100%) rename patches/unapplied/{ => server}/0855-SculkCatalyst-bloom-API.patch (100%) rename patches/unapplied/{ => server}/0856-API-for-an-entity-s-scoreboard-name.patch (100%) rename patches/unapplied/{ => server}/0857-Deprecate-and-replace-methods-with-old-StructureType.patch (100%) rename patches/unapplied/{ => server}/0858-Don-t-tab-complete-namespaced-commands-if-send-names.patch (100%) rename patches/unapplied/{ => server}/0859-Properly-handle-BlockBreakEvent-isDropItems.patch (100%) rename patches/unapplied/{ => server}/0860-Fire-entity-death-event-for-ender-dragon.patch (100%) rename patches/unapplied/{ => server}/0861-Configurable-entity-tracking-range-by-Y-coordinate.patch (100%) rename patches/unapplied/{ => server}/0862-Add-Listing-API-for-Player.patch (100%) rename patches/unapplied/{ => server}/0863-Configurable-Region-Compression-Format.patch (100%) rename patches/unapplied/{ => server}/0864-Add-BlockFace-to-BlockDamageEvent.patch (100%) rename patches/unapplied/{ => server}/0865-Fix-NPE-on-Boat-getStatus.patch (100%) rename patches/unapplied/{ => server}/0866-Expand-Pose-API.patch (100%) rename patches/unapplied/{ => server}/0867-More-DragonBattle-API.patch (100%) rename patches/unapplied/{ => server}/0868-Add-PlayerPickItemEvent.patch (100%) rename patches/unapplied/{ => server}/0869-Allow-trident-custom-damage.patch (100%) rename patches/unapplied/{ => server}/0870-Expose-hand-in-BlockCanBuildEvent.patch (100%) rename patches/unapplied/{ => server}/0871-Optimize-nearest-structure-border-iteration.patch (100%) rename patches/unapplied/{ => server}/0872-Implement-OfflinePlayer-isConnected.patch (100%) rename patches/unapplied/{ => server}/0873-Fix-slot-desync.patch (100%) rename patches/unapplied/{ => server}/0874-Add-titleOverride-to-InventoryOpenEvent.patch (100%) rename patches/unapplied/{ => server}/0875-Configure-sniffer-egg-hatch-time.patch (100%) rename patches/unapplied/{ => server}/0876-Do-crystal-portal-proximity-check-before-entity-look.patch (100%) rename patches/unapplied/{ => server}/0877-Skip-POI-finding-if-stuck-in-vehicle.patch (100%) rename patches/unapplied/{ => server}/0878-Add-slot-sanity-checks-in-container-clicks.patch (100%) rename patches/unapplied/{ => server}/0879-Call-BlockRedstoneEvents-for-lecterns.patch (100%) rename patches/unapplied/{ => server}/0880-Allow-proper-checking-of-empty-item-stacks.patch (100%) rename patches/unapplied/{ => server}/0881-Fix-silent-equipment-change-for-mobs.patch (100%) rename patches/unapplied/{ => server}/0882-Fix-spigot-s-Forced-Stats.patch (100%) rename patches/unapplied/{ => server}/0883-Add-missing-InventoryHolders-to-inventories.patch (100%) rename patches/unapplied/{ => server}/0884-Do-not-read-tile-entities-in-chunks-that-are-positio.patch (100%) rename patches/unapplied/{ => server}/0885-Add-missing-logs-for-log-ips-config-option.patch (100%) rename patches/unapplied/{ => server}/0886-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch (100%) rename patches/unapplied/{ => server}/0887-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch (100%) rename patches/unapplied/{ => server}/0888-Fix-team-sidebar-objectives-not-being-cleared.patch (100%) rename patches/unapplied/{ => server}/0889-Fix-missing-map-initialize-event-call.patch (100%) rename patches/unapplied/{ => server}/0890-Update-entity-data-when-attaching-firework-to-entity.patch (100%) rename patches/unapplied/{ => server}/0891-Fix-UnsafeValues-loadAdvancement.patch (100%) rename patches/unapplied/{ => server}/0892-Add-player-idle-duration-API.patch (100%) rename patches/unapplied/{ => server}/0893-Don-t-check-if-we-can-see-non-visible-entities.patch (100%) rename patches/unapplied/{ => server}/0894-Fix-NPE-in-SculkBloomEvent-world-access.patch (100%) rename patches/unapplied/{ => server}/0895-Allow-null-itemstack-for-Player-sendEquipmentChange.patch (100%) rename patches/unapplied/{ => server}/0896-Optimize-VarInts.patch (100%) rename patches/unapplied/{ => server}/0897-Add-API-to-get-the-collision-shape-of-a-block-before.patch (100%) rename patches/unapplied/{ => server}/0898-Add-predicate-for-blocks-when-raytracing.patch (100%) rename patches/unapplied/{ => server}/0899-Broadcast-take-item-packets-with-collector-as-source.patch (100%) rename patches/unapplied/{ => server}/0900-Expand-LingeringPotion-API.patch (100%) rename patches/unapplied/{ => server}/0901-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch (100%) rename patches/unapplied/{ => server}/0902-Add-hand-to-fish-event-for-all-player-interactions.patch (100%) rename patches/unapplied/{ => server}/0903-Fix-several-issues-with-EntityBreedEvent.patch (100%) rename patches/unapplied/{ => server}/0904-Add-UUID-attribute-modifier-API.patch (100%) rename patches/unapplied/{ => server}/0905-Fix-missing-event-call-for-entity-teleport-API.patch (100%) rename patches/unapplied/{ => server}/0906-Lazily-create-LootContext-for-criterions.patch (100%) rename patches/unapplied/{ => server}/0907-Don-t-fire-sync-events-during-worldgen.patch (100%) rename patches/unapplied/{ => server}/0908-Add-Structure-check-API.patch (100%) rename patches/unapplied/{ => server}/0909-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch (100%) rename patches/unapplied/{ => server}/0910-Restore-vanilla-entity-drops-behavior.patch (100%) rename patches/unapplied/{ => server}/0911-Dont-resend-blocks-on-interactions.patch (100%) rename patches/unapplied/{ => server}/0912-add-more-scoreboard-API.patch (100%) rename patches/unapplied/{ => server}/0913-Improve-Registry.patch (100%) rename patches/unapplied/{ => server}/0914-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch (100%) rename patches/unapplied/{ => server}/0915-Add-experience-points-API.patch (100%) rename patches/unapplied/{ => server}/0916-Add-drops-to-shear-events.patch (100%) rename patches/unapplied/{ => server}/0917-Add-PlayerShieldDisableEvent.patch (100%) rename patches/unapplied/{ => server}/0918-Validate-ResourceLocation-in-NBT-reading.patch (100%) rename patches/unapplied/{ => server}/0919-Properly-handle-experience-dropping-on-block-break.patch (100%) rename patches/unapplied/{ => server}/0920-Fixup-NamespacedKey-handling.patch (100%) rename patches/unapplied/{ => server}/0921-Expose-LootTable-of-DecoratedPot.patch (100%) rename patches/unapplied/{ => server}/0922-Reduce-allocation-of-Vec3D-by-entity-tracker.patch (100%) rename patches/unapplied/{ => server}/0923-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch (100%) rename patches/unapplied/{ => server}/0924-Add-ShulkerDuplicateEvent.patch (100%) rename patches/unapplied/{ => server}/0925-Add-api-for-spawn-egg-texture-colors.patch (100%) rename patches/unapplied/{ => server}/0926-Add-Lifecycle-Event-system.patch (100%) rename patches/unapplied/{ => server}/0927-ItemStack-Tooltip-API.patch (100%) rename patches/unapplied/{ => server}/0928-Add-getChunkSnapshot-includeLightData-parameter.patch (100%) rename patches/unapplied/{ => server}/0929-Add-FluidState-API.patch (100%) rename patches/unapplied/{ => server}/0930-add-number-format-api.patch (100%) rename patches/unapplied/{ => server}/0931-improve-BanList-types.patch (100%) rename patches/unapplied/{ => server}/0932-Expanded-Hopper-API.patch (100%) rename patches/unapplied/{ => server}/0933-Add-BlockBreakProgressUpdateEvent.patch (100%) rename patches/unapplied/{ => server}/0934-Deprecate-ItemStack-setType.patch (100%) rename patches/unapplied/{ => server}/0935-Add-CartographyItemEvent.patch (100%) rename patches/unapplied/{ => server}/0936-More-Raid-API.patch (100%) rename patches/unapplied/{ => server}/0937-Add-onboarding-message-for-initial-server-start.patch (100%) rename patches/unapplied/{ => server}/0938-Configurable-max-block-fluid-ticks.patch (100%) rename patches/unapplied/{ => server}/0939-Fix-bees-aging-inside-hives.patch (100%) rename patches/unapplied/{ => server}/0940-Disable-memory-reserve-allocating.patch (100%) rename patches/unapplied/{ => server}/0941-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch (100%) rename patches/unapplied/{ => server}/0942-Fix-DamageSource-API.patch (100%) rename patches/unapplied/{ => server}/0943-Fix-creation-of-invalid-block-entity-during-world-ge.patch (100%) rename patches/unapplied/{ => server}/0944-Fix-possible-StackOverflowError-for-some-dispenses.patch (100%) rename patches/unapplied/{ => server}/0945-Improve-tag-parser-handling.patch (100%) rename patches/unapplied/{ => server}/0946-Item-Mutation-Fixes.patch (100%) rename patches/unapplied/{ => server}/0947-Per-world-ticks-per-spawn-settings.patch (100%) rename patches/unapplied/{ => server}/0948-Properly-track-the-changed-item-from-dispense-events.patch (100%) rename patches/unapplied/{ => server}/0949-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch (100%) rename patches/unapplied/{ => server}/0950-Fix-tripwire-disarming-not-working-as-intended.patch (100%) rename patches/unapplied/{ => server}/0951-Add-config-for-mobs-immune-to-default-effects.patch (100%) rename patches/unapplied/{ => server}/0952-Deep-clone-nbt-tags-in-PDC.patch (100%) rename patches/unapplied/{ => server}/0953-Support-old-UUID-format-for-NBT.patch (100%) rename patches/unapplied/{ => server}/0954-Fix-shield-disable-inconsistency.patch (100%) rename patches/unapplied/{ => server}/0955-Handle-Large-Packets-disconnecting-client.patch (100%) rename patches/unapplied/{ => server}/0956-Fix-ItemFlags.patch (100%) rename patches/unapplied/{ => server}/0957-Fix-helmet-damage-reduction-inconsistencies.patch (100%) rename patches/unapplied/{ => server}/0958-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch (100%) rename patches/unapplied/{ => server}/0959-improve-checking-handled-tags-in-itemmeta.patch (100%) rename patches/unapplied/{ => server}/0960-General-ItemMeta-fixes.patch (100%) rename patches/unapplied/{ => server}/0961-Expose-hasColor-to-leather-armor.patch (100%) rename patches/unapplied/{ => server}/0962-Added-API-to-get-player-ha-proxy-address.patch (100%) rename patches/unapplied/{ => server}/0963-More-Chest-Block-API.patch (100%) rename patches/unapplied/{ => server}/0964-Print-data-component-type-on-encoding-error.patch (100%) rename patches/unapplied/{ => server}/0965-Brigadier-based-command-API.patch (100%) rename patches/unapplied/{ => server}/0966-Fix-issues-with-Recipe-API.patch (100%) rename patches/unapplied/{ => server}/0967-Fix-equipment-slot-and-group-API.patch (100%) rename patches/unapplied/{ => server}/0968-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch (100%) rename patches/unapplied/{ => server}/0969-Prevent-sending-oversized-item-data-in-equipment-and.patch (100%) rename patches/unapplied/{ => server}/0970-Prevent-NPE-if-hooked-entity-was-cleared.patch (100%) rename patches/unapplied/{ => server}/0971-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch (100%) rename patches/unapplied/{ => server}/0972-Add-missing-fishing-event-state.patch (100%) rename patches/unapplied/{ => server}/0973-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch (100%) rename patches/unapplied/{ => server}/0974-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch (100%) rename patches/unapplied/{ => server}/0975-Adopt-MaterialRerouting.patch (100%) rename patches/unapplied/{ => server}/0976-Suspicious-Effect-Entry-API.patch (100%) rename patches/unapplied/{ => server}/0977-check-if-itemstack-is-stackable-first.patch (100%) rename patches/unapplied/{ => server}/0978-Fix-removing-recipes-from-RecipeIterator.patch (100%) rename patches/unapplied/{ => server}/0979-Configurable-damage-tick-when-blocking-with-shield.patch (100%) rename patches/unapplied/{ => server}/0980-Properly-remove-the-experimental-smithing-inventory-.patch (100%) rename patches/unapplied/{ => server}/0981-Moonrise-optimisation-patches.patch (100%) rename patches/unapplied/{ => server}/0982-Rewrite-dataconverter-system.patch (100%) rename patches/unapplied/{ => server}/0983-disable-forced-empty-world-ticks.patch (100%) rename patches/unapplied/{ => server}/0984-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch (100%) rename patches/unapplied/{ => server}/0985-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch (100%) rename patches/unapplied/{ => server}/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch (100%) rename patches/unapplied/{ => server}/0987-Optimize-Network-Manager-and-add-advanced-packet-sup.patch (100%) rename patches/unapplied/{ => server}/0988-Allow-Saving-of-Oversized-Chunks.patch (100%) rename patches/unapplied/{ => server}/0989-Flat-bedrock-generator-settings.patch (100%) rename patches/unapplied/{ => server}/0990-Entity-Activation-Range-2.0.patch (100%) rename patches/unapplied/{ => server}/0991-Optional-per-player-mob-spawns.patch (100%) rename patches/unapplied/{ => server}/0992-Anti-Xray.patch (100%) rename patches/unapplied/{ => server}/0993-Eigencraft-redstone-implementation.patch (100%) rename patches/unapplied/{ => server}/0994-Add-Alternate-Current-redstone-implementation.patch (100%) rename patches/unapplied/{ => server}/0995-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch (100%) rename patches/unapplied/{ => server}/0996-Use-Velocity-compression-and-cipher-natives.patch (100%) rename patches/unapplied/{ => server}/0997-Optimize-Collision-to-not-load-chunks.patch (100%) rename patches/unapplied/{ => server}/0998-Optimize-GoalSelector-Goal.Flag-Set-operations.patch (100%) rename patches/unapplied/{ => server}/0999-Optimize-Hoppers.patch (100%) rename patches/unapplied/{ => server}/1000-Entity-load-save-limit-per-chunk.patch (100%) rename patches/unapplied/{ => server}/1001-Optimize-Voxel-Shape-Merging.patch (100%) rename patches/unapplied/{ => server}/1002-Optimize-Bit-Operations-by-inlining.patch (100%) rename patches/unapplied/{ => server}/1003-Remove-streams-from-hot-code.patch (100%) rename patches/unapplied/{ => server}/1004-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch (100%) rename patches/unapplied/{ => server}/1005-Custom-table-implementation-for-blockstate-state-loo.patch (100%) rename patches/unapplied/{ => server}/1006-Fix-entity-type-tags-suggestions-in-selectors.patch (100%) rename patches/unapplied/{ => server}/1007-Handle-Oversized-block-entities-in-chunks.patch (100%) rename patches/unapplied/{ => server}/1008-API-for-checking-sent-chunks.patch (100%) rename patches/unapplied/{ => server}/1009-Check-distance-in-entity-interactions.patch (100%) rename patches/unapplied/{ => server}/1010-Configurable-Sand-Duping.patch (100%) rename patches/unapplied/{ => server}/1011-Optimise-general-POI-access.patch (100%) rename patches/unapplied/{ => server}/1012-Improve-performance-of-mass-crafts.patch (100%) rename patches/unapplied/{ => server}/1013-Properly-resend-entities.patch (100%) rename patches/unapplied/{ => server}/1014-Registry-Modification-API.patch (100%) rename patches/unapplied/{ => server}/1015-Add-registry-entry-and-builders.patch (100%) rename patches/unapplied/{ => server}/1016-Improved-Watchdog-Support.patch (100%) rename patches/unapplied/{ => server}/1017-Proxy-ItemStack-to-CraftItemStack.patch (100%) rename patches/unapplied/{ => server}/1018-Make-a-PDC-view-accessible-directly-from-ItemStack.patch (100%) rename patches/unapplied/{ => server}/1019-Prioritize-Minecraft-commands-in-function-parsing-an.patch (100%) rename patches/unapplied/{ => server}/1020-optimize-dirt-and-snow-spreading.patch (100%) rename patches/unapplied/{ => server}/1021-Fix-NPE-for-Jukebox-setRecord.patch (100%) rename patches/unapplied/{ => server}/1022-Fix-CraftWorld-isChunkGenerated.patch (100%) rename patches/unapplied/{ => server}/1023-fix-horse-inventories.patch (100%) rename patches/unapplied/{ => server}/1024-Only-call-EntityDamageEvents-before-actuallyHurt.patch (100%) rename patches/unapplied/{ => server}/1025-Fix-entity-tracker-desync-when-new-players-are-added.patch (100%) rename patches/unapplied/{ => server}/1026-Lag-compensation-ticks.patch (100%) rename patches/unapplied/{ => server}/1027-Detail-more-information-in-watchdog-dumps.patch (100%) rename patches/unapplied/{ => server}/1028-Write-SavedData-IO-async.patch (100%) rename patches/unapplied/{ => server}/1029-Add-ItemType-getItemRarity.patch (100%) rename patches/unapplied/{ => server}/1030-Incremental-chunk-and-player-saving.patch (100%) rename patches/unapplied/{ => server}/1031-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch (100%) rename patches/unapplied/{ => server}/1032-Bundle-spark.patch (100%) rename patches/unapplied/{ => server}/1033-Add-plugin-info-at-startup.patch (100%) rename patches/unapplied/{ => server}/1034-Make-interaction-leniency-distance-configurable.patch (100%) rename patches/unapplied/{ => server}/1035-Fix-PickupStatus-getting-reset.patch (100%) rename patches/unapplied/{ => server}/1036-Check-for-block-type-in-SculkSensorBlock-canActivate.patch (100%) rename patches/unapplied/{ => server}/1037-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch (100%) rename patches/unapplied/{ => server}/1038-Configuration-for-horizontal-only-item-merging.patch (100%) rename patches/unapplied/{ => server}/1039-Optimise-collision-checking-in-player-move-packet-ha.patch (100%) rename patches/unapplied/{ => server}/1040-Add-skipping-world-symlink-scan.patch (100%) rename patches/unapplied/{ => server}/1041-Add-even-more-Enchantment-API.patch (100%) rename patches/unapplied/{ => server}/1042-Leashable-API.patch (100%) rename patches/unapplied/{ => server}/1043-Fix-CraftBukkit-drag-system.patch (100%) rename patches/unapplied/{ => server}/1044-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch (100%) rename patches/unapplied/{ => server}/1045-Remove-set-damage-lootable-item-function-from-compas.patch (100%) rename patches/unapplied/{ => server}/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch (100%) rename patches/unapplied/{ => server}/1047-Add-enchantment-seed-update-API.patch (100%) rename patches/unapplied/{ => server}/1048-Fix-synchronise-sending-chat-to-client-with-updating.patch (100%) rename patches/unapplied/{ => server}/1049-Fix-InventoryOpenEvent-cancellation.patch (100%) rename patches/unapplied/{ => server}/1050-Fire-BlockExpEvent-on-grindstone-use.patch (100%) rename patches/unapplied/{ => server}/1051-Check-dead-flag-in-isAlive.patch (100%) rename patches/unapplied/{ => server}/1052-Add-FeatureFlag-API.patch (100%) rename patches/unapplied/{ => server}/1053-Tag-Lifecycle-Events.patch (100%) rename patches/unapplied/{ => server}/1054-Item-serialization-as-json.patch (100%) rename patches/unapplied/{ => server}/1055-Validate-slot-in-PlayerInventory-setSlot.patch (100%) rename patches/unapplied/{ => server}/1056-Remove-wall-time-unused-skip-tick-protection.patch (100%) rename patches/unapplied/{ => server}/1057-Disable-pretty-printing-for-advancement-saving.patch (100%) rename patches/unapplied/{ => server}/1058-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch (100%) rename patches/unapplied/{ => server}/1059-Add-enchantWithLevels-with-enchantment-registry-set.patch (100%) rename patches/unapplied/{ => server}/1060-Improve-entity-effect-API.patch (100%) rename patches/unapplied/{ => server}/1061-Add-recipeBrewTime.patch (100%) rename patches/unapplied/{ => server}/1062-Call-bucket-events-for-cauldrons.patch (100%) rename patches/unapplied/{ => server}/1063-Add-PlayerInsertLecternBookEvent.patch (100%) rename patches/unapplied/{ => server}/1064-Void-damage-configuration-API.patch (100%) rename patches/unapplied/{ => server}/1065-Add-Offline-PDC-API.patch (100%) rename patches/unapplied/{ => server}/1066-Add-AnvilView-bypassEnchantmentLevelRestriction.patch (100%) rename patches/unapplied/{ => server}/1067-Add-proper-async-player-disconnections.patch (100%) rename patches/unapplied/{ => server}/1068-Always-send-Banner-patterns-to-the-client.patch (100%) rename patches/unapplied/{ => server}/9999-Optimise-nearby-player-retrieval.patch (100%) create mode 100644 todo.txt diff --git a/build.gradle.kts b/build.gradle.kts index c3d335bfce..0182b94ed1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -67,7 +67,7 @@ repositories { } dependencies { - paramMappings("net.fabricmc:yarn:1.21.1+build.3:mergedv2") + paramMappings("net.fabricmc:yarn:1.21.2+build.1:mergedv2") remapper("net.fabricmc:tiny-remapper:0.10.3:fat") decompiler("org.vineflower:vineflower:1.10.1") spigotDecompiler("io.papermc:patched-spigot-fernflower:0.1+build.13") diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index 6ff6ed67af..7a3394e246 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -28,7 +28,7 @@ index 37dab9e868dbfb019c271a547d975a48ad1cb571..3811c0d849a3eb028ed1a6b7a2d4747f +/.factorypath diff --git a/build.gradle.kts b/build.gradle.kts new file mode 100644 -index 0000000000000000000000000000000000000000..82b298d454dee6a6d996aa7822dd745e70a8da74 +index 0000000000000000000000000000000000000000..6ef457b8ea6ff9b89cb74ecbdca20731d9f94e97 --- /dev/null +++ b/build.gradle.kts @@ -0,0 +1,131 @@ @@ -47,8 +47,8 @@ index 0000000000000000000000000000000000000000..82b298d454dee6a6d996aa7822dd745e + } + implementation("org.ow2.asm:asm-commons:9.7.1") + implementation("commons-lang:commons-lang:2.6") -+ runtimeOnly("org.xerial:sqlite-jdbc:3.46.0.0") -+ runtimeOnly("com.mysql:mysql-connector-j:8.4.0") ++ runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3") ++ runtimeOnly("com.mysql:mysql-connector-j:9.1.0") + + runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6") + runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.18") @@ -62,7 +62,7 @@ index 0000000000000000000000000000000000000000..82b298d454dee6a6d996aa7822dd745e +} + +paperweight { -+ craftBukkitPackageVersion.set("v1_21_R1") // also needs to be updated in MappingEnvironment ++ craftBukkitPackageVersion.set("v1_21_R2") // also needs to be updated in MappingEnvironment +} + +tasks.jar { @@ -165,10 +165,10 @@ index 0000000000000000000000000000000000000000..82b298d454dee6a6d996aa7822dd745e +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..0000000000000000000000000000000000000000 +index da3dad9b745635f2f4b3dd30350070cace3dfc48..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,612 +0,0 @@ +@@ -1,691 +0,0 @@ - - 4.0.0 @@ -192,7 +192,7 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - UTF-8 - unknown - git -- 1_21_R1 +- 1_21_R2 - 21 - - @@ -235,7 +235,25 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - 9.7.1 - compile - -- +- +- +- com.fasterxml.jackson.core +- jackson-annotations +- 2.13.4 +- compile +- +- +- com.fasterxml.jackson.core +- jackson-core +- 2.13.4 +- compile +- +- +- com.fasterxml.jackson.core +- jackson-databind +- 2.13.4.2 +- compile +- - - com.github.oshi - oshi-core @@ -243,15 +261,27 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - compile - - +- com.github.stephenc.jcip +- jcip-annotations +- 1.0-1 +- compile +- +- +- com.microsoft.azure +- msal4j +- 1.15.0 +- compile +- +- - com.mojang - authlib -- 6.0.54 +- 6.0.55 - compile - - - com.mojang - brigadier -- 1.2.9 +- 1.3.10 - compile - - @@ -262,8 +292,38 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - - - com.mojang +- jtracy +- 1.0.29 +- compile +- +- +- com.mojang - logging -- 1.2.7 +- 1.4.9 +- compile +- +- +- com.nimbusds +- content-type +- 2.3 +- compile +- +- +- com.nimbusds +- lang-tag +- 1.7 +- compile +- +- +- com.nimbusds +- nimbus-jose-jwt +- 9.37.3 +- compile +- +- +- com.nimbusds +- oauth2-oidc-sdk +- 11.9.1 - compile - - @@ -353,6 +413,18 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - compile - - +- net.minidev +- accessors-smart +- 2.5.0 +- compile +- +- +- net.minidev +- json-smart +- 2.5.0 +- compile +- +- - net.sf.jopt-simple - jopt-simple - 5.0.4 @@ -366,6 +438,12 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - - - org.apache.logging.log4j +- log4j-api +- 2.22.1 +- compile +- +- +- org.apache.logging.log4j - log4j-core - 2.22.1 - compile @@ -377,17 +455,18 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - compile - - -- org.slf4j -- slf4j-api -- 2.0.9 -- compile -- -- - org.lz4 - lz4-java - 1.8.0 - compile - +- +- org.slf4j +- slf4j-api +- 2.0.9 +- compile +- +- - - - commons-lang @@ -411,13 +490,13 @@ index 71a22e50d5e543d41b0d285fabfa0965a393ab2e..00000000000000000000000000000000 - - org.xerial - sqlite-jdbc -- 3.46.0.0 +- 3.46.1.3 - runtime - - - com.mysql - mysql-connector-j -- 8.4.0 +- 9.1.0 - runtime - - diff --git a/patches/unapplied/0002-Remap-fixes.patch b/patches/server/0002-Remap-fixes.patch similarity index 95% rename from patches/unapplied/0002-Remap-fixes.patch rename to patches/server/0002-Remap-fixes.patch index d128af05d7..50ea8b2aa7 100644 --- a/patches/unapplied/0002-Remap-fixes.patch +++ b/patches/server/0002-Remap-fixes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Remap fixes diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java -index 766006fe7ff965d6ca17df1df457ecc629b3be18..0ef1a7b2a17e81144d594f29f7b5e54d5038dcf4 100644 +index e8b604659cec5a1b09e93dd7c5166d627aa2fe3d..115cb27d3233863692553f8e07238c74b0fcb61c 100644 --- a/src/main/java/net/minecraft/core/BlockPos.java +++ b/src/main/java/net/minecraft/core/BlockPos.java @@ -323,9 +323,11 @@ public class BlockPos extends Vec3i { @@ -59,7 +59,7 @@ index 7344cff32fa6fe3dedb74ed98126072c55b0abd2..d98b28e9488a5a7736719cf656736bb0 } else { entityliving1 = null; diff --git a/src/main/java/net/minecraft/world/level/storage/loot/LootTable.java b/src/main/java/net/minecraft/world/level/storage/loot/LootTable.java -index 9051f0186c09eeb8ecccf62b0116f6da1800a1df..b231f90317fe7df9133674b12d47873520b481cb 100644 +index f3a2612f0e27c36d5206334307eac1880ce8c4b7..4d4d413b8527e1a109276928611b8c857ad6f6aa 100644 --- a/src/main/java/net/minecraft/world/level/storage/loot/LootTable.java +++ b/src/main/java/net/minecraft/world/level/storage/loot/LootTable.java @@ -259,8 +259,8 @@ public class LootTable { @@ -70,7 +70,7 @@ index 9051f0186c09eeb8ecccf62b0116f6da1800a1df..b231f90317fe7df9133674b12d478735 - private final Builder functions = ImmutableList.builder(); + private final ImmutableList.Builder pools = ImmutableList.builder(); + private final ImmutableList.Builder functions = ImmutableList.builder(); - private LootContextParamSet paramSet; + private ContextKeySet paramSet; private Optional randomSequence; diff --git a/src/test/java/org/bukkit/DyeColorsTest.java b/src/test/java/org/bukkit/DyeColorsTest.java @@ -104,10 +104,10 @@ index e96d821da0698dd42651500fb97a0856a9e9ce02..fb7d40181abdaa5b2ce607db47c09d0d } } diff --git a/src/test/java/org/bukkit/ParticleTest.java b/src/test/java/org/bukkit/ParticleTest.java -index 688c5bae8146f6fc8cddb2632e9cbf304f0745fb..1b0df6220682328b8f1d03416cb8df2f6662a1cf 100644 +index ab72aeeec64c284ea42ac1542f55fd33d314effb..e2a03301073aced927244b07fe86f2de043e40a3 100644 --- a/src/test/java/org/bukkit/ParticleTest.java +++ b/src/test/java/org/bukkit/ParticleTest.java -@@ -251,7 +251,7 @@ public class ParticleTest { +@@ -279,7 +279,7 @@ public class ParticleTest { Check in CraftParticle if the conversion is still correct. """, bukkit.getKey())); @@ -172,7 +172,7 @@ index 4a3ac959f0dcc35f80371443383be1f8b42b6d95..e8520f541fda2d1cd9677f3fc7d7d295 assertNotNull(bukkit, "Bukkit gene null for " + gene); diff --git a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java -index a382ca7c6e0f96e5d8be37fa8139360db13f9c2f..8fb906c77070eedec8cde263154eaf4610ad3197 100644 +index 9654a6b8d583c9c8842b14298e2f697761bdd705..dbd5b8684d4c86ff5a6f20f53fe30d0b30c384bf 100644 --- a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java +++ b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java @@ -31,17 +31,17 @@ public class RegistryConstantsTest { diff --git a/patches/unapplied/0003-Build-system-changes.patch b/patches/server/0003-Build-system-changes.patch similarity index 95% rename from patches/unapplied/0003-Build-system-changes.patch rename to patches/server/0003-Build-system-changes.patch index 4e78b9dbf6..31918d8713 100644 --- a/patches/unapplied/0003-Build-system-changes.patch +++ b/patches/server/0003-Build-system-changes.patch @@ -9,7 +9,7 @@ public net.minecraft.server.packs.VanillaPackResourcesBuilder safeGetPath(Ljava/ Co-authored-by: Jake Potrebic diff --git a/build.gradle.kts b/build.gradle.kts -index 82b298d454dee6a6d996aa7822dd745e70a8da74..ef88afa5fe914ae3fef9ffb1a971dabf568f75f3 100644 +index 6ef457b8ea6ff9b89cb74ecbdca20731d9f94e97..d4a5229b4df544ff60cdaee80c8ae301faf2a235 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -8,9 +8,7 @@ plugins { @@ -22,7 +22,7 @@ index 82b298d454dee6a6d996aa7822dd745e70a8da74..ef88afa5fe914ae3fef9ffb1a971dabf + implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion implementation("org.ow2.asm:asm-commons:9.7.1") implementation("commons-lang:commons-lang:2.6") - runtimeOnly("org.xerial:sqlite-jdbc:3.46.0.0") + runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3") @@ -39,6 +37,7 @@ tasks.jar { val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim() val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\"" @@ -131,7 +131,7 @@ index feca36209fd2405fab70f564f63e627b8b78ac18..396ec10a76bdadbf5be2f0e15e88eed4 public static PackRepository createPackRepository(Path dataPacksPath, DirectoryValidator symlinkFinder) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index dd64f5c16560d2ce6255c8319ddd0f5157237f0f..4566237fa1d49a559b2df806f9a318be46a6eade 100644 +index ec2854226de69ce87e1a9bb0b5483775ed192044..17e10c4373b4281cc74b748c4a1e173e36eb9196 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -199,7 +199,7 @@ public class Main { @@ -142,7 +142,7 @@ index dd64f5c16560d2ce6255c8319ddd0f5157237f0f..4566237fa1d49a559b2df806f9a318be + Date buildDate = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse(Main.class.getPackage().getImplementationVendor()); // Paper Calendar deadline = Calendar.getInstance(); - deadline.add(Calendar.DAY_OF_YEAR, -28); + deadline.add(Calendar.DAY_OF_YEAR, -3); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java index 93046379d0cefd5d3236fc59e698809acdc18f80..774556a62eb240da42e84db4502e2ed43495be17 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -172,10 +172,10 @@ index 0000000000000000000000000000000000000000..288fbe68c6053f40e72f0feedef0ae0f + } +} diff --git a/src/test/java/org/bukkit/support/RegistryHelper.java b/src/test/java/org/bukkit/support/RegistryHelper.java -index e5dbcdcbd4187c724c3c6a3b8141a3796710c7a8..73645ea2e5c17e973ed3b888aab56f733f9c87a3 100644 +index f9ed3fd96cb7474785610fe0f87e550456349287..5781c2fab2d407b4a22d5fc80e1c03e907617316 100644 --- a/src/test/java/org/bukkit/support/RegistryHelper.java +++ b/src/test/java/org/bukkit/support/RegistryHelper.java -@@ -58,6 +58,7 @@ public final class RegistryHelper { +@@ -70,6 +70,7 @@ public final class RegistryHelper { } public static void setup(FeatureFlagSet featureFlagSet) { diff --git a/patches/unapplied/0004-Test-changes.patch b/patches/server/0004-Test-changes.patch similarity index 89% rename from patches/unapplied/0004-Test-changes.patch rename to patches/server/0004-Test-changes.patch index 85407ece86..adf6660553 100644 --- a/patches/unapplied/0004-Test-changes.patch +++ b/patches/server/0004-Test-changes.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Test changes Co-authored-by: yannnicklamprecht diff --git a/build.gradle.kts b/build.gradle.kts -index ef88afa5fe914ae3fef9ffb1a971dabf568f75f3..3c1770864ab3e8708bab6cd50d6ffb5e19af5399 100644 +index d4a5229b4df544ff60cdaee80c8ae301faf2a235..41b000aaa71dca3fb392ae657be16e05bd37a178 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,6 +23,7 @@ dependencies { @@ -352,7 +352,7 @@ index ee5ab15bb0bfeb0ff6fa0d720eeff086d92cb459..7419ea2f68607aad27929a608c402bd4 @Test diff --git a/src/test/java/org/bukkit/registry/RegistryClassTest.java b/src/test/java/org/bukkit/registry/RegistryClassTest.java -index 740073ddd99b5e6aba056b99d5ed3e2a94a13b6c..575a06125e0b60b5bb8b6f85131f7d6cf86f5083 100644 +index 297700b237bbd8d5ff9116919f203c82b4037968..ea3d37f387bdb0dd5ae3fba9231ace31d0cebd64 100644 --- a/src/test/java/org/bukkit/registry/RegistryClassTest.java +++ b/src/test/java/org/bukkit/registry/RegistryClassTest.java @@ -57,6 +57,7 @@ import org.objectweb.asm.Type; @@ -364,7 +364,7 @@ index 740073ddd99b5e6aba056b99d5ed3e2a94a13b6c..575a06125e0b60b5bb8b6f85131f7d6c private static final Map, Data> INIT_DATA = new HashMap<>(); diff --git a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java -index 8fb906c77070eedec8cde263154eaf4610ad3197..8705ee2a28d5dba7bb579eae1436451502e1e3c2 100644 +index dbd5b8684d4c86ff5a6f20f53fe30d0b30c384bf..7848c3bb78356f74e7e2cb708308626baa708b1f 100644 --- a/src/test/java/org/bukkit/registry/RegistryConstantsTest.java +++ b/src/test/java/org/bukkit/registry/RegistryConstantsTest.java @@ -26,7 +26,7 @@ public class RegistryConstantsTest { @@ -377,7 +377,7 @@ index 8fb906c77070eedec8cde263154eaf4610ad3197..8705ee2a28d5dba7bb579eae14364515 @Test diff --git a/src/test/java/org/bukkit/support/DummyServerHelper.java b/src/test/java/org/bukkit/support/DummyServerHelper.java -index 6ecafd167d4d8c79f2cbc43ea9da98a5d61d8751..f81f86cf05a8c6816d356185af6d0d84a0474dd2 100644 +index a678510df2b999b78d0b4d233fd15bf444c97080..0a6ba289a94468b67d282a199250142e1e86f075 100644 --- a/src/test/java/org/bukkit/support/DummyServerHelper.java +++ b/src/test/java/org/bukkit/support/DummyServerHelper.java @@ -47,7 +47,7 @@ public final class DummyServerHelper { @@ -395,7 +395,7 @@ index 6ecafd167d4d8c79f2cbc43ea9da98a5d61d8751..f81f86cf05a8c6816d356185af6d0d84 Preconditions.checkArgument(clazz == org.bukkit.Fluid.class, "Fluid namespace must have fluid type"); - TagKey fluidTagKey = TagKey.create(Registries.FLUID, key); + TagKey fluidTagKey = TagKey.create(Registries.FLUID, key); // Paper - address remapping issues - if (BuiltInRegistries.FLUID.getTag(fluidTagKey).isPresent()) { + if (BuiltInRegistries.FLUID.get(fluidTagKey).isPresent()) { return new CraftFluidTag(BuiltInRegistries.FLUID, fluidTagKey); } } @@ -403,7 +403,7 @@ index 6ecafd167d4d8c79f2cbc43ea9da98a5d61d8751..f81f86cf05a8c6816d356185af6d0d84 Preconditions.checkArgument(clazz == org.bukkit.entity.EntityType.class, "Entity type namespace must have entity type"); - TagKey> entityTagKey = TagKey.create(Registries.ENTITY_TYPE, key); + TagKey> entityTagKey = TagKey.create(Registries.ENTITY_TYPE, key); // Paper - address remapping issues - if (BuiltInRegistries.ENTITY_TYPE.getTag(entityTagKey).isPresent()) { + if (BuiltInRegistries.ENTITY_TYPE.get(entityTagKey).isPresent()) { return new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey); } } @@ -425,18 +425,30 @@ index 6ecafd167d4d8c79f2cbc43ea9da98a5d61d8751..f81f86cf05a8c6816d356185af6d0d84 } } diff --git a/src/test/java/org/bukkit/support/RegistryHelper.java b/src/test/java/org/bukkit/support/RegistryHelper.java -index 73645ea2e5c17e973ed3b888aab56f733f9c87a3..4d169ff3541044d447de519d2b0973da98b0bd53 100644 +index 5781c2fab2d407b4a22d5fc80e1c03e907617316..68ae998b30bbcacae3604fb6581ceca3da1eda18 100644 --- a/src/test/java/org/bukkit/support/RegistryHelper.java +++ b/src/test/java/org/bukkit/support/RegistryHelper.java -@@ -98,6 +98,11 @@ public final class RegistryHelper { - private static LayeredRegistryAccess createLayers(MultiPackResourceManager resourceManager) { - // add tags and loot tables for unit tests - LayeredRegistryAccess layers = RegistryLayer.createRegistryAccess(); +@@ -65,6 +65,11 @@ public final class RegistryHelper { + List> list1 = TagLoader.buildUpdatedLookups(iregistrycustom_dimension, list); + RegistryAccess.Frozen iregistrycustom_dimension1 = RegistryDataLoader.load((ResourceManager) ireloadableresourcemanager, list1, RegistryDataLoader.WORLDGEN_REGISTRIES); + LayeredRegistryAccess layers = layeredregistryaccess.replaceFrom(RegistryLayer.WORLDGEN, iregistrycustom_dimension1); + // Paper start - load registry here to ensure bukkit object registry are correctly delayed if needed + try { + Class.forName("org.bukkit.Registry"); + } catch (final ClassNotFoundException ignored) {} + // Paper end - load registry here to ensure bukkit object registry are correctly delayed if needed - layers = WorldLoader.loadAndReplaceLayer(resourceManager, layers, RegistryLayer.WORLDGEN, RegistryDataLoader.WORLDGEN_REGISTRIES); - return layers; + return layers.compositeAccess().freeze(); + } +@@ -82,6 +87,11 @@ public final class RegistryHelper { + List> list1 = TagLoader.buildUpdatedLookups(iregistrycustom_dimension, list); + RegistryAccess.Frozen iregistrycustom_dimension1 = RegistryDataLoader.load((ResourceManager) ireloadableresourcemanager, list1, RegistryDataLoader.WORLDGEN_REGISTRIES); + LayeredRegistryAccess layers = layeredregistryaccess.replaceFrom(RegistryLayer.WORLDGEN, iregistrycustom_dimension1); ++ // Paper start - load registry here to ensure bukkit object registry are correctly delayed if needed ++ try { ++ Class.forName("org.bukkit.Registry"); ++ } catch (final ClassNotFoundException ignored) {} ++ // Paper end - load registry here to ensure bukkit object registry are correctly delayed if needed + RegistryHelper.registry = layers.compositeAccess().freeze(); + // Register vanilla pack + RegistryHelper.dataPack = ReloadableServerResources.loadResources(ireloadableresourcemanager, layers, list, featureFlagSet, Commands.CommandSelection.DEDICATED, 0, MoreExecutors.directExecutor(), MoreExecutors.directExecutor()).join(); diff --git a/patches/unapplied/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch similarity index 98% rename from patches/unapplied/0005-Paper-config-files.patch rename to patches/server/0005-Paper-config-files.patch index ecc645f206..e7ff1d0a22 100644 --- a/patches/unapplied/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -15,7 +15,7 @@ public net.minecraft.server.dedicated.DedicatedServerProperties reload(Lnet/mine public net.minecraft.world.level.NaturalSpawner SPAWNING_CATEGORIES diff --git a/build.gradle.kts b/build.gradle.kts -index 2233e51bfab4ac36977984e8fe7fddb04120dddd..7f7b7f0b29107375b2438e3af0bc0f40390db4fa 100644 +index 41b000aaa71dca3fb392ae657be16e05bd37a178..da6b4787fa787e098e4031790e955ce616593ee9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,6 +10,7 @@ dependencies { @@ -24,8 +24,8 @@ index 2233e51bfab4ac36977984e8fe7fddb04120dddd..7f7b7f0b29107375b2438e3af0bc0f40 implementation("org.ow2.asm:asm-commons:9.7.1") + implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files implementation("commons-lang:commons-lang:2.6") - runtimeOnly("org.xerial:sqlite-jdbc:3.46.0.0") - runtimeOnly("com.mysql:mysql-connector-j:8.4.0") + runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3") + runtimeOnly("com.mysql:mysql-connector-j:9.1.0") diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java new file mode 100644 index 0000000000000000000000000000000000000000..ef41cf3a7d1e6f2bfe81e0fb865d2f969bbc77c1 @@ -5074,7 +5074,7 @@ index 0000000000000000000000000000000000000000..614aba60bb07946a144650fd3aedb316 + protected abstract boolean belowZero(O value); +} diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index b334265d4015fec13d7fedbffba2b6c22f4c8bc8..5b4ac7b4fd0077e900e9f788963f1613bbc9a5d0 100644 +index fc5c42e77a76b0ca946b13435144584b9c4bfafa..9bd6056bba6ba48bada7e9cd5883b0a171b0bbc4 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -129,6 +129,10 @@ public class Main { @@ -5098,10 +5098,10 @@ index b334265d4015fec13d7fedbffba2b6c22f4c8bc8..5b4ac7b4fd0077e900e9f788963f1613 String s = (String) Optional.ofNullable((String) optionset.valueOf("world")).orElse(dedicatedserversettings.getProperties().levelName); LevelStorageSource convertable = LevelStorageSource.createDefault(file.toPath()); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index db2031ffbc802bd850ab40acaec2a9624b753f4c..299afe72a2fc2affca196f2fdfbf27e5533c51a6 100644 +index c54fae06acd566742cea3aef537ad1b4e2b7414a..3fc0abef2c4e2c8ceb3b8c4f02c59700aa3d0803 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop S spin(Function serverFactory) { AtomicReference atomicreference = new AtomicReference(); -@@ -405,6 +406,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess(), iworlddataserver.getGameRules()))); // Paper - create paper world configs + // Add env and gen to constructor, IWorldDataServer -> WorldDataServer + public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { +- super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env); ++ super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env, spigotConfig -> minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess(), iworlddataserver.getGameRules()))); // Paper - create paper world configs this.pvpMode = minecraftserver.isPvpAllowed(); this.convertable = convertable_conversionsession; this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile()); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e433037a03ffafabb952887ae3980e1d51411d4c..c061813d275fbc48d7629cc59d90dbb4c347516c 100644 +index 9cf0c141fefe67893828e300cba4f8a8545ba25f..c8e49c1904c80c4ede40ca5c26efad9b12e247d1 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -156,6 +156,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -157,6 +157,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public final it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap ticksPerSpawnCategory = new it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap<>(); public boolean populating; public final org.spigotmc.SpigotWorldConfig spigotConfig; // Spigot @@ -5214,31 +5214,31 @@ index e433037a03ffafabb952887ae3980e1d51411d4c..c061813d275fbc48d7629cc59d90dbb4 public final SpigotTimings.WorldTimingsHandler timings; // Spigot public static BlockPos lastPhysicsProblem; // Spigot -@@ -173,8 +179,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -174,8 +180,9 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public abstract ResourceKey getTypeKey(); -- protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) { -+ protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator) { // Paper - create paper world config +- protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env) { ++ protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator) { // Paper - create paper world config this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot + this.paperConfig = paperWorldConfigCreator.apply(this.spigotConfig); // Paper - create paper world config this.generator = gen; this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 357c948dd66644497583996f211f25cbe5c78828..d0c41302478bd9b0ec65020e7ef520bd3ff1f347 100644 +index c48b1d5fc73a98eb4967632d8e6e0744961a688f..3882ae04173cd125fe490692a6bc2b4d8b20ff7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -964,6 +964,7 @@ public final class CraftServer implements Server { +@@ -967,6 +967,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot + this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { world.serverLevelData.setDifficulty(config.difficulty); - world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); + world.setSpawnSettings(config.spawnMonsters); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 4566237fa1d49a559b2df806f9a318be46a6eade..0ea2d13ab80559472513c6df362583b8371a9532 100644 +index 17e10c4373b4281cc74b748c4a1e173e36eb9196..755b1d77418ecae0dc9ec5197275d0cd914e7bee 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -142,6 +142,19 @@ public class Main { @@ -5363,7 +5363,7 @@ index 0000000000000000000000000000000000000000..0396589795da1f83ddf62426236dde9a + } +} diff --git a/src/test/java/org/bukkit/support/DummyServerHelper.java b/src/test/java/org/bukkit/support/DummyServerHelper.java -index f81f86cf05a8c6816d356185af6d0d84a0474dd2..ba0a2ab9de34fa40dd90cecaeec4a5e54fe3e2d8 100644 +index 0a6ba289a94468b67d282a199250142e1e86f075..bdfa164ea21cba91b30b965d65d47112111a1209 100644 --- a/src/test/java/org/bukkit/support/DummyServerHelper.java +++ b/src/test/java/org/bukkit/support/DummyServerHelper.java @@ -91,6 +91,7 @@ public final class DummyServerHelper { diff --git a/patches/unapplied/0006-MC-Dev-fixes.patch b/patches/server/0006-MC-Dev-fixes.patch similarity index 85% rename from patches/unapplied/0006-MC-Dev-fixes.patch rename to patches/server/0006-MC-Dev-fixes.patch index 168146736c..2f90f68dd2 100644 --- a/patches/unapplied/0006-MC-Dev-fixes.patch +++ b/patches/server/0006-MC-Dev-fixes.patch @@ -17,10 +17,10 @@ index 643bb8860962ad691b11073f6dbf406bf7ec5fb1..9b8ec1fd158f6e51779be263fd56b911 } } diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java -index 0ef1a7b2a17e81144d594f29f7b5e54d5038dcf4..8994a381b05dcdd1163d2e7a0b63a8875b6063ed 100644 +index 115cb27d3233863692553f8e07238c74b0fcb61c..83e7c141d947f8f8096fed1da716560494bc5c62 100644 --- a/src/main/java/net/minecraft/core/BlockPos.java +++ b/src/main/java/net/minecraft/core/BlockPos.java -@@ -439,12 +439,12 @@ public class BlockPos extends Vec3i { +@@ -445,12 +445,12 @@ public class BlockPos extends Vec3i { if (this.index == l) { return this.endOfData(); } else { @@ -39,11 +39,11 @@ index 0ef1a7b2a17e81144d594f29f7b5e54d5038dcf4..8994a381b05dcdd1163d2e7a0b63a887 } }; diff --git a/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java b/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java -index a467eb6b3b74cdb5378ff5f3043efbe6f4a6f06e..34b3b3251da21bce616870d312fd42fd58ba7881 100644 +index 69993496b6328a963288e11d193d36bd7decfcba..f66a2154486b6d3b5873da043e51df91cd396c72 100644 --- a/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java +++ b/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java -@@ -317,7 +317,7 @@ public class BuiltInRegistries { - Bootstrap.checkBootstrapCalled(() -> "registry " + key); +@@ -325,7 +325,7 @@ public class BuiltInRegistries { + Bootstrap.checkBootstrapCalled(() -> "registry " + key.location()); ResourceLocation resourceLocation = key.location(); LOADERS.put(resourceLocation, () -> initializer.run(registry)); - WRITABLE_REGISTRY.register((ResourceKey>)key, registry, RegistrationInfo.BUILT_IN); @@ -71,10 +71,10 @@ index a614e960fcd5958ad17b679eee8a8e6926f58e62..da101bca71f4710812621b98f0a0d8ca if (!this.hasElementSeparator()) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 299afe72a2fc2affca196f2fdfbf27e5533c51a6..40adb6117b9e0d5f70103113202a07715e403e2a 100644 +index 3fc0abef2c4e2c8ceb3b8c4f02c59700aa3d0803..8e16bc7da15824723f1d7d4bff87fac181978500 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1952,7 +1952,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoopmap(resourcepackrepository::getPack).filter(Objects::nonNull).map(Pack::open).collect(ImmutableList.toImmutableList()); // CraftBukkit - decompile error // Paper - decompile error // todo: is this needed anymore? }, this).thenCompose((immutablelist) -> { MultiPackResourceManager resourcemanager = new MultiPackResourceManager(PackType.SERVER_DATA, immutablelist); - + List> list = TagLoader.loadTagsForExistingRegistries(resourcemanager, this.registries.compositeAccess()); diff --git a/src/main/java/net/minecraft/util/SortedArraySet.java b/src/main/java/net/minecraft/util/SortedArraySet.java index 661a6274a800ca9b91bdb809d026972d23c3b263..ea72dcb064a35bc6245bc5c94d592efedd8faf41 100644 --- a/src/main/java/net/minecraft/util/SortedArraySet.java @@ -97,25 +97,25 @@ index 661a6274a800ca9b91bdb809d026972d23c3b263..ea72dcb064a35bc6245bc5c94d592efe public static SortedArraySet create(Comparator comparator) { diff --git a/src/main/java/net/minecraft/world/entity/monster/Pillager.java b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -index 8eb1aca72df0bca292473e90ecb74159db4fe034..4b4dcee6abe7a6db43638d04665125eec560496e 100644 +index cf025d7a4392213db3cf04e7ace3e2b166e710eb..3e8631c7bd1e7591051ca21c6ae7acd87d3c7529 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java -@@ -66,7 +66,7 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve - protected void registerGoals() { +@@ -69,7 +69,7 @@ public class Pillager extends AbstractIllager implements CrossbowAttackMob, Inve super.registerGoals(); this.goalSelector.addGoal(0, new FloatGoal(this)); + this.goalSelector.addGoal(1, new AvoidEntityGoal<>(this, Creaking.class, 8.0F, 1.0D, 1.2D)); - this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, this, 10.0F)); + this.goalSelector.addGoal(2, new Raider.HoldGroundAttackGoal(this, 10.0F)); // Paper - decomp fix this.goalSelector.addGoal(3, new RangedCrossbowAttackGoal<>(this, 1.0D, 8.0F)); this.goalSelector.addGoal(8, new RandomStrollGoal(this, 0.6D)); this.goalSelector.addGoal(9, new LookAtPlayerGoal(this, Player.class, 15.0F, 1.0F)); diff --git a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java -index e2b72817857a7a203aae4c9de4e01ba1396dc95b..82fc5133325a127890984d51c1381883759eb444 100644 +index 5fa94fd51027901591e40cabdacfd61d16a58585..3f552ee8f90566edddb5943311a14309e4bebb61 100644 --- a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java +++ b/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java -@@ -153,7 +153,7 @@ public class ChunkStatusTasks { - if (protochunk instanceof ImposterProtoChunk) { - chunk1 = ((ImposterProtoChunk) protochunk).getWrapped(); +@@ -151,7 +151,7 @@ public class ChunkStatusTasks { + if (protochunk instanceof ImposterProtoChunk protochunkextension) { + chunk1 = protochunkextension.getWrapped(); } else { - chunk1 = new LevelChunk(worldserver, protochunk, (chunk1) -> { + chunk1 = new LevelChunk(worldserver, protochunk, ($) -> { // Paper - decompile fix diff --git a/patches/unapplied/0007-ConcurrentUtil.patch b/patches/server/0007-ConcurrentUtil.patch similarity index 100% rename from patches/unapplied/0007-ConcurrentUtil.patch rename to patches/server/0007-ConcurrentUtil.patch diff --git a/patches/unapplied/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch similarity index 92% rename from patches/unapplied/0008-CB-fixes.patch rename to patches/server/0008-CB-fixes.patch index 50bdb07720..ce987eb9e7 100644 --- a/patches/unapplied/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -19,10 +19,10 @@ Subject: [PATCH] CB fixes Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a696a0d168987aaa4e59c471a23eeb48d683c1b2..9d11fcb3df12182ae00ce73f7e30091fd199a341 100644 +index a17846ccd8581c3d6da962e977623aaab8314ec7..f6a3606b972064c4ec78487374e6197c0c447e27 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -303,7 +303,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -293,7 +293,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe long l = minecraftserver.getWorldData().worldGenOptions().seed(); @@ -32,7 +32,7 @@ index a696a0d168987aaa4e59c471a23eeb48d683c1b2..9d11fcb3df12182ae00ce73f7e30091f if ((this.dimension() == Level.END && this.dimensionTypeRegistration().is(BuiltinDimensionTypes.END)) || env == org.bukkit.World.Environment.THE_END) { // CraftBukkit - Allow to create EnderDragonBattle in default and custom END this.dragonFight = new EndDragonFight(this, this.serverLevelData.worldGenOptions().seed(), this.serverLevelData.endDragonFightData()); // CraftBukkit diff --git a/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java b/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java -index d927357d541cf206bb3019b2fda3473a77b44ec4..4601c7069ba82ccfe87e9dc304b6f3262f7bbfbf 100644 +index ed78039b89884c41ce10d520786c5b56f7d9b154..0239495abcc7b796864976b37ece184efa9a747e 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java +++ b/src/main/java/net/minecraft/world/item/enchantment/effects/SummonEntityEffect.java @@ -54,7 +54,7 @@ public record SummonEntityEffect(HolderSet> entityTypes, boolean j @@ -45,7 +45,7 @@ index d927357d541cf206bb3019b2fda3473a77b44ec4..4601c7069ba82ccfe87e9dc304b6f326 } diff --git a/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java b/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java -index 0dc7f88877020bddd5a84db51d349f52b673048e..aae73586265593ee7830fb8dd5c2e3d7560057f0 100644 +index 4f68394a94308513269f0a4c749b6a36738e3ca0..953ab7638f7242b5a11dd1de8786172443a0558c 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java +++ b/src/main/java/net/minecraft/world/level/levelgen/structure/StructureCheck.java @@ -40,7 +40,7 @@ public class StructureCheck { @@ -67,7 +67,7 @@ index 0dc7f88877020bddd5a84db51d349f52b673048e..aae73586265593ee7830fb8dd5c2e3d7 RandomState noiseConfig, LevelHeightAccessor world, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java b/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java -index 85c7f3027978b1d7d6c31b7ad21b3377cdda5925..e34deaf398dc6722c3128bdd6b9bc16da2d33bf7 100644 +index a70e6872add1c952a89e74be0e6d09a53cc16559..90b82ad996b2b85628c9a5ddeef9410150b7f70c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java @@ -187,4 +187,11 @@ public class CraftLootTable implements org.bukkit.loot.LootTable { @@ -83,7 +83,7 @@ index 85c7f3027978b1d7d6c31b7ad21b3377cdda5925..e34deaf398dc6722c3128bdd6b9bc16d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 0ea2d13ab80559472513c6df362583b8371a9532..13c37384defda4475de584f33d1860a2d53ce05e 100644 +index 755b1d77418ecae0dc9ec5197275d0cd914e7bee..94004204b6cdbbbf35263faae56e3e06cb6b650c 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -123,6 +123,7 @@ public class Main { @@ -95,7 +95,7 @@ index 0ea2d13ab80559472513c6df362583b8371a9532..13c37384defda4475de584f33d1860a2 this.acceptsAll(Main.asList("nojline"), "Disables jline and emulates the vanilla console"); diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index 905adf97c0d1f0d1c774a6835a5dffcfea884e58..c017ce2ca1bc535795c958a2e509af2adf88efa9 100644 +index 163d54a8bf4cedbd1471e86b7ab1a1b850ed3f39..6effe47b32a8551aa6f6b11bc0315714a119e199 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -26,6 +26,7 @@ import org.bukkit.scheduler.BukkitWorker; @@ -115,7 +115,7 @@ index 905adf97c0d1f0d1c774a6835a5dffcfea884e58..c017ce2ca1bc535795c958a2e509af2a public class CraftScheduler implements BukkitScheduler { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a0f228ee83fd3a913666f88381c946f8a6340644..60dc550431fa4641f8c6d964329b0e2698d1fdd6 100644 +index fc444b734aad2c23f0808cd66fca23fc350d9e10..2392aa50aec6468f2f498e0a806f65013ce963d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -246,7 +246,7 @@ public final class CraftMagicNumbers implements UnsafeValues { diff --git a/patches/unapplied/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch similarity index 95% rename from patches/unapplied/0009-MC-Utils.patch rename to patches/server/0009-MC-Utils.patch index 59c2e99b59..5c84ecfe2d 100644 --- a/patches/unapplied/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -4288,10 +4288,10 @@ index 0000000000000000000000000000000000000000..f7114d5b8f2f93f62883e24da29afaf9 + } +} diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 5135cd504ec5864a4603c004e748947a7d88d2b4..396f368a7e21a7c7b1630b4e20cdbc452c4b0f84 100644 +index 5b9ca3d968fd4884b1b7f2c06477ae00c09f202e..5d0ef11671beb2381e0e1959f5e5f845789a2982 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java -@@ -133,7 +133,7 @@ public class Util { +@@ -136,7 +136,7 @@ public class Util { } public static long getNanos() { @@ -4416,10 +4416,18 @@ index 3e5a85a7ad6149b04622c254fbc2e174896a4128..3f662692ed4846e026a9d48595e7b3b2 + } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 40adb6117b9e0d5f70103113202a07715e403e2a..c9cab509796599b13ca3422de1049aed78348704 100644 +index 8e16bc7da15824723f1d7d4bff87fac181978500..83b32b2963febf8af9ccd7df666cbaccc62f1313 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -973,6 +973,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 4) { + thread.setPriority(8); + } +- + S s0 = serverFactory.apply(thread); // CraftBukkit - decompile error + + atomicreference.set(s0); +@@ -988,6 +987,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop mainThreadExecutor, LightChunkGetter chunkProvider, ChunkGenerator chunkGenerator, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory, int viewDistance, boolean dsync) { super(new RegionStorageInfo(session.getLevelId(), world.dimension(), "chunk"), session.getDimensionPath(world.dimension()).resolve("region"), dataFixer, dsync); this.visibleChunkMap = this.updatingChunkMap.clone(); -@@ -223,6 +229,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider - this.worldGenContext = new WorldGenContext(world, chunkGenerator, structureTemplateManager, this.lightEngine, this.mainThreadMailbox); +@@ -229,6 +235,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + this.chunksToEagerlySave.add(pos.toLong()); } + // Paper start @@ -4575,7 +4575,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f protected ChunkGenerator generator() { return this.worldGenContext.generator(); } -@@ -378,9 +390,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -385,9 +397,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }; stringbuilder.append("Updating:").append(System.lineSeparator()); @@ -4587,17 +4587,17 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f CrashReport crashreport = CrashReport.forThrowable(exception, "Chunk loading"); CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Chunk loading"); -@@ -422,6 +434,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -429,6 +441,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider holder.setTicketLevel(level); } else { - holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this.queueSorter, this); + holder = new ChunkHolder(new ChunkPos(pos), level, this.level, this.lightEngine, this::onLevelChange, this); + // Paper start + ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkHolderCreate(this.level, holder); + // Paper end } this.updatingChunkMap.put(pos, holder); -@@ -445,7 +460,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -458,7 +473,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider protected void saveAllChunks(boolean flush) { if (flush) { @@ -4606,50 +4606,44 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f MutableBoolean mutableboolean = new MutableBoolean(); do { -@@ -468,7 +483,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider - }); - this.flushWorker(); +@@ -484,7 +499,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } else { -- this.visibleChunkMap.values().forEach(this::saveChunkIfNeeded); -+ ca.spottedleaf.moonrise.common.util.ChunkSystem.getVisibleChunkHolders(this.level).forEach(this::saveChunkIfNeeded); - } + this.nextChunkSaveTime.clear(); + long i = Util.getMillis(); +- ObjectIterator objectiterator = this.visibleChunkMap.values().iterator(); ++ Iterator objectiterator = ca.spottedleaf.moonrise.common.util.ChunkSystem.getVisibleChunkHolders(this.level).iterator(); // Paper - } -@@ -487,7 +502,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + while (objectiterator.hasNext()) { + ChunkHolder playerchunk = (ChunkHolder) objectiterator.next(); +@@ -509,7 +524,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } public boolean hasWork() { -- return this.lightEngine.hasLightWork() || !this.pendingUnloads.isEmpty() || !this.updatingChunkMap.isEmpty() || this.poiManager.hasWork() || !this.toDrop.isEmpty() || !this.unloadQueue.isEmpty() || this.queueSorter.hasWork() || this.distanceManager.hasTickets(); -+ return this.lightEngine.hasLightWork() || !this.pendingUnloads.isEmpty() || ca.spottedleaf.moonrise.common.util.ChunkSystem.hasAnyChunkHolders(this.level) || this.poiManager.hasWork() || !this.toDrop.isEmpty() || !this.unloadQueue.isEmpty() || this.queueSorter.hasWork() || this.distanceManager.hasTickets(); // Paper +- return this.lightEngine.hasLightWork() || !this.pendingUnloads.isEmpty() || !this.updatingChunkMap.isEmpty() || this.poiManager.hasWork() || !this.toDrop.isEmpty() || !this.unloadQueue.isEmpty() || this.worldgenTaskDispatcher.hasWork() || this.lightTaskDispatcher.hasWork() || this.distanceManager.hasTickets(); ++ return this.lightEngine.hasLightWork() || !this.pendingUnloads.isEmpty() || ca.spottedleaf.moonrise.common.util.ChunkSystem.hasAnyChunkHolders(this.level) || this.poiManager.hasWork() || !this.toDrop.isEmpty() || !this.unloadQueue.isEmpty() || this.queueSorter.hasWork() || this.lightTaskDispatcher.hasWork() || this.distanceManager.hasTickets(); // Paper } private void processUnloads(BooleanSupplier shouldKeepTicking) { -@@ -523,7 +538,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider - } - - int l = 0; -- ObjectIterator objectiterator = this.visibleChunkMap.values().iterator(); -+ Iterator objectiterator = ca.spottedleaf.moonrise.common.util.ChunkSystem.getVisibleChunkHolders(this.level).iterator(); // Paper - - while (l < 20 && shouldKeepTicking.getAsBoolean() && objectiterator.hasNext()) { - if (this.saveChunkIfNeeded((ChunkHolder) objectiterator.next())) { -@@ -541,7 +556,11 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -568,9 +583,12 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + this.scheduleUnload(pos, chunk); } else { - ChunkAccess ichunkaccess = holder.getLatestChunk(); - -- if (this.pendingUnloads.remove(pos, holder) && ichunkaccess != null) { + ChunkAccess ichunkaccess = chunk.getLatestChunk(); +- +- if (this.pendingUnloads.remove(pos, chunk) && ichunkaccess != null) { +- LevelChunk chunk1; + // Paper start + boolean removed; -+ if ((removed = this.pendingUnloads.remove(pos, holder)) && ichunkaccess != null) { -+ ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkHolderDelete(this.level, holder); ++ if ((removed = this.pendingUnloads.remove(pos, chunk)) && ichunkaccess != null) { ++ ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkHolderDelete(this.level, chunk); + // Paper end - LevelChunk chunk; ++ LevelChunk chunk; if (ichunkaccess instanceof LevelChunk) { -@@ -559,7 +578,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider + chunk1 = (LevelChunk) ichunkaccess; +@@ -587,7 +605,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider this.lightEngine.tryScheduleUpdate(); this.progressListener.onStatusChange(ichunkaccess.getPos(), (ChunkStatus) null); - this.chunkSaveCooldowns.remove(ichunkaccess.getPos().toLong()); + this.nextChunkSaveTime.remove(ichunkaccess.getPos().toLong()); - } + } else if (removed) { // Paper start + ca.spottedleaf.moonrise.common.util.ChunkSystem.onChunkHolderDelete(this.level, holder); @@ -4657,7 +4651,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f } }; -@@ -896,7 +917,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -936,7 +956,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } } @@ -4666,7 +4660,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f int j = Mth.clamp(watchDistance, 2, 32); if (j != this.serverViewDistance) { -@@ -913,7 +934,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -953,7 +973,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } @@ -4675,7 +4669,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f return Mth.clamp(player.requestedViewDistance(), 2, this.serverViewDistance); } -@@ -942,7 +963,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -982,7 +1002,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } public int size() { @@ -4684,7 +4678,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f } public DistanceManager getDistanceManager() { -@@ -950,19 +971,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -990,19 +1010,19 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider } protected Iterable getChunks() { @@ -4709,7 +4703,7 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f Optional optional = Optional.ofNullable(playerchunk.getLatestChunk()); Optional optional1 = optional.flatMap((ichunkaccess) -> { return ichunkaccess instanceof LevelChunk ? Optional.of((LevelChunk) ichunkaccess) : Optional.empty(); -@@ -1385,7 +1406,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1445,7 +1465,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider }); } @@ -4719,10 +4713,10 @@ index 5b920beb39dad8d392b4e5e12a89880720e41942..449608e60f3900778247101581ff598f protected ChunkDistanceManager(final Executor workerExecutor, final Executor mainThreadExecutor) { super(workerExecutor, mainThreadExecutor); diff --git a/src/main/java/net/minecraft/server/level/DistanceManager.java b/src/main/java/net/minecraft/server/level/DistanceManager.java -index d3769ad50ddb556cff515ea8cf853d28e490ca94..dfa0456f352ce25bc4edd1b0f04ca5a14434d7fa 100644 +index 019228b1809e3816b0b4dfb9f19b8d42876cc240..6c2339d6a93172e25040c4868a3a47473a1f5336 100644 --- a/src/main/java/net/minecraft/server/level/DistanceManager.java +++ b/src/main/java/net/minecraft/server/level/DistanceManager.java -@@ -370,7 +370,7 @@ public abstract class DistanceManager { +@@ -385,7 +385,7 @@ public abstract class DistanceManager { } public void removeTicketsOnClosing() { @@ -4732,18 +4726,10 @@ index d3769ad50ddb556cff515ea8cf853d28e490ca94..dfa0456f352ce25bc4edd1b0f04ca5a1 while (objectiterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index d39268911ed7c4d60ee6a82178be23245aae58c4..cf94dd9ddcc1eabcf3fd336e70720f4ed3e52175 100644 +index 9cdcab885a915990a679f3fc9ae6885f7d125bfd..c615510f3f59292715bcff1bd9e4e896c9733436 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -48,6 +48,7 @@ import net.minecraft.world.level.storage.LevelStorageSource; - - public class ServerChunkCache extends ChunkSource { - -+ public static final org.slf4j.Logger LOGGER = com.mojang.logging.LogUtils.getLogger(); // Paper - private static final List CHUNK_STATUSES = ChunkStatus.getStatusList(); - private final DistanceManager distanceManager; - final ServerLevel level; -@@ -66,6 +67,10 @@ public class ServerChunkCache extends ChunkSource { +@@ -74,6 +74,10 @@ public class ServerChunkCache extends ChunkSource { @Nullable @VisibleForDebug private NaturalSpawner.SpawnState lastSpawnState; @@ -4754,7 +4740,7 @@ index d39268911ed7c4d60ee6a82178be23245aae58c4..cf94dd9ddcc1eabcf3fd336e70720f4e public ServerChunkCache(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor workerExecutor, ChunkGenerator chunkGenerator, int viewDistance, int simulationDistance, boolean dsync, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory) { this.level = world; -@@ -91,6 +96,54 @@ public class ServerChunkCache extends ChunkSource { +@@ -104,6 +108,54 @@ public class ServerChunkCache extends ChunkSource { return chunk.getFullChunkNow() != null; } // CraftBukkit end @@ -4809,7 +4795,7 @@ index d39268911ed7c4d60ee6a82178be23245aae58c4..cf94dd9ddcc1eabcf3fd336e70720f4e @Override public ThreadedLevelLightEngine getLightEngine() { -@@ -286,7 +339,7 @@ public class ServerChunkCache extends ChunkSource { +@@ -299,7 +351,7 @@ public class ServerChunkCache extends ChunkSource { return this.mainThreadProcessor.pollTask(); } @@ -4818,7 +4804,7 @@ index d39268911ed7c4d60ee6a82178be23245aae58c4..cf94dd9ddcc1eabcf3fd336e70720f4e boolean flag = this.distanceManager.runAllUpdates(this.chunkMap); boolean flag1 = this.chunkMap.promoteChunkMap(); -@@ -299,6 +352,12 @@ public class ServerChunkCache extends ChunkSource { +@@ -312,6 +364,12 @@ public class ServerChunkCache extends ChunkSource { } } @@ -4829,13 +4815,13 @@ index d39268911ed7c4d60ee6a82178be23245aae58c4..cf94dd9ddcc1eabcf3fd336e70720f4e + // Paper end + public boolean isPositionTicking(long pos) { - ChunkHolder playerchunk = this.getVisibleChunkIfPresent(pos); - + if (!this.level.shouldTickBlocksAt(pos)) { + return false; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 9d11fcb3df12182ae00ce73f7e30091fd199a341..4c39d9e0466240b5cd459ee649a22fe3a72bf9f0 100644 +index f6a3606b972064c4ec78487374e6197c0c447e27..6fe373de360570b528b8133043ef3bb9ba12529d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -236,6 +236,98 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -239,6 +239,98 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe return this.convertable.dimensionType; } @@ -4933,12 +4919,12 @@ index 9d11fcb3df12182ae00ce73f7e30091fd199a341..4c39d9e0466240b5cd459ee649a22fe3 + // Add env and gen to constructor, IWorldDataServer -> WorldDataServer public ServerLevel(MinecraftServer minecraftserver, Executor executor, LevelStorageSource.LevelStorageAccess convertable_conversionsession, PrimaryLevelData iworlddataserver, ResourceKey resourcekey, LevelStem worlddimension, ChunkProgressListener worldloadlistener, boolean flag, long i, List list, boolean flag1, @Nullable RandomSequences randomsequences, org.bukkit.World.Environment env, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider) { - // IRegistryCustom.Dimension iregistrycustom_dimension = minecraftserver.registryAccess(); // CraftBukkit - decompile error + super(iworlddataserver, resourcekey, minecraftserver.registryAccess(), worlddimension.type(), false, flag, i, minecraftserver.getMaxChainedNeighborUpdates(), gen, biomeProvider, env, spigotConfig -> minecraftserver.paperConfigurations.createWorldConfig(io.papermc.paper.configuration.PaperConfigurations.createWorldContextMap(convertable_conversionsession.levelDirectory.path(), iworlddataserver.getLevelName(), resourcekey.location(), spigotConfig, minecraftserver.registryAccess(), iworlddataserver.getGameRules()))); // Paper - create paper world configs diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ff1a8e62d2bb3de62e0c27b2335cb512ea91dedd..cb136a30287a17947ed018cdc48e6f91ed904072 100644 +index 0c211366be68e33b24da2b055142626968ed6b0b..32e7c6e6f09e53fe8b5ade22dad8142cd09e0163 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -281,6 +281,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -309,6 +309,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { public boolean sentListPacket = false; public String kickLeaveMessage = null; // SPIGOT-3034: Forward leave message to PlayerQuitEvent // CraftBukkit end @@ -4947,7 +4933,7 @@ index ff1a8e62d2bb3de62e0c27b2335cb512ea91dedd..cb136a30287a17947ed018cdc48e6f91 public ServerPlayer(MinecraftServer server, ServerLevel world, GameProfile profile, ClientInformation clientOptions) { super(world, world.getSharedSpawnPos(), world.getSharedSpawnAngle(), profile); diff --git a/src/main/java/net/minecraft/server/level/TicketType.java b/src/main/java/net/minecraft/server/level/TicketType.java -index 045b754b5b70bbd1e7732ad2142dfadd6cc2305c..f56e5c0f53f9b52a9247b9be9265b949494fc924 100644 +index 011eeab289d68b9b535c6438016f1244d0666286..e701f57ac8b0efdf739389f9be7a255220bb3e21 100644 --- a/src/main/java/net/minecraft/server/level/TicketType.java +++ b/src/main/java/net/minecraft/server/level/TicketType.java @@ -7,6 +7,7 @@ import net.minecraft.util.Unit; @@ -4959,7 +4945,7 @@ index 045b754b5b70bbd1e7732ad2142dfadd6cc2305c..f56e5c0f53f9b52a9247b9be9265b949 private final String name; private final Comparator comparator; diff --git a/src/main/java/net/minecraft/server/level/WorldGenRegion.java b/src/main/java/net/minecraft/server/level/WorldGenRegion.java -index 7d69da7e761ccfe736656e8c89dd1ae08956695f..421f146ea9c35b852251c0ddb29856c13e11aef3 100644 +index a1f4ebcd0877a6d0c41493eff5d70a408bf98e59..f1725ef766c35aa623ace58fe8bf31fc9b2bb6b3 100644 --- a/src/main/java/net/minecraft/server/level/WorldGenRegion.java +++ b/src/main/java/net/minecraft/server/level/WorldGenRegion.java @@ -169,6 +169,26 @@ public class WorldGenRegion implements WorldGenLevel { @@ -4990,10 +4976,10 @@ index 7d69da7e761ccfe736656e8c89dd1ae08956695f..421f146ea9c35b852251c0ddb29856c1 public BlockState getBlockState(BlockPos pos) { return this.getChunk(SectionPos.blockToSectionCoord(pos.getX()), SectionPos.blockToSectionCoord(pos.getZ())).getBlockState(pos); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 0914b2f9fef1f49df9f0ce7c85cdde94c2c39b6c..6abe921099ff00ecfaf0f423ef27d708420f6f48 100644 +index 23a611c9a83d1cea5ab2f64cdbd696c39872477d..bf660a057d135563b47e7b74d927a82a20b8ef75 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -180,6 +180,7 @@ public abstract class PlayerList { +@@ -181,6 +181,7 @@ public abstract class PlayerList { } public void placeNewPlayer(Connection connection, ServerPlayer player, CommonListenerCookie clientData) { @@ -5002,10 +4988,10 @@ index 0914b2f9fef1f49df9f0ce7c85cdde94c2c39b6c..6abe921099ff00ecfaf0f423ef27d708 GameProfileCache usercache = this.server.getProfileCache(); // Optional optional; // CraftBukkit - decompile error diff --git a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java -index aede9b65e799a1f123f71f9390fb05acddda676b..ca94a1aaccdcc9f28b5f7936b871216a75ab762a 100644 +index ae25aec117a7272735c824a00c1ed117fa52a921..f877bc637fef7f446b328381316f1431b3a5dee8 100644 --- a/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java +++ b/src/main/java/net/minecraft/util/thread/BlockableEventLoop.java -@@ -79,6 +79,13 @@ public abstract class BlockableEventLoop implements Profiler +@@ -82,6 +82,13 @@ public abstract class BlockableEventLoop implements Profiler runnable.run(); } } @@ -5018,12 +5004,12 @@ index aede9b65e799a1f123f71f9390fb05acddda676b..ca94a1aaccdcc9f28b5f7936b871216a + // Paper end @Override - public void tell(R runnable) { + public void schedule(R runnable) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 05a4056b242159b1c85aa6ebf43b69cf85c00021..06cbe7a7ea131a8bead857cbfbd27810a9093320 100644 +index 1631ea62aab53d6e5e0ae44f63367416ac424410..c010d18061f58a583c69e85fc29305497523f569 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -339,6 +339,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -342,6 +342,11 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess return this.level.hasChunk((int) Math.floor(this.getX()) >> 4, (int) Math.floor(this.getZ()) >> 4); } // CraftBukkit end @@ -5036,10 +5022,10 @@ index 05a4056b242159b1c85aa6ebf43b69cf85c00021..06cbe7a7ea131a8bead857cbfbd27810 public Entity(EntityType type, Level world) { this.id = Entity.ENTITY_COUNTER.incrementAndGet(); diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c1db114edd9e31273b76374cbd19710b01cada2b..26064174397dc95f9b117d901e22c55abebf3c39 100644 +index 47712d062ece9914de058153272ab1fa535af372..9aa4e70f1d1c4de2138d31701dceaed25062e69c 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -282,6 +282,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -296,6 +296,7 @@ public abstract class LivingEntity extends Entity implements Attackable { public boolean collides = true; public Set collidableExemptions = new HashSet<>(); public boolean bukkitPickUpLoot; @@ -5048,10 +5034,10 @@ index c1db114edd9e31273b76374cbd19710b01cada2b..26064174397dc95f9b117d901e22c55a @Override public float getBukkitYaw() { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 3e00b12d166c5a6a82e61574bfefd5973ffcbb59..142d762750b9745428ae27802f7a428147a74771 100644 +index 0495b02157a40742ebf6817841010aacea179806..b0e45e28d17780b760a81ccbff61581274e033df 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java -@@ -953,6 +953,25 @@ public final class ItemStack implements DataComponentHolder { +@@ -1025,6 +1025,25 @@ public final class ItemStack implements DataComponentHolder { } } @@ -5077,7 +5063,7 @@ index 3e00b12d166c5a6a82e61574bfefd5973ffcbb59..142d762750b9745428ae27802f7a4281 public void applyComponents(DataComponentPatch changes) { this.components.applyPatch(changes); this.getItem().verifyComponentsAfterLoad(this); -@@ -1219,6 +1238,7 @@ public final class ItemStack implements DataComponentHolder { +@@ -1300,6 +1319,7 @@ public final class ItemStack implements DataComponentHolder { // CraftBukkit start @Deprecated public void setItem(Item item) { @@ -5086,10 +5072,10 @@ index 3e00b12d166c5a6a82e61574bfefd5973ffcbb59..142d762750b9745428ae27802f7a4281 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/level/BlockGetter.java b/src/main/java/net/minecraft/world/level/BlockGetter.java -index 1c71d2c1b16bdba1e14a8230787e4cb4ad530163..d6d8bbc98fc71997cb52521d59ebb59d727d3c22 100644 +index 1a69fa49d43c904d0f762159129b8ed1eea36a43..6850ac324ee4d202f112dbd057ea1bde9de17ea9 100644 --- a/src/main/java/net/minecraft/world/level/BlockGetter.java +++ b/src/main/java/net/minecraft/world/level/BlockGetter.java -@@ -9,6 +9,7 @@ import javax.annotation.Nullable; +@@ -12,6 +12,7 @@ import javax.annotation.Nullable; import net.minecraft.core.BlockPos; import net.minecraft.core.Direction; import net.minecraft.util.Mth; @@ -5097,7 +5083,7 @@ index 1c71d2c1b16bdba1e14a8230787e4cb4ad530163..d6d8bbc98fc71997cb52521d59ebb59d import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -@@ -30,6 +31,15 @@ public interface BlockGetter extends LevelHeightAccessor { +@@ -35,6 +36,15 @@ public interface BlockGetter extends LevelHeightAccessor { } BlockState getBlockState(BlockPos pos); @@ -5114,10 +5100,10 @@ index 1c71d2c1b16bdba1e14a8230787e4cb4ad530163..d6d8bbc98fc71997cb52521d59ebb59d FluidState getFluidState(BlockPos pos); diff --git a/src/main/java/net/minecraft/world/level/ChunkPos.java b/src/main/java/net/minecraft/world/level/ChunkPos.java -index 171c9c4ab2d1a7988935e09b49286f30e36741e2..fa58eeec2b652f0fa251eedf11cfabde5fd3198b 100644 +index a59d3f56859ba7c07dcb45b1e199e3a7132dcff7..0639e4565c3324d757dec1226adb4e99d841f2c0 100644 --- a/src/main/java/net/minecraft/world/level/ChunkPos.java +++ b/src/main/java/net/minecraft/world/level/ChunkPos.java -@@ -20,6 +20,7 @@ public class ChunkPos { +@@ -46,6 +46,7 @@ public class ChunkPos { public static final int REGION_MAX_INDEX = 31; public final int x; public final int z; @@ -5125,7 +5111,7 @@ index 171c9c4ab2d1a7988935e09b49286f30e36741e2..fa58eeec2b652f0fa251eedf11cfabde private static final int HASH_A = 1664525; private static final int HASH_C = 1013904223; private static final int HASH_Z_XOR = -559038737; -@@ -27,16 +28,19 @@ public class ChunkPos { +@@ -53,16 +54,19 @@ public class ChunkPos { public ChunkPos(int x, int z) { this.x = x; this.z = z; @@ -5145,7 +5131,7 @@ index 171c9c4ab2d1a7988935e09b49286f30e36741e2..fa58eeec2b652f0fa251eedf11cfabde } public static ChunkPos minFromRegion(int x, int z) { -@@ -48,7 +52,7 @@ public class ChunkPos { +@@ -74,7 +78,7 @@ public class ChunkPos { } public long toLong() { @@ -5155,7 +5141,7 @@ index 171c9c4ab2d1a7988935e09b49286f30e36741e2..fa58eeec2b652f0fa251eedf11cfabde public static long asLong(int chunkX, int chunkZ) { diff --git a/src/main/java/net/minecraft/world/level/EmptyBlockGetter.java b/src/main/java/net/minecraft/world/level/EmptyBlockGetter.java -index 3c707d6674b2594b09503b959a31c1f4ad3981e6..db61b6b0158a9bcc0e1d735e34fe3671f8c89e21 100644 +index 8741264b0a9529b40c41a4b9bf25b50d27c830bc..87af0b3cfd3a3170955894028fd667f108ea8121 100644 --- a/src/main/java/net/minecraft/world/level/EmptyBlockGetter.java +++ b/src/main/java/net/minecraft/world/level/EmptyBlockGetter.java @@ -17,6 +17,18 @@ public enum EmptyBlockGetter implements BlockGetter { @@ -5178,10 +5164,10 @@ index 3c707d6674b2594b09503b959a31c1f4ad3981e6..db61b6b0158a9bcc0e1d735e34fe3671 public BlockState getBlockState(BlockPos pos) { return Blocks.AIR.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index c061813d275fbc48d7629cc59d90dbb4c347516c..2bc1d0d3ea8a6e3327e9c11bd1f0666d210e9bbe 100644 +index c8e49c1904c80c4ede40ca5c26efad9b12e247d1..3fb17bbcecf6dc4af3b231835adff25f86e1379f 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -95,6 +95,7 @@ import org.bukkit.craftbukkit.CraftServer; +@@ -97,6 +97,7 @@ import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftWorld; import org.bukkit.craftbukkit.SpigotTimings; // Spigot import org.bukkit.craftbukkit.block.CapturedBlockState; @@ -5259,7 +5245,7 @@ index c061813d275fbc48d7629cc59d90dbb4c347516c..2bc1d0d3ea8a6e3327e9c11bd1f0666d ChunkAccess ichunkaccess = this.getChunkSource().getChunk(chunkX, chunkZ, leastStatus, create); if (ichunkaccess == null && create) { -@@ -551,7 +593,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -553,7 +595,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { if (this.isOutsideBuildHeight(pos)) { return Blocks.VOID_AIR.defaultBlockState(); } else { @@ -5269,7 +5255,7 @@ index c061813d275fbc48d7629cc59d90dbb4c347516c..2bc1d0d3ea8a6e3327e9c11bd1f0666d return chunk.getBlockState(pos); } diff --git a/src/main/java/net/minecraft/world/level/LevelReader.java b/src/main/java/net/minecraft/world/level/LevelReader.java -index 749e4ea1be56b393877b5fdd72dc3669dbf5a3dd..a0ae26d6197e1069ca09982b4f8b706c55ae8491 100644 +index 35b338fed1df844846ecc876cbbab19e0efbfcb0..5eb8982678110fabb82a93c5ec67c666b7fde017 100644 --- a/src/main/java/net/minecraft/world/level/LevelReader.java +++ b/src/main/java/net/minecraft/world/level/LevelReader.java @@ -26,6 +26,9 @@ public interface LevelReader extends BlockAndTintGetter, CollisionGetter, Signal @@ -5283,18 +5269,18 @@ index 749e4ea1be56b393877b5fdd72dc3669dbf5a3dd..a0ae26d6197e1069ca09982b4f8b706c boolean hasChunk(int chunkX, int chunkZ); diff --git a/src/main/java/net/minecraft/world/level/PathNavigationRegion.java b/src/main/java/net/minecraft/world/level/PathNavigationRegion.java -index 497792978bdf0e6a53d772304770e8df3e7416ea..c5454b92ca2565461c799d7340160f9fb72c1b0f 100644 +index b682c7c51204f727e21bfc20c691837deb7137ba..5375ea8dee8f74c843964824ad1a374e15711b60 100644 --- a/src/main/java/net/minecraft/world/level/PathNavigationRegion.java +++ b/src/main/java/net/minecraft/world/level/PathNavigationRegion.java -@@ -9,6 +9,7 @@ import net.minecraft.core.Holder; +@@ -8,6 +8,7 @@ import net.minecraft.core.BlockPos; + import net.minecraft.core.Holder; import net.minecraft.core.SectionPos; import net.minecraft.core.registries.Registries; - import net.minecraft.util.profiling.ProfilerFiller; +import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.Entity; import net.minecraft.world.level.biome.Biome; import net.minecraft.world.level.biome.Biomes; -@@ -67,7 +68,7 @@ public class PathNavigationRegion implements BlockGetter, CollisionGetter { +@@ -66,7 +67,7 @@ public class PathNavigationRegion implements CollisionGetter { private ChunkAccess getChunk(int chunkX, int chunkZ) { int i = chunkX - this.centerX; int j = chunkZ - this.centerZ; @@ -5303,7 +5289,7 @@ index 497792978bdf0e6a53d772304770e8df3e7416ea..c5454b92ca2565461c799d7340160f9f ChunkAccess chunkAccess = this.chunks[i][j]; return (ChunkAccess)(chunkAccess != null ? chunkAccess : new EmptyLevelChunk(this.level, new ChunkPos(chunkX, chunkZ), this.plains.get())); } else { -@@ -75,6 +76,30 @@ public class PathNavigationRegion implements BlockGetter, CollisionGetter { +@@ -74,6 +75,30 @@ public class PathNavigationRegion implements CollisionGetter { } } @@ -5335,10 +5321,10 @@ index 497792978bdf0e6a53d772304770e8df3e7416ea..c5454b92ca2565461c799d7340160f9f public WorldBorder getWorldBorder() { return this.level.getWorldBorder(); diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index e0594a1c381487b43bfc55212044e1b3122cee66..59fcaca90b67c03e1a6799e58061dbae3b1f1ceb 100644 +index 107d387f0f81e1a1400cefbec4758b743a64ca3b..0bae4e8d1e9fcc4608b3ef1c981c65f3b03de22b 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -841,12 +841,14 @@ public abstract class BlockBehaviour implements FeatureElement { +@@ -883,12 +883,14 @@ public abstract class BlockBehaviour implements FeatureElement { } } @@ -5352,9 +5338,9 @@ index e0594a1c381487b43bfc55212044e1b3122cee66..59fcaca90b67c03e1a6799e58061dbae + this.shapeExceedsCube = this.cache == null || this.cache.largeCollisionShape; // Paper - moved from actual method to here this.legacySolid = this.calculateSolid(); - } -@@ -893,8 +895,8 @@ public abstract class BlockBehaviour implements FeatureElement { - return this.getBlock().getOcclusionShape(this.asState(), world, pos); + this.occlusionShape = this.canOcclude ? ((Block) this.owner).getOcclusionShape(this.asState()) : Shapes.empty(); +@@ -955,8 +957,8 @@ public abstract class BlockBehaviour implements FeatureElement { + return this.occlusionShape; } - public boolean hasLargeCollisionShape() { @@ -5365,19 +5351,19 @@ index e0594a1c381487b43bfc55212044e1b3122cee66..59fcaca90b67c03e1a6799e58061dbae public boolean useShapeForLightOcclusion() { diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -index 35c4bf87870c0dfa1f648547115238dacbb87426..db4d95ce98eb1490d5306d1f74b282d27264871a 100644 +index 15e3b8c8a850039d0adda3c345bd5b9288d06299..37795b9e264c571efe9c718fa9996197dca4ed54 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkAccess.java -@@ -65,7 +65,7 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom +@@ -65,7 +65,7 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh protected final ShortList[] postProcessing; - protected volatile boolean unsaved; + private volatile boolean unsaved; private volatile boolean isLightCorrect; - protected final ChunkPos chunkPos; + protected final ChunkPos chunkPos; public final long coordinateKey; public final int locX; public final int locZ; // Paper - cache coordinate key private long inhabitedTime; /** @deprecated */ @Nullable -@@ -91,7 +91,8 @@ public abstract class ChunkAccess implements BlockGetter, BiomeManager.NoiseBiom +@@ -91,7 +91,8 @@ public abstract class ChunkAccess implements BiomeManager.NoiseBiomeSource, Ligh // CraftBukkit end public ChunkAccess(ChunkPos pos, UpgradeData upgradeData, LevelHeightAccessor heightLimitView, Registry biomeRegistry, long inhabitedTime, @Nullable LevelChunkSection[] sectionArray, @Nullable BlendingData blendingData) { @@ -5405,10 +5391,10 @@ index a52077f0d93c94b0ea644bc14b9b28e84fd1b154..dcc0acd259920463a4464213b9a5e793 @Nullable @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091fea04ae2 100644 +index 7252096639078cd0b16997354530bf181a61e999..d76591694c3b167b8b8f17b61a373a43140a8b68 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -116,6 +116,10 @@ public class LevelChunk extends ChunkAccess { +@@ -120,6 +120,10 @@ public class LevelChunk extends ChunkAccess { public boolean needsDecoration; // CraftBukkit end @@ -5419,7 +5405,7 @@ index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091 public LevelChunk(ServerLevel world, ProtoChunk protoChunk, @Nullable LevelChunk.PostLoadProcessor entityLoader) { this(world, protoChunk.getPos(), protoChunk.getUpgradeData(), protoChunk.unpackBlockTicks(), protoChunk.unpackFluidTicks(), protoChunk.getInhabitedTime(), protoChunk.getSections(), entityLoader, protoChunk.getBlendingData()); Iterator iterator = protoChunk.getBlockEntities().values().iterator(); -@@ -181,8 +185,25 @@ public class LevelChunk extends ChunkAccess { +@@ -204,8 +208,25 @@ public class LevelChunk extends ChunkAccess { } } @@ -5445,7 +5431,7 @@ index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091 int i = pos.getX(); int j = pos.getY(); int k = pos.getZ(); -@@ -224,6 +245,18 @@ public class LevelChunk extends ChunkAccess { +@@ -247,6 +268,18 @@ public class LevelChunk extends ChunkAccess { } } @@ -5464,7 +5450,7 @@ index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091 @Override public FluidState getFluidState(BlockPos pos) { return this.getFluidState(pos.getX(), pos.getY(), pos.getZ()); -@@ -554,7 +587,11 @@ public class LevelChunk extends ChunkAccess { +@@ -579,7 +612,11 @@ public class LevelChunk extends ChunkAccess { // CraftBukkit start public void loadCallback() { @@ -5476,7 +5462,7 @@ index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091 if (server != null) { /* * If it's a new world, the first few chunks are generated inside -@@ -595,6 +632,10 @@ public class LevelChunk extends ChunkAccess { +@@ -620,6 +657,10 @@ public class LevelChunk extends ChunkAccess { server.getPluginManager().callEvent(unloadEvent); // note: saving can be prevented, but not forced if no saving is actually required this.mustNotSave = !unloadEvent.isSaveChunk(); @@ -5488,7 +5474,7 @@ index 5b73fcfe278f57de249f3a96da58dc08eda7aff6..25380a44e5cc94f3924cfee6a03c3091 @Override diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java -index ca4c8f74a1ab2a8b36e193a2c40c3bd76565d258..2c153af611399e884752f8256bee4fe32de5c572 100644 +index 0cf916776ce8735dcfa4c765b18e77037501a322..771529ba28a16664ad19ed9c0f4bf95eeb7da76b 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunkSection.java @@ -19,7 +19,7 @@ public class LevelChunkSection { @@ -5501,11 +5487,11 @@ index ca4c8f74a1ab2a8b36e193a2c40c3bd76565d258..2c153af611399e884752f8256bee4fe3 private short tickingFluidCount; public final PalettedContainer states; diff --git a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java -index ae16b014abd52ee10d523fb003cce166b846b222..7f302405a88766c2112539d24d3dd2e513f94985 100644 +index 8bd5fb4971be46a51534c202e10a362723ad8664..5321109ca638036572df9a7e17eafcef2b4f5112 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/ProtoChunk.java @@ -83,6 +83,18 @@ public class ProtoChunk extends ChunkAccess { - return new ChunkAccess.TicksToSave(this.blockTicks, this.fluidTicks); + return new ChunkAccess.PackedTicks(this.blockTicks.pack(time), this.fluidTicks.pack(time)); } + // Paper start - If loaded util @@ -5547,10 +5533,10 @@ index 34933c5324126f9afdc5cba9dea997ace8f01806..1cfc906317f07a44f06a4adf021c44e3 return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d0c41302478bd9b0ec65020e7ef520bd3ff1f347..99178e22846c41f1d800b69d4fed064088bbe92c 100644 +index 3882ae04173cd125fe490692a6bc2b4d8b20ff7b..eb61712ea067b277e7f32f887e3528faca275450 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2600,4 +2600,9 @@ public final class CraftServer implements Server { +@@ -2617,4 +2617,9 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -5561,10 +5547,10 @@ index d0c41302478bd9b0ec65020e7ef520bd3ff1f347..99178e22846c41f1d800b69d4fed0640 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 07012c01e1d8eacf37b8a86a5e4e56fb0d81c989..ac6d4c8ac26696a0c6dfa471eee764b871dd2029 100644 +index 799444e4101283c972a160742a9e2548e604173f..456c58877490feab6be3577d34c89ea776568617 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -252,8 +252,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -256,8 +256,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public Chunk[] getLoadedChunks() { @@ -5575,7 +5561,7 @@ index 07012c01e1d8eacf37b8a86a5e4e56fb0d81c989..ac6d4c8ac26696a0c6dfa471eee764b8 } @Override -@@ -328,7 +328,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -334,7 +334,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean refreshChunk(int x, int z) { @@ -5584,7 +5570,7 @@ index 07012c01e1d8eacf37b8a86a5e4e56fb0d81c989..ac6d4c8ac26696a0c6dfa471eee764b8 if (playerChunk == null) return false; playerChunk.getTickingChunkFuture().thenAccept(either -> { -@@ -2100,4 +2100,55 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2110,4 +2110,55 @@ public class CraftWorld extends CraftRegionAccessor implements World { return this.spigot; } // Spigot end @@ -5641,10 +5627,10 @@ index 07012c01e1d8eacf37b8a86a5e4e56fb0d81c989..ac6d4c8ac26696a0c6dfa471eee764b8 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4cbf0d797fc2d57c822877c111698b2077399d32..9cd22b09b295ecd95d17d1dd5edb96f916eb6c09 100644 +index 8ad04c031656d8a676687001b8e9cdc9a1b3bd70..1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2420,4 +2420,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2433,4 +2433,34 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end @@ -5680,10 +5666,10 @@ index 4cbf0d797fc2d57c822877c111698b2077399d32..9cd22b09b295ecd95d17d1dd5edb96f9 + } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -index 952c6ebde7031dc060efe98992f82c02bf3534ea..17fa2d3db112762bcb8b941b69b8ddcc53f47224 100644 +index f6e6f0ddef6693c58f28b89cf3df005a8d47e08d..101eea3452c9e387e770b716543c3a4f17b9a737 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemStack.java -@@ -23,6 +23,20 @@ import org.jetbrains.annotations.ApiStatus; +@@ -31,6 +31,20 @@ import org.jetbrains.annotations.ApiStatus; @DelegateDeserialization(ItemStack.class) public final class CraftItemStack extends ItemStack { @@ -5705,10 +5691,10 @@ index 952c6ebde7031dc060efe98992f82c02bf3534ea..17fa2d3db112762bcb8b941b69b8ddcc if (original instanceof CraftItemStack) { CraftItemStack stack = (CraftItemStack) original; diff --git a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java -index 5fd6eb754c4edebed6798c65b06507a4e89ca48f..524b51a0ab808a0629c871ad813115abd4b49dbd 100644 +index b8a865305cc61954aeebff4a7cd1d1973c5f46ab..e444662ee4d9405eeea7caa41b9cd6b36586d840 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java +++ b/src/main/java/org/bukkit/craftbukkit/util/DelegatedGeneratorAccess.java -@@ -58,6 +58,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; +@@ -56,6 +56,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; import net.minecraft.world.ticks.LevelTickAccess; import net.minecraft.world.ticks.TickPriority; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -5716,9 +5702,9 @@ index 5fd6eb754c4edebed6798c65b06507a4e89ca48f..524b51a0ab808a0629c871ad813115ab public abstract class DelegatedGeneratorAccess implements WorldGenLevel { -@@ -807,4 +808,24 @@ public abstract class DelegatedGeneratorAccess implements WorldGenLevel { - public int getMoonPhase() { - return this.handle.getMoonPhase(); +@@ -788,4 +789,25 @@ public abstract class DelegatedGeneratorAccess implements WorldGenLevel { + public boolean isFluidAtPosition(BlockPos pos, Predicate state) { + return this.handle.isFluidAtPosition(pos, state); } + + // Paper start @@ -5741,6 +5727,7 @@ index 5fd6eb754c4edebed6798c65b06507a4e89ca48f..524b51a0ab808a0629c871ad813115ab + } + // Paper end } ++ diff --git a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java b/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java index e837d76e833d73d888bc1dad3515c2b82bc0e437..4705aed1dd98378c146bf9e346df1a17f719ad36 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/DummyGeneratorAccess.java @@ -5770,7 +5757,7 @@ index e837d76e833d73d888bc1dad3515c2b82bc0e437..4705aed1dd98378c146bf9e346df1a17 public WorldBorder getWorldBorder() { throw new UnsupportedOperationException("Not supported yet."); diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 0c7c97f27853843ec714e47f5b570f9d09bbba14..ff422d4d4f2b764370f0ee2af13034853c1d3fe1 100644 +index 1bf87b4915edf341ad55f8274cef324e0bc28547..3591b79481ac17bd02e59ac3c623d1c6991abd84 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -34,6 +34,9 @@ public class ActivationRange diff --git a/patches/unapplied/0010-Adventure.patch b/patches/server/0010-Adventure.patch similarity index 97% rename from patches/unapplied/0010-Adventure.patch rename to patches/server/0010-Adventure.patch index d9da34e2e7..f5cbd123cd 100644 --- a/patches/unapplied/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2179,10 +2179,10 @@ index 08dcd817bfe1ba0121d4ce701825e4aee384db85..d5f63d06d921d731b4e64b3822837771 public static ChatFormatting getById(int colorIndex) { if (colorIndex < 0) { diff --git a/src/main/java/net/minecraft/commands/CommandSourceStack.java b/src/main/java/net/minecraft/commands/CommandSourceStack.java -index f30cdfa5fd294479e35680b2f758b3295f659b74..ec34e402104d7a696ea95e0b11ee70189b678ab9 100644 +index d6ea21d6d33b701f249a8acd3e7304eb2c02e1ca..2fbd7f7c976fb55b7238f1e512afad79e52a5b2c 100644 --- a/src/main/java/net/minecraft/commands/CommandSourceStack.java +++ b/src/main/java/net/minecraft/commands/CommandSourceStack.java -@@ -65,6 +65,7 @@ public class CommandSourceStack implements ExecutionCommandSource implements ServerInfo, ChunkIOErrorReporter, CommandSource, AutoCloseable { +@@ -208,6 +208,7 @@ import org.bukkit.craftbukkit.SpigotTimings; // Spigot + public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, ChunkIOErrorReporter, CommandSource { public static final Logger LOGGER = LogUtils.getLogger(); + public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger COMPONENT_LOGGER = net.kyori.adventure.text.logger.slf4j.ComponentLogger.logger(LOGGER.getName()); // Paper public static final String VANILLA_BRAND = "vanilla"; private static final float AVERAGE_TICK_TIME_SMOOTHING = 0.8F; private static final int TICK_STATS_SPAN = 100; -@@ -251,8 +252,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { boolean flag1 = true; -@@ -2025,8 +2024,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2288,8 +2287,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } public void sendChatMessage(OutgoingChatMessage message, boolean filterMaskEnabled, ChatType.Bound params) { @@ -2777,7 +2777,7 @@ index cb136a30287a17947ed018cdc48e6f91ed904072..ee5188f3aa2ff71306f5af8046e8ddf9 } } -@@ -2053,6 +2057,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2316,6 +2320,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } // CraftBukkit end this.language = clientOptions.language(); @@ -2786,10 +2786,10 @@ index cb136a30287a17947ed018cdc48e6f91ed904072..ee5188f3aa2ff71306f5af8046e8ddf9 this.chatVisibility = clientOptions.chatVisibility(); this.canChatColor = clientOptions.chatColors(); diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e1a9322c4 100644 +index 64b13cc2f32ab59dd6bea6d33c475228384b7c3e..99f89854e43ed6742dc9ac1624fa7140b4594b3b 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -@@ -72,7 +72,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -73,7 +73,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private static final Component TIMEOUT_DISCONNECTION_MESSAGE = Component.translatable("disconnect.timeout"); static final Component DISCONNECT_UNEXPECTED_QUERY = Component.translatable("multiplayer.disconnect.unexpected_query_response"); protected final MinecraftServer server; @@ -2798,7 +2798,7 @@ index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e private final boolean transferred; private long keepAliveTime; private boolean keepAlivePending; -@@ -81,6 +81,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -82,6 +82,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack private boolean closed = false; private int latency; private volatile boolean suspendFlushingOnServerThread = false; @@ -2806,7 +2806,7 @@ index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e public ServerCommonPacketListenerImpl(MinecraftServer minecraftserver, Connection networkmanager, CommonListenerCookie commonlistenercookie, ServerPlayer player) { // CraftBukkit this.server = minecraftserver; -@@ -194,6 +195,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -201,6 +202,18 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack ServerCommonPacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack {} rejection", this.playerProfile().getName(), packet.id()); this.disconnect((Component) Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); } @@ -2825,7 +2825,7 @@ index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packet.id(), PlayerResourcePackStatusEvent.Status.values()[packet.action().ordinal()])); // CraftBukkit } -@@ -280,6 +293,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -287,6 +300,12 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } } @@ -2838,7 +2838,7 @@ index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e public void disconnect(Component reason) { this.disconnect(new DisconnectionDetails(reason)); } -@@ -310,9 +329,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -317,9 +336,9 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack return; } @@ -2850,7 +2850,7 @@ index 16320a5fccc7faf7ceac95d471532104a61d27a5..b2bddc6183204b9f519549073e38741e if (this.cserver.getServer().isRunning()) { this.cserver.getPluginManager().callEvent(event); -@@ -324,7 +343,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack +@@ -331,7 +350,7 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack } this.player.kickLeaveMessage = event.getLeaveMessage(); // CraftBukkit - SPIGOT-3034: Forward leave message to PlayerQuitEvent // Send the possibly modified leave message @@ -2872,7 +2872,7 @@ index e7c407039fef88ef01ba9b6be9ae5bcc3edc026f..5457358bc76889153036818fdfd70a04 @Override diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd2f974d5a 100644 +index 2a2197f30db99542cb7d2f99dc1377160ba2dc64..eed5dd58fc37c137c87bf3e55e1e033b74002110 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -45,6 +45,7 @@ import net.minecraft.nbt.CompoundTag; @@ -2883,7 +2883,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd import net.minecraft.network.chat.ChatType; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.LastSeenMessages; -@@ -195,6 +196,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; +@@ -201,6 +202,8 @@ import net.minecraft.world.phys.shapes.VoxelShape; import org.slf4j.Logger; // CraftBukkit start @@ -2892,7 +2892,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd import com.mojang.datafixers.util.Pair; import java.util.Arrays; import java.util.concurrent.ExecutionException; -@@ -1728,9 +1731,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1739,9 +1742,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl */ this.player.disconnect(); @@ -2907,7 +2907,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd } // CraftBukkit end this.player.getTextFilter().leave(); -@@ -1791,10 +1796,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1802,10 +1807,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } CompletableFuture completablefuture = this.filterTextPacket(playerchatmessage.signedContent()).thenApplyAsync(Function.identity(), this.server.chatExecutor); // CraftBukkit - async chat @@ -2921,7 +2921,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd this.broadcastChatMessage(playerchatmessage1); }); -@@ -2014,7 +2019,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2025,7 +2030,15 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.handleCommand(s); } else if (this.player.getChatVisibility() == ChatVisiblity.SYSTEM) { // Do nothing, this is coming from a plugin @@ -2938,7 +2938,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd Player player = this.getCraftPlayer(); AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server)); String originalFormat = event.getFormat(), originalMessage = event.getMessage(); -@@ -3011,6 +3024,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3058,6 +3071,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl public void handleClientInformation(ServerboundClientInformationPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); this.player.updateOptions(packet.information()); @@ -2947,7 +2947,7 @@ index 2de70e3a3038b2d2bb47b58f0e14d937c35d55ba..4acee8121ff62413dbbf2294d17da3bd @Override diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java -index b53e3e5e02ed501d30c3fca4c3130263c32cd2f5..b2f7c76207f2dc0c62f608f21aba4b531f8f523f 100644 +index c209ac2be7fabcd36cfcc0400308e44a26d78263..8cf3b9f1b7eef2d6278830e21ae012852687e02b 100644 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java @@ -338,7 +338,7 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener, @@ -2988,10 +2988,10 @@ index 3848cc836785829c5aa82bdb5d37d36a97f94a04..f08700abb005f487aca95c0457c09cef @Override diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2bcfaeaf9 100644 +index bf660a057d135563b47e7b74d927a82a20b8ef75..a70e0ecedc7b70031334bc7fee981bd790ce26a4 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -271,7 +271,7 @@ public abstract class PlayerList { +@@ -274,7 +274,7 @@ public abstract class PlayerList { } // CraftBukkit start ichatmutablecomponent.withStyle(ChatFormatting.YELLOW); @@ -3000,7 +3000,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 playerconnection.teleport(player.getX(), player.getY(), player.getZ(), player.getYRot(), player.getXRot()); ServerStatus serverping = this.server.getStatus(); -@@ -292,19 +292,18 @@ public abstract class PlayerList { +@@ -295,19 +295,18 @@ public abstract class PlayerList { // Ensure that player inventory is populated with its viewer player.containerMenu.transferTo(player.containerMenu, bukkitPlayer); @@ -3025,7 +3025,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 } // CraftBukkit end -@@ -492,7 +491,7 @@ public abstract class PlayerList { +@@ -451,7 +450,7 @@ public abstract class PlayerList { } @@ -3034,7 +3034,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 ServerLevel worldserver = entityplayer.serverLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); -@@ -503,7 +502,7 @@ public abstract class PlayerList { +@@ -462,7 +461,7 @@ public abstract class PlayerList { entityplayer.closeContainer(); } @@ -3043,7 +3043,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 this.cserver.getPluginManager().callEvent(playerQuitEvent); entityplayer.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage()); -@@ -556,7 +555,7 @@ public abstract class PlayerList { +@@ -523,7 +522,7 @@ public abstract class PlayerList { this.cserver.getScoreboardManager().removePlayer(entityplayer.getBukkitEntity()); // CraftBukkit end @@ -3052,7 +3052,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 } // CraftBukkit start - Whole method, SocketAddress to LoginListener, added hostname to signature, return EntityPlayer -@@ -603,11 +602,11 @@ public abstract class PlayerList { +@@ -570,11 +569,11 @@ public abstract class PlayerList { } // return chatmessage; @@ -3067,7 +3067,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 IpBanListEntry ipbanentry = this.ipBans.get(socketaddress); ichatmutablecomponent = Component.translatable("multiplayer.disconnect.banned_ip.reason", ipbanentry.getReason()); -@@ -616,17 +615,17 @@ public abstract class PlayerList { +@@ -583,17 +582,17 @@ public abstract class PlayerList { } // return chatmessage; @@ -3088,7 +3088,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 return null; } return entity; -@@ -1122,7 +1121,7 @@ public abstract class PlayerList { +@@ -1091,7 +1090,7 @@ public abstract class PlayerList { public void removeAll() { // CraftBukkit start - disconnect safely for (ServerPlayer player : this.players) { @@ -3097,7 +3097,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 } // CraftBukkit end -@@ -1163,24 +1162,43 @@ public abstract class PlayerList { +@@ -1132,24 +1131,43 @@ public abstract class PlayerList { } public void broadcastChatMessage(PlayerChatMessage message, ServerPlayer sender, ChatType.Bound params) { @@ -3144,7 +3144,7 @@ index 6abe921099ff00ecfaf0f423ef27d708420f6f48..e9109526880159e2341cc97b53939ba2 } if (flag1 && sender != null) { -@@ -1189,7 +1207,7 @@ public abstract class PlayerList { +@@ -1158,7 +1176,7 @@ public abstract class PlayerList { } @@ -3242,7 +3242,7 @@ index ed54c81a3269360acce674aa4e1d54ccb2461841..c9c849534c3998cfcab7ddcb12a71ccb } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 142d762750b9745428ae27802f7a428147a74771..d0c946b0383dbd8242a554a92bc70dcc2f5cccc6 100644 +index b0e45e28d17780b760a81ccbff61581274e033df..1ebaedc9617e5b79458fa119887fd72cb1f39852 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -183,7 +183,15 @@ public final class ItemStack implements DataComponentHolder { @@ -3262,10 +3262,10 @@ index 142d762750b9745428ae27802f7a428147a74771..d0c946b0383dbd8242a554a92bc70dcc } }; diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index 8ec376f453ac1f4c9423483f5ae1625b295858c7..e535fb3b5194b8412c0c26c0799340916c7542eb 100644 +index 657b5bab0d9e513e52b511e8a1b8fac5799f2281..cdaa050f237c6d6d5a0df0faf23daf3775249451 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -@@ -210,22 +210,22 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C +@@ -210,22 +210,22 @@ public class SignBlockEntity extends BlockEntity { // CraftBukkit start Player player = ((ServerPlayer) entityhuman).getBukkitEntity(); @@ -3294,10 +3294,10 @@ index 8ec376f453ac1f4c9423483f5ae1625b295858c7..e535fb3b5194b8412c0c26c079934091 } } diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 6acee03278c8005a06d9cd2577761f2f5355a7ec..5e469bd4d9ca428abdd9d758993164635dc86f27 100644 +index 2decbf562161fa51b931fcb208a3503d7663bb2e..c21ae4975206398e7d20b37a749b830b9219c746 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -@@ -45,6 +45,7 @@ import net.minecraft.world.level.saveddata.SavedData; +@@ -48,6 +48,7 @@ import net.minecraft.world.level.saveddata.SavedData; import org.slf4j.Logger; // CraftBukkit start @@ -3305,7 +3305,7 @@ index 6acee03278c8005a06d9cd2577761f2f5355a7ec..5e469bd4d9ca428abdd9d75899316463 import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftServer; -@@ -615,7 +616,7 @@ public class MapItemSavedData extends SavedData { +@@ -650,7 +651,7 @@ public class MapItemSavedData extends SavedData { for (org.bukkit.map.MapCursor cursor : render.cursors) { if (cursor.isVisible()) { @@ -3327,10 +3327,10 @@ index 49c037e961c5ca5ba8d6a870cb32ffe8719adc91..2772c19f58a35713d61aab24f6f0d6f5 } } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9ebd6096f46 100644 +index eb61712ea067b277e7f32f887e3528faca275450..16a9142bdbbfbbbb69d1486bd119dc610094484b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -645,8 +645,10 @@ public final class CraftServer implements Server { +@@ -648,8 +648,10 @@ public final class CraftServer implements Server { } @Override @@ -3341,7 +3341,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb } @Override -@@ -1623,7 +1625,15 @@ public final class CraftServer implements Server { +@@ -1627,7 +1629,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -3357,7 +3357,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1797,7 +1807,20 @@ public final class CraftServer implements Server { +@@ -1801,7 +1811,20 @@ public final class CraftServer implements Server { } @Override @@ -3378,7 +3378,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1805,14 +1828,14 @@ public final class CraftServer implements Server { +@@ -1809,14 +1832,14 @@ public final class CraftServer implements Server { } } @@ -3395,7 +3395,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -2074,6 +2097,14 @@ public final class CraftServer implements Server { +@@ -2078,6 +2101,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -3410,7 +3410,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Preconditions.checkArgument(type != null, "InventoryType cannot be null"); -@@ -2088,13 +2119,28 @@ public final class CraftServer implements Server { +@@ -2092,13 +2123,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -3439,7 +3439,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -2159,6 +2205,17 @@ public final class CraftServer implements Server { +@@ -2163,6 +2209,17 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(this.console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -3457,7 +3457,7 @@ index 99178e22846c41f1d800b69d4fed064088bbe92c..9f7634053ddfc4fc67f89cc99524e9eb @Override public String getMotd() { return this.console.getMotd(); -@@ -2605,4 +2662,57 @@ public final class CraftServer implements Server { +@@ -2622,4 +2679,57 @@ public final class CraftServer implements Server { public double[] getTPS() { return new double[]{0, 0, 0}; // TODO } @@ -3554,10 +3554,10 @@ index cbdb1a56a97150c164515a4ce6d3ba06428bf321..b214e7b302abbfe1641485a05f1371ac public URI getUrl() { return this.handle.link(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index ac6d4c8ac26696a0c6dfa471eee764b871dd2029..85c99c3b23df1c4fd8721e7676d8e6b82f9e6abf 100644 +index 456c58877490feab6be3577d34c89ea776568617..274c9cc32d7f65456d184db7f61bc4b159f890f8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -162,6 +162,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -166,6 +166,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { private final BlockMetadataStore blockMetadata = new BlockMetadataStore(this); private final Object2IntOpenHashMap spawnCategoryLimit = new Object2IntOpenHashMap<>(); private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftWorld.DATA_TYPE_REGISTRY); @@ -3565,7 +3565,7 @@ index ac6d4c8ac26696a0c6dfa471eee764b871dd2029..85c99c3b23df1c4fd8721e7676d8e6b8 private static final Random rand = new Random(); -@@ -1709,6 +1710,42 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1705,6 +1706,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { entityTracker.broadcastAndSend(packet); } } @@ -3578,7 +3578,13 @@ index ac6d4c8ac26696a0c6dfa471eee764b871dd2029..85c99c3b23df1c4fd8721e7676d8e6b8 + player.connection.send(io.papermc.paper.adventure.PaperAdventure.asSoundPacket(sound, player.getX(), player.getY(), player.getZ(), seed, null)); + } + } -+ + + @Override + public void playSound(Entity entity, String sound, org.bukkit.SoundCategory category, float volume, float pitch, long seed) { +@@ -1717,6 +1727,33 @@ public class CraftWorld extends CraftRegionAccessor implements World { + } + } + + @Override + public void playSound(final net.kyori.adventure.sound.Sound sound, final double x, final double y, final double z) { + org.spigotmc.AsyncCatcher.catchOp("play sound"); // Paper @@ -3604,11 +3610,12 @@ index ac6d4c8ac26696a0c6dfa471eee764b871dd2029..85c99c3b23df1c4fd8721e7676d8e6b8 + private java.util.function.BiConsumer, Float> playSound0(final double x, final double y, final double z) { + return (packet, distance) -> this.world.getServer().getPlayerList().broadcast(null, x, y, z, distance, this.world.dimension(), packet); + } -+ // Paper end - - private static Map> gamerules; - public static synchronized Map> getGameRulesNMS() { -@@ -2150,5 +2187,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { ++ // Paper end - Adventure ++ + private Map> gamerules; + public synchronized Map> getGameRulesNMS() { + if (this.gamerules != null) { +@@ -2160,5 +2197,18 @@ public class CraftWorld extends CraftRegionAccessor implements World { public void setSendViewDistance(final int viewDistance) { throw new UnsupportedOperationException("Not implemented yet"); } @@ -3628,7 +3635,7 @@ index ac6d4c8ac26696a0c6dfa471eee764b871dd2029..85c99c3b23df1c4fd8721e7676d8e6b8 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 13c37384defda4475de584f33d1860a2d53ce05e..3b0370256b4d8c96053b340a657c6bcc6be6c9de 100644 +index 94004204b6cdbbbf35263faae56e3e06cb6b650c..2e33acc428dbfd3e123dfd6ef90bc020b8a08daf 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -20,6 +20,12 @@ public class Main { @@ -3645,10 +3652,10 @@ index 13c37384defda4475de584f33d1860a2d53ce05e..3b0370256b4d8c96053b340a657c6bcc OptionParser parser = new OptionParser() { { diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -index 9ef8b0327e377817faaf58b82a8fdfa5e801eac8..2dfbe061a064b0c79b96f644a1c3639bb900eca4 100644 +index 0949f9e6bcb66da94c30439ce4ed4c8415537526..8021ac39cb9c1ff45123d51e6f13b840d1290bb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBeacon.java -@@ -72,6 +72,19 @@ public class CraftBeacon extends CraftBlockEntityState implem +@@ -81,6 +81,19 @@ public class CraftBeacon extends CraftBlockEntityState implem this.getSnapshot().secondaryPower = (effect != null) ? CraftPotionEffectType.bukkitToMinecraftHolder(effect) : null; } @@ -3690,11 +3697,11 @@ index f9b89a7c6ac9f7fdbd29567a5b6550398dbc7345..f5b0bec4c1164fe7ef6da1f19a6ce9bb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java b/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java -index 007b6d66dd837ca6352c0fba5c2399139f6b5425..513402b61e6b8388b7bc163d98e54ffae0e18254 100644 +index 32f3c1f1903baf26c69b1262ff2956d7dcb84a90..76888df4b47ee0d134bca4a3aecddbb1bf4c09b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftContainer.java -@@ -32,6 +32,19 @@ public abstract class CraftContainer extends - this.getSnapshot().lockKey = (key == null) ? LockCode.NO_LOCK : new LockCode(key); +@@ -57,6 +57,19 @@ public abstract class CraftContainer extends + } } + // Paper start @@ -4033,10 +4040,10 @@ index 2d0c82ca240e371a756d71f28e2e04d1aa8e6ad2..f73017bff613bd62b86c974b29576e24 @Override public String getTranslationKey() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index d09102fe44dffa61dff883488f47715effaa8211..269326e7689eba91bcfd3475006e8cbf8f5694ef 100644 +index 8b53a3c4f4285321b12ac0d51f94c04f39cc8ec8..978397e517a6fdb24c7d2b3f242545af07deeab0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -69,6 +69,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -70,6 +70,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { private final EntityType entityType; private EntityDamageEvent lastDamageEvent; private final CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftEntity.DATA_TYPE_REGISTRY); @@ -4044,7 +4051,7 @@ index d09102fe44dffa61dff883488f47715effaa8211..269326e7689eba91bcfd3475006e8cbf public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -525,6 +526,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -526,6 +527,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -4077,7 +4084,7 @@ index d09102fe44dffa61dff883488f47715effaa8211..269326e7689eba91bcfd3475006e8cbf @Override public void setCustomName(String name) { // sane limit for name length -@@ -621,6 +648,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -622,6 +649,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public String getName() { return CraftChatMessage.fromComponent(this.getHandle().getName()); } @@ -4096,10 +4103,10 @@ index d09102fe44dffa61dff883488f47715effaa8211..269326e7689eba91bcfd3475006e8cbf @Override public boolean isPermissionSet(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index f77f14d549479a5e6d4ef823c137954de746a5ce..a93895a6e656c25e819354ecf5c73ff4bae83675 100644 +index 3091c174f7f8454035d015e96278e87284d5f399..bfa44c4e37618df3f745bccc6e775ce16c19490d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -@@ -329,9 +329,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -330,9 +330,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { container = CraftEventFactory.callInventoryOpenEvent(player, container); if (container == null) return; @@ -4114,7 +4121,7 @@ index f77f14d549479a5e6d4ef823c137954de746a5ce..a93895a6e656c25e819354ecf5c73ff4 player.containerMenu = container; player.initMenu(container); } -@@ -401,8 +404,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { +@@ -402,8 +405,12 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { // Now open the window MenuType windowType = CraftContainer.getNotchInventoryType(inventory.getTopInventory()); @@ -4148,10 +4155,10 @@ index 55945b83a5426b352bad9507cc9e94afb1278032..9ea1537408ff2d790747b6e5a681d917 public boolean isOp() { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca40d70f9d1 100644 +index 1f013a6eb2088eccb3aea1a5ecd8aac8cc9597d9..c02ab554fe6e1b7eb01bbd1824a86ff4de1db2f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -390,14 +390,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -391,14 +391,40 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public String getDisplayName() { @@ -4192,7 +4199,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 @Override public String getPlayerListName() { return this.getHandle().listName == null ? this.getName() : CraftChatMessage.fromComponent(this.getHandle().listName); -@@ -409,6 +435,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -410,6 +436,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { name = this.getName(); } this.getHandle().listName = name.equals(this.getName()) ? null : CraftChatMessage.fromStringOrNull(name); @@ -4200,8 +4207,8 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 for (ServerPlayer player : (List) this.server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -416,42 +443,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { - } +@@ -429,42 +456,42 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + this.getHandle().listOrder = order; } - private Component playerListHeader; @@ -4252,7 +4259,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 this.getHandle().connection.send(packet); } -@@ -481,6 +508,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -494,6 +521,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().transferCookieConnection.kickPlayer(CraftChatMessage.fromStringOrEmpty(message, true)); } @@ -4276,7 +4283,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 @Override public void setCompassTarget(Location loc) { Preconditions.checkArgument(loc != null, "Location cannot be null"); -@@ -777,6 +821,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -790,6 +834,24 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } @@ -4301,7 +4308,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 @Override public void sendSignChange(Location loc, String[] lines) { this.sendSignChange(loc, lines, DyeColor.BLACK); -@@ -800,6 +862,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -813,6 +875,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; Component[] components = CraftSign.sanitizeLines(lines); @@ -4314,7 +4321,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 SignBlockEntity sign = new SignBlockEntity(CraftLocation.toBlockPosition(loc), Blocks.OAK_SIGN.defaultBlockState()); SignText text = sign.getFrontText(); text = text.setColor(net.minecraft.world.item.DyeColor.byId(dyeColor.getWoolData())); -@@ -1816,7 +1884,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1829,7 +1897,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url) { @@ -4323,7 +4330,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 } @Override -@@ -1831,7 +1899,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1844,7 +1912,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash, boolean force) { @@ -4332,7 +4339,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 } @Override -@@ -1868,6 +1936,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1881,6 +1949,59 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.handlePushResourcePack(new ClientboundResourcePackPushPacket(id, url, hashStr, force, CraftChatMessage.fromStringOrOptional(prompt, true)), false); } @@ -4392,7 +4399,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 @Override public void removeResourcePack(UUID id) { Preconditions.checkArgument(id != null, "Resource pack id cannot be null"); -@@ -2288,6 +2409,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2301,6 +2422,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (this.getHandle().requestedViewDistance() == 0) ? Bukkit.getViewDistance() : this.getHandle().requestedViewDistance(); } @@ -4405,7 +4412,7 @@ index 9cd22b09b295ecd95d17d1dd5edb96f916eb6c09..69b8d0f73ced69cd88029a5d7e11aca4 @Override public int getPing() { return this.getHandle().connection.latency(); -@@ -2338,6 +2465,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2351,6 +2478,248 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().allowsListing(); } @@ -4677,10 +4684,10 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364 @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7719afbb1af4091f688a75c92ee8cae8669974ff..34636f7a05d868c4df86316a65c4e008f54db634 100644 +index b5034787283b5a0403c11281895563372fccb5d2..8ea4d63833cd1500d7f413f761aa9a7cf26520c0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -917,7 +917,7 @@ public class CraftEventFactory { +@@ -915,7 +915,7 @@ public class CraftEventFactory { return event; } @@ -4688,8 +4695,8 @@ index 7719afbb1af4091f688a75c92ee8cae8669974ff..34636f7a05d868c4df86316a65c4e008 + public static PlayerDeathEvent callPlayerDeathEvent(ServerPlayer victim, DamageSource damageSource, List drops, net.kyori.adventure.text.Component deathMessage, boolean keepInventory) { // Paper - Adventure CraftPlayer entity = victim.getBukkitEntity(); CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); - PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(damageSource.getEntity()), 0, deathMessage); -@@ -950,7 +950,7 @@ public class CraftEventFactory { + PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, drops, victim.getExpReward(victim.serverLevel(), damageSource.getEntity()), 0, deathMessage); +@@ -948,7 +948,7 @@ public class CraftEventFactory { * Server methods */ public static ServerListPingEvent callServerListPingEvent(SocketAddress address, String motd, int numPlayers, int maxPlayers) { @@ -4821,11 +4828,11 @@ index d89b178dc82c7e2ad6d586217c5a039688563e29..d674289b07748022b94cc6a7e6c6eb45 public String getTitle() { return this.title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 500bfe5dd745327f953a314e863f7318953bf3bc..e2daeeba1bacbb5c5ca2aa922fa67b02cd050755 100644 +index 6e111222e251e2f7959390e9fa0c31a163207c14..5d7e6b61102a6244c5426917c4ff280fa9e12cf1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -@@ -206,4 +206,21 @@ public final class CraftItemFactory implements ItemFactory { - Optional> optional = (allowTreasures) ? Optional.empty() : registry.registryOrThrow(Registries.ENCHANTMENT).getTag(EnchantmentTags.IN_ENCHANTING_TABLE); +@@ -209,4 +209,21 @@ public final class CraftItemFactory implements ItemFactory { + Optional> optional = (allowTreasures) ? Optional.empty() : registry.lookupOrThrow(Registries.ENCHANTMENT).get(EnchantmentTags.IN_ENCHANTING_TABLE); return CraftItemStack.asCraftMirror(EnchantmentHelper.enchantItem(source, craft.handle, level, registry, optional)); } + @@ -5191,11 +5198,11 @@ index c71a4971f127fdfc753306019313ce1a31201120..fd3b12477c30d1eabdbe57ea77902793 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 8bba749bce211814f51af8a33f2ed60ba7a8b52d..0c73854243f7fa21d1ffdb3b4c85ee0a69c9c5e4 100644 +index bc68a45af66699f013851869646a2c11d5a871ee..626fe2af05fecd41b777b5dd5decbedb2f17b43a 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -961,6 +961,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { - return !(this.hasDisplayName() || this.hasItemName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.build().isEmpty() || !this.removedTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isHideTooltip() || this.isUnbreakable() || this.hasEnchantmentGlintOverride() || this.isFireResistant() || this.hasMaxStackSize() || this.hasRarity() || this.hasFood() || this.hasTool() || this.hasJukeboxPlayable() || this.hasDamage() || this.hasMaxDamage() || this.hasAttributeModifiers() || this.customTag != null); +@@ -1097,6 +1097,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { + return !(this.hasDisplayName() || this.hasItemName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasEnchantable() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.build().isEmpty() || !this.removedTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isHideTooltip() || this.hasTooltipStyle() || this.hasItemModel() || this.isUnbreakable() || this.hasEnchantmentGlintOverride() || this.isGlider() || this.hasDamageResistant() || this.hasMaxStackSize() || this.hasRarity() || this.hasUseRemainder() || this.hasUseCooldown() || this.hasFood() || this.hasTool() || this.hasJukeboxPlayable() || this.hasEquippable() || this.hasDamage() || this.hasMaxDamage() || this.hasAttributeModifiers() || this.customTag != null); } + // Paper start @@ -5213,7 +5220,7 @@ index 8bba749bce211814f51af8a33f2ed60ba7a8b52d..0c73854243f7fa21d1ffdb3b4c85ee0a @Override public String getDisplayName() { return CraftChatMessage.fromComponent(this.displayName); -@@ -991,6 +1003,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1127,6 +1139,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.itemName != null; } @@ -5232,7 +5239,7 @@ index 8bba749bce211814f51af8a33f2ed60ba7a8b52d..0c73854243f7fa21d1ffdb3b4c85ee0a @Override public String getLocalizedName() { return this.getDisplayName(); -@@ -1010,6 +1034,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1146,6 +1170,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } @@ -5252,7 +5259,7 @@ index 8bba749bce211814f51af8a33f2ed60ba7a8b52d..0c73854243f7fa21d1ffdb3b4c85ee0a public boolean hasRepairCost() { return this.repairCost > 0; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java -index 8952e5526cfe90ad16a7af28b0a8d9c65b159f90..cd3e35867075e65f46051fb88d8a2460a8bb4b53 100644 +index 38fb47bbfcec739be795b46cfb7c2c41a8379fea..caf7e4312e95e90dd0822355c8832006e69a2700 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/trim/CraftTrimMaterial.java @@ -60,6 +60,14 @@ public class CraftTrimMaterial implements TrimMaterial, Handleable diff --git a/build.gradle.kts b/build.gradle.kts -index c4572c0a6d9695088613d158838f236fe64efb48..83daf789efc4ce90ff54420e040b783569eb5cab 100644 +index da6b4787fa787e098e4031790e955ce616593ee9..02a3dd42d82df410b6a6d22c0350fa3e44ccf70f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,9 +5,29 @@ plugins { @@ -260,10 +260,10 @@ index 8323f135d6bf2e1f12525e05094ffa3f2420e7e1..a143ea1e58464a3122fbd8ccafe417bd } } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 387552877ac82baa3af0da723dbb7c331fad6cf4..b334cfc9b98d96f9bfba1d5b14c03c336d30ff23 100644 +index 775f68ce2b402d86a83ab2307f38963ade731ef0..11832f0d93ae86cb3d54bd82f9377b915b4365d3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -154,7 +154,7 @@ import com.mojang.serialization.Dynamic; +@@ -161,7 +161,7 @@ import com.mojang.serialization.Dynamic; import com.mojang.serialization.Lifecycle; import java.io.File; import java.util.Random; @@ -272,7 +272,7 @@ index 387552877ac82baa3af0da723dbb7c331fad6cf4..b334cfc9b98d96f9bfba1d5b14c03c33 import joptsimple.OptionSet; import net.minecraft.nbt.NbtException; import net.minecraft.nbt.ReportedNbtException; -@@ -296,7 +296,6 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; -@@ -383,7 +382,9 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0) { // Trim to filter lines which are just spaces @@ -340,7 +340,7 @@ index cd26616aba6abd44abc5eb8b01cc96f29248aecd..b41eb920b5665b7a1b7cd9f38955c31e } // CraftBukkit end } -@@ -151,6 +154,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -150,6 +153,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.error("Exception handling console input", ioexception); } @@ -349,7 +349,7 @@ index cd26616aba6abd44abc5eb8b01cc96f29248aecd..b41eb920b5665b7a1b7cd9f38955c31e } }; -@@ -162,6 +167,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -161,6 +166,9 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface } global.addHandler(new org.bukkit.craftbukkit.util.ForwardLogHandler()); @@ -359,7 +359,7 @@ index cd26616aba6abd44abc5eb8b01cc96f29248aecd..b41eb920b5665b7a1b7cd9f38955c31e final org.apache.logging.log4j.core.Logger logger = ((org.apache.logging.log4j.core.Logger) LogManager.getRootLogger()); for (org.apache.logging.log4j.core.Appender appender : logger.getAppenders().values()) { if (appender instanceof org.apache.logging.log4j.core.appender.ConsoleAppender) { -@@ -172,6 +180,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -171,6 +179,8 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface TerminalConsoleWriterThread writerThread = new TerminalConsoleWriterThread(System.out, this.reader); this.reader.setCompletionHandler(new TerminalCompletionHandler(writerThread, this.reader.getCompletionHandler())); writerThread.start(); @@ -382,10 +382,10 @@ index 3d92c61f7781221cfdc0324d11bd0088954e4a68..84a2c6c397604279ba821286f5c3c855 if (!SwingUtilities.isEventDispatchThread()) { SwingUtilities.invokeLater(() -> { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index e9109526880159e2341cc97b53939ba2bcfaeaf9..9dcfcea63f57f45a5584bb80c34fe445d65849e8 100644 +index a70e0ecedc7b70031334bc7fee981bd790ce26a4..56f046bac04205a813441907058c4ce21982d927 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -161,8 +161,7 @@ public abstract class PlayerList { +@@ -162,8 +162,7 @@ public abstract class PlayerList { public PlayerList(MinecraftServer server, LayeredRegistryAccess registryManager, PlayerDataStorage saveHandler, int maxPlayers) { this.cserver = server.server = new CraftServer((DedicatedServer) server, this); @@ -396,7 +396,7 @@ index e9109526880159e2341cc97b53939ba2bcfaeaf9..9dcfcea63f57f45a5584bb80c34fe445 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9f7634053ddfc4fc67f89cc99524e9ebd6096f46..752933ceabd7ebe7b1e9f7d41198128f6f2182a6 100644 +index 16a9142bdbbfbbbb69d1486bd119dc610094484b..2affb23b83e4368a94345b36410f23139f5d36c8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -43,7 +43,7 @@ import java.util.logging.Level; @@ -408,7 +408,7 @@ index 9f7634053ddfc4fc67f89cc99524e9ebd6096f46..752933ceabd7ebe7b1e9f7d41198128f import net.minecraft.advancements.AdvancementHolder; import net.minecraft.commands.CommandSourceStack; import net.minecraft.commands.Commands; -@@ -1356,9 +1356,13 @@ public final class CraftServer implements Server { +@@ -1359,9 +1359,13 @@ public final class CraftServer implements Server { return this.logger; } @@ -423,7 +423,7 @@ index 9f7634053ddfc4fc67f89cc99524e9ebd6096f46..752933ceabd7ebe7b1e9f7d41198128f @Override public PluginCommand getPluginCommand(String name) { diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 3b0370256b4d8c96053b340a657c6bcc6be6c9de..bdb8e882ec1efbe5afec9ec5a5df57bf38d4ba2b 100644 +index 2e33acc428dbfd3e123dfd6ef90bc020b8a08daf..4a99cf5a146abe0d2b40ffc1189fdc5540f14d55 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -13,7 +13,6 @@ import java.util.logging.Logger; diff --git a/patches/unapplied/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch similarity index 97% rename from patches/unapplied/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch rename to patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch index 8128ee5424..8fbbff759a 100644 --- a/patches/unapplied/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch +++ b/patches/server/0012-Handle-plugin-prefixes-using-Log4J-configuration.patch @@ -15,7 +15,7 @@ This may cause additional prefixes to be disabled for plugins bypassing the plugin logger. diff --git a/build.gradle.kts b/build.gradle.kts -index 0a05e753ff5e7b1d741c7719524715d7364cac4f..d82d1e90cbda544b3d20edcc13d1cb955c48f731 100644 +index 02a3dd42d82df410b6a6d22c0350fa3e44ccf70f..a6fafa32af547efd912468ca3a5c76d8d193651d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -23,7 +23,7 @@ dependencies { diff --git a/patches/unapplied/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch similarity index 100% rename from patches/unapplied/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch rename to patches/server/0013-Improve-Log4J-Configuration-Plugin-Loggers.patch diff --git a/patches/unapplied/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch similarity index 89% rename from patches/unapplied/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch rename to patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch index 1d920095cb..6c4c11016c 100644 --- a/patches/unapplied/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch +++ b/patches/server/0014-Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch @@ -5,13 +5,13 @@ Subject: [PATCH] Use AsyncAppender to keep logging IO off main thread diff --git a/build.gradle.kts b/build.gradle.kts -index d82d1e90cbda544b3d20edcc13d1cb955c48f731..3bd5c2a2add9b462523beb9dfaf2eb5a00d470b9 100644 +index a6fafa32af547efd912468ca3a5c76d8d193651d..b36f2e9e9980f6d2596c57791e0769c6ce734d11 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -34,6 +34,7 @@ dependencies { implementation("commons-lang:commons-lang:2.6") - runtimeOnly("org.xerial:sqlite-jdbc:3.46.0.0") - runtimeOnly("com.mysql:mysql-connector-j:8.4.0") + runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3") + runtimeOnly("com.mysql:mysql-connector-j:9.1.0") + runtimeOnly("com.lmax:disruptor:3.4.4") // Paper runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6") diff --git a/patches/unapplied/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch similarity index 98% rename from patches/unapplied/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch rename to patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch index a6358b2bba..2c9e91fed7 100644 --- a/patches/unapplied/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch +++ b/patches/server/0015-Deobfuscate-stacktraces-in-log-messages-crash-report.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Deobfuscate stacktraces in log messages, crash reports, and diff --git a/build.gradle.kts b/build.gradle.kts -index 7c81605648c6ba1360936faae25ef5fc11f0bcb4..4838ca75b9536ce5fd30906b51bdab86789668ec 100644 +index b36f2e9e9980f6d2596c57791e0769c6ce734d11..c73ab51caa985089ade4df0616ee8d3333632980 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -46,6 +46,7 @@ dependencies { @@ -454,7 +454,7 @@ index 1938ae691dafec1fc1e5a68792d1191bd52b4e5c..268310642181a715815d3b2d1c0f090e this.exception = cause; this.systemReport.setDetail("CraftBukkit Information", new org.bukkit.craftbukkit.CraftCrashReport()); // CraftBukkit diff --git a/src/main/java/net/minecraft/CrashReportCategory.java b/src/main/java/net/minecraft/CrashReportCategory.java -index f367ba058018074bfe6e4fe88bcc875ea9794d9e..2176171954609fd88f97f93408e14e018c1d6eaa 100644 +index 81831a061d7fbf513f4aa7880e3b18ef3fdc05d7..1e9873d7b258ce1f0b2437cb1e487157a16f6834 100644 --- a/src/main/java/net/minecraft/CrashReportCategory.java +++ b/src/main/java/net/minecraft/CrashReportCategory.java @@ -110,6 +110,7 @@ public class CrashReportCategory { @@ -496,10 +496,10 @@ index 77985072928a1b892fb4f7dec1d0899324780082..f5e6610d271ef2c997fb3d1a5f65e0bf protected void channelRead0(ChannelHandlerContext channelhandlercontext, Packet packet) { diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index b41eb920b5665b7a1b7cd9f38955c31eeb350847..bb59986c211f7d6ea50b1ad4bd5565227bec8a6c 100644 +index dcb9258d3fbdfdfd41065d4c0919ed4300eac3ae..a61a92078a8bb4979f231c02ef5aa990b8ab57ad 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -210,6 +210,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -209,6 +209,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface org.spigotmc.SpigotConfig.init((java.io.File) this.options.valueOf("spigot-settings")); org.spigotmc.SpigotConfig.registerCommands(); // Spigot end diff --git a/patches/unapplied/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch similarity index 100% rename from patches/unapplied/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch rename to patches/server/0016-Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch diff --git a/patches/unapplied/0017-Paper-command.patch b/patches/server/0017-Paper-command.patch similarity index 98% rename from patches/unapplied/0017-Paper-command.patch rename to patches/server/0017-Paper-command.patch index 4d47273f65..4b47a9acbb 100644 --- a/patches/unapplied/0017-Paper-command.patch +++ b/patches/server/0017-Paper-command.patch @@ -605,10 +605,10 @@ index 0000000000000000000000000000000000000000..ae60bd96b5284d54676d8e7e4dd5d170 + } +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index bb59986c211f7d6ea50b1ad4bd5565227bec8a6c..9c950fc1de15b5039e34a9fdf893e97a8cc13237 100644 +index a61a92078a8bb4979f231c02ef5aa990b8ab57ad..cd9e4bfdb3f335213001ced27540bb7efbc04130 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -215,6 +215,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -214,6 +214,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface this.paperConfigurations.initializeGlobalConfiguration(this.registryAccess()); this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess()); // Paper end - initialize global and world-defaults configuration @@ -617,10 +617,10 @@ index bb59986c211f7d6ea50b1ad4bd5565227bec8a6c..9c950fc1de15b5039e34a9fdf893e97a this.setPvpAllowed(dedicatedserverproperties.pvp); this.setFlightAllowed(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 752933ceabd7ebe7b1e9f7d41198128f6f2182a6..492af80bc4a252ad3b82aef0c46c3e6625ec9146 100644 +index 2affb23b83e4368a94345b36410f23139f5d36c8..1b66c5173dd37433d895c0d804257141a3a8c588 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -988,6 +988,7 @@ public final class CraftServer implements Server { +@@ -991,6 +991,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -628,7 +628,7 @@ index 752933ceabd7ebe7b1e9f7d41198128f6f2182a6..492af80bc4a252ad3b82aef0c46c3e66 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2710,6 +2711,34 @@ public final class CraftServer implements Server { +@@ -2727,6 +2728,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/unapplied/0018-Paper-Metrics.patch b/patches/server/0018-Paper-Metrics.patch similarity index 99% rename from patches/unapplied/0018-Paper-Metrics.patch rename to patches/server/0018-Paper-Metrics.patch index 46c111b03f..9ad0f5d70e 100644 --- a/patches/unapplied/0018-Paper-Metrics.patch +++ b/patches/server/0018-Paper-Metrics.patch @@ -698,10 +698,10 @@ index 0000000000000000000000000000000000000000..6aaed8e8bf8c721fc834da5c76ac72a4 + } +} diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 9c950fc1de15b5039e34a9fdf893e97a8cc13237..6ba90739c20995362a5275e2259cac9e17fbcf59 100644 +index cd9e4bfdb3f335213001ced27540bb7efbc04130..3b403e9edf4e860160dd230977870f21a0e32a7a 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -216,6 +216,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -215,6 +215,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface this.paperConfigurations.initializeWorldDefaultsConfiguration(this.registryAccess()); // Paper end - initialize global and world-defaults configuration io.papermc.paper.command.PaperCommands.registerCommands(this); // Paper - setup /paper command @@ -710,7 +710,7 @@ index 9c950fc1de15b5039e34a9fdf893e97a8cc13237..6ba90739c20995362a5275e2259cac9e this.setPvpAllowed(dedicatedserverproperties.pvp); this.setFlightAllowed(dedicatedserverproperties.allowFlight); diff --git a/src/main/java/org/spigotmc/SpigotConfig.java b/src/main/java/org/spigotmc/SpigotConfig.java -index b717c9d8b6edc2cafc9281140913b7bdb6108cf0..ba621fdc82896245f6ce448e084847edc4d3fe08 100644 +index 744edd40128c910c3ad2f3657bde995612e0a1e4..d9e73e37b54e2f6e13313977c76cb4212c240992 100644 --- a/src/main/java/org/spigotmc/SpigotConfig.java +++ b/src/main/java/org/spigotmc/SpigotConfig.java @@ -83,6 +83,7 @@ public class SpigotConfig diff --git a/patches/unapplied/0019-Paper-Plugins.patch b/patches/server/0019-Paper-Plugins.patch similarity index 99% rename from patches/unapplied/0019-Paper-Plugins.patch rename to patches/server/0019-Paper-Plugins.patch index 1fdf462bb3..f473973b3c 100644 --- a/patches/unapplied/0019-Paper-Plugins.patch +++ b/patches/server/0019-Paper-Plugins.patch @@ -7203,10 +7203,10 @@ index f7114d5b8f2f93f62883e24da29afaf9f74ee1a6..8bf0630c0e06950cd99b7ae9898137f7 return foundFrame.orElse(null); diff --git a/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java b/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java -index 34b3b3251da21bce616870d312fd42fd58ba7881..cbc1658e0df4070605a6b2fbe99167b3bc001223 100644 +index f66a2154486b6d3b5873da043e51df91cd396c72..3f72e30b57fb2a4231e22a2234729408c1240af4 100644 --- a/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java +++ b/src/main/java/net/minecraft/core/registries/BuiltInRegistries.java -@@ -322,7 +322,13 @@ public class BuiltInRegistries { +@@ -330,7 +330,13 @@ public class BuiltInRegistries { } public static void bootStrap() { @@ -7221,10 +7221,10 @@ index 34b3b3251da21bce616870d312fd42fd58ba7881..cbc1658e0df4070605a6b2fbe99167b3 validate(REGISTRY); } diff --git a/src/main/java/net/minecraft/server/Bootstrap.java b/src/main/java/net/minecraft/server/Bootstrap.java -index 394792291e3b89e5fd757907eecd85ccc71183e2..8f1992188f7fd9e735569e099b36a7eafed47aae 100644 +index aa38282b0f5461fc623a69d9860523a678a6bcd6..9abd1dea58ffc612114d5fd8e8944d4aa8c68236 100644 --- a/src/main/java/net/minecraft/server/Bootstrap.java +++ b/src/main/java/net/minecraft/server/Bootstrap.java -@@ -62,6 +62,7 @@ public class Bootstrap { +@@ -63,6 +63,7 @@ public class Bootstrap { Bootstrap.isBootstrapped = true; Instant instant = Instant.now(); @@ -7232,7 +7232,7 @@ index 394792291e3b89e5fd757907eecd85ccc71183e2..8f1992188f7fd9e735569e099b36a7ea if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) { throw new IllegalStateException("Unable to load registries"); } else { -@@ -73,7 +74,10 @@ public class Bootstrap { +@@ -74,7 +75,10 @@ public class Bootstrap { EntitySelectorOptions.bootStrap(); DispenseItemBehavior.bootStrap(); CauldronInteraction.bootStrap(); @@ -7245,7 +7245,7 @@ index 394792291e3b89e5fd757907eecd85ccc71183e2..8f1992188f7fd9e735569e099b36a7ea Bootstrap.wrapStreams(); Bootstrap.bootstrapDuration.set(Duration.between(instant, Instant.now()).toMillis()); diff --git a/src/main/java/net/minecraft/server/Main.java b/src/main/java/net/minecraft/server/Main.java -index 5b4ac7b4fd0077e900e9f788963f1613bbc9a5d0..6afede80c10503a261d0f735c351d943597be9ff 100644 +index 9bd6056bba6ba48bada7e9cd5883b0a171b0bbc4..7399358f18dc7869fbfe414186cf18414c1eaafc 100644 --- a/src/main/java/net/minecraft/server/Main.java +++ b/src/main/java/net/minecraft/server/Main.java @@ -119,6 +119,7 @@ public class Main { @@ -7257,10 +7257,10 @@ index 5b4ac7b4fd0077e900e9f788963f1613bbc9a5d0..6afede80c10503a261d0f735c351d943 Bootstrap.validate(); Util.startTimerHackThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 492af80bc4a252ad3b82aef0c46c3e6625ec9146..3d98004af5c872f8a183476183d1cc89a2aac4b6 100644 +index 1b66c5173dd37433d895c0d804257141a3a8c588..e8c1ceed228a1dfb9f3c76b54a91d712c511ffb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -277,7 +277,8 @@ public final class CraftServer implements Server { +@@ -280,7 +280,8 @@ public final class CraftServer implements Server { private final CraftCommandMap commandMap = new CraftCommandMap(this); private final SimpleHelpMap helpMap = new SimpleHelpMap(this); private final StandardMessenger messenger = new StandardMessenger(); @@ -7270,7 +7270,7 @@ index 492af80bc4a252ad3b82aef0c46c3e6625ec9146..3d98004af5c872f8a183476183d1cc89 private final StructureManager structureManager; protected final DedicatedServer console; protected final DedicatedPlayerList playerList; -@@ -455,24 +456,7 @@ public final class CraftServer implements Server { +@@ -458,24 +459,7 @@ public final class CraftServer implements Server { } public void loadPlugins() { @@ -7296,7 +7296,7 @@ index 492af80bc4a252ad3b82aef0c46c3e6625ec9146..3d98004af5c872f8a183476183d1cc89 } public void enablePlugins(PluginLoadOrder type) { -@@ -561,15 +545,17 @@ public final class CraftServer implements Server { +@@ -564,15 +548,17 @@ public final class CraftServer implements Server { private void enablePlugin(Plugin plugin) { try { List perms = plugin.getDescription().getPermissions(); @@ -7320,7 +7320,7 @@ index 492af80bc4a252ad3b82aef0c46c3e6625ec9146..3d98004af5c872f8a183476183d1cc89 this.pluginManager.enablePlugin(plugin); } catch (Throwable ex) { -@@ -1012,6 +998,7 @@ public final class CraftServer implements Server { +@@ -1015,6 +1001,7 @@ public final class CraftServer implements Server { "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); } @@ -7329,12 +7329,12 @@ index 492af80bc4a252ad3b82aef0c46c3e6625ec9146..3d98004af5c872f8a183476183d1cc89 this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 655ceaa92b9979fe29725f9812507731bb0bb484..a339a0aa6fd7cc7be810e93bc9eb192437519c75 100644 +index e04586249625dc8d77ad5eecd06b8b88fa288503..1aae364ee6c67b6c89a59ad6cab83bb921645453 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -401,6 +401,16 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); - return nmsItemStack.getItem().getDescriptionId(nmsItemStack); + return nmsItemStack.getItem().getDescriptionId(); } + // Paper start + @Override @@ -8154,7 +8154,7 @@ index 0000000000000000000000000000000000000000..ba271c35eb2804f94cfc893bf94affb9 + } +} diff --git a/src/test/java/org/bukkit/support/DummyServerHelper.java b/src/test/java/org/bukkit/support/DummyServerHelper.java -index ba0a2ab9de34fa40dd90cecaeec4a5e54fe3e2d8..5d24b95e3eec351ec1e9444533dd5f9d376ec4c6 100644 +index bdfa164ea21cba91b30b965d65d47112111a1209..2fed099bc91a8591a2415493b333f9c18bfe35f6 100644 --- a/src/test/java/org/bukkit/support/DummyServerHelper.java +++ b/src/test/java/org/bukkit/support/DummyServerHelper.java @@ -87,7 +87,7 @@ public final class DummyServerHelper { diff --git a/patches/unapplied/0020-Plugin-remapping.patch b/patches/server/0020-Plugin-remapping.patch similarity index 99% rename from patches/unapplied/0020-Plugin-remapping.patch rename to patches/server/0020-Plugin-remapping.patch index b3cdef4eca..d0b034e9a9 100644 --- a/patches/unapplied/0020-Plugin-remapping.patch +++ b/patches/server/0020-Plugin-remapping.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Plugin remapping Co-authored-by: Nassim Jahnke diff --git a/build.gradle.kts b/build.gradle.kts -index 3c9a9d2c44a3b177408ddfb3cad1e09169bf148b..ccf6e24f016991ac5987b5872037bf44d17e698f 100644 +index c73ab51caa985089ade4df0616ee8d3333632980..9086a65f5d593eea72a89d1153f6d353dfac1619 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -47,6 +47,7 @@ dependencies { @@ -1553,10 +1553,10 @@ index 0000000000000000000000000000000000000000..badff5d6ae6dd8d209c82bc7e8afe370 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b334cfc9b98d96f9bfba1d5b14c03c336d30ff23..e880543e94189fea3ba62eb7fb05ff48bc425299 100644 +index 11832f0d93ae86cb3d54bd82f9377b915b4365d3..3d1e9f24b83513c9f499471e7eefaf639f9097ec 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -642,6 +642,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/build.gradle.kts b/build.gradle.kts -index 381a4885c4f52c1e094af350fcb7e04b590f849a..6d8f4c3b290609d60dbcabe3d2c8274b017246c8 100644 +index 9086a65f5d593eea72a89d1153f6d353dfac1619..e1cfa2188dbe583a0180be2243a7a554dc5412d7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -48,6 +48,12 @@ dependencies { @@ -608,7 +608,7 @@ index 0000000000000000000000000000000000000000..a3045afbc0cc057e99189b909367b21c + } +} diff --git a/src/main/java/io/papermc/paper/util/MappingEnvironment.java b/src/main/java/io/papermc/paper/util/MappingEnvironment.java -index 8e4229634d41a42b3d93948eebb77def7c0c72b1..fb6aa9e2575b22e3089ea7fb32e6abfa6bb07d18 100644 +index 8e4229634d41a42b3d93948eebb77def7c0c72b1..4477944f632a6b3936960ee80f9d898d3b7eed19 100644 --- a/src/main/java/io/papermc/paper/util/MappingEnvironment.java +++ b/src/main/java/io/papermc/paper/util/MappingEnvironment.java @@ -10,6 +10,8 @@ import org.checkerframework.framework.qual.DefaultQualifier; @@ -616,7 +616,7 @@ index 8e4229634d41a42b3d93948eebb77def7c0c72b1..fb6aa9e2575b22e3089ea7fb32e6abfa @DefaultQualifier(NonNull.class) public final class MappingEnvironment { + public static final boolean DISABLE_PLUGIN_REMAPPING = Boolean.getBoolean("paper.disablePluginRemapping"); -+ public static final String LEGACY_CB_VERSION = "v1_21_R1"; ++ public static final String LEGACY_CB_VERSION = "v1_21_R2"; private static final @Nullable String MAPPINGS_HASH = readMappingsHash(); private static final boolean REOBF = checkReobf(); @@ -705,7 +705,7 @@ index 2a29f60c3e82239ab7acd85242fc3390cb9129cd..91c6721201b095eb32c5fd5a1aaf2cbc final Set rerouteMethodData = new HashSet<>(); String className; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a339a0aa6fd7cc7be810e93bc9eb192437519c75..33d3085d0d44d748fcb1fc203dfd14c9e1b4aff0 100644 +index 1aae364ee6c67b6c89a59ad6cab83bb921645453..a45c08c423248a60f9d5822046014427a6dadd12 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -74,6 +74,7 @@ import org.bukkit.potion.PotionType; diff --git a/patches/unapplied/0023-Timings-v2.patch b/patches/server/0023-Timings-v2.patch similarity index 87% rename from patches/unapplied/0023-Timings-v2.patch rename to patches/server/0023-Timings-v2.patch index 61ba53e722..710f9d8a42 100644 --- a/patches/unapplied/0023-Timings-v2.patch +++ b/patches/server/0023-Timings-v2.patch @@ -714,19 +714,19 @@ index f7197f1347251a37dd0f6d9ffa2f09bc3a4e1233..d0d36a57ec4896bcb74970f8fb24d8f3 } catch (Exception exception) { if (exception instanceof ReportedException) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index e880543e94189fea3ba62eb7fb05ff48bc425299..49de4625c57689a3624ed421c0b03512507c97c3 100644 +index 3d1e9f24b83513c9f499471e7eefaf639f9097ec..4502e2cf565b7b0547a1963b1119d7810b7a0bcb 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -196,7 +196,7 @@ import org.bukkit.craftbukkit.Main; +@@ -203,7 +203,7 @@ import org.bukkit.craftbukkit.Main; import org.bukkit.event.server.ServerLoadEvent; // CraftBukkit end -import org.bukkit.craftbukkit.SpigotTimings; // Spigot +import co.aikar.timings.MinecraftTimings; // Paper - public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, ChunkIOErrorReporter, CommandSource, AutoCloseable { + public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, ChunkIOErrorReporter, CommandSource { -@@ -911,6 +911,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { -- return !this.haveTime(); -+ return !this.canSleepForTickNoOversleep(); // Paper - move oversleep into full server tick - }); - } ++ //this.runAllTasks(); // Paper - move this into the tick method for timings + this.waitingForNextTick = true; -@@ -1321,9 +1334,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { +- return !this.haveTime(); ++ return !this.canSleepForTickNoOversleep(); // Paper - move oversleep into full server tick + }); + } finally { + this.waitingForNextTick = false; +@@ -1369,7 +1382,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { @@ -787,53 +796,58 @@ index e880543e94189fea3ba62eb7fb05ff48bc425299..49de4625c57689a3624ed421c0b03512 ++this.tickCount; this.tickRateManager.tick(); this.tickChildren(shouldKeepTicking); -@@ -1337,14 +1358,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.ticksUntilAutosave <= 0) { - this.ticksUntilAutosave = this.autosavePeriod; - // CraftBukkit end -- SpigotTimings.worldSaveTimer.startTiming(); // Spigot - MinecraftServer.LOGGER.debug("Autosave started"); - this.profiler.push("save"); - this.saveEverything(true, false, false); - this.profiler.pop(); - MinecraftServer.LOGGER.debug("Autosave finished"); -- SpigotTimings.worldSaveTimer.stopTiming(); // Spigot - } +@@ -1408,6 +1428,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { entityplayer.connection.suspendFlushing(); }); - SpigotTimings.schedulerTimer.startTiming(); // Spigot + MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper - this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit + this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit - SpigotTimings.schedulerTimer.stopTiming(); // Spigot + MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper - this.profiler.push("commandFunctions"); + gameprofilerfiller.push("commandFunctions"); - SpigotTimings.commandFunctionsTimer.startTiming(); // Spigot + MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper this.getFunctions().tick(); - SpigotTimings.commandFunctionsTimer.stopTiming(); // Spigot + MinecraftTimings.commandFunctionsTimer.stopTiming(); // Spigot // Paper - this.profiler.popPush("levels"); + gameprofilerfiller.popPush("levels"); Iterator iterator = this.getAllLevels().iterator(); // CraftBukkit start @@ -851,8 +865,8 @@ index e880543e94189fea3ba62eb7fb05ff48bc425299..49de4625c57689a3624ed421c0b03512 // Send time updates to everyone, it will get the right time from the world the player is in. if (this.tickCount % 20 == 0) { for (int i = 0; i < this.getPlayerList().players.size(); ++i) { -@@ -1455,7 +1478,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { CommandSourceStack wrapper = rconConsoleSource.createCommandSourceStack(); RemoteServerCommandEvent event = new RemoteServerCommandEvent(rconConsoleSource.getBukkitSender(wrapper), s); -@@ -720,9 +723,39 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -702,9 +705,39 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface if (event.isCancelled()) { return; } @@ -977,7 +991,7 @@ index d38ecbc208c34509eaf77751ac45d9ef51a5dce8..b51c3f8c485496734ea58c15377a1215 // CraftBukkit end } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 449608e60f3900778247101581ff598f1637499b..bb5115b3593c314f5edfb5947a3c35a489bf71af 100644 +index b6fb3921b7df9748e38df494fd0012f45d97ac4b..5c9ed5091d61418d99582cb5a7242b5e10126dc5 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -1,8 +1,10 @@ @@ -991,7 +1005,7 @@ index 449608e60f3900778247101581ff598f1637499b..bb5115b3593c314f5edfb5947a3c35a4 import com.google.common.collect.Lists; import com.google.common.collect.Queues; import com.google.common.collect.Sets; -@@ -1296,6 +1298,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1355,6 +1357,7 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider List list = Lists.newArrayList(); List list1 = this.level.players(); ObjectIterator objectiterator = this.entityMap.values().iterator(); @@ -999,7 +1013,7 @@ index 449608e60f3900778247101581ff598f1637499b..bb5115b3593c314f5edfb5947a3c35a4 ChunkMap.TrackedEntity playerchunkmap_entitytracker; -@@ -1320,14 +1323,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1379,14 +1382,17 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider playerchunkmap_entitytracker.serverEntity.sendChanges(); } } @@ -1018,10 +1032,10 @@ index 449608e60f3900778247101581ff598f1637499b..bb5115b3593c314f5edfb5947a3c35a4 } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index cf94dd9ddcc1eabcf3fd336e70720f4ed3e52175..e0c8b89767087cba34fc3c3809db4c386dacb193 100644 +index c615510f3f59292715bcff1bd9e4e896c9733436..a29598ae54d5d20740a105f81bcaec2a152fe4ba 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -195,13 +195,15 @@ public class ServerChunkCache extends ChunkSource { +@@ -207,13 +207,15 @@ public class ServerChunkCache extends ChunkSource { } gameprofilerfiller.incrementCounter("getChunkCacheMiss"); @@ -1039,7 +1053,7 @@ index cf94dd9ddcc1eabcf3fd336e70720f4ed3e52175..e0c8b89767087cba34fc3c3809db4c38 ChunkResult chunkresult = (ChunkResult) completablefuture.join(); ChunkAccess ichunkaccess1 = (ChunkAccess) chunkresult.orElse(null); // CraftBukkit - decompile error -@@ -366,7 +368,9 @@ public class ServerChunkCache extends ChunkSource { +@@ -382,7 +384,9 @@ public class ServerChunkCache extends ChunkSource { public void save(boolean flush) { this.runDistanceManagerUpdates(); @@ -1049,9 +1063,9 @@ index cf94dd9ddcc1eabcf3fd336e70720f4ed3e52175..e0c8b89767087cba34fc3c3809db4c38 } @Override -@@ -408,10 +412,10 @@ public class ServerChunkCache extends ChunkSource { +@@ -429,10 +433,10 @@ public class ServerChunkCache extends ChunkSource { this.level.timings.doChunkMap.stopTiming(); // Spigot - this.level.getProfiler().popPush("chunks"); + gameprofilerfiller.popPush("chunks"); if (tickChunks) { + this.level.timings.chunks.startTiming(); // Paper - timings this.tickChunks(); @@ -1062,55 +1076,57 @@ index cf94dd9ddcc1eabcf3fd336e70720f4ed3e52175..e0c8b89767087cba34fc3c3809db4c38 } this.level.timings.doChunkUnload.startTiming(); // Spigot -@@ -434,6 +438,7 @@ public class ServerChunkCache extends ChunkSource { - gameprofilerfiller.push("filteringLoadedChunks"); - List list = Lists.newArrayListWithCapacity(this.chunkMap.size()); - Iterator iterator = this.chunkMap.getChunks().iterator(); +@@ -442,6 +446,7 @@ public class ServerChunkCache extends ChunkSource { + gameprofilerfiller.pop(); + this.clearCache(); + } + if (this.level.getServer().tickRateManager().runsNormally()) this.level.timings.chunkTicks.startTiming(); // Paper - while (iterator.hasNext()) { - ChunkHolder playerchunk = (ChunkHolder) iterator.next(); -@@ -446,8 +451,10 @@ public class ServerChunkCache extends ChunkSource { + private void tickChunks() { + long i = this.level.getGameTime(); +@@ -481,7 +486,9 @@ public class ServerChunkCache extends ChunkSource { + LevelChunk chunk = playerchunk.getTickingChunk(); - if (this.level.tickRateManager().runsNormally()) { - gameprofilerfiller.popPush("naturalSpawnCount"); -+ this.level.timings.countNaturalMobs.startTiming(); // Paper - timings - int k = this.distanceManager.getNaturalSpawnChunkCount(); - NaturalSpawner.SpawnState spawnercreature_d = NaturalSpawner.createState(k, this.level.getAllEntities(), this::getFullChunk, new LocalMobCapCalculator(this.chunkMap)); -+ this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings + if (chunk != null) { ++ this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing + playerchunk.broadcastChanges(chunk); ++ this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing + } + } - this.lastSpawnState = spawnercreature_d; - gameprofilerfiller.popPush("spawnAndTick"); -@@ -470,22 +477,25 @@ public class ServerChunkCache extends ChunkSource { - } +@@ -502,8 +509,10 @@ public class ServerChunkCache extends ChunkSource { - if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { -- this.level.timings.doTickTiles.startTiming(); // Spigot - this.level.tickChunk(chunk1, l); -- this.level.timings.doTickTiles.stopTiming(); // Spigot - } - } - } -+ this.level.timings.chunkTicks.stopTiming(); // Paper + private void tickChunks(ProfilerFiller profiler, long timeDelta, List chunks) { + profiler.popPush("naturalSpawnCount"); ++ this.level.timings.countNaturalMobs.startTiming(); // Paper - timings + int j = this.distanceManager.getNaturalSpawnChunkCount(); + NaturalSpawner.SpawnState spawnercreature_d = NaturalSpawner.createState(j, this.level.getAllEntities(), this::getFullChunk, new LocalMobCapCalculator(this.chunkMap)); ++ this.level.timings.countNaturalMobs.stopTiming(); // Paper - timings - gameprofilerfiller.popPush("customSpawners"); - if (flag) { -+ try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings - this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); -+ } // Paper - timings - } + this.lastSpawnState = spawnercreature_d; + profiler.popPush("spawnAndTick"); +@@ -531,15 +540,17 @@ public class ServerChunkCache extends ChunkSource { } - gameprofilerfiller.popPush("broadcast"); - list.forEach((chunkproviderserver_a1) -> { -+ this.level.timings.broadcastChunkUpdates.startTiming(); // Paper - timing - chunkproviderserver_a1.holder.broadcastChanges(chunkproviderserver_a1.chunk); -+ this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing - }); - gameprofilerfiller.pop(); - gameprofilerfiller.pop(); + if (this.level.shouldTickBlocksAt(chunkcoordintpair.toLong())) { +- this.level.timings.doTickTiles.startTiming(); // Spigot + this.level.tickChunk(chunk, k); +- this.level.timings.doTickTiles.stopTiming(); // Spigot + } + } + ++ this.level.timings.chunkTicks.stopTiming(); // Paper ++ + profiler.popPush("customSpawners"); + if (flag) { ++ try (co.aikar.timings.Timing ignored = this.level.timings.miscMobSpawning.startTiming()) { // Paper - timings + this.level.tickCustomSpawners(this.spawnEnemies, this.spawnFriendlies); ++ } + } + + } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57a04e0c51 100644 +index 6fe373de360570b528b8133043ef3bb9ba12529d..d82f4255faac84ce6af47e86707f5c035529ab5d 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1,6 +1,8 @@ @@ -1122,7 +1138,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 import com.google.common.collect.Lists; import com.mojang.datafixers.DataFixer; import com.mojang.datafixers.util.Pair; -@@ -173,7 +175,6 @@ import net.minecraft.world.ticks.LevelTicks; +@@ -176,7 +178,6 @@ import net.minecraft.world.ticks.LevelTicks; import org.slf4j.Logger; import org.bukkit.Bukkit; import org.bukkit.WeatherType; @@ -1130,16 +1146,16 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 import org.bukkit.craftbukkit.event.CraftEventFactory; import org.bukkit.craftbukkit.generator.CustomWorldChunkManager; import org.bukkit.craftbukkit.util.WorldUUID; -@@ -478,7 +479,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -469,7 +470,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } - gameprofilerfiller.popPush("tickPending"); + gameprofilerfiller.push("tickPending"); - this.timings.doTickPending.startTiming(); // Spigot + this.timings.scheduledBlocks.startTiming(); // Paper if (!this.isDebug() && flag) { j = this.getGameTime(); gameprofilerfiller.push("blockTicks"); -@@ -487,15 +488,19 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -478,15 +479,19 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.fluidTicks.tick(j, 65536, this::tickFluid); gameprofilerfiller.pop(); } @@ -1160,7 +1176,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 gameprofilerfiller.popPush("blockEvents"); if (flag) { this.timings.doSounds.startTiming(); // Spigot -@@ -648,6 +653,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -635,6 +640,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } gameprofilerfiller.popPush("tickBlocks"); @@ -1168,7 +1184,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 if (randomTickSpeed > 0) { LevelChunkSection[] achunksection = chunk.getSections(); -@@ -680,6 +686,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -667,6 +673,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } } @@ -1176,7 +1192,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 gameprofilerfiller.pop(); } -@@ -956,14 +963,22 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -944,14 +951,22 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe } public void tickNonPassenger(Entity entity) { @@ -1198,9 +1214,9 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 + try { + // Paper end - timings entity.setOldPosAndRot(); - ProfilerFiller gameprofilerfiller = this.getProfiler(); + ProfilerFiller gameprofilerfiller = Profiler.get(); -@@ -982,7 +997,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -970,7 +985,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe this.tickPassenger(entity, entity1); } @@ -1209,7 +1225,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 } -@@ -1024,6 +1039,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1012,6 +1027,7 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe if (!savingDisabled) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit @@ -1217,7 +1233,7 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 if (progressListener != null) { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } -@@ -1033,7 +1049,10 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1021,7 +1037,10 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe progressListener.progressStage(Component.translatable("menu.savingChunks")); } @@ -1229,10 +1245,10 @@ index 4c39d9e0466240b5cd459ee649a22fe3a72bf9f0..eb98bb1bd76869fd76b34885223c8e57 this.entityManager.saveAll(); } else { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ecf7898551 100644 +index eed5dd58fc37c137c87bf3e55e1e033b74002110..7a130da1b50a67331a862f96934739845c7b2d67 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -330,7 +330,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -337,7 +337,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void tick() { @@ -1240,7 +1256,7 @@ index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ec if (this.ackBlockChangesUpTo > -1) { this.send(new ClientboundBlockChangedAckPacket(this.ackBlockChangesUpTo)); this.ackBlockChangesUpTo = -1; -@@ -397,7 +396,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -393,7 +392,6 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect((Component) Component.translatable("multiplayer.disconnect.idling")); } @@ -1248,7 +1264,7 @@ index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ec } -@@ -2103,7 +2101,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2114,7 +2112,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } private void handleCommand(String s) { @@ -1257,7 +1273,7 @@ index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ec if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); -@@ -2113,7 +2111,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2124,7 +2122,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) { @@ -1266,7 +1282,7 @@ index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ec return; } -@@ -2126,7 +2124,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2137,7 +2135,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl java.util.logging.Logger.getLogger(ServerGamePacketListenerImpl.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); return; } finally { @@ -1276,7 +1292,7 @@ index 4acee8121ff62413dbbf2294d17da3bd2f974d5a..3a67b2b6a6d3204b2a7bbe8adbf2b0ec } // CraftBukkit end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 9dcfcea63f57f45a5584bb80c34fe445d65849e8..765c412cd0c5cd410c224b4bc55dbf431fd6617b 100644 +index 56f046bac04205a813441907058c4ce21982d927..b103d49458330be9f7fb3382c764b204a02a925a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1,5 +1,6 @@ @@ -1286,7 +1302,7 @@ index 9dcfcea63f57f45a5584bb80c34fe445d65849e8..765c412cd0c5cd410c224b4bc55dbf43 import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; -@@ -1007,10 +1008,11 @@ public abstract class PlayerList { +@@ -976,10 +977,11 @@ public abstract class PlayerList { } public void saveAll() { @@ -1300,10 +1316,10 @@ index 9dcfcea63f57f45a5584bb80c34fe445d65849e8..765c412cd0c5cd410c224b4bc55dbf43 public UserWhiteList getWhiteList() { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 06cbe7a7ea131a8bead857cbfbd27810a9093320..0a3ed94165430774c7037e78fd7bffc205c6f72f 100644 +index c010d18061f58a583c69e85fc29305497523f569..c8b8102d84119dfb6093f4b79aa3124c594f9a88 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -140,7 +140,6 @@ import org.bukkit.command.CommandSender; +@@ -148,7 +148,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Hanging; import org.bukkit.entity.LivingEntity; import org.bukkit.entity.Vehicle; @@ -1311,7 +1327,7 @@ index 06cbe7a7ea131a8bead857cbfbd27810a9093320..0a3ed94165430774c7037e78fd7bffc2 import org.bukkit.event.entity.EntityCombustByEntityEvent; import org.bukkit.event.hanging.HangingBreakByEntityEvent; import org.bukkit.event.vehicle.VehicleBlockCollisionEvent; -@@ -323,7 +322,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -326,7 +325,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess // Marks an entity, that it was removed by a plugin via Entity#remove // Main use case currently is for SPIGOT-7487, preventing dropping of leash when leash is removed public boolean pluginRemoved = false; @@ -1319,30 +1335,30 @@ index 06cbe7a7ea131a8bead857cbfbd27810a9093320..0a3ed94165430774c7037e78fd7bffc2 // Spigot start public final org.spigotmc.ActivationRange.ActivationType activationType = org.spigotmc.ActivationRange.initializeEntityActivationType(this); public final boolean defaultActivationState; -@@ -840,7 +838,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess +@@ -866,7 +864,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess } - public void move(MoverType movementType, Vec3 movement) { + public void move(MoverType type, Vec3 movement) { - org.bukkit.craftbukkit.SpigotTimings.entityMoveTimer.startTiming(); // Spigot if (this.noPhysics) { this.setPos(this.getX() + movement.x, this.getY() + movement.y, this.getZ() + movement.z); } else { -@@ -1001,7 +998,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess - this.level().getProfiler().pop(); +@@ -978,7 +975,6 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess + gameprofilerfiller.pop(); } } - org.bukkit.craftbukkit.SpigotTimings.entityMoveTimer.stopTiming(); // Spigot } - private boolean isStateClimbable(BlockState state) { + private void applyMovementEmissionAndPlaySound(Entity.MovementEmission moveEffect, Vec3 movement, BlockPos landingPos, BlockState landingState) { diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index e465aaa4fd29b4966ea8d88316c6d8f217da2e73..474f020371bb9e5fd2c5b22e44d7902977c4fc18 100644 +index 17ab230c95901f0533997ac117d5b3d852fcd467..0782b2b58ed30d4ef2598e4b89f338a94a62bbe5 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -339,6 +339,15 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -413,6 +413,16 @@ public class EntityType implements FeatureElement, EntityTypeT } - public EntityType(EntityType.EntityFactory factory, MobCategory spawnGroup, boolean saveable, boolean summonable, boolean fireImmune, boolean spawnableFarFromPlayer, ImmutableSet canSpawnInside, EntityDimensions dimensions, float spawnBoxScale, int maxTrackDistance, int trackTickInterval, FeatureFlagSet requiredFeatures) { + public EntityType(EntityType.EntityFactory factory, MobCategory spawnGroup, boolean saveable, boolean summonable, boolean fireImmune, boolean spawnableFarFromPlayer, ImmutableSet canSpawnInside, EntityDimensions dimensions, float spawnBoxScale, int maxTrackDistance, int trackTickInterval, String translationKey, Optional> lootTable, FeatureFlagSet requiredFeatures) { + // Paper start + this(factory, spawnGroup, saveable, summonable, fireImmune, spawnableFarFromPlayer, canSpawnInside, dimensions, spawnBoxScale, maxTrackDistance, trackTickInterval, requiredFeatures, "custom"); + } @@ -1351,11 +1367,12 @@ index e465aaa4fd29b4966ea8d88316c6d8f217da2e73..474f020371bb9e5fd2c5b22e44d79029 + this.inactiveTickTimer = co.aikar.timings.MinecraftTimings.getEntityTimings(id, "inactiveTick"); + this.passengerTickTimer = co.aikar.timings.MinecraftTimings.getEntityTimings(id, "passengerTick"); + this.passengerInactiveTickTimer = co.aikar.timings.MinecraftTimings.getEntityTimings(id, "passengerInactiveTick"); ++ this.id = id; + // Paper end this.builtInRegistryHolder = BuiltInRegistries.ENTITY_TYPE.createIntrusiveHolder(this); this.factory = factory; this.category = spawnGroup; -@@ -654,6 +663,12 @@ public class EntityType implements FeatureElement, EntityTypeT +@@ -720,6 +730,13 @@ public class EntityType implements FeatureElement, EntityTypeT return this.updateInterval; } @@ -1364,24 +1381,25 @@ index e465aaa4fd29b4966ea8d88316c6d8f217da2e73..474f020371bb9e5fd2c5b22e44d79029 + public final co.aikar.timings.Timing inactiveTickTimer; + public final co.aikar.timings.Timing passengerTickTimer; + public final co.aikar.timings.Timing passengerInactiveTickTimer; ++ private final String id; + // Paper end public boolean trackDeltas() { return this != EntityType.PLAYER && this != EntityType.LLAMA_SPIT && this != EntityType.WITHER && this != EntityType.BAT && this != EntityType.ITEM_FRAME && this != EntityType.GLOW_ITEM_FRAME && this != EntityType.LEASH_KNOT && this != EntityType.PAINTING && this != EntityType.END_CRYSTAL && this != EntityType.EVOKER_FANGS; } -@@ -823,7 +838,7 @@ public class EntityType implements FeatureElement, EntityTypeT - Util.fetchChoiceType(References.ENTITY_TREE, id); +@@ -926,7 +943,7 @@ public class EntityType implements FeatureElement, EntityTypeT + Util.fetchChoiceType(References.ENTITY_TREE, registryKey.location().toString()); } -- return new EntityType<>(this.factory, this.category, this.serialize, this.summon, this.fireImmune, this.canSpawnFarFromPlayer, this.immuneTo, this.dimensions.withAttachments(this.attachments), this.spawnDimensionsScale, this.clientTrackingRange, this.updateInterval, this.requiredFeatures); -+ return new EntityType<>(this.factory, this.category, this.serialize, this.summon, this.fireImmune, this.canSpawnFarFromPlayer, this.immuneTo, this.dimensions.withAttachments(this.attachments), this.spawnDimensionsScale, this.clientTrackingRange, this.updateInterval, this.requiredFeatures, id); // Paper - add id +- return new EntityType<>(this.factory, this.category, this.serialize, this.summon, this.fireImmune, this.canSpawnFarFromPlayer, this.immuneTo, this.dimensions.withAttachments(this.attachments), this.spawnDimensionsScale, this.clientTrackingRange, this.updateInterval, (String) this.descriptionId.get(registryKey), (Optional) this.lootTable.get(registryKey), this.requiredFeatures); ++ return new EntityType<>(this.factory, this.category, this.serialize, this.summon, this.fireImmune, this.canSpawnFarFromPlayer, this.immuneTo, this.dimensions.withAttachments(this.attachments), this.spawnDimensionsScale, this.clientTrackingRange, this.updateInterval, (String) this.descriptionId.get(registryKey), (Optional) this.lootTable.get(registryKey), this.requiredFeatures, this.id); // Paper - add id } } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 26064174397dc95f9b117d901e22c55abebf3c39..d1e042ec0c1a818d713b31c3d81b48327c3578d5 100644 +index 9aa4e70f1d1c4de2138d31701dceaed25062e69c..6cc86412d45186dff312d9b1246fd1d03dbc15d8 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -156,7 +156,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; +@@ -162,7 +162,7 @@ import org.bukkit.event.entity.EntityTeleportEvent; import org.bukkit.event.player.PlayerItemConsumeEvent; // CraftBukkit end @@ -1390,7 +1408,7 @@ index 26064174397dc95f9b117d901e22c55abebf3c39..d1e042ec0c1a818d713b31c3d81b4832 public abstract class LivingEntity extends Entity implements Attackable { -@@ -2977,7 +2977,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3090,7 +3090,6 @@ public abstract class LivingEntity extends Entity implements Attackable { @Override public void tick() { @@ -1398,7 +1416,7 @@ index 26064174397dc95f9b117d901e22c55abebf3c39..d1e042ec0c1a818d713b31c3d81b4832 super.tick(); this.updatingUsingItem(); this.updateSwimAmount(); -@@ -3019,9 +3018,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3132,9 +3131,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } if (!this.isRemoved()) { @@ -1408,61 +1426,61 @@ index 26064174397dc95f9b117d901e22c55abebf3c39..d1e042ec0c1a818d713b31c3d81b4832 } double d0 = this.getX() - this.xo; -@@ -3112,7 +3109,6 @@ public abstract class LivingEntity extends Entity implements Attackable { - this.refreshDimensions(); +@@ -3228,7 +3225,6 @@ public abstract class LivingEntity extends Entity implements Attackable { } + this.elytraAnimationState.tick(); - SpigotTimings.timerEntityTickRest.stopTiming(); // Spigot } public void detectEquipmentUpdatesPublic() { // CraftBukkit -@@ -3328,7 +3324,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3435,7 +3431,6 @@ public abstract class LivingEntity extends Entity implements Attackable { + ProfilerFiller gameprofilerfiller = Profiler.get(); - this.setDeltaMovement(d0, d1, d2); - this.level().getProfiler().push("ai"); + gameprofilerfiller.push("ai"); - SpigotTimings.timerEntityAI.startTiming(); // Spigot if (this.isImmobile()) { this.jumping = false; this.xxa = 0.0F; -@@ -3338,7 +3333,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3445,7 +3440,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.serverAiStep(); - this.level().getProfiler().pop(); + gameprofilerfiller.pop(); } - SpigotTimings.timerEntityAI.stopTiming(); // Spigot - this.level().getProfiler().pop(); - this.level().getProfiler().push("jump"); -@@ -3378,7 +3372,6 @@ public abstract class LivingEntity extends Entity implements Attackable { + gameprofilerfiller.pop(); + gameprofilerfiller.push("jump"); +@@ -3488,7 +3482,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.resetFallDistance(); } - SpigotTimings.timerEntityAIMove.startTiming(); // Spigot - label104: + label112: { LivingEntity entityliving = this.getControllingPassenger(); -@@ -3392,7 +3385,6 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3502,7 +3495,6 @@ public abstract class LivingEntity extends Entity implements Attackable { this.travel(vec3d1); } - SpigotTimings.timerEntityAIMove.stopTiming(); // Spigot - this.level().getProfiler().pop(); - this.level().getProfiler().push("freezing"); -@@ -3419,9 +3411,7 @@ public abstract class LivingEntity extends Entity implements Attackable { + if (!this.level().isClientSide() || this.isControlledByLocalInstance()) { + this.applyEffectsFromBlocks(); +@@ -3538,9 +3530,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.checkAutoSpinAttack(axisalignedbb, this.getBoundingBox()); } - SpigotTimings.timerEntityAICollision.startTiming(); // Spigot this.pushEntities(); - SpigotTimings.timerEntityAICollision.stopTiming(); // Spigot - this.level().getProfiler().pop(); - if (!this.level().isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { - this.hurt(this.damageSources().drown(), 1.0F); + gameprofilerfiller.pop(); + world = this.level(); + if (world instanceof ServerLevel worldserver) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 2bc1d0d3ea8a6e3327e9c11bd1f0666d210e9bbe..79d5423be919dfe4db75ad7dd0ce403ad0214462 100644 +index 3fb17bbcecf6dc4af3b231835adff25f86e1379f..5df862e026e15e10e2fcc7c5a49e8a8022125579 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -93,7 +93,6 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDistancePa +@@ -95,7 +95,6 @@ import net.minecraft.network.protocol.game.ClientboundSetBorderWarningDistancePa import org.bukkit.Bukkit; import org.bukkit.craftbukkit.CraftServer; import org.bukkit.craftbukkit.CraftWorld; @@ -1470,7 +1488,7 @@ index 2bc1d0d3ea8a6e3327e9c11bd1f0666d210e9bbe..79d5423be919dfe4db75ad7dd0ce403a import org.bukkit.craftbukkit.block.CapturedBlockState; import org.bukkit.craftbukkit.block.CraftBlockState; import org.bukkit.craftbukkit.block.data.CraftBlockData; -@@ -164,7 +163,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -165,7 +164,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } // Paper end - add paper world config @@ -1488,7 +1506,7 @@ index 2bc1d0d3ea8a6e3327e9c11bd1f0666d210e9bbe..79d5423be919dfe4db75ad7dd0ce403a this.entityLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.entityMaxTickTime); this.tileLimiter = new org.spigotmc.TickLimiter(this.spigotConfig.tileMaxTickTime); } -@@ -723,15 +722,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -725,15 +724,14 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.timings.tileEntityTick.stopTiming(); // Spigot this.tickingBlockEntities = false; @@ -1506,7 +1524,7 @@ index 2bc1d0d3ea8a6e3327e9c11bd1f0666d210e9bbe..79d5423be919dfe4db75ad7dd0ce403a CrashReport crashreport = CrashReport.forThrowable(throwable, "Ticking entity"); CrashReportCategory crashreportsystemdetails = crashreport.addCategory("Entity being ticked"); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index d1cfcc8a36964f006f1af6764c52b5ca458b478d..def3e28edc206e0ba41111e26332db468223fb2e 100644 +index 27cbec37c6ea278232970ae035795fdecca71735..3cefda12d4c2ca2c4e9ef97eff961a55af164d6b 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -88,6 +88,15 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -1523,10 +1541,10 @@ index d1cfcc8a36964f006f1af6764c52b5ca458b478d..def3e28edc206e0ba41111e26332db46 + } + // Paper end @Nullable - private String descriptionId; - @Nullable + private Item item; + private static final int CACHE_SIZE = 256; diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java -index 6a4e5bfa70b31311a9076eb314c0a0146d5b08a5..17cda4c8b61efd99c1a43f921ed604827bb064f3 100644 +index 4c3bc3a495990bc486fce7ba1758bf731c3baf02..9afe509b3455a7aabd11976fb8a7430d1bce065d 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java @@ -34,10 +34,12 @@ import org.bukkit.inventory.InventoryHolder; @@ -1544,10 +1562,10 @@ index 6a4e5bfa70b31311a9076eb314c0a0146d5b08a5..17cda4c8b61efd99c1a43f921ed60482 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index 25380a44e5cc94f3924cfee6a03c3091fea04ae2..418ba374886d93f69afd614e4be05f6561e1f897 100644 +index d76591694c3b167b8b8f17b61a373a43140a8b68..717e4bf9f5ee0ec2c3a0b5cc65a50b0f6d649a8d 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -@@ -602,6 +602,7 @@ public class LevelChunk extends ChunkAccess { +@@ -627,6 +627,7 @@ public class LevelChunk extends ChunkAccess { server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkLoadEvent(bukkitChunk, this.needsDecoration)); if (this.needsDecoration) { @@ -1555,7 +1573,7 @@ index 25380a44e5cc94f3924cfee6a03c3091fea04ae2..418ba374886d93f69afd614e4be05f65 this.needsDecoration = false; java.util.Random random = new java.util.Random(); random.setSeed(this.level.getSeed()); -@@ -621,6 +622,7 @@ public class LevelChunk extends ChunkAccess { +@@ -646,6 +647,7 @@ public class LevelChunk extends ChunkAccess { } } server.getPluginManager().callEvent(new org.bukkit.event.world.ChunkPopulateEvent(bukkitChunk)); @@ -1563,37 +1581,11 @@ index 25380a44e5cc94f3924cfee6a03c3091fea04ae2..418ba374886d93f69afd614e4be05f65 } } } -diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java -index 46a090123e205394791cdbde2af84c58ce55f7e1..47f5f3d58bb3bf85cf35f9baae77df7fab5c844f 100644 ---- a/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java -+++ b/src/main/java/net/minecraft/world/level/chunk/storage/ChunkSerializer.java -@@ -472,13 +472,10 @@ public class ChunkSerializer { - ListTag nbttaglist1 = ChunkSerializer.getListOfCompoundsOrNull(nbt, "block_entities"); - - return nbttaglist == null && nbttaglist1 == null ? null : (chunk) -> { -- world.timings.syncChunkLoadEntitiesTimer.startTiming(); // Spigot - if (nbttaglist != null) { - world.addLegacyChunkEntities(EntityType.loadEntitiesRecursive(nbttaglist, world)); - } -- world.timings.syncChunkLoadEntitiesTimer.stopTiming(); // Spigot - -- world.timings.syncChunkLoadTileEntitiesTimer.startTiming(); // Spigot - if (nbttaglist1 != null) { - for (int i = 0; i < nbttaglist1.size(); ++i) { - CompoundTag nbttagcompound1 = nbttaglist1.getCompound(i); -@@ -496,7 +493,6 @@ public class ChunkSerializer { - } - } - } -- world.timings.syncChunkLoadTileEntitiesTimer.stopTiming(); // Spigot - - }; - } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cd6b6109ea3844f7d78ad7a1cbd6cf5dc3d90b5c..0fda501dedcc1f3f7d35e3b66a4b40394c4b3cb5 100644 +index 9bf8c4d9154c433e586f59587e8d7db7c310bb9c..232a21080ff416ac5b9fdf913f6784eb3bcdacfa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -376,7 +376,7 @@ public final class CraftServer implements Server { +@@ -379,7 +379,7 @@ public final class CraftServer implements Server { this.saveCommandsConfig(); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); @@ -1602,7 +1594,7 @@ index cd6b6109ea3844f7d78ad7a1cbd6cf5dc3d90b5c..0fda501dedcc1f3f7d35e3b66a4b4039 this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); -@@ -2619,12 +2619,31 @@ public final class CraftServer implements Server { +@@ -2636,12 +2636,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1804,10 +1796,10 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 69b8d0f73ced69cd88029a5d7e11aca40d70f9d1..e4ea877228102ccf93fe8c92b0cec8ebd89771a0 100644 +index c02ab554fe6e1b7eb01bbd1824a86ff4de1db2f0..dafd4105f4ad4729c7637a7b0e5606ff0ec326d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2782,6 +2782,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2795,6 +2795,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { CraftPlayer.this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundSystemChatPacket(components, position == net.md_5.bungee.api.ChatMessageType.ACTION_BAR)); } @@ -1823,7 +1815,7 @@ index 69b8d0f73ced69cd88029a5d7e11aca40d70f9d1..e4ea877228102ccf93fe8c92b0cec8eb public Player.Spigot spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java -index c017ce2ca1bc535795c958a2e509af2adf88efa9..6c0debe3f3b693ed90dd2a39f481cccd8e4f7634 100644 +index 6effe47b32a8551aa6f6b11bc0315714a119e199..4c376f67ae311b4fedea27b3475f9fb56054aec2 100644 --- a/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java +++ b/src/main/java/org/bukkit/craftbukkit/scheduler/CraftScheduler.java @@ -1,5 +1,6 @@ @@ -1869,7 +1861,7 @@ index c017ce2ca1bc535795c958a2e509af2adf88efa9..6c0debe3f3b693ed90dd2a39f481cccd this.pending.addAll(temp); temp.clear(); + MinecraftTimings.bukkitSchedulerFinishTimer.stopTiming(); // Paper - this.debugHead = this.debugHead.getNextHead(currentTick); + this.debugHead = this.debugHead.getNextHead(this.currentTick); } @@ -480,6 +481,7 @@ public class CraftScheduler implements BukkitScheduler { @@ -1985,7 +1977,7 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222 + } // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 33d3085d0d44d748fcb1fc203dfd14c9e1b4aff0..f7b80cf8c89ae5eb9d8f0893e05ffc753fdace19 100644 +index a45c08c423248a60f9d5822046014427a6dadd12..1e8b13096b0ebed35290c9cbe6b8fb8f4b054b34 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java @@ -199,6 +199,12 @@ public final class CraftMagicNumbers implements UnsafeValues { @@ -2015,7 +2007,7 @@ index 33d3085d0d44d748fcb1fc203dfd14c9e1b4aff0..f7b80cf8c89ae5eb9d8f0893e05ffc75 @Override public String get(Class aClass, String s) { diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index ff422d4d4f2b764370f0ee2af13034853c1d3fe1..a5da6c1cae0afbde684be250e2fc3c0c32a1265b 100644 +index 3591b79481ac17bd02e59ac3c623d1c6991abd84..2122e044d99902d2aff86693aaa424a50b9f8a13 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -27,7 +27,7 @@ import net.minecraft.world.entity.projectile.ThrownTrident; diff --git a/patches/unapplied/0024-Further-improve-server-tick-loop.patch b/patches/server/0024-Further-improve-server-tick-loop.patch similarity index 94% rename from patches/unapplied/0024-Further-improve-server-tick-loop.patch rename to patches/server/0024-Further-improve-server-tick-loop.patch index 6cd0eb9aee..a5a6fbafa8 100644 --- a/patches/unapplied/0024-Further-improve-server-tick-loop.patch +++ b/patches/server/0024-Further-improve-server-tick-loop.patch @@ -12,10 +12,10 @@ Previous implementation did not calculate TPS correctly. Switch to a realistic rolling average and factor in std deviation as an extra reporting variable diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 49de4625c57689a3624ed421c0b03512507c97c3..46e03617bb32e4037d700c1b3698d397bd75de5c 100644 +index 4502e2cf565b7b0547a1963b1119d7810b7a0bcb..36a3fa8847afc0d0831054958886a04a1d847596 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -296,7 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop processQueue = new java.util.concurrent.ConcurrentLinkedQueue(); public int autosavePeriod; public Commands vanillaCommandDispatcher; -@@ -305,7 +305,8 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(Lists.transform(this.lore, CraftChatMessage::fromComponent)); } @@ -47,7 +47,7 @@ index 0c73854243f7fa21d1ffdb3b4c85ee0a69c9c5e4..f6ac13f91f08498a8adda7d34518a5cf @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1170,6 +1190,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1306,6 +1326,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index 0c73854243f7fa21d1ffdb3b4c85ee0a69c9c5e4..f6ac13f91f08498a8adda7d34518a5cf @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1882,6 +1917,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -2188,6 +2223,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/unapplied/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch b/patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch similarity index 89% rename from patches/unapplied/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch rename to patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch index d25f48a93d..e5e4b807ee 100644 --- a/patches/unapplied/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch +++ b/patches/server/0027-Configurable-cactus-bamboo-and-reed-growth-height.patch @@ -7,7 +7,7 @@ Bamboo - Both the minimum fully-grown height and the maximum are configurable - Machine_Maker diff --git a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java -index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c0671308316 100644 +index 80bf98e7681cfde3a41ce5676425d5e96089500d..5e88bd02f5c53124f1aeec3eae727a1f83cc8238 100644 --- a/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BambooStalkBlock.java @@ -137,7 +137,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { @@ -19,7 +19,7 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 this.growBamboo(state, world, pos, random, i); } } -@@ -168,7 +168,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { +@@ -164,7 +164,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { int i = this.getHeightAboveUpToMax(world, pos); int j = this.getHeightBelowUpToMax(world, pos); @@ -28,7 +28,7 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 } @Override -@@ -187,7 +187,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { +@@ -183,7 +183,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { BlockPos blockposition1 = pos.above(i); BlockState iblockdata1 = world.getBlockState(blockposition1); @@ -37,7 +37,7 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 return; } -@@ -228,7 +228,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { +@@ -224,7 +224,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { } int j = (Integer) state.getValue(BambooStalkBlock.AGE) != 1 && !iblockdata2.is(Blocks.BAMBOO) ? 0 : 1; @@ -46,7 +46,7 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.handleBlockSpreadEvent(world, pos, pos.above(), (BlockState) ((BlockState) ((BlockState) this.defaultBlockState().setValue(BambooStalkBlock.AGE, j)).setValue(BambooStalkBlock.LEAVES, blockpropertybamboosize)).setValue(BambooStalkBlock.STAGE, k), 3)) { -@@ -243,7 +243,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { +@@ -239,7 +239,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { protected int getHeightAboveUpToMax(BlockGetter world, BlockPos pos) { int i; @@ -55,7 +55,7 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 ; } -@@ -253,7 +253,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { +@@ -249,7 +249,7 @@ public class BambooStalkBlock extends Block implements BonemealableBlock { protected int getHeightBelowUpToMax(BlockGetter world, BlockPos pos) { int i; @@ -65,10 +65,10 @@ index eda75b316acd09120539c92ff8adb97d92e9523f..e2951dd077441fe9cda461a2d3ef0c06 } diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -index c7e462a187196da906aec3b528f7945afec9f6b0..fd344c5cf0d6d523abe34d5e3f8d939106942cbb 100644 +index de3df6606979171fd39fa6c5207fd9b0b668ba4e..de1b64e0cbe7f2de63f04262428c9e6ec340916e 100644 --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -@@ -61,7 +61,7 @@ public class CactusBlock extends Block { +@@ -62,7 +62,7 @@ public class CactusBlock extends Block { ; } @@ -78,7 +78,7 @@ index c7e462a187196da906aec3b528f7945afec9f6b0..fd344c5cf0d6d523abe34d5e3f8d9391 int modifier = world.spigotConfig.cactusModifier; // Spigot - SPIGOT-7159: Better modifier resolution diff --git a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java -index f034a7dbc0124353f8cb9b2c841226e73d83423a..c48c622e92cedeaa46b929c7adfedec98dd5a3fb 100644 +index 161f70de43105c0b49b6c4d0a371dc6036c6813c..547ea09ed84595286c97c128b3b96f6d387ae25f 100644 --- a/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SugarCaneBlock.java @@ -59,7 +59,7 @@ public class SugarCaneBlock extends Block { diff --git a/patches/unapplied/0028-Configurable-baby-zombie-movement-speed.patch b/patches/server/0028-Configurable-baby-zombie-movement-speed.patch similarity index 91% rename from patches/unapplied/0028-Configurable-baby-zombie-movement-speed.patch rename to patches/server/0028-Configurable-baby-zombie-movement-speed.patch index a55a0a3944..a7c6ba5835 100644 --- a/patches/unapplied/0028-Configurable-baby-zombie-movement-speed.patch +++ b/patches/server/0028-Configurable-baby-zombie-movement-speed.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable baby zombie movement speed diff --git a/src/main/java/net/minecraft/world/entity/monster/Zombie.java b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -index 60a9db4131bcf69a33003b83db6117c9a7a83276..393a9c704f4637a0e8031328d2a0facef4723dd8 100644 +index 6845a8e13cdc9dd03015ac53b2a62dd706def5cd..3836d9255ac326a7220e1decd2e9d98be7884c17 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Zombie.java +++ b/src/main/java/net/minecraft/world/entity/monster/Zombie.java -@@ -75,7 +75,7 @@ import org.bukkit.event.entity.EntityTransformEvent; +@@ -77,7 +77,7 @@ import org.bukkit.event.entity.EntityTransformEvent; public class Zombie extends Monster { private static final ResourceLocation SPEED_MODIFIER_BABY_ID = ResourceLocation.withDefaultNamespace("baby"); @@ -17,7 +17,7 @@ index 60a9db4131bcf69a33003b83db6117c9a7a83276..393a9c704f4637a0e8031328d2a0face private static final ResourceLocation REINFORCEMENT_CALLER_CHARGE_ID = ResourceLocation.withDefaultNamespace("reinforcement_caller_charge"); private static final AttributeModifier ZOMBIE_REINFORCEMENT_CALLEE_CHARGE = new AttributeModifier(ResourceLocation.withDefaultNamespace("reinforcement_callee_charge"), -0.05000000074505806D, AttributeModifier.Operation.ADD_VALUE); private static final ResourceLocation LEADER_ZOMBIE_BONUS_ID = ResourceLocation.withDefaultNamespace("leader_zombie_bonus"); -@@ -188,9 +188,9 @@ public class Zombie extends Monster { +@@ -186,9 +186,9 @@ public class Zombie extends Monster { if (this.level() != null && !this.level().isClientSide) { AttributeInstance attributemodifiable = this.getAttribute(Attributes.MOVEMENT_SPEED); diff --git a/patches/unapplied/0029-Configurable-fishing-time-ranges.patch b/patches/server/0029-Configurable-fishing-time-ranges.patch similarity index 83% rename from patches/unapplied/0029-Configurable-fishing-time-ranges.patch rename to patches/server/0029-Configurable-fishing-time-ranges.patch index 90d886761f..4599ac587d 100644 --- a/patches/unapplied/0029-Configurable-fishing-time-ranges.patch +++ b/patches/server/0029-Configurable-fishing-time-ranges.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Configurable fishing time ranges diff --git a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -index 0acb45014039d4392988c7d853595f96e856af4a..ed43ad94ca007a54e3c32d5e17c141048eeb5835 100644 +index 0f3e3f1b918ed2971440b7414ae62ee018a85b3e..ed378bc8135c329cb7423da06eb26fff69ee4954 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java +++ b/src/main/java/net/minecraft/world/entity/projectile/FishingHook.java -@@ -94,6 +94,10 @@ public class FishingHook extends Projectile { - this.noCulling = true; +@@ -93,6 +93,10 @@ public class FishingHook extends Projectile { + this.currentState = FishingHook.FishHookState.FLYING; this.luck = Math.max(0, luckBonus); this.lureSpeed = Math.max(0, waitTimeReductionTicks); + // Paper start - Configurable fishing time ranges @@ -19,7 +19,7 @@ index 0acb45014039d4392988c7d853595f96e856af4a..ed43ad94ca007a54e3c32d5e17c14104 } public FishingHook(EntityType type, Level world) { -@@ -411,7 +415,7 @@ public class FishingHook extends Projectile { +@@ -416,7 +420,7 @@ public class FishingHook extends Projectile { } else { // CraftBukkit start - logic to modify fishing wait time this.timeUntilLured = Mth.nextInt(this.random, this.minWaitTime, this.maxWaitTime); diff --git a/patches/unapplied/0030-Allow-nerfed-mobs-to-jump.patch b/patches/server/0030-Allow-nerfed-mobs-to-jump.patch similarity index 87% rename from patches/unapplied/0030-Allow-nerfed-mobs-to-jump.patch rename to patches/server/0030-Allow-nerfed-mobs-to-jump.patch index a43842f5bc..9aa6c3381e 100644 --- a/patches/unapplied/0030-Allow-nerfed-mobs-to-jump.patch +++ b/patches/server/0030-Allow-nerfed-mobs-to-jump.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow nerfed mobs to jump diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 930b5002aa6eaa1137314f7b38fad99778b6edaa..0593d828c911c94c9833bf12b9c294e5dac1f4e8 100644 +index 02a2fdf2a4bdfb390d23bf45211b71798de422fa..9b26f6a7526f875535738b1f22d9aa458845eb8e 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -124,6 +124,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -127,6 +127,7 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab private final BodyRotationControl bodyRotationControl; protected PathNavigation navigation; public GoalSelector goalSelector; @@ -16,7 +16,7 @@ index 930b5002aa6eaa1137314f7b38fad99778b6edaa..0593d828c911c94c9833bf12b9c294e5 public GoalSelector targetSelector; @Nullable private LivingEntity target; -@@ -888,7 +889,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab +@@ -886,7 +887,15 @@ public abstract class Mob extends LivingEntity implements EquipmentUser, Leashab @Override protected final void serverAiStep() { ++this.noActionTime; @@ -30,7 +30,7 @@ index 930b5002aa6eaa1137314f7b38fad99778b6edaa..0593d828c911c94c9833bf12b9c294e5 + return; + } + // Paper end - Allow nerfed mobs to jump and float - ProfilerFiller gameprofilerfiller = this.level().getProfiler(); + ProfilerFiller gameprofilerfiller = Profiler.get(); gameprofilerfiller.push("sensing"); diff --git a/src/main/java/net/minecraft/world/entity/ai/goal/FloatGoal.java b/src/main/java/net/minecraft/world/entity/ai/goal/FloatGoal.java diff --git a/patches/unapplied/0031-Add-configurable-entity-despawn-distances.patch b/patches/unapplied/server/0031-Add-configurable-entity-despawn-distances.patch similarity index 100% rename from patches/unapplied/0031-Add-configurable-entity-despawn-distances.patch rename to patches/unapplied/server/0031-Add-configurable-entity-despawn-distances.patch diff --git a/patches/unapplied/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch b/patches/unapplied/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch similarity index 100% rename from patches/unapplied/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch rename to patches/unapplied/server/0032-Drop-falling-block-and-tnt-entities-at-the-specified.patch diff --git a/patches/unapplied/0033-Expose-server-build-information.patch b/patches/unapplied/server/0033-Expose-server-build-information.patch similarity index 100% rename from patches/unapplied/0033-Expose-server-build-information.patch rename to patches/unapplied/server/0033-Expose-server-build-information.patch diff --git a/patches/unapplied/0034-Player-affects-spawning-API.patch b/patches/unapplied/server/0034-Player-affects-spawning-API.patch similarity index 100% rename from patches/unapplied/0034-Player-affects-spawning-API.patch rename to patches/unapplied/server/0034-Player-affects-spawning-API.patch diff --git a/patches/unapplied/0035-Only-refresh-abilities-if-needed.patch b/patches/unapplied/server/0035-Only-refresh-abilities-if-needed.patch similarity index 100% rename from patches/unapplied/0035-Only-refresh-abilities-if-needed.patch rename to patches/unapplied/server/0035-Only-refresh-abilities-if-needed.patch diff --git a/patches/unapplied/0036-Entity-Origin-API.patch b/patches/unapplied/server/0036-Entity-Origin-API.patch similarity index 100% rename from patches/unapplied/0036-Entity-Origin-API.patch rename to patches/unapplied/server/0036-Entity-Origin-API.patch diff --git a/patches/unapplied/0037-Prevent-block-entity-and-entity-crashes.patch b/patches/unapplied/server/0037-Prevent-block-entity-and-entity-crashes.patch similarity index 100% rename from patches/unapplied/0037-Prevent-block-entity-and-entity-crashes.patch rename to patches/unapplied/server/0037-Prevent-block-entity-and-entity-crashes.patch diff --git a/patches/unapplied/0038-Configurable-top-of-nether-void-damage.patch b/patches/unapplied/server/0038-Configurable-top-of-nether-void-damage.patch similarity index 100% rename from patches/unapplied/0038-Configurable-top-of-nether-void-damage.patch rename to patches/unapplied/server/0038-Configurable-top-of-nether-void-damage.patch diff --git a/patches/unapplied/0039-Check-online-mode-before-converting-and-renaming-pla.patch b/patches/unapplied/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch similarity index 100% rename from patches/unapplied/0039-Check-online-mode-before-converting-and-renaming-pla.patch rename to patches/unapplied/server/0039-Check-online-mode-before-converting-and-renaming-pla.patch diff --git a/patches/unapplied/0040-Add-more-entities-to-activation-range-ignore-list.patch b/patches/unapplied/server/0040-Add-more-entities-to-activation-range-ignore-list.patch similarity index 100% rename from patches/unapplied/0040-Add-more-entities-to-activation-range-ignore-list.patch rename to patches/unapplied/server/0040-Add-more-entities-to-activation-range-ignore-list.patch diff --git a/patches/unapplied/0041-Configurable-end-credits.patch b/patches/unapplied/server/0041-Configurable-end-credits.patch similarity index 100% rename from patches/unapplied/0041-Configurable-end-credits.patch rename to patches/unapplied/server/0041-Configurable-end-credits.patch diff --git a/patches/unapplied/0042-Fix-lag-from-explosions-processing-dead-entities.patch b/patches/unapplied/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch similarity index 100% rename from patches/unapplied/0042-Fix-lag-from-explosions-processing-dead-entities.patch rename to patches/unapplied/server/0042-Fix-lag-from-explosions-processing-dead-entities.patch diff --git a/patches/unapplied/0043-Optimize-explosions.patch b/patches/unapplied/server/0043-Optimize-explosions.patch similarity index 100% rename from patches/unapplied/0043-Optimize-explosions.patch rename to patches/unapplied/server/0043-Optimize-explosions.patch diff --git a/patches/unapplied/0044-Disable-explosion-knockback.patch b/patches/unapplied/server/0044-Disable-explosion-knockback.patch similarity index 100% rename from patches/unapplied/0044-Disable-explosion-knockback.patch rename to patches/unapplied/server/0044-Disable-explosion-knockback.patch diff --git a/patches/unapplied/0045-Disable-thunder.patch b/patches/unapplied/server/0045-Disable-thunder.patch similarity index 100% rename from patches/unapplied/0045-Disable-thunder.patch rename to patches/unapplied/server/0045-Disable-thunder.patch diff --git a/patches/unapplied/0046-Disable-ice-and-snow.patch b/patches/unapplied/server/0046-Disable-ice-and-snow.patch similarity index 100% rename from patches/unapplied/0046-Disable-ice-and-snow.patch rename to patches/unapplied/server/0046-Disable-ice-and-snow.patch diff --git a/patches/unapplied/0047-Configurable-mob-spawner-tick-rate.patch b/patches/unapplied/server/0047-Configurable-mob-spawner-tick-rate.patch similarity index 100% rename from patches/unapplied/0047-Configurable-mob-spawner-tick-rate.patch rename to patches/unapplied/server/0047-Configurable-mob-spawner-tick-rate.patch diff --git a/patches/unapplied/0048-Use-null-Locale-by-default.patch b/patches/unapplied/server/0048-Use-null-Locale-by-default.patch similarity index 100% rename from patches/unapplied/0048-Use-null-Locale-by-default.patch rename to patches/unapplied/server/0048-Use-null-Locale-by-default.patch diff --git a/patches/unapplied/0049-Add-BeaconEffectEvent.patch b/patches/unapplied/server/0049-Add-BeaconEffectEvent.patch similarity index 100% rename from patches/unapplied/0049-Add-BeaconEffectEvent.patch rename to patches/unapplied/server/0049-Add-BeaconEffectEvent.patch diff --git a/patches/unapplied/0050-Configurable-container-update-tick-rate.patch b/patches/unapplied/server/0050-Configurable-container-update-tick-rate.patch similarity index 100% rename from patches/unapplied/0050-Configurable-container-update-tick-rate.patch rename to patches/unapplied/server/0050-Configurable-container-update-tick-rate.patch diff --git a/patches/unapplied/0051-Use-UserCache-for-player-heads.patch b/patches/unapplied/server/0051-Use-UserCache-for-player-heads.patch similarity index 100% rename from patches/unapplied/0051-Use-UserCache-for-player-heads.patch rename to patches/unapplied/server/0051-Use-UserCache-for-player-heads.patch diff --git a/patches/unapplied/0052-Disable-spigot-tick-limiters.patch b/patches/unapplied/server/0052-Disable-spigot-tick-limiters.patch similarity index 100% rename from patches/unapplied/0052-Disable-spigot-tick-limiters.patch rename to patches/unapplied/server/0052-Disable-spigot-tick-limiters.patch diff --git a/patches/unapplied/0053-Fix-spawn-location-event-changing-location.patch b/patches/unapplied/server/0053-Fix-spawn-location-event-changing-location.patch similarity index 100% rename from patches/unapplied/0053-Fix-spawn-location-event-changing-location.patch rename to patches/unapplied/server/0053-Fix-spawn-location-event-changing-location.patch diff --git a/patches/unapplied/0054-Configurable-Disabling-Cat-Chest-Detection.patch b/patches/unapplied/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch similarity index 100% rename from patches/unapplied/0054-Configurable-Disabling-Cat-Chest-Detection.patch rename to patches/unapplied/server/0054-Configurable-Disabling-Cat-Chest-Detection.patch diff --git a/patches/unapplied/0055-Improve-Player-chat-API-handling.patch b/patches/unapplied/server/0055-Improve-Player-chat-API-handling.patch similarity index 100% rename from patches/unapplied/0055-Improve-Player-chat-API-handling.patch rename to patches/unapplied/server/0055-Improve-Player-chat-API-handling.patch diff --git a/patches/unapplied/0056-All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/unapplied/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch similarity index 100% rename from patches/unapplied/0056-All-chunks-are-slime-spawn-chunks-toggle.patch rename to patches/unapplied/server/0056-All-chunks-are-slime-spawn-chunks-toggle.patch diff --git a/patches/unapplied/0057-Expose-server-CommandMap.patch b/patches/unapplied/server/0057-Expose-server-CommandMap.patch similarity index 100% rename from patches/unapplied/0057-Expose-server-CommandMap.patch rename to patches/unapplied/server/0057-Expose-server-CommandMap.patch diff --git a/patches/unapplied/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/unapplied/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch similarity index 100% rename from patches/unapplied/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch rename to patches/unapplied/server/0058-Be-a-bit-more-informative-in-maxHealth-exception.patch diff --git a/patches/unapplied/0059-Player-Tab-List-and-Title-APIs.patch b/patches/unapplied/server/0059-Player-Tab-List-and-Title-APIs.patch similarity index 100% rename from patches/unapplied/0059-Player-Tab-List-and-Title-APIs.patch rename to patches/unapplied/server/0059-Player-Tab-List-and-Title-APIs.patch diff --git a/patches/unapplied/0060-Add-configurable-portal-search-radius.patch b/patches/unapplied/server/0060-Add-configurable-portal-search-radius.patch similarity index 100% rename from patches/unapplied/0060-Add-configurable-portal-search-radius.patch rename to patches/unapplied/server/0060-Add-configurable-portal-search-radius.patch diff --git a/patches/unapplied/0061-Add-velocity-warnings.patch b/patches/unapplied/server/0061-Add-velocity-warnings.patch similarity index 100% rename from patches/unapplied/0061-Add-velocity-warnings.patch rename to patches/unapplied/server/0061-Add-velocity-warnings.patch diff --git a/patches/unapplied/0062-Add-exception-reporting-event.patch b/patches/unapplied/server/0062-Add-exception-reporting-event.patch similarity index 100% rename from patches/unapplied/0062-Add-exception-reporting-event.patch rename to patches/unapplied/server/0062-Add-exception-reporting-event.patch diff --git a/patches/unapplied/0063-Disable-Scoreboards-for-non-players-by-default.patch b/patches/unapplied/server/0063-Disable-Scoreboards-for-non-players-by-default.patch similarity index 100% rename from patches/unapplied/0063-Disable-Scoreboards-for-non-players-by-default.patch rename to patches/unapplied/server/0063-Disable-Scoreboards-for-non-players-by-default.patch diff --git a/patches/unapplied/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/unapplied/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch similarity index 100% rename from patches/unapplied/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch rename to patches/unapplied/server/0064-Add-methods-for-working-with-arrows-stuck-in-living-.patch diff --git a/patches/unapplied/0065-Chunk-Save-Reattempt.patch b/patches/unapplied/server/0065-Chunk-Save-Reattempt.patch similarity index 100% rename from patches/unapplied/0065-Chunk-Save-Reattempt.patch rename to patches/unapplied/server/0065-Chunk-Save-Reattempt.patch diff --git a/patches/unapplied/0066-Complete-resource-pack-API.patch b/patches/unapplied/server/0066-Complete-resource-pack-API.patch similarity index 100% rename from patches/unapplied/0066-Complete-resource-pack-API.patch rename to patches/unapplied/server/0066-Complete-resource-pack-API.patch diff --git a/patches/unapplied/0067-Default-loading-permissions.yml-before-plugins.patch b/patches/unapplied/server/0067-Default-loading-permissions.yml-before-plugins.patch similarity index 100% rename from patches/unapplied/0067-Default-loading-permissions.yml-before-plugins.patch rename to patches/unapplied/server/0067-Default-loading-permissions.yml-before-plugins.patch diff --git a/patches/unapplied/0068-Allow-Reloading-of-Custom-Permissions.patch b/patches/unapplied/server/0068-Allow-Reloading-of-Custom-Permissions.patch similarity index 100% rename from patches/unapplied/0068-Allow-Reloading-of-Custom-Permissions.patch rename to patches/unapplied/server/0068-Allow-Reloading-of-Custom-Permissions.patch diff --git a/patches/unapplied/0069-Remove-Metadata-on-reload.patch b/patches/unapplied/server/0069-Remove-Metadata-on-reload.patch similarity index 100% rename from patches/unapplied/0069-Remove-Metadata-on-reload.patch rename to patches/unapplied/server/0069-Remove-Metadata-on-reload.patch diff --git a/patches/unapplied/0070-Handle-Item-Meta-Inconsistencies.patch b/patches/unapplied/server/0070-Handle-Item-Meta-Inconsistencies.patch similarity index 100% rename from patches/unapplied/0070-Handle-Item-Meta-Inconsistencies.patch rename to patches/unapplied/server/0070-Handle-Item-Meta-Inconsistencies.patch diff --git a/patches/unapplied/0071-Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/unapplied/server/0071-Configurable-Non-Player-Arrow-Despawn-Rate.patch similarity index 100% rename from patches/unapplied/0071-Configurable-Non-Player-Arrow-Despawn-Rate.patch rename to patches/unapplied/server/0071-Configurable-Non-Player-Arrow-Despawn-Rate.patch diff --git a/patches/unapplied/0072-Add-World-Util-Methods.patch b/patches/unapplied/server/0072-Add-World-Util-Methods.patch similarity index 100% rename from patches/unapplied/0072-Add-World-Util-Methods.patch rename to patches/unapplied/server/0072-Add-World-Util-Methods.patch diff --git a/patches/unapplied/0073-Custom-replacement-for-eaten-items.patch b/patches/unapplied/server/0073-Custom-replacement-for-eaten-items.patch similarity index 100% rename from patches/unapplied/0073-Custom-replacement-for-eaten-items.patch rename to patches/unapplied/server/0073-Custom-replacement-for-eaten-items.patch diff --git a/patches/unapplied/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/unapplied/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch similarity index 100% rename from patches/unapplied/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch rename to patches/unapplied/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch diff --git a/patches/unapplied/0075-Use-a-Shared-Random-for-Entities.patch b/patches/unapplied/server/0075-Use-a-Shared-Random-for-Entities.patch similarity index 100% rename from patches/unapplied/0075-Use-a-Shared-Random-for-Entities.patch rename to patches/unapplied/server/0075-Use-a-Shared-Random-for-Entities.patch diff --git a/patches/unapplied/0076-Configurable-spawn-chances-for-skeleton-horses.patch b/patches/unapplied/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch similarity index 100% rename from patches/unapplied/0076-Configurable-spawn-chances-for-skeleton-horses.patch rename to patches/unapplied/server/0076-Configurable-spawn-chances-for-skeleton-horses.patch diff --git a/patches/unapplied/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/unapplied/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch similarity index 100% rename from patches/unapplied/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch rename to patches/unapplied/server/0077-Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch diff --git a/patches/unapplied/0078-Entity-AddTo-RemoveFrom-World-Events.patch b/patches/unapplied/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch similarity index 100% rename from patches/unapplied/0078-Entity-AddTo-RemoveFrom-World-Events.patch rename to patches/unapplied/server/0078-Entity-AddTo-RemoveFrom-World-Events.patch diff --git a/patches/unapplied/0079-Configurable-Chunk-Inhabited-Time.patch b/patches/unapplied/server/0079-Configurable-Chunk-Inhabited-Time.patch similarity index 100% rename from patches/unapplied/0079-Configurable-Chunk-Inhabited-Time.patch rename to patches/unapplied/server/0079-Configurable-Chunk-Inhabited-Time.patch diff --git a/patches/unapplied/0080-EntityPathfindEvent.patch b/patches/unapplied/server/0080-EntityPathfindEvent.patch similarity index 100% rename from patches/unapplied/0080-EntityPathfindEvent.patch rename to patches/unapplied/server/0080-EntityPathfindEvent.patch diff --git a/patches/unapplied/0081-Sanitise-RegionFileCache-and-make-configurable.patch b/patches/unapplied/server/0081-Sanitise-RegionFileCache-and-make-configurable.patch similarity index 100% rename from patches/unapplied/0081-Sanitise-RegionFileCache-and-make-configurable.patch rename to patches/unapplied/server/0081-Sanitise-RegionFileCache-and-make-configurable.patch diff --git a/patches/unapplied/0082-Do-not-load-chunks-for-Pathfinding.patch b/patches/unapplied/server/0082-Do-not-load-chunks-for-Pathfinding.patch similarity index 100% rename from patches/unapplied/0082-Do-not-load-chunks-for-Pathfinding.patch rename to patches/unapplied/server/0082-Do-not-load-chunks-for-Pathfinding.patch diff --git a/patches/unapplied/0083-Add-PlayerUseUnknownEntityEvent.patch b/patches/unapplied/server/0083-Add-PlayerUseUnknownEntityEvent.patch similarity index 100% rename from patches/unapplied/0083-Add-PlayerUseUnknownEntityEvent.patch rename to patches/unapplied/server/0083-Add-PlayerUseUnknownEntityEvent.patch diff --git a/patches/unapplied/0084-Configurable-random-tick-rates-for-blocks.patch b/patches/unapplied/server/0084-Configurable-random-tick-rates-for-blocks.patch similarity index 100% rename from patches/unapplied/0084-Configurable-random-tick-rates-for-blocks.patch rename to patches/unapplied/server/0084-Configurable-random-tick-rates-for-blocks.patch diff --git a/patches/unapplied/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/unapplied/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch similarity index 100% rename from patches/unapplied/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch rename to patches/unapplied/server/0085-Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch diff --git a/patches/unapplied/0086-Optimize-DataBits.patch b/patches/unapplied/server/0086-Optimize-DataBits.patch similarity index 100% rename from patches/unapplied/0086-Optimize-DataBits.patch rename to patches/unapplied/server/0086-Optimize-DataBits.patch diff --git a/patches/unapplied/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/unapplied/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch similarity index 100% rename from patches/unapplied/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch rename to patches/unapplied/server/0087-Option-to-use-vanilla-per-world-scoreboard-coloring-.patch diff --git a/patches/unapplied/0088-Configurable-Player-Collision.patch b/patches/unapplied/server/0088-Configurable-Player-Collision.patch similarity index 100% rename from patches/unapplied/0088-Configurable-Player-Collision.patch rename to patches/unapplied/server/0088-Configurable-Player-Collision.patch diff --git a/patches/unapplied/0089-Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/unapplied/server/0089-Add-handshake-event-to-allow-plugins-to-handle-clien.patch similarity index 100% rename from patches/unapplied/0089-Add-handshake-event-to-allow-plugins-to-handle-clien.patch rename to patches/unapplied/server/0089-Add-handshake-event-to-allow-plugins-to-handle-clien.patch diff --git a/patches/unapplied/0090-Configurable-RCON-IP-address.patch b/patches/unapplied/server/0090-Configurable-RCON-IP-address.patch similarity index 100% rename from patches/unapplied/0090-Configurable-RCON-IP-address.patch rename to patches/unapplied/server/0090-Configurable-RCON-IP-address.patch diff --git a/patches/unapplied/0091-EntityRegainHealthEvent-isFastRegen-API.patch b/patches/unapplied/server/0091-EntityRegainHealthEvent-isFastRegen-API.patch similarity index 100% rename from patches/unapplied/0091-EntityRegainHealthEvent-isFastRegen-API.patch rename to patches/unapplied/server/0091-EntityRegainHealthEvent-isFastRegen-API.patch diff --git a/patches/unapplied/0092-Add-ability-to-configure-frosted_ice-properties.patch b/patches/unapplied/server/0092-Add-ability-to-configure-frosted_ice-properties.patch similarity index 100% rename from patches/unapplied/0092-Add-ability-to-configure-frosted_ice-properties.patch rename to patches/unapplied/server/0092-Add-ability-to-configure-frosted_ice-properties.patch diff --git a/patches/unapplied/0093-remove-null-possibility-for-getServer-singleton.patch b/patches/unapplied/server/0093-remove-null-possibility-for-getServer-singleton.patch similarity index 100% rename from patches/unapplied/0093-remove-null-possibility-for-getServer-singleton.patch rename to patches/unapplied/server/0093-remove-null-possibility-for-getServer-singleton.patch diff --git a/patches/unapplied/0094-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/unapplied/server/0094-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch similarity index 100% rename from patches/unapplied/0094-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch rename to patches/unapplied/server/0094-Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch diff --git a/patches/unapplied/0095-LootTable-API-and-replenishable-lootables.patch b/patches/unapplied/server/0095-LootTable-API-and-replenishable-lootables.patch similarity index 100% rename from patches/unapplied/0095-LootTable-API-and-replenishable-lootables.patch rename to patches/unapplied/server/0095-LootTable-API-and-replenishable-lootables.patch diff --git a/patches/unapplied/0096-System-property-for-disabling-watchdoge.patch b/patches/unapplied/server/0096-System-property-for-disabling-watchdoge.patch similarity index 100% rename from patches/unapplied/0096-System-property-for-disabling-watchdoge.patch rename to patches/unapplied/server/0096-System-property-for-disabling-watchdoge.patch diff --git a/patches/unapplied/0097-Async-GameProfileCache-saving.patch b/patches/unapplied/server/0097-Async-GameProfileCache-saving.patch similarity index 100% rename from patches/unapplied/0097-Async-GameProfileCache-saving.patch rename to patches/unapplied/server/0097-Async-GameProfileCache-saving.patch diff --git a/patches/unapplied/0098-Optional-TNT-doesn-t-move-in-water.patch b/patches/unapplied/server/0098-Optional-TNT-doesn-t-move-in-water.patch similarity index 100% rename from patches/unapplied/0098-Optional-TNT-doesn-t-move-in-water.patch rename to patches/unapplied/server/0098-Optional-TNT-doesn-t-move-in-water.patch diff --git a/patches/unapplied/0099-Faster-redstone-torch-rapid-clock-removal.patch b/patches/unapplied/server/0099-Faster-redstone-torch-rapid-clock-removal.patch similarity index 100% rename from patches/unapplied/0099-Faster-redstone-torch-rapid-clock-removal.patch rename to patches/unapplied/server/0099-Faster-redstone-torch-rapid-clock-removal.patch diff --git a/patches/unapplied/0100-Add-server-name-parameter.patch b/patches/unapplied/server/0100-Add-server-name-parameter.patch similarity index 100% rename from patches/unapplied/0100-Add-server-name-parameter.patch rename to patches/unapplied/server/0100-Add-server-name-parameter.patch diff --git a/patches/unapplied/0101-Fix-global-sound-handling.patch b/patches/unapplied/server/0101-Fix-global-sound-handling.patch similarity index 100% rename from patches/unapplied/0101-Fix-global-sound-handling.patch rename to patches/unapplied/server/0101-Fix-global-sound-handling.patch diff --git a/patches/unapplied/0102-Avoid-blocking-on-Network-Manager-creation.patch b/patches/unapplied/server/0102-Avoid-blocking-on-Network-Manager-creation.patch similarity index 100% rename from patches/unapplied/0102-Avoid-blocking-on-Network-Manager-creation.patch rename to patches/unapplied/server/0102-Avoid-blocking-on-Network-Manager-creation.patch diff --git a/patches/unapplied/0103-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch b/patches/unapplied/server/0103-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch similarity index 100% rename from patches/unapplied/0103-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch rename to patches/unapplied/server/0103-Don-t-lookup-game-profiles-that-have-no-UUID-and-no-.patch diff --git a/patches/unapplied/0104-Add-setting-for-proxy-online-mode-status.patch b/patches/unapplied/server/0104-Add-setting-for-proxy-online-mode-status.patch similarity index 100% rename from patches/unapplied/0104-Add-setting-for-proxy-online-mode-status.patch rename to patches/unapplied/server/0104-Add-setting-for-proxy-online-mode-status.patch diff --git a/patches/unapplied/0105-Optimise-BlockState-s-hashCode-equals.patch b/patches/unapplied/server/0105-Optimise-BlockState-s-hashCode-equals.patch similarity index 100% rename from patches/unapplied/0105-Optimise-BlockState-s-hashCode-equals.patch rename to patches/unapplied/server/0105-Optimise-BlockState-s-hashCode-equals.patch diff --git a/patches/unapplied/0106-Configurable-packet-in-spam-threshold.patch b/patches/unapplied/server/0106-Configurable-packet-in-spam-threshold.patch similarity index 100% rename from patches/unapplied/0106-Configurable-packet-in-spam-threshold.patch rename to patches/unapplied/server/0106-Configurable-packet-in-spam-threshold.patch diff --git a/patches/unapplied/0107-Configurable-flying-kick-messages.patch b/patches/unapplied/server/0107-Configurable-flying-kick-messages.patch similarity index 100% rename from patches/unapplied/0107-Configurable-flying-kick-messages.patch rename to patches/unapplied/server/0107-Configurable-flying-kick-messages.patch diff --git a/patches/unapplied/0108-Add-EntityZapEvent.patch b/patches/unapplied/server/0108-Add-EntityZapEvent.patch similarity index 100% rename from patches/unapplied/0108-Add-EntityZapEvent.patch rename to patches/unapplied/server/0108-Add-EntityZapEvent.patch diff --git a/patches/unapplied/0109-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch b/patches/unapplied/server/0109-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch similarity index 100% rename from patches/unapplied/0109-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch rename to patches/unapplied/server/0109-Filter-bad-block-entity-nbt-data-from-falling-blocks.patch diff --git a/patches/unapplied/0110-Cache-user-authenticator-threads.patch b/patches/unapplied/server/0110-Cache-user-authenticator-threads.patch similarity index 100% rename from patches/unapplied/0110-Cache-user-authenticator-threads.patch rename to patches/unapplied/server/0110-Cache-user-authenticator-threads.patch diff --git a/patches/unapplied/0111-Allow-Reloading-of-Command-Aliases.patch b/patches/unapplied/server/0111-Allow-Reloading-of-Command-Aliases.patch similarity index 100% rename from patches/unapplied/0111-Allow-Reloading-of-Command-Aliases.patch rename to patches/unapplied/server/0111-Allow-Reloading-of-Command-Aliases.patch diff --git a/patches/unapplied/0112-Add-source-to-PlayerExpChangeEvent.patch b/patches/unapplied/server/0112-Add-source-to-PlayerExpChangeEvent.patch similarity index 100% rename from patches/unapplied/0112-Add-source-to-PlayerExpChangeEvent.patch rename to patches/unapplied/server/0112-Add-source-to-PlayerExpChangeEvent.patch diff --git a/patches/unapplied/0113-Add-ProjectileCollideEvent.patch b/patches/unapplied/server/0113-Add-ProjectileCollideEvent.patch similarity index 100% rename from patches/unapplied/0113-Add-ProjectileCollideEvent.patch rename to patches/unapplied/server/0113-Add-ProjectileCollideEvent.patch diff --git a/patches/unapplied/0114-Prevent-Pathfinding-out-of-World-Border.patch b/patches/unapplied/server/0114-Prevent-Pathfinding-out-of-World-Border.patch similarity index 100% rename from patches/unapplied/0114-Prevent-Pathfinding-out-of-World-Border.patch rename to patches/unapplied/server/0114-Prevent-Pathfinding-out-of-World-Border.patch diff --git a/patches/unapplied/0115-Optimize-Level.hasChunkAt-BlockPosition-Z.patch b/patches/unapplied/server/0115-Optimize-Level.hasChunkAt-BlockPosition-Z.patch similarity index 100% rename from patches/unapplied/0115-Optimize-Level.hasChunkAt-BlockPosition-Z.patch rename to patches/unapplied/server/0115-Optimize-Level.hasChunkAt-BlockPosition-Z.patch diff --git a/patches/unapplied/0116-Bound-Treasure-Maps-to-World-Border.patch b/patches/unapplied/server/0116-Bound-Treasure-Maps-to-World-Border.patch similarity index 100% rename from patches/unapplied/0116-Bound-Treasure-Maps-to-World-Border.patch rename to patches/unapplied/server/0116-Bound-Treasure-Maps-to-World-Border.patch diff --git a/patches/unapplied/0117-Configurable-Cartographer-Treasure-Maps.patch b/patches/unapplied/server/0117-Configurable-Cartographer-Treasure-Maps.patch similarity index 100% rename from patches/unapplied/0117-Configurable-Cartographer-Treasure-Maps.patch rename to patches/unapplied/server/0117-Configurable-Cartographer-Treasure-Maps.patch diff --git a/patches/unapplied/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch b/patches/unapplied/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch similarity index 100% rename from patches/unapplied/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch rename to patches/unapplied/server/0118-Add-API-methods-to-control-if-armor-stands-can-move.patch diff --git a/patches/unapplied/0119-String-based-Action-Bar-API.patch b/patches/unapplied/server/0119-String-based-Action-Bar-API.patch similarity index 100% rename from patches/unapplied/0119-String-based-Action-Bar-API.patch rename to patches/unapplied/server/0119-String-based-Action-Bar-API.patch diff --git a/patches/unapplied/0120-Properly-fix-item-duplication-bug.patch b/patches/unapplied/server/0120-Properly-fix-item-duplication-bug.patch similarity index 100% rename from patches/unapplied/0120-Properly-fix-item-duplication-bug.patch rename to patches/unapplied/server/0120-Properly-fix-item-duplication-bug.patch diff --git a/patches/unapplied/0121-Firework-API-s.patch b/patches/unapplied/server/0121-Firework-API-s.patch similarity index 100% rename from patches/unapplied/0121-Firework-API-s.patch rename to patches/unapplied/server/0121-Firework-API-s.patch diff --git a/patches/unapplied/0122-PlayerTeleportEndGatewayEvent.patch b/patches/unapplied/server/0122-PlayerTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/0122-PlayerTeleportEndGatewayEvent.patch rename to patches/unapplied/server/0122-PlayerTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/0123-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/unapplied/server/0123-Provide-E-TE-Chunk-count-stat-methods.patch similarity index 100% rename from patches/unapplied/0123-Provide-E-TE-Chunk-count-stat-methods.patch rename to patches/unapplied/server/0123-Provide-E-TE-Chunk-count-stat-methods.patch diff --git a/patches/unapplied/0124-Enforce-Sync-Player-Saves.patch b/patches/unapplied/server/0124-Enforce-Sync-Player-Saves.patch similarity index 100% rename from patches/unapplied/0124-Enforce-Sync-Player-Saves.patch rename to patches/unapplied/server/0124-Enforce-Sync-Player-Saves.patch diff --git a/patches/unapplied/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/unapplied/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch similarity index 100% rename from patches/unapplied/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch rename to patches/unapplied/server/0125-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch diff --git a/patches/unapplied/0126-Cap-Entity-Collisions.patch b/patches/unapplied/server/0126-Cap-Entity-Collisions.patch similarity index 100% rename from patches/unapplied/0126-Cap-Entity-Collisions.patch rename to patches/unapplied/server/0126-Cap-Entity-Collisions.patch diff --git a/patches/unapplied/0127-Remove-CraftScheduler-Async-Task-Debugger.patch b/patches/unapplied/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch similarity index 100% rename from patches/unapplied/0127-Remove-CraftScheduler-Async-Task-Debugger.patch rename to patches/unapplied/server/0127-Remove-CraftScheduler-Async-Task-Debugger.patch diff --git a/patches/unapplied/0128-Properly-handle-async-calls-to-restart-the-server.patch b/patches/unapplied/server/0128-Properly-handle-async-calls-to-restart-the-server.patch similarity index 100% rename from patches/unapplied/0128-Properly-handle-async-calls-to-restart-the-server.patch rename to patches/unapplied/server/0128-Properly-handle-async-calls-to-restart-the-server.patch diff --git a/patches/unapplied/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch b/patches/unapplied/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch similarity index 100% rename from patches/unapplied/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch rename to patches/unapplied/server/0129-Add-option-to-make-parrots-stay-on-shoulders-despite.patch diff --git a/patches/unapplied/0130-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/unapplied/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch similarity index 100% rename from patches/unapplied/0130-Add-configuration-option-to-prevent-player-names-fro.patch rename to patches/unapplied/server/0130-Add-configuration-option-to-prevent-player-names-fro.patch diff --git a/patches/unapplied/0131-provide-a-configurable-option-to-disable-creeper-lin.patch b/patches/unapplied/server/0131-provide-a-configurable-option-to-disable-creeper-lin.patch similarity index 100% rename from patches/unapplied/0131-provide-a-configurable-option-to-disable-creeper-lin.patch rename to patches/unapplied/server/0131-provide-a-configurable-option-to-disable-creeper-lin.patch diff --git a/patches/unapplied/0132-Item-canEntityPickup.patch b/patches/unapplied/server/0132-Item-canEntityPickup.patch similarity index 100% rename from patches/unapplied/0132-Item-canEntityPickup.patch rename to patches/unapplied/server/0132-Item-canEntityPickup.patch diff --git a/patches/unapplied/0133-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/unapplied/server/0133-PlayerPickupItemEvent-setFlyAtPlayer.patch similarity index 100% rename from patches/unapplied/0133-PlayerPickupItemEvent-setFlyAtPlayer.patch rename to patches/unapplied/server/0133-PlayerPickupItemEvent-setFlyAtPlayer.patch diff --git a/patches/unapplied/0134-PlayerAttemptPickupItemEvent.patch b/patches/unapplied/server/0134-PlayerAttemptPickupItemEvent.patch similarity index 100% rename from patches/unapplied/0134-PlayerAttemptPickupItemEvent.patch rename to patches/unapplied/server/0134-PlayerAttemptPickupItemEvent.patch diff --git a/patches/unapplied/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/unapplied/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch similarity index 100% rename from patches/unapplied/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch rename to patches/unapplied/server/0135-Do-not-submit-profile-lookups-to-worldgen-threads.patch diff --git a/patches/unapplied/0136-Basic-PlayerProfile-API.patch b/patches/unapplied/server/0136-Basic-PlayerProfile-API.patch similarity index 100% rename from patches/unapplied/0136-Basic-PlayerProfile-API.patch rename to patches/unapplied/server/0136-Basic-PlayerProfile-API.patch diff --git a/patches/unapplied/0137-Add-UnknownCommandEvent.patch b/patches/unapplied/server/0137-Add-UnknownCommandEvent.patch similarity index 100% rename from patches/unapplied/0137-Add-UnknownCommandEvent.patch rename to patches/unapplied/server/0137-Add-UnknownCommandEvent.patch diff --git a/patches/unapplied/0138-Shoulder-Entities-Release-API.patch b/patches/unapplied/server/0138-Shoulder-Entities-Release-API.patch similarity index 100% rename from patches/unapplied/0138-Shoulder-Entities-Release-API.patch rename to patches/unapplied/server/0138-Shoulder-Entities-Release-API.patch diff --git a/patches/unapplied/0139-Profile-Lookup-Events.patch b/patches/unapplied/server/0139-Profile-Lookup-Events.patch similarity index 100% rename from patches/unapplied/0139-Profile-Lookup-Events.patch rename to patches/unapplied/server/0139-Profile-Lookup-Events.patch diff --git a/patches/unapplied/0140-Block-player-logins-during-server-shutdown.patch b/patches/unapplied/server/0140-Block-player-logins-during-server-shutdown.patch similarity index 100% rename from patches/unapplied/0140-Block-player-logins-during-server-shutdown.patch rename to patches/unapplied/server/0140-Block-player-logins-during-server-shutdown.patch diff --git a/patches/unapplied/0141-Entity-fromMobSpawner.patch b/patches/unapplied/server/0141-Entity-fromMobSpawner.patch similarity index 100% rename from patches/unapplied/0141-Entity-fromMobSpawner.patch rename to patches/unapplied/server/0141-Entity-fromMobSpawner.patch diff --git a/patches/unapplied/0142-Improve-the-Saddle-API-for-Horses.patch b/patches/unapplied/server/0142-Improve-the-Saddle-API-for-Horses.patch similarity index 100% rename from patches/unapplied/0142-Improve-the-Saddle-API-for-Horses.patch rename to patches/unapplied/server/0142-Improve-the-Saddle-API-for-Horses.patch diff --git a/patches/unapplied/0143-ensureServerConversions-API.patch b/patches/unapplied/server/0143-ensureServerConversions-API.patch similarity index 100% rename from patches/unapplied/0143-ensureServerConversions-API.patch rename to patches/unapplied/server/0143-ensureServerConversions-API.patch diff --git a/patches/unapplied/0144-Implement-getI18NDisplayName.patch b/patches/unapplied/server/0144-Implement-getI18NDisplayName.patch similarity index 100% rename from patches/unapplied/0144-Implement-getI18NDisplayName.patch rename to patches/unapplied/server/0144-Implement-getI18NDisplayName.patch diff --git a/patches/unapplied/0145-ProfileWhitelistVerifyEvent.patch b/patches/unapplied/server/0145-ProfileWhitelistVerifyEvent.patch similarity index 100% rename from patches/unapplied/0145-ProfileWhitelistVerifyEvent.patch rename to patches/unapplied/server/0145-ProfileWhitelistVerifyEvent.patch diff --git a/patches/unapplied/0146-Fix-this-stupid-bullshit.patch b/patches/unapplied/server/0146-Fix-this-stupid-bullshit.patch similarity index 100% rename from patches/unapplied/0146-Fix-this-stupid-bullshit.patch rename to patches/unapplied/server/0146-Fix-this-stupid-bullshit.patch diff --git a/patches/unapplied/0147-LivingEntity-setKiller.patch b/patches/unapplied/server/0147-LivingEntity-setKiller.patch similarity index 100% rename from patches/unapplied/0147-LivingEntity-setKiller.patch rename to patches/unapplied/server/0147-LivingEntity-setKiller.patch diff --git a/patches/unapplied/0148-Ocelot-despawns-should-honor-nametags-and-leash.patch b/patches/unapplied/server/0148-Ocelot-despawns-should-honor-nametags-and-leash.patch similarity index 100% rename from patches/unapplied/0148-Ocelot-despawns-should-honor-nametags-and-leash.patch rename to patches/unapplied/server/0148-Ocelot-despawns-should-honor-nametags-and-leash.patch diff --git a/patches/unapplied/0149-Reset-spawner-timer-when-spawner-event-is-cancelled.patch b/patches/unapplied/server/0149-Reset-spawner-timer-when-spawner-event-is-cancelled.patch similarity index 100% rename from patches/unapplied/0149-Reset-spawner-timer-when-spawner-event-is-cancelled.patch rename to patches/unapplied/server/0149-Reset-spawner-timer-when-spawner-event-is-cancelled.patch diff --git a/patches/unapplied/0150-Allow-specifying-a-custom-authentication-servers-dow.patch b/patches/unapplied/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch similarity index 100% rename from patches/unapplied/0150-Allow-specifying-a-custom-authentication-servers-dow.patch rename to patches/unapplied/server/0150-Allow-specifying-a-custom-authentication-servers-dow.patch diff --git a/patches/unapplied/0151-Add-PlayerJumpEvent.patch b/patches/unapplied/server/0151-Add-PlayerJumpEvent.patch similarity index 100% rename from patches/unapplied/0151-Add-PlayerJumpEvent.patch rename to patches/unapplied/server/0151-Add-PlayerJumpEvent.patch diff --git a/patches/unapplied/0152-handle-ServerboundKeepAlivePacket-async.patch b/patches/unapplied/server/0152-handle-ServerboundKeepAlivePacket-async.patch similarity index 100% rename from patches/unapplied/0152-handle-ServerboundKeepAlivePacket-async.patch rename to patches/unapplied/server/0152-handle-ServerboundKeepAlivePacket-async.patch diff --git a/patches/unapplied/0153-Expose-client-protocol-version-and-virtual-host.patch b/patches/unapplied/server/0153-Expose-client-protocol-version-and-virtual-host.patch similarity index 100% rename from patches/unapplied/0153-Expose-client-protocol-version-and-virtual-host.patch rename to patches/unapplied/server/0153-Expose-client-protocol-version-and-virtual-host.patch diff --git a/patches/unapplied/0154-revert-serverside-behavior-of-keepalives.patch b/patches/unapplied/server/0154-revert-serverside-behavior-of-keepalives.patch similarity index 100% rename from patches/unapplied/0154-revert-serverside-behavior-of-keepalives.patch rename to patches/unapplied/server/0154-revert-serverside-behavior-of-keepalives.patch diff --git a/patches/unapplied/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch b/patches/unapplied/server/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch similarity index 100% rename from patches/unapplied/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch rename to patches/unapplied/server/0155-Send-attack-SoundEffects-only-to-players-who-can-see.patch diff --git a/patches/unapplied/0156-Add-PlayerArmorChangeEvent.patch b/patches/unapplied/server/0156-Add-PlayerArmorChangeEvent.patch similarity index 100% rename from patches/unapplied/0156-Add-PlayerArmorChangeEvent.patch rename to patches/unapplied/server/0156-Add-PlayerArmorChangeEvent.patch diff --git a/patches/unapplied/0157-Prevent-logins-from-being-processed-when-the-player-.patch b/patches/unapplied/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch similarity index 100% rename from patches/unapplied/0157-Prevent-logins-from-being-processed-when-the-player-.patch rename to patches/unapplied/server/0157-Prevent-logins-from-being-processed-when-the-player-.patch diff --git a/patches/unapplied/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch b/patches/unapplied/server/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch similarity index 100% rename from patches/unapplied/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch rename to patches/unapplied/server/0158-Fix-MC-117075-Block-entity-unload-lag-spike.patch diff --git a/patches/unapplied/0159-use-CB-BlockState-implementations-for-captured-block.patch b/patches/unapplied/server/0159-use-CB-BlockState-implementations-for-captured-block.patch similarity index 100% rename from patches/unapplied/0159-use-CB-BlockState-implementations-for-captured-block.patch rename to patches/unapplied/server/0159-use-CB-BlockState-implementations-for-captured-block.patch diff --git a/patches/unapplied/0160-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/unapplied/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch similarity index 100% rename from patches/unapplied/0160-API-to-get-a-BlockState-without-a-snapshot.patch rename to patches/unapplied/server/0160-API-to-get-a-BlockState-without-a-snapshot.patch diff --git a/patches/unapplied/0161-AsyncTabCompleteEvent.patch b/patches/unapplied/server/0161-AsyncTabCompleteEvent.patch similarity index 100% rename from patches/unapplied/0161-AsyncTabCompleteEvent.patch rename to patches/unapplied/server/0161-AsyncTabCompleteEvent.patch diff --git a/patches/unapplied/0162-PlayerPickupExperienceEvent.patch b/patches/unapplied/server/0162-PlayerPickupExperienceEvent.patch similarity index 100% rename from patches/unapplied/0162-PlayerPickupExperienceEvent.patch rename to patches/unapplied/server/0162-PlayerPickupExperienceEvent.patch diff --git a/patches/unapplied/0163-Ability-to-apply-mending-to-XP-API.patch b/patches/unapplied/server/0163-Ability-to-apply-mending-to-XP-API.patch similarity index 100% rename from patches/unapplied/0163-Ability-to-apply-mending-to-XP-API.patch rename to patches/unapplied/server/0163-Ability-to-apply-mending-to-XP-API.patch diff --git a/patches/unapplied/0164-PlayerNaturallySpawnCreaturesEvent.patch b/patches/unapplied/server/0164-PlayerNaturallySpawnCreaturesEvent.patch similarity index 100% rename from patches/unapplied/0164-PlayerNaturallySpawnCreaturesEvent.patch rename to patches/unapplied/server/0164-PlayerNaturallySpawnCreaturesEvent.patch diff --git a/patches/unapplied/0165-Add-setPlayerProfile-API-for-Skulls.patch b/patches/unapplied/server/0165-Add-setPlayerProfile-API-for-Skulls.patch similarity index 100% rename from patches/unapplied/0165-Add-setPlayerProfile-API-for-Skulls.patch rename to patches/unapplied/server/0165-Add-setPlayerProfile-API-for-Skulls.patch diff --git a/patches/unapplied/0166-PreCreatureSpawnEvent.patch b/patches/unapplied/server/0166-PreCreatureSpawnEvent.patch similarity index 100% rename from patches/unapplied/0166-PreCreatureSpawnEvent.patch rename to patches/unapplied/server/0166-PreCreatureSpawnEvent.patch diff --git a/patches/unapplied/0167-Fill-Profile-Property-Events.patch b/patches/unapplied/server/0167-Fill-Profile-Property-Events.patch similarity index 100% rename from patches/unapplied/0167-Fill-Profile-Property-Events.patch rename to patches/unapplied/server/0167-Fill-Profile-Property-Events.patch diff --git a/patches/unapplied/0168-Add-PlayerAdvancementCriterionGrantEvent.patch b/patches/unapplied/server/0168-Add-PlayerAdvancementCriterionGrantEvent.patch similarity index 100% rename from patches/unapplied/0168-Add-PlayerAdvancementCriterionGrantEvent.patch rename to patches/unapplied/server/0168-Add-PlayerAdvancementCriterionGrantEvent.patch diff --git a/patches/unapplied/0169-Add-ArmorStand-Item-Meta.patch b/patches/unapplied/server/0169-Add-ArmorStand-Item-Meta.patch similarity index 100% rename from patches/unapplied/0169-Add-ArmorStand-Item-Meta.patch rename to patches/unapplied/server/0169-Add-ArmorStand-Item-Meta.patch diff --git a/patches/unapplied/0170-Extend-Player-Interact-cancellation.patch b/patches/unapplied/server/0170-Extend-Player-Interact-cancellation.patch similarity index 100% rename from patches/unapplied/0170-Extend-Player-Interact-cancellation.patch rename to patches/unapplied/server/0170-Extend-Player-Interact-cancellation.patch diff --git a/patches/unapplied/0171-Tameable-getOwnerUniqueId-API.patch b/patches/unapplied/server/0171-Tameable-getOwnerUniqueId-API.patch similarity index 100% rename from patches/unapplied/0171-Tameable-getOwnerUniqueId-API.patch rename to patches/unapplied/server/0171-Tameable-getOwnerUniqueId-API.patch diff --git a/patches/unapplied/0172-Toggleable-player-crits.patch b/patches/unapplied/server/0172-Toggleable-player-crits.patch similarity index 100% rename from patches/unapplied/0172-Toggleable-player-crits.patch rename to patches/unapplied/server/0172-Toggleable-player-crits.patch diff --git a/patches/unapplied/0173-Disable-Explicit-Network-Manager-Flushing.patch b/patches/unapplied/server/0173-Disable-Explicit-Network-Manager-Flushing.patch similarity index 100% rename from patches/unapplied/0173-Disable-Explicit-Network-Manager-Flushing.patch rename to patches/unapplied/server/0173-Disable-Explicit-Network-Manager-Flushing.patch diff --git a/patches/unapplied/0174-Implement-extended-PaperServerListPingEvent.patch b/patches/unapplied/server/0174-Implement-extended-PaperServerListPingEvent.patch similarity index 100% rename from patches/unapplied/0174-Implement-extended-PaperServerListPingEvent.patch rename to patches/unapplied/server/0174-Implement-extended-PaperServerListPingEvent.patch diff --git a/patches/unapplied/0175-Add-more-fields-to-AsyncPreLoginEvent.patch b/patches/unapplied/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch similarity index 100% rename from patches/unapplied/0175-Add-more-fields-to-AsyncPreLoginEvent.patch rename to patches/unapplied/server/0175-Add-more-fields-to-AsyncPreLoginEvent.patch diff --git a/patches/unapplied/0176-Player.setPlayerProfile-API.patch b/patches/unapplied/server/0176-Player.setPlayerProfile-API.patch similarity index 100% rename from patches/unapplied/0176-Player.setPlayerProfile-API.patch rename to patches/unapplied/server/0176-Player.setPlayerProfile-API.patch diff --git a/patches/unapplied/0177-getPlayerUniqueId-API.patch b/patches/unapplied/server/0177-getPlayerUniqueId-API.patch similarity index 100% rename from patches/unapplied/0177-getPlayerUniqueId-API.patch rename to patches/unapplied/server/0177-getPlayerUniqueId-API.patch diff --git a/patches/unapplied/0178-Improved-Async-Task-Scheduler.patch b/patches/unapplied/server/0178-Improved-Async-Task-Scheduler.patch similarity index 100% rename from patches/unapplied/0178-Improved-Async-Task-Scheduler.patch rename to patches/unapplied/server/0178-Improved-Async-Task-Scheduler.patch diff --git a/patches/unapplied/0179-Make-legacy-ping-handler-more-reliable.patch b/patches/unapplied/server/0179-Make-legacy-ping-handler-more-reliable.patch similarity index 100% rename from patches/unapplied/0179-Make-legacy-ping-handler-more-reliable.patch rename to patches/unapplied/server/0179-Make-legacy-ping-handler-more-reliable.patch diff --git a/patches/unapplied/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch b/patches/unapplied/server/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch similarity index 100% rename from patches/unapplied/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch rename to patches/unapplied/server/0180-Call-PaperServerListPingEvent-for-legacy-pings.patch diff --git a/patches/unapplied/0181-Flag-to-disable-the-channel-limit.patch b/patches/unapplied/server/0181-Flag-to-disable-the-channel-limit.patch similarity index 100% rename from patches/unapplied/0181-Flag-to-disable-the-channel-limit.patch rename to patches/unapplied/server/0181-Flag-to-disable-the-channel-limit.patch diff --git a/patches/unapplied/0182-Add-openSign-method-to-HumanEntity.patch b/patches/unapplied/server/0182-Add-openSign-method-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/0182-Add-openSign-method-to-HumanEntity.patch rename to patches/unapplied/server/0182-Add-openSign-method-to-HumanEntity.patch diff --git a/patches/unapplied/0183-Configurable-sprint-interruption-on-attack.patch b/patches/unapplied/server/0183-Configurable-sprint-interruption-on-attack.patch similarity index 100% rename from patches/unapplied/0183-Configurable-sprint-interruption-on-attack.patch rename to patches/unapplied/server/0183-Configurable-sprint-interruption-on-attack.patch diff --git a/patches/unapplied/0184-EndermanEscapeEvent.patch b/patches/unapplied/server/0184-EndermanEscapeEvent.patch similarity index 100% rename from patches/unapplied/0184-EndermanEscapeEvent.patch rename to patches/unapplied/server/0184-EndermanEscapeEvent.patch diff --git a/patches/unapplied/0185-Enderman.teleportRandomly.patch b/patches/unapplied/server/0185-Enderman.teleportRandomly.patch similarity index 100% rename from patches/unapplied/0185-Enderman.teleportRandomly.patch rename to patches/unapplied/server/0185-Enderman.teleportRandomly.patch diff --git a/patches/unapplied/0186-Block-Enderpearl-Travel-Exploit.patch b/patches/unapplied/server/0186-Block-Enderpearl-Travel-Exploit.patch similarity index 100% rename from patches/unapplied/0186-Block-Enderpearl-Travel-Exploit.patch rename to patches/unapplied/server/0186-Block-Enderpearl-Travel-Exploit.patch diff --git a/patches/unapplied/0187-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/unapplied/server/0187-Expand-World.spawnParticle-API-and-add-Builder.patch similarity index 100% rename from patches/unapplied/0187-Expand-World.spawnParticle-API-and-add-Builder.patch rename to patches/unapplied/server/0187-Expand-World.spawnParticle-API-and-add-Builder.patch diff --git a/patches/unapplied/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch b/patches/unapplied/server/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch similarity index 100% rename from patches/unapplied/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch rename to patches/unapplied/server/0188-Fix-exploit-that-allowed-colored-signs-to-be-created.patch diff --git a/patches/unapplied/0189-EndermanAttackPlayerEvent.patch b/patches/unapplied/server/0189-EndermanAttackPlayerEvent.patch similarity index 100% rename from patches/unapplied/0189-EndermanAttackPlayerEvent.patch rename to patches/unapplied/server/0189-EndermanAttackPlayerEvent.patch diff --git a/patches/unapplied/0190-WitchConsumePotionEvent.patch b/patches/unapplied/server/0190-WitchConsumePotionEvent.patch similarity index 100% rename from patches/unapplied/0190-WitchConsumePotionEvent.patch rename to patches/unapplied/server/0190-WitchConsumePotionEvent.patch diff --git a/patches/unapplied/0191-WitchThrowPotionEvent.patch b/patches/unapplied/server/0191-WitchThrowPotionEvent.patch similarity index 100% rename from patches/unapplied/0191-WitchThrowPotionEvent.patch rename to patches/unapplied/server/0191-WitchThrowPotionEvent.patch diff --git a/patches/unapplied/0192-WitchReadyPotionEvent.patch b/patches/unapplied/server/0192-WitchReadyPotionEvent.patch similarity index 100% rename from patches/unapplied/0192-WitchReadyPotionEvent.patch rename to patches/unapplied/server/0192-WitchReadyPotionEvent.patch diff --git a/patches/unapplied/0193-ItemStack-getMaxItemUseDuration.patch b/patches/unapplied/server/0193-ItemStack-getMaxItemUseDuration.patch similarity index 100% rename from patches/unapplied/0193-ItemStack-getMaxItemUseDuration.patch rename to patches/unapplied/server/0193-ItemStack-getMaxItemUseDuration.patch diff --git a/patches/unapplied/0194-Add-EntityTeleportEndGatewayEvent.patch b/patches/unapplied/server/0194-Add-EntityTeleportEndGatewayEvent.patch similarity index 100% rename from patches/unapplied/0194-Add-EntityTeleportEndGatewayEvent.patch rename to patches/unapplied/server/0194-Add-EntityTeleportEndGatewayEvent.patch diff --git a/patches/unapplied/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch b/patches/unapplied/server/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch similarity index 100% rename from patches/unapplied/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch rename to patches/unapplied/server/0195-Unset-Ignited-flag-on-cancel-of-Explosion-Event.patch diff --git a/patches/unapplied/0196-Fix-CraftEntity-hashCode.patch b/patches/unapplied/server/0196-Fix-CraftEntity-hashCode.patch similarity index 100% rename from patches/unapplied/0196-Fix-CraftEntity-hashCode.patch rename to patches/unapplied/server/0196-Fix-CraftEntity-hashCode.patch diff --git a/patches/unapplied/0197-Configurable-LootPool-luck-formula.patch b/patches/unapplied/server/0197-Configurable-LootPool-luck-formula.patch similarity index 100% rename from patches/unapplied/0197-Configurable-LootPool-luck-formula.patch rename to patches/unapplied/server/0197-Configurable-LootPool-luck-formula.patch diff --git a/patches/unapplied/0198-Print-Error-details-when-failing-to-save-player-data.patch b/patches/unapplied/server/0198-Print-Error-details-when-failing-to-save-player-data.patch similarity index 100% rename from patches/unapplied/0198-Print-Error-details-when-failing-to-save-player-data.patch rename to patches/unapplied/server/0198-Print-Error-details-when-failing-to-save-player-data.patch diff --git a/patches/unapplied/0199-Make-shield-blocking-delay-configurable.patch b/patches/unapplied/server/0199-Make-shield-blocking-delay-configurable.patch similarity index 100% rename from patches/unapplied/0199-Make-shield-blocking-delay-configurable.patch rename to patches/unapplied/server/0199-Make-shield-blocking-delay-configurable.patch diff --git a/patches/unapplied/0200-Improve-EntityShootBowEvent.patch b/patches/unapplied/server/0200-Improve-EntityShootBowEvent.patch similarity index 100% rename from patches/unapplied/0200-Improve-EntityShootBowEvent.patch rename to patches/unapplied/server/0200-Improve-EntityShootBowEvent.patch diff --git a/patches/unapplied/0201-PlayerReadyArrowEvent.patch b/patches/unapplied/server/0201-PlayerReadyArrowEvent.patch similarity index 100% rename from patches/unapplied/0201-PlayerReadyArrowEvent.patch rename to patches/unapplied/server/0201-PlayerReadyArrowEvent.patch diff --git a/patches/unapplied/0202-Add-entity-knockback-events.patch b/patches/unapplied/server/0202-Add-entity-knockback-events.patch similarity index 100% rename from patches/unapplied/0202-Add-entity-knockback-events.patch rename to patches/unapplied/server/0202-Add-entity-knockback-events.patch diff --git a/patches/unapplied/0203-Expand-Explosions-API.patch b/patches/unapplied/server/0203-Expand-Explosions-API.patch similarity index 100% rename from patches/unapplied/0203-Expand-Explosions-API.patch rename to patches/unapplied/server/0203-Expand-Explosions-API.patch diff --git a/patches/unapplied/0204-LivingEntity-Active-Item-API.patch b/patches/unapplied/server/0204-LivingEntity-Active-Item-API.patch similarity index 100% rename from patches/unapplied/0204-LivingEntity-Active-Item-API.patch rename to patches/unapplied/server/0204-LivingEntity-Active-Item-API.patch diff --git a/patches/unapplied/0205-RangedEntity-API.patch b/patches/unapplied/server/0205-RangedEntity-API.patch similarity index 100% rename from patches/unapplied/0205-RangedEntity-API.patch rename to patches/unapplied/server/0205-RangedEntity-API.patch diff --git a/patches/unapplied/0206-Add-config-to-disable-ender-dragon-legacy-check.patch b/patches/unapplied/server/0206-Add-config-to-disable-ender-dragon-legacy-check.patch similarity index 100% rename from patches/unapplied/0206-Add-config-to-disable-ender-dragon-legacy-check.patch rename to patches/unapplied/server/0206-Add-config-to-disable-ender-dragon-legacy-check.patch diff --git a/patches/unapplied/0207-Implement-World.getEntity-UUID-API.patch b/patches/unapplied/server/0207-Implement-World.getEntity-UUID-API.patch similarity index 100% rename from patches/unapplied/0207-Implement-World.getEntity-UUID-API.patch rename to patches/unapplied/server/0207-Implement-World.getEntity-UUID-API.patch diff --git a/patches/unapplied/0208-InventoryCloseEvent-Reason-API.patch b/patches/unapplied/server/0208-InventoryCloseEvent-Reason-API.patch similarity index 100% rename from patches/unapplied/0208-InventoryCloseEvent-Reason-API.patch rename to patches/unapplied/server/0208-InventoryCloseEvent-Reason-API.patch diff --git a/patches/unapplied/0209-Vex-get-setSummoner-API.patch b/patches/unapplied/server/0209-Vex-get-setSummoner-API.patch similarity index 100% rename from patches/unapplied/0209-Vex-get-setSummoner-API.patch rename to patches/unapplied/server/0209-Vex-get-setSummoner-API.patch diff --git a/patches/unapplied/0210-add-more-information-to-Entity.toString.patch b/patches/unapplied/server/0210-add-more-information-to-Entity.toString.patch similarity index 100% rename from patches/unapplied/0210-add-more-information-to-Entity.toString.patch rename to patches/unapplied/server/0210-add-more-information-to-Entity.toString.patch diff --git a/patches/unapplied/0211-EnderDragon-Events.patch b/patches/unapplied/server/0211-EnderDragon-Events.patch similarity index 100% rename from patches/unapplied/0211-EnderDragon-Events.patch rename to patches/unapplied/server/0211-EnderDragon-Events.patch diff --git a/patches/unapplied/0212-PlayerElytraBoostEvent.patch b/patches/unapplied/server/0212-PlayerElytraBoostEvent.patch similarity index 100% rename from patches/unapplied/0212-PlayerElytraBoostEvent.patch rename to patches/unapplied/server/0212-PlayerElytraBoostEvent.patch diff --git a/patches/unapplied/0213-PlayerLaunchProjectileEvent.patch b/patches/unapplied/server/0213-PlayerLaunchProjectileEvent.patch similarity index 100% rename from patches/unapplied/0213-PlayerLaunchProjectileEvent.patch rename to patches/unapplied/server/0213-PlayerLaunchProjectileEvent.patch diff --git a/patches/unapplied/0214-Improve-BlockPosition-inlining.patch b/patches/unapplied/server/0214-Improve-BlockPosition-inlining.patch similarity index 100% rename from patches/unapplied/0214-Improve-BlockPosition-inlining.patch rename to patches/unapplied/server/0214-Improve-BlockPosition-inlining.patch diff --git a/patches/unapplied/0215-Option-to-prevent-armor-stands-from-doing-entity-loo.patch b/patches/unapplied/server/0215-Option-to-prevent-armor-stands-from-doing-entity-loo.patch similarity index 100% rename from patches/unapplied/0215-Option-to-prevent-armor-stands-from-doing-entity-loo.patch rename to patches/unapplied/server/0215-Option-to-prevent-armor-stands-from-doing-entity-loo.patch diff --git a/patches/unapplied/0216-Vanished-players-don-t-have-rights.patch b/patches/unapplied/server/0216-Vanished-players-don-t-have-rights.patch similarity index 100% rename from patches/unapplied/0216-Vanished-players-don-t-have-rights.patch rename to patches/unapplied/server/0216-Vanished-players-don-t-have-rights.patch diff --git a/patches/unapplied/0217-Allow-disabling-armor-stand-ticking.patch b/patches/unapplied/server/0217-Allow-disabling-armor-stand-ticking.patch similarity index 100% rename from patches/unapplied/0217-Allow-disabling-armor-stand-ticking.patch rename to patches/unapplied/server/0217-Allow-disabling-armor-stand-ticking.patch diff --git a/patches/unapplied/0218-SkeletonHorse-Additions.patch b/patches/unapplied/server/0218-SkeletonHorse-Additions.patch similarity index 100% rename from patches/unapplied/0218-SkeletonHorse-Additions.patch rename to patches/unapplied/server/0218-SkeletonHorse-Additions.patch diff --git a/patches/unapplied/0219-Expand-ArmorStand-API.patch b/patches/unapplied/server/0219-Expand-ArmorStand-API.patch similarity index 100% rename from patches/unapplied/0219-Expand-ArmorStand-API.patch rename to patches/unapplied/server/0219-Expand-ArmorStand-API.patch diff --git a/patches/unapplied/0220-AnvilDamageEvent.patch b/patches/unapplied/server/0220-AnvilDamageEvent.patch similarity index 100% rename from patches/unapplied/0220-AnvilDamageEvent.patch rename to patches/unapplied/server/0220-AnvilDamageEvent.patch diff --git a/patches/unapplied/0221-Add-TNTPrimeEvent.patch b/patches/unapplied/server/0221-Add-TNTPrimeEvent.patch similarity index 100% rename from patches/unapplied/0221-Add-TNTPrimeEvent.patch rename to patches/unapplied/server/0221-Add-TNTPrimeEvent.patch diff --git a/patches/unapplied/0222-Break-up-and-make-tab-spam-limits-configurable.patch b/patches/unapplied/server/0222-Break-up-and-make-tab-spam-limits-configurable.patch similarity index 100% rename from patches/unapplied/0222-Break-up-and-make-tab-spam-limits-configurable.patch rename to patches/unapplied/server/0222-Break-up-and-make-tab-spam-limits-configurable.patch diff --git a/patches/unapplied/0223-Fix-NBT-type-issues.patch b/patches/unapplied/server/0223-Fix-NBT-type-issues.patch similarity index 100% rename from patches/unapplied/0223-Fix-NBT-type-issues.patch rename to patches/unapplied/server/0223-Fix-NBT-type-issues.patch diff --git a/patches/unapplied/0224-Remove-unnecessary-itemmeta-handling.patch b/patches/unapplied/server/0224-Remove-unnecessary-itemmeta-handling.patch similarity index 100% rename from patches/unapplied/0224-Remove-unnecessary-itemmeta-handling.patch rename to patches/unapplied/server/0224-Remove-unnecessary-itemmeta-handling.patch diff --git a/patches/unapplied/0225-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch b/patches/unapplied/server/0225-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch similarity index 100% rename from patches/unapplied/0225-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch rename to patches/unapplied/server/0225-Add-Debug-Entities-option-to-debug-dupe-uuid-issues.patch diff --git a/patches/unapplied/0226-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/unapplied/server/0226-Add-Early-Warning-Feature-to-WatchDog.patch similarity index 100% rename from patches/unapplied/0226-Add-Early-Warning-Feature-to-WatchDog.patch rename to patches/unapplied/server/0226-Add-Early-Warning-Feature-to-WatchDog.patch diff --git a/patches/unapplied/0227-Use-ConcurrentHashMap-in-JsonList.patch b/patches/unapplied/server/0227-Use-ConcurrentHashMap-in-JsonList.patch similarity index 100% rename from patches/unapplied/0227-Use-ConcurrentHashMap-in-JsonList.patch rename to patches/unapplied/server/0227-Use-ConcurrentHashMap-in-JsonList.patch diff --git a/patches/unapplied/0228-Use-a-Queue-for-Queueing-Commands.patch b/patches/unapplied/server/0228-Use-a-Queue-for-Queueing-Commands.patch similarity index 100% rename from patches/unapplied/0228-Use-a-Queue-for-Queueing-Commands.patch rename to patches/unapplied/server/0228-Use-a-Queue-for-Queueing-Commands.patch diff --git a/patches/unapplied/0229-Ability-to-get-block-entities-from-a-chunk-without-s.patch b/patches/unapplied/server/0229-Ability-to-get-block-entities-from-a-chunk-without-s.patch similarity index 100% rename from patches/unapplied/0229-Ability-to-get-block-entities-from-a-chunk-without-s.patch rename to patches/unapplied/server/0229-Ability-to-get-block-entities-from-a-chunk-without-s.patch diff --git a/patches/unapplied/0230-Optimize-BlockPosition-helper-methods.patch b/patches/unapplied/server/0230-Optimize-BlockPosition-helper-methods.patch similarity index 100% rename from patches/unapplied/0230-Optimize-BlockPosition-helper-methods.patch rename to patches/unapplied/server/0230-Optimize-BlockPosition-helper-methods.patch diff --git a/patches/unapplied/0231-Restore-vanilla-default-mob-spawn-range-and-water-an.patch b/patches/unapplied/server/0231-Restore-vanilla-default-mob-spawn-range-and-water-an.patch similarity index 100% rename from patches/unapplied/0231-Restore-vanilla-default-mob-spawn-range-and-water-an.patch rename to patches/unapplied/server/0231-Restore-vanilla-default-mob-spawn-range-and-water-an.patch diff --git a/patches/unapplied/0232-Slime-Pathfinder-Events.patch b/patches/unapplied/server/0232-Slime-Pathfinder-Events.patch similarity index 100% rename from patches/unapplied/0232-Slime-Pathfinder-Events.patch rename to patches/unapplied/server/0232-Slime-Pathfinder-Events.patch diff --git a/patches/unapplied/0233-Configurable-speed-for-water-flowing-over-lava.patch b/patches/unapplied/server/0233-Configurable-speed-for-water-flowing-over-lava.patch similarity index 100% rename from patches/unapplied/0233-Configurable-speed-for-water-flowing-over-lava.patch rename to patches/unapplied/server/0233-Configurable-speed-for-water-flowing-over-lava.patch diff --git a/patches/unapplied/0234-Optimize-CraftBlockData-Creation.patch b/patches/unapplied/server/0234-Optimize-CraftBlockData-Creation.patch similarity index 100% rename from patches/unapplied/0234-Optimize-CraftBlockData-Creation.patch rename to patches/unapplied/server/0234-Optimize-CraftBlockData-Creation.patch diff --git a/patches/unapplied/0235-Optimize-MappedRegistry.patch b/patches/unapplied/server/0235-Optimize-MappedRegistry.patch similarity index 100% rename from patches/unapplied/0235-Optimize-MappedRegistry.patch rename to patches/unapplied/server/0235-Optimize-MappedRegistry.patch diff --git a/patches/unapplied/0236-Add-PhantomPreSpawnEvent.patch b/patches/unapplied/server/0236-Add-PhantomPreSpawnEvent.patch similarity index 100% rename from patches/unapplied/0236-Add-PhantomPreSpawnEvent.patch rename to patches/unapplied/server/0236-Add-PhantomPreSpawnEvent.patch diff --git a/patches/unapplied/0237-Add-More-Creeper-API.patch b/patches/unapplied/server/0237-Add-More-Creeper-API.patch similarity index 100% rename from patches/unapplied/0237-Add-More-Creeper-API.patch rename to patches/unapplied/server/0237-Add-More-Creeper-API.patch diff --git a/patches/unapplied/0238-Inventory-removeItemAnySlot.patch b/patches/unapplied/server/0238-Inventory-removeItemAnySlot.patch similarity index 100% rename from patches/unapplied/0238-Inventory-removeItemAnySlot.patch rename to patches/unapplied/server/0238-Inventory-removeItemAnySlot.patch diff --git a/patches/unapplied/0239-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/unapplied/server/0239-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch similarity index 100% rename from patches/unapplied/0239-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch rename to patches/unapplied/server/0239-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch diff --git a/patches/unapplied/0240-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/unapplied/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch similarity index 100% rename from patches/unapplied/0240-Add-ray-tracing-methods-to-LivingEntity.patch rename to patches/unapplied/server/0240-Add-ray-tracing-methods-to-LivingEntity.patch diff --git a/patches/unapplied/0241-Expose-attack-cooldown-methods-for-Player.patch b/patches/unapplied/server/0241-Expose-attack-cooldown-methods-for-Player.patch similarity index 100% rename from patches/unapplied/0241-Expose-attack-cooldown-methods-for-Player.patch rename to patches/unapplied/server/0241-Expose-attack-cooldown-methods-for-Player.patch diff --git a/patches/unapplied/0242-Improve-death-events.patch b/patches/unapplied/server/0242-Improve-death-events.patch similarity index 100% rename from patches/unapplied/0242-Improve-death-events.patch rename to patches/unapplied/server/0242-Improve-death-events.patch diff --git a/patches/unapplied/0243-Allow-chests-to-be-placed-with-NBT-data.patch b/patches/unapplied/server/0243-Allow-chests-to-be-placed-with-NBT-data.patch similarity index 100% rename from patches/unapplied/0243-Allow-chests-to-be-placed-with-NBT-data.patch rename to patches/unapplied/server/0243-Allow-chests-to-be-placed-with-NBT-data.patch diff --git a/patches/unapplied/0244-Mob-Pathfinding-API.patch b/patches/unapplied/server/0244-Mob-Pathfinding-API.patch similarity index 100% rename from patches/unapplied/0244-Mob-Pathfinding-API.patch rename to patches/unapplied/server/0244-Mob-Pathfinding-API.patch diff --git a/patches/unapplied/0245-Prevent-various-interactions-from-causing-chunk-load.patch b/patches/unapplied/server/0245-Prevent-various-interactions-from-causing-chunk-load.patch similarity index 100% rename from patches/unapplied/0245-Prevent-various-interactions-from-causing-chunk-load.patch rename to patches/unapplied/server/0245-Prevent-various-interactions-from-causing-chunk-load.patch diff --git a/patches/unapplied/0246-Prevent-mob-spawning-from-loading-generating-chunks.patch b/patches/unapplied/server/0246-Prevent-mob-spawning-from-loading-generating-chunks.patch similarity index 100% rename from patches/unapplied/0246-Prevent-mob-spawning-from-loading-generating-chunks.patch rename to patches/unapplied/server/0246-Prevent-mob-spawning-from-loading-generating-chunks.patch diff --git a/patches/unapplied/0247-Implement-furnace-cook-speed-multiplier-API.patch b/patches/unapplied/server/0247-Implement-furnace-cook-speed-multiplier-API.patch similarity index 100% rename from patches/unapplied/0247-Implement-furnace-cook-speed-multiplier-API.patch rename to patches/unapplied/server/0247-Implement-furnace-cook-speed-multiplier-API.patch diff --git a/patches/unapplied/0248-Honor-EntityAgeable.ageLock.patch b/patches/unapplied/server/0248-Honor-EntityAgeable.ageLock.patch similarity index 100% rename from patches/unapplied/0248-Honor-EntityAgeable.ageLock.patch rename to patches/unapplied/server/0248-Honor-EntityAgeable.ageLock.patch diff --git a/patches/unapplied/0249-Configurable-connection-throttle-kick-message.patch b/patches/unapplied/server/0249-Configurable-connection-throttle-kick-message.patch similarity index 100% rename from patches/unapplied/0249-Configurable-connection-throttle-kick-message.patch rename to patches/unapplied/server/0249-Configurable-connection-throttle-kick-message.patch diff --git a/patches/unapplied/0250-Prevent-chunk-loading-from-Fluid-Flowing.patch b/patches/unapplied/server/0250-Prevent-chunk-loading-from-Fluid-Flowing.patch similarity index 100% rename from patches/unapplied/0250-Prevent-chunk-loading-from-Fluid-Flowing.patch rename to patches/unapplied/server/0250-Prevent-chunk-loading-from-Fluid-Flowing.patch diff --git a/patches/unapplied/0251-PreSpawnerSpawnEvent.patch b/patches/unapplied/server/0251-PreSpawnerSpawnEvent.patch similarity index 100% rename from patches/unapplied/0251-PreSpawnerSpawnEvent.patch rename to patches/unapplied/server/0251-PreSpawnerSpawnEvent.patch diff --git a/patches/unapplied/0252-Add-LivingEntity-getTargetEntity.patch b/patches/unapplied/server/0252-Add-LivingEntity-getTargetEntity.patch similarity index 100% rename from patches/unapplied/0252-Add-LivingEntity-getTargetEntity.patch rename to patches/unapplied/server/0252-Add-LivingEntity-getTargetEntity.patch diff --git a/patches/unapplied/0253-Add-sun-related-API.patch b/patches/unapplied/server/0253-Add-sun-related-API.patch similarity index 100% rename from patches/unapplied/0253-Add-sun-related-API.patch rename to patches/unapplied/server/0253-Add-sun-related-API.patch diff --git a/patches/unapplied/0254-Turtle-API.patch b/patches/unapplied/server/0254-Turtle-API.patch similarity index 100% rename from patches/unapplied/0254-Turtle-API.patch rename to patches/unapplied/server/0254-Turtle-API.patch diff --git a/patches/unapplied/0255-Call-player-spectator-target-events-and-improve-impl.patch b/patches/unapplied/server/0255-Call-player-spectator-target-events-and-improve-impl.patch similarity index 100% rename from patches/unapplied/0255-Call-player-spectator-target-events-and-improve-impl.patch rename to patches/unapplied/server/0255-Call-player-spectator-target-events-and-improve-impl.patch diff --git a/patches/unapplied/0256-Add-more-Witch-API.patch b/patches/unapplied/server/0256-Add-more-Witch-API.patch similarity index 100% rename from patches/unapplied/0256-Add-more-Witch-API.patch rename to patches/unapplied/server/0256-Add-more-Witch-API.patch diff --git a/patches/unapplied/0257-Check-Drowned-for-Villager-Aggression-Config.patch b/patches/unapplied/server/0257-Check-Drowned-for-Villager-Aggression-Config.patch similarity index 100% rename from patches/unapplied/0257-Check-Drowned-for-Villager-Aggression-Config.patch rename to patches/unapplied/server/0257-Check-Drowned-for-Villager-Aggression-Config.patch diff --git a/patches/unapplied/0258-Add-option-to-prevent-players-from-moving-into-unloa.patch b/patches/unapplied/server/0258-Add-option-to-prevent-players-from-moving-into-unloa.patch similarity index 100% rename from patches/unapplied/0258-Add-option-to-prevent-players-from-moving-into-unloa.patch rename to patches/unapplied/server/0258-Add-option-to-prevent-players-from-moving-into-unloa.patch diff --git a/patches/unapplied/0259-Reset-players-airTicks-on-respawn.patch b/patches/unapplied/server/0259-Reset-players-airTicks-on-respawn.patch similarity index 100% rename from patches/unapplied/0259-Reset-players-airTicks-on-respawn.patch rename to patches/unapplied/server/0259-Reset-players-airTicks-on-respawn.patch diff --git a/patches/unapplied/0260-Don-t-sleep-after-profile-lookups-if-not-needed.patch b/patches/unapplied/server/0260-Don-t-sleep-after-profile-lookups-if-not-needed.patch similarity index 100% rename from patches/unapplied/0260-Don-t-sleep-after-profile-lookups-if-not-needed.patch rename to patches/unapplied/server/0260-Don-t-sleep-after-profile-lookups-if-not-needed.patch diff --git a/patches/unapplied/0261-Improve-Server-Thread-Pool-and-Thread-Priorities.patch b/patches/unapplied/server/0261-Improve-Server-Thread-Pool-and-Thread-Priorities.patch similarity index 100% rename from patches/unapplied/0261-Improve-Server-Thread-Pool-and-Thread-Priorities.patch rename to patches/unapplied/server/0261-Improve-Server-Thread-Pool-and-Thread-Priorities.patch diff --git a/patches/unapplied/0262-Optimize-World-Time-Updates.patch b/patches/unapplied/server/0262-Optimize-World-Time-Updates.patch similarity index 100% rename from patches/unapplied/0262-Optimize-World-Time-Updates.patch rename to patches/unapplied/server/0262-Optimize-World-Time-Updates.patch diff --git a/patches/unapplied/0263-Restore-custom-InventoryHolder-support.patch b/patches/unapplied/server/0263-Restore-custom-InventoryHolder-support.patch similarity index 100% rename from patches/unapplied/0263-Restore-custom-InventoryHolder-support.patch rename to patches/unapplied/server/0263-Restore-custom-InventoryHolder-support.patch diff --git a/patches/unapplied/0264-Fix-SpongeAbsortEvent-handling.patch b/patches/unapplied/server/0264-Fix-SpongeAbsortEvent-handling.patch similarity index 100% rename from patches/unapplied/0264-Fix-SpongeAbsortEvent-handling.patch rename to patches/unapplied/server/0264-Fix-SpongeAbsortEvent-handling.patch diff --git a/patches/unapplied/0265-Don-t-allow-digging-into-unloaded-chunks.patch b/patches/unapplied/server/0265-Don-t-allow-digging-into-unloaded-chunks.patch similarity index 100% rename from patches/unapplied/0265-Don-t-allow-digging-into-unloaded-chunks.patch rename to patches/unapplied/server/0265-Don-t-allow-digging-into-unloaded-chunks.patch diff --git a/patches/unapplied/0266-Make-the-default-permission-message-configurable.patch b/patches/unapplied/server/0266-Make-the-default-permission-message-configurable.patch similarity index 100% rename from patches/unapplied/0266-Make-the-default-permission-message-configurable.patch rename to patches/unapplied/server/0266-Make-the-default-permission-message-configurable.patch diff --git a/patches/unapplied/0267-force-entity-dismount-during-teleportation.patch b/patches/unapplied/server/0267-force-entity-dismount-during-teleportation.patch similarity index 100% rename from patches/unapplied/0267-force-entity-dismount-during-teleportation.patch rename to patches/unapplied/server/0267-force-entity-dismount-during-teleportation.patch diff --git a/patches/unapplied/0268-Add-more-Zombie-API.patch b/patches/unapplied/server/0268-Add-more-Zombie-API.patch similarity index 100% rename from patches/unapplied/0268-Add-more-Zombie-API.patch rename to patches/unapplied/server/0268-Add-more-Zombie-API.patch diff --git a/patches/unapplied/0269-Book-size-limits.patch b/patches/unapplied/server/0269-Book-size-limits.patch similarity index 100% rename from patches/unapplied/0269-Book-size-limits.patch rename to patches/unapplied/server/0269-Book-size-limits.patch diff --git a/patches/unapplied/0270-Add-PlayerConnectionCloseEvent.patch b/patches/unapplied/server/0270-Add-PlayerConnectionCloseEvent.patch similarity index 100% rename from patches/unapplied/0270-Add-PlayerConnectionCloseEvent.patch rename to patches/unapplied/server/0270-Add-PlayerConnectionCloseEvent.patch diff --git a/patches/unapplied/0271-Replace-OfflinePlayer-getLastPlayed.patch b/patches/unapplied/server/0271-Replace-OfflinePlayer-getLastPlayed.patch similarity index 100% rename from patches/unapplied/0271-Replace-OfflinePlayer-getLastPlayed.patch rename to patches/unapplied/server/0271-Replace-OfflinePlayer-getLastPlayed.patch diff --git a/patches/unapplied/0272-Workaround-for-vehicle-tracking-issue-on-disconnect.patch b/patches/unapplied/server/0272-Workaround-for-vehicle-tracking-issue-on-disconnect.patch similarity index 100% rename from patches/unapplied/0272-Workaround-for-vehicle-tracking-issue-on-disconnect.patch rename to patches/unapplied/server/0272-Workaround-for-vehicle-tracking-issue-on-disconnect.patch diff --git a/patches/unapplied/0273-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch b/patches/unapplied/server/0273-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch similarity index 100% rename from patches/unapplied/0273-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch rename to patches/unapplied/server/0273-Dont-block-Player-remove-if-the-handle-is-a-custom-p.patch diff --git a/patches/unapplied/0274-BlockDestroyEvent.patch b/patches/unapplied/server/0274-BlockDestroyEvent.patch similarity index 100% rename from patches/unapplied/0274-BlockDestroyEvent.patch rename to patches/unapplied/server/0274-BlockDestroyEvent.patch diff --git a/patches/unapplied/0275-Async-command-map-building.patch b/patches/unapplied/server/0275-Async-command-map-building.patch similarity index 100% rename from patches/unapplied/0275-Async-command-map-building.patch rename to patches/unapplied/server/0275-Async-command-map-building.patch diff --git a/patches/unapplied/0276-Brigadier-Mojang-API.patch b/patches/unapplied/server/0276-Brigadier-Mojang-API.patch similarity index 100% rename from patches/unapplied/0276-Brigadier-Mojang-API.patch rename to patches/unapplied/server/0276-Brigadier-Mojang-API.patch diff --git a/patches/unapplied/0277-Improve-exact-choice-recipe-ingredients.patch b/patches/unapplied/server/0277-Improve-exact-choice-recipe-ingredients.patch similarity index 100% rename from patches/unapplied/0277-Improve-exact-choice-recipe-ingredients.patch rename to patches/unapplied/server/0277-Improve-exact-choice-recipe-ingredients.patch diff --git a/patches/unapplied/0278-Limit-Client-Sign-length-more.patch b/patches/unapplied/server/0278-Limit-Client-Sign-length-more.patch similarity index 100% rename from patches/unapplied/0278-Limit-Client-Sign-length-more.patch rename to patches/unapplied/server/0278-Limit-Client-Sign-length-more.patch diff --git a/patches/unapplied/0279-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch b/patches/unapplied/server/0279-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch similarity index 100% rename from patches/unapplied/0279-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch rename to patches/unapplied/server/0279-Call-WhitelistToggleEvent-when-whitelist-is-toggled.patch diff --git a/patches/unapplied/0280-Fixes-and-additions-to-the-spawn-reason-API.patch b/patches/unapplied/server/0280-Fixes-and-additions-to-the-spawn-reason-API.patch similarity index 100% rename from patches/unapplied/0280-Fixes-and-additions-to-the-spawn-reason-API.patch rename to patches/unapplied/server/0280-Fixes-and-additions-to-the-spawn-reason-API.patch diff --git a/patches/unapplied/0281-Fire-event-on-GS4-query.patch b/patches/unapplied/server/0281-Fire-event-on-GS4-query.patch similarity index 100% rename from patches/unapplied/0281-Fire-event-on-GS4-query.patch rename to patches/unapplied/server/0281-Fire-event-on-GS4-query.patch diff --git a/patches/unapplied/0282-Add-PlayerPostRespawnEvent.patch b/patches/unapplied/server/0282-Add-PlayerPostRespawnEvent.patch similarity index 100% rename from patches/unapplied/0282-Add-PlayerPostRespawnEvent.patch rename to patches/unapplied/server/0282-Add-PlayerPostRespawnEvent.patch diff --git a/patches/unapplied/0283-Server-Tick-Events.patch b/patches/unapplied/server/0283-Server-Tick-Events.patch similarity index 100% rename from patches/unapplied/0283-Server-Tick-Events.patch rename to patches/unapplied/server/0283-Server-Tick-Events.patch diff --git a/patches/unapplied/0284-PlayerDeathEvent-getItemsToKeep.patch b/patches/unapplied/server/0284-PlayerDeathEvent-getItemsToKeep.patch similarity index 100% rename from patches/unapplied/0284-PlayerDeathEvent-getItemsToKeep.patch rename to patches/unapplied/server/0284-PlayerDeathEvent-getItemsToKeep.patch diff --git a/patches/unapplied/0285-Optimize-Captured-BlockEntity-Lookup.patch b/patches/unapplied/server/0285-Optimize-Captured-BlockEntity-Lookup.patch similarity index 100% rename from patches/unapplied/0285-Optimize-Captured-BlockEntity-Lookup.patch rename to patches/unapplied/server/0285-Optimize-Captured-BlockEntity-Lookup.patch diff --git a/patches/unapplied/0286-Mob-Spawner-API-Enhancements.patch b/patches/unapplied/server/0286-Mob-Spawner-API-Enhancements.patch similarity index 100% rename from patches/unapplied/0286-Mob-Spawner-API-Enhancements.patch rename to patches/unapplied/server/0286-Mob-Spawner-API-Enhancements.patch diff --git a/patches/unapplied/0287-Fix-CB-call-to-changed-postToMainThread-method.patch b/patches/unapplied/server/0287-Fix-CB-call-to-changed-postToMainThread-method.patch similarity index 100% rename from patches/unapplied/0287-Fix-CB-call-to-changed-postToMainThread-method.patch rename to patches/unapplied/server/0287-Fix-CB-call-to-changed-postToMainThread-method.patch diff --git a/patches/unapplied/0288-Fix-sounds-when-item-frames-are-modified-MC-123450.patch b/patches/unapplied/server/0288-Fix-sounds-when-item-frames-are-modified-MC-123450.patch similarity index 100% rename from patches/unapplied/0288-Fix-sounds-when-item-frames-are-modified-MC-123450.patch rename to patches/unapplied/server/0288-Fix-sounds-when-item-frames-are-modified-MC-123450.patch diff --git a/patches/unapplied/0289-Implement-CraftBlockSoundGroup.patch b/patches/unapplied/server/0289-Implement-CraftBlockSoundGroup.patch similarity index 100% rename from patches/unapplied/0289-Implement-CraftBlockSoundGroup.patch rename to patches/unapplied/server/0289-Implement-CraftBlockSoundGroup.patch diff --git a/patches/unapplied/0290-Expose-the-internal-current-tick.patch b/patches/unapplied/server/0290-Expose-the-internal-current-tick.patch similarity index 100% rename from patches/unapplied/0290-Expose-the-internal-current-tick.patch rename to patches/unapplied/server/0290-Expose-the-internal-current-tick.patch diff --git a/patches/unapplied/0291-Show-blockstate-location-if-we-failed-to-read-it.patch b/patches/unapplied/server/0291-Show-blockstate-location-if-we-failed-to-read-it.patch similarity index 100% rename from patches/unapplied/0291-Show-blockstate-location-if-we-failed-to-read-it.patch rename to patches/unapplied/server/0291-Show-blockstate-location-if-we-failed-to-read-it.patch diff --git a/patches/unapplied/0292-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch b/patches/unapplied/server/0292-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch similarity index 100% rename from patches/unapplied/0292-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch rename to patches/unapplied/server/0292-Only-count-Natural-Spawned-mobs-towards-natural-spaw.patch diff --git a/patches/unapplied/0293-Configurable-projectile-relative-velocity.patch b/patches/unapplied/server/0293-Configurable-projectile-relative-velocity.patch similarity index 100% rename from patches/unapplied/0293-Configurable-projectile-relative-velocity.patch rename to patches/unapplied/server/0293-Configurable-projectile-relative-velocity.patch diff --git a/patches/unapplied/0294-offset-item-frame-ticking.patch b/patches/unapplied/server/0294-offset-item-frame-ticking.patch similarity index 100% rename from patches/unapplied/0294-offset-item-frame-ticking.patch rename to patches/unapplied/server/0294-offset-item-frame-ticking.patch diff --git a/patches/unapplied/0295-Prevent-consuming-the-wrong-itemstack.patch b/patches/unapplied/server/0295-Prevent-consuming-the-wrong-itemstack.patch similarity index 100% rename from patches/unapplied/0295-Prevent-consuming-the-wrong-itemstack.patch rename to patches/unapplied/server/0295-Prevent-consuming-the-wrong-itemstack.patch diff --git a/patches/unapplied/0296-Dont-send-unnecessary-sign-update.patch b/patches/unapplied/server/0296-Dont-send-unnecessary-sign-update.patch similarity index 100% rename from patches/unapplied/0296-Dont-send-unnecessary-sign-update.patch rename to patches/unapplied/server/0296-Dont-send-unnecessary-sign-update.patch diff --git a/patches/unapplied/0297-Add-option-to-disable-pillager-patrols.patch b/patches/unapplied/server/0297-Add-option-to-disable-pillager-patrols.patch similarity index 100% rename from patches/unapplied/0297-Add-option-to-disable-pillager-patrols.patch rename to patches/unapplied/server/0297-Add-option-to-disable-pillager-patrols.patch diff --git a/patches/unapplied/0298-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch b/patches/unapplied/server/0298-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch similarity index 100% rename from patches/unapplied/0298-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch rename to patches/unapplied/server/0298-Prevent-sync-chunk-loads-when-villagers-try-to-find-.patch diff --git a/patches/unapplied/0299-MC-145656-Fix-Follow-Range-Initial-Target.patch b/patches/unapplied/server/0299-MC-145656-Fix-Follow-Range-Initial-Target.patch similarity index 100% rename from patches/unapplied/0299-MC-145656-Fix-Follow-Range-Initial-Target.patch rename to patches/unapplied/server/0299-MC-145656-Fix-Follow-Range-Initial-Target.patch diff --git a/patches/unapplied/0300-Duplicate-UUID-Resolve-Option.patch b/patches/unapplied/server/0300-Duplicate-UUID-Resolve-Option.patch similarity index 100% rename from patches/unapplied/0300-Duplicate-UUID-Resolve-Option.patch rename to patches/unapplied/server/0300-Duplicate-UUID-Resolve-Option.patch diff --git a/patches/unapplied/0301-PlayerDeathEvent-shouldDropExperience.patch b/patches/unapplied/server/0301-PlayerDeathEvent-shouldDropExperience.patch similarity index 100% rename from patches/unapplied/0301-PlayerDeathEvent-shouldDropExperience.patch rename to patches/unapplied/server/0301-PlayerDeathEvent-shouldDropExperience.patch diff --git a/patches/unapplied/0302-Prevent-bees-loading-chunks-checking-hive-position.patch b/patches/unapplied/server/0302-Prevent-bees-loading-chunks-checking-hive-position.patch similarity index 100% rename from patches/unapplied/0302-Prevent-bees-loading-chunks-checking-hive-position.patch rename to patches/unapplied/server/0302-Prevent-bees-loading-chunks-checking-hive-position.patch diff --git a/patches/unapplied/0303-Don-t-load-Chunks-from-Hoppers-and-other-things.patch b/patches/unapplied/server/0303-Don-t-load-Chunks-from-Hoppers-and-other-things.patch similarity index 100% rename from patches/unapplied/0303-Don-t-load-Chunks-from-Hoppers-and-other-things.patch rename to patches/unapplied/server/0303-Don-t-load-Chunks-from-Hoppers-and-other-things.patch diff --git a/patches/unapplied/0304-Optimise-EntityGetter-getPlayerByUUID.patch b/patches/unapplied/server/0304-Optimise-EntityGetter-getPlayerByUUID.patch similarity index 100% rename from patches/unapplied/0304-Optimise-EntityGetter-getPlayerByUUID.patch rename to patches/unapplied/server/0304-Optimise-EntityGetter-getPlayerByUUID.patch diff --git a/patches/unapplied/0305-Fix-items-not-falling-correctly.patch b/patches/unapplied/server/0305-Fix-items-not-falling-correctly.patch similarity index 100% rename from patches/unapplied/0305-Fix-items-not-falling-correctly.patch rename to patches/unapplied/server/0305-Fix-items-not-falling-correctly.patch diff --git a/patches/unapplied/0306-Optimize-call-to-getFluid-for-explosions.patch b/patches/unapplied/server/0306-Optimize-call-to-getFluid-for-explosions.patch similarity index 100% rename from patches/unapplied/0306-Optimize-call-to-getFluid-for-explosions.patch rename to patches/unapplied/server/0306-Optimize-call-to-getFluid-for-explosions.patch diff --git a/patches/unapplied/0307-Guard-against-serializing-mismatching-chunk-coordina.patch b/patches/unapplied/server/0307-Guard-against-serializing-mismatching-chunk-coordina.patch similarity index 100% rename from patches/unapplied/0307-Guard-against-serializing-mismatching-chunk-coordina.patch rename to patches/unapplied/server/0307-Guard-against-serializing-mismatching-chunk-coordina.patch diff --git a/patches/unapplied/0308-Alternative-item-despawn-rate.patch b/patches/unapplied/server/0308-Alternative-item-despawn-rate.patch similarity index 100% rename from patches/unapplied/0308-Alternative-item-despawn-rate.patch rename to patches/unapplied/server/0308-Alternative-item-despawn-rate.patch diff --git a/patches/unapplied/0309-Tracking-Range-Improvements.patch b/patches/unapplied/server/0309-Tracking-Range-Improvements.patch similarity index 100% rename from patches/unapplied/0309-Tracking-Range-Improvements.patch rename to patches/unapplied/server/0309-Tracking-Range-Improvements.patch diff --git a/patches/unapplied/0310-Bees-get-gravity-in-void.-Fixes-MC-167279.patch b/patches/unapplied/server/0310-Bees-get-gravity-in-void.-Fixes-MC-167279.patch similarity index 100% rename from patches/unapplied/0310-Bees-get-gravity-in-void.-Fixes-MC-167279.patch rename to patches/unapplied/server/0310-Bees-get-gravity-in-void.-Fixes-MC-167279.patch diff --git a/patches/unapplied/0311-Improve-Block-breakNaturally-API.patch b/patches/unapplied/server/0311-Improve-Block-breakNaturally-API.patch similarity index 100% rename from patches/unapplied/0311-Improve-Block-breakNaturally-API.patch rename to patches/unapplied/server/0311-Improve-Block-breakNaturally-API.patch diff --git a/patches/unapplied/0312-Optimise-getChunkAt-calls-for-loaded-chunks.patch b/patches/unapplied/server/0312-Optimise-getChunkAt-calls-for-loaded-chunks.patch similarity index 100% rename from patches/unapplied/0312-Optimise-getChunkAt-calls-for-loaded-chunks.patch rename to patches/unapplied/server/0312-Optimise-getChunkAt-calls-for-loaded-chunks.patch diff --git a/patches/unapplied/0313-Add-debug-for-sync-chunk-loads.patch b/patches/unapplied/server/0313-Add-debug-for-sync-chunk-loads.patch similarity index 100% rename from patches/unapplied/0313-Add-debug-for-sync-chunk-loads.patch rename to patches/unapplied/server/0313-Add-debug-for-sync-chunk-loads.patch diff --git a/patches/unapplied/0314-Improve-java-version-check.patch b/patches/unapplied/server/0314-Improve-java-version-check.patch similarity index 100% rename from patches/unapplied/0314-Improve-java-version-check.patch rename to patches/unapplied/server/0314-Improve-java-version-check.patch diff --git a/patches/unapplied/0315-Add-ThrownEggHatchEvent.patch b/patches/unapplied/server/0315-Add-ThrownEggHatchEvent.patch similarity index 100% rename from patches/unapplied/0315-Add-ThrownEggHatchEvent.patch rename to patches/unapplied/server/0315-Add-ThrownEggHatchEvent.patch diff --git a/patches/unapplied/0316-Entity-Jump-API.patch b/patches/unapplied/server/0316-Entity-Jump-API.patch similarity index 100% rename from patches/unapplied/0316-Entity-Jump-API.patch rename to patches/unapplied/server/0316-Entity-Jump-API.patch diff --git a/patches/unapplied/0317-Add-option-to-nerf-pigmen-from-nether-portals.patch b/patches/unapplied/server/0317-Add-option-to-nerf-pigmen-from-nether-portals.patch similarity index 100% rename from patches/unapplied/0317-Add-option-to-nerf-pigmen-from-nether-portals.patch rename to patches/unapplied/server/0317-Add-option-to-nerf-pigmen-from-nether-portals.patch diff --git a/patches/unapplied/0318-Make-the-GUI-graph-fancier.patch b/patches/unapplied/server/0318-Make-the-GUI-graph-fancier.patch similarity index 100% rename from patches/unapplied/0318-Make-the-GUI-graph-fancier.patch rename to patches/unapplied/server/0318-Make-the-GUI-graph-fancier.patch diff --git a/patches/unapplied/0319-add-hand-to-BlockMultiPlaceEvent.patch b/patches/unapplied/server/0319-add-hand-to-BlockMultiPlaceEvent.patch similarity index 100% rename from patches/unapplied/0319-add-hand-to-BlockMultiPlaceEvent.patch rename to patches/unapplied/server/0319-add-hand-to-BlockMultiPlaceEvent.patch diff --git a/patches/unapplied/0320-Validate-tripwire-hook-placement-before-update.patch b/patches/unapplied/server/0320-Validate-tripwire-hook-placement-before-update.patch similarity index 100% rename from patches/unapplied/0320-Validate-tripwire-hook-placement-before-update.patch rename to patches/unapplied/server/0320-Validate-tripwire-hook-placement-before-update.patch diff --git a/patches/unapplied/0321-Add-option-to-allow-iron-golems-to-spawn-in-air.patch b/patches/unapplied/server/0321-Add-option-to-allow-iron-golems-to-spawn-in-air.patch similarity index 100% rename from patches/unapplied/0321-Add-option-to-allow-iron-golems-to-spawn-in-air.patch rename to patches/unapplied/server/0321-Add-option-to-allow-iron-golems-to-spawn-in-air.patch diff --git a/patches/unapplied/0322-Configurable-chance-of-villager-zombie-infection.patch b/patches/unapplied/server/0322-Configurable-chance-of-villager-zombie-infection.patch similarity index 100% rename from patches/unapplied/0322-Configurable-chance-of-villager-zombie-infection.patch rename to patches/unapplied/server/0322-Configurable-chance-of-villager-zombie-infection.patch diff --git a/patches/unapplied/0323-Optimise-Chunk-getFluid.patch b/patches/unapplied/server/0323-Optimise-Chunk-getFluid.patch similarity index 100% rename from patches/unapplied/0323-Optimise-Chunk-getFluid.patch rename to patches/unapplied/server/0323-Optimise-Chunk-getFluid.patch diff --git a/patches/unapplied/0324-Set-spigots-verbose-world-setting-to-false-by-def.patch b/patches/unapplied/server/0324-Set-spigots-verbose-world-setting-to-false-by-def.patch similarity index 100% rename from patches/unapplied/0324-Set-spigots-verbose-world-setting-to-false-by-def.patch rename to patches/unapplied/server/0324-Set-spigots-verbose-world-setting-to-false-by-def.patch diff --git a/patches/unapplied/0325-Add-tick-times-API-and-mspt-command.patch b/patches/unapplied/server/0325-Add-tick-times-API-and-mspt-command.patch similarity index 100% rename from patches/unapplied/0325-Add-tick-times-API-and-mspt-command.patch rename to patches/unapplied/server/0325-Add-tick-times-API-and-mspt-command.patch diff --git a/patches/unapplied/0326-Expose-MinecraftServer-isRunning.patch b/patches/unapplied/server/0326-Expose-MinecraftServer-isRunning.patch similarity index 100% rename from patches/unapplied/0326-Expose-MinecraftServer-isRunning.patch rename to patches/unapplied/server/0326-Expose-MinecraftServer-isRunning.patch diff --git a/patches/unapplied/0327-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/unapplied/server/0327-Add-Raw-Byte-ItemStack-Serialization.patch similarity index 100% rename from patches/unapplied/0327-Add-Raw-Byte-ItemStack-Serialization.patch rename to patches/unapplied/server/0327-Add-Raw-Byte-ItemStack-Serialization.patch diff --git a/patches/unapplied/0328-Pillager-patrol-spawn-settings-and-per-player-option.patch b/patches/unapplied/server/0328-Pillager-patrol-spawn-settings-and-per-player-option.patch similarity index 100% rename from patches/unapplied/0328-Pillager-patrol-spawn-settings-and-per-player-option.patch rename to patches/unapplied/server/0328-Pillager-patrol-spawn-settings-and-per-player-option.patch diff --git a/patches/unapplied/0329-Remote-Connections-shouldn-t-hold-up-shutdown.patch b/patches/unapplied/server/0329-Remote-Connections-shouldn-t-hold-up-shutdown.patch similarity index 100% rename from patches/unapplied/0329-Remote-Connections-shouldn-t-hold-up-shutdown.patch rename to patches/unapplied/server/0329-Remote-Connections-shouldn-t-hold-up-shutdown.patch diff --git a/patches/unapplied/0330-Do-not-allow-bees-to-load-chunks-for-beehives.patch b/patches/unapplied/server/0330-Do-not-allow-bees-to-load-chunks-for-beehives.patch similarity index 100% rename from patches/unapplied/0330-Do-not-allow-bees-to-load-chunks-for-beehives.patch rename to patches/unapplied/server/0330-Do-not-allow-bees-to-load-chunks-for-beehives.patch diff --git a/patches/unapplied/0331-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch b/patches/unapplied/server/0331-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch similarity index 100% rename from patches/unapplied/0331-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch rename to patches/unapplied/server/0331-Prevent-Double-PlayerChunkMap-adds-crashing-server.patch diff --git a/patches/unapplied/0332-Don-t-tick-dead-players.patch b/patches/unapplied/server/0332-Don-t-tick-dead-players.patch similarity index 100% rename from patches/unapplied/0332-Don-t-tick-dead-players.patch rename to patches/unapplied/server/0332-Don-t-tick-dead-players.patch diff --git a/patches/unapplied/0333-Dead-Player-s-shouldn-t-be-able-to-move.patch b/patches/unapplied/server/0333-Dead-Player-s-shouldn-t-be-able-to-move.patch similarity index 100% rename from patches/unapplied/0333-Dead-Player-s-shouldn-t-be-able-to-move.patch rename to patches/unapplied/server/0333-Dead-Player-s-shouldn-t-be-able-to-move.patch diff --git a/patches/unapplied/0334-Don-t-move-existing-players-to-world-spawn.patch b/patches/unapplied/server/0334-Don-t-move-existing-players-to-world-spawn.patch similarity index 100% rename from patches/unapplied/0334-Don-t-move-existing-players-to-world-spawn.patch rename to patches/unapplied/server/0334-Don-t-move-existing-players-to-world-spawn.patch diff --git a/patches/unapplied/0335-Optimize-Pathfinding.patch b/patches/unapplied/server/0335-Optimize-Pathfinding.patch similarity index 100% rename from patches/unapplied/0335-Optimize-Pathfinding.patch rename to patches/unapplied/server/0335-Optimize-Pathfinding.patch diff --git a/patches/unapplied/0336-Reduce-Either-Optional-allocation.patch b/patches/unapplied/server/0336-Reduce-Either-Optional-allocation.patch similarity index 100% rename from patches/unapplied/0336-Reduce-Either-Optional-allocation.patch rename to patches/unapplied/server/0336-Reduce-Either-Optional-allocation.patch diff --git a/patches/unapplied/0337-Reduce-memory-footprint-of-CompoundTag.patch b/patches/unapplied/server/0337-Reduce-memory-footprint-of-CompoundTag.patch similarity index 100% rename from patches/unapplied/0337-Reduce-memory-footprint-of-CompoundTag.patch rename to patches/unapplied/server/0337-Reduce-memory-footprint-of-CompoundTag.patch diff --git a/patches/unapplied/0338-Prevent-opening-inventories-when-frozen.patch b/patches/unapplied/server/0338-Prevent-opening-inventories-when-frozen.patch similarity index 100% rename from patches/unapplied/0338-Prevent-opening-inventories-when-frozen.patch rename to patches/unapplied/server/0338-Prevent-opening-inventories-when-frozen.patch diff --git a/patches/unapplied/0339-Don-t-run-entity-collision-code-if-not-needed.patch b/patches/unapplied/server/0339-Don-t-run-entity-collision-code-if-not-needed.patch similarity index 100% rename from patches/unapplied/0339-Don-t-run-entity-collision-code-if-not-needed.patch rename to patches/unapplied/server/0339-Don-t-run-entity-collision-code-if-not-needed.patch diff --git a/patches/unapplied/0340-Implement-Player-Client-Options-API.patch b/patches/unapplied/server/0340-Implement-Player-Client-Options-API.patch similarity index 100% rename from patches/unapplied/0340-Implement-Player-Client-Options-API.patch rename to patches/unapplied/server/0340-Implement-Player-Client-Options-API.patch diff --git a/patches/unapplied/0341-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch b/patches/unapplied/server/0341-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch similarity index 100% rename from patches/unapplied/0341-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch rename to patches/unapplied/server/0341-Don-t-crash-if-player-is-attempted-to-be-removed-fro.patch diff --git a/patches/unapplied/0342-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch b/patches/unapplied/server/0342-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch similarity index 100% rename from patches/unapplied/0342-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch rename to patches/unapplied/server/0342-Fire-PlayerJoinEvent-when-Player-is-actually-ready.patch diff --git a/patches/unapplied/0343-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch b/patches/unapplied/server/0343-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch similarity index 100% rename from patches/unapplied/0343-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch rename to patches/unapplied/server/0343-Move-player-to-spawn-point-if-spawn-in-unloaded-worl.patch diff --git a/patches/unapplied/0344-Add-PlayerAttackEntityCooldownResetEvent.patch b/patches/unapplied/server/0344-Add-PlayerAttackEntityCooldownResetEvent.patch similarity index 100% rename from patches/unapplied/0344-Add-PlayerAttackEntityCooldownResetEvent.patch rename to patches/unapplied/server/0344-Add-PlayerAttackEntityCooldownResetEvent.patch diff --git a/patches/unapplied/0345-Don-t-fire-BlockFade-on-worldgen-threads.patch b/patches/unapplied/server/0345-Don-t-fire-BlockFade-on-worldgen-threads.patch similarity index 100% rename from patches/unapplied/0345-Don-t-fire-BlockFade-on-worldgen-threads.patch rename to patches/unapplied/server/0345-Don-t-fire-BlockFade-on-worldgen-threads.patch diff --git a/patches/unapplied/0346-Add-phantom-creative-and-insomniac-controls.patch b/patches/unapplied/server/0346-Add-phantom-creative-and-insomniac-controls.patch similarity index 100% rename from patches/unapplied/0346-Add-phantom-creative-and-insomniac-controls.patch rename to patches/unapplied/server/0346-Add-phantom-creative-and-insomniac-controls.patch diff --git a/patches/unapplied/0347-Fix-item-duplication-and-teleport-issues.patch b/patches/unapplied/server/0347-Fix-item-duplication-and-teleport-issues.patch similarity index 100% rename from patches/unapplied/0347-Fix-item-duplication-and-teleport-issues.patch rename to patches/unapplied/server/0347-Fix-item-duplication-and-teleport-issues.patch diff --git a/patches/unapplied/0348-Villager-Restocks-API.patch b/patches/unapplied/server/0348-Villager-Restocks-API.patch similarity index 100% rename from patches/unapplied/0348-Villager-Restocks-API.patch rename to patches/unapplied/server/0348-Villager-Restocks-API.patch diff --git a/patches/unapplied/0349-Validate-PickItem-Packet-and-kick-for-invalid.patch b/patches/unapplied/server/0349-Validate-PickItem-Packet-and-kick-for-invalid.patch similarity index 100% rename from patches/unapplied/0349-Validate-PickItem-Packet-and-kick-for-invalid.patch rename to patches/unapplied/server/0349-Validate-PickItem-Packet-and-kick-for-invalid.patch diff --git a/patches/unapplied/0350-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch b/patches/unapplied/server/0350-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch similarity index 100% rename from patches/unapplied/0350-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch rename to patches/unapplied/server/0350-Set-cap-on-JDK-per-thread-native-byte-buffer-cache.patch diff --git a/patches/unapplied/0351-misc-debugging-dumps.patch b/patches/unapplied/server/0351-misc-debugging-dumps.patch similarity index 100% rename from patches/unapplied/0351-misc-debugging-dumps.patch rename to patches/unapplied/server/0351-misc-debugging-dumps.patch diff --git a/patches/unapplied/0352-Prevent-teleporting-dead-entities.patch b/patches/unapplied/server/0352-Prevent-teleporting-dead-entities.patch similarity index 100% rename from patches/unapplied/0352-Prevent-teleporting-dead-entities.patch rename to patches/unapplied/server/0352-Prevent-teleporting-dead-entities.patch diff --git a/patches/unapplied/0353-Implement-Mob-Goal-API.patch b/patches/unapplied/server/0353-Implement-Mob-Goal-API.patch similarity index 100% rename from patches/unapplied/0353-Implement-Mob-Goal-API.patch rename to patches/unapplied/server/0353-Implement-Mob-Goal-API.patch diff --git a/patches/unapplied/0354-Add-villager-reputation-API.patch b/patches/unapplied/server/0354-Add-villager-reputation-API.patch similarity index 100% rename from patches/unapplied/0354-Add-villager-reputation-API.patch rename to patches/unapplied/server/0354-Add-villager-reputation-API.patch diff --git a/patches/unapplied/0355-ExperienceOrb-merging-stacking-API-and-fixes.patch b/patches/unapplied/server/0355-ExperienceOrb-merging-stacking-API-and-fixes.patch similarity index 100% rename from patches/unapplied/0355-ExperienceOrb-merging-stacking-API-and-fixes.patch rename to patches/unapplied/server/0355-ExperienceOrb-merging-stacking-API-and-fixes.patch diff --git a/patches/unapplied/0356-Fix-PotionEffect-ignores-icon-flag.patch b/patches/unapplied/server/0356-Fix-PotionEffect-ignores-icon-flag.patch similarity index 100% rename from patches/unapplied/0356-Fix-PotionEffect-ignores-icon-flag.patch rename to patches/unapplied/server/0356-Fix-PotionEffect-ignores-icon-flag.patch diff --git a/patches/unapplied/0357-Potential-bed-API.patch b/patches/unapplied/server/0357-Potential-bed-API.patch similarity index 100% rename from patches/unapplied/0357-Potential-bed-API.patch rename to patches/unapplied/server/0357-Potential-bed-API.patch diff --git a/patches/unapplied/0358-Wait-for-Async-Tasks-during-shutdown.patch b/patches/unapplied/server/0358-Wait-for-Async-Tasks-during-shutdown.patch similarity index 100% rename from patches/unapplied/0358-Wait-for-Async-Tasks-during-shutdown.patch rename to patches/unapplied/server/0358-Wait-for-Async-Tasks-during-shutdown.patch diff --git a/patches/unapplied/0359-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch b/patches/unapplied/server/0359-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch similarity index 100% rename from patches/unapplied/0359-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch rename to patches/unapplied/server/0359-Ensure-EntityRaider-respects-game-and-entity-rules-f.patch diff --git a/patches/unapplied/0360-Add-option-for-console-having-all-permissions.patch b/patches/unapplied/server/0360-Add-option-for-console-having-all-permissions.patch similarity index 100% rename from patches/unapplied/0360-Add-option-for-console-having-all-permissions.patch rename to patches/unapplied/server/0360-Add-option-for-console-having-all-permissions.patch diff --git a/patches/unapplied/0361-Fix-villager-trading-demand-MC-163962.patch b/patches/unapplied/server/0361-Fix-villager-trading-demand-MC-163962.patch similarity index 100% rename from patches/unapplied/0361-Fix-villager-trading-demand-MC-163962.patch rename to patches/unapplied/server/0361-Fix-villager-trading-demand-MC-163962.patch diff --git a/patches/unapplied/0362-Maps-shouldn-t-load-chunks.patch b/patches/unapplied/server/0362-Maps-shouldn-t-load-chunks.patch similarity index 100% rename from patches/unapplied/0362-Maps-shouldn-t-load-chunks.patch rename to patches/unapplied/server/0362-Maps-shouldn-t-load-chunks.patch diff --git a/patches/unapplied/0363-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch b/patches/unapplied/server/0363-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch similarity index 100% rename from patches/unapplied/0363-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch rename to patches/unapplied/server/0363-Use-seed-based-lookup-for-Treasure-Maps-Fixes-lag-fr.patch diff --git a/patches/unapplied/0364-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/unapplied/server/0364-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch similarity index 100% rename from patches/unapplied/0364-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch rename to patches/unapplied/server/0364-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch diff --git a/patches/unapplied/0365-Fix-piston-physics-inconsistency-MC-188840.patch b/patches/unapplied/server/0365-Fix-piston-physics-inconsistency-MC-188840.patch similarity index 100% rename from patches/unapplied/0365-Fix-piston-physics-inconsistency-MC-188840.patch rename to patches/unapplied/server/0365-Fix-piston-physics-inconsistency-MC-188840.patch diff --git a/patches/unapplied/0366-Fix-missing-chunks-due-to-integer-overflow.patch b/patches/unapplied/server/0366-Fix-missing-chunks-due-to-integer-overflow.patch similarity index 100% rename from patches/unapplied/0366-Fix-missing-chunks-due-to-integer-overflow.patch rename to patches/unapplied/server/0366-Fix-missing-chunks-due-to-integer-overflow.patch diff --git a/patches/unapplied/0367-Prevent-position-desync-causing-tp-exploit.patch b/patches/unapplied/server/0367-Prevent-position-desync-causing-tp-exploit.patch similarity index 100% rename from patches/unapplied/0367-Prevent-position-desync-causing-tp-exploit.patch rename to patches/unapplied/server/0367-Prevent-position-desync-causing-tp-exploit.patch diff --git a/patches/unapplied/0368-Inventory-getHolder-method-without-block-snapshot.patch b/patches/unapplied/server/0368-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from patches/unapplied/0368-Inventory-getHolder-method-without-block-snapshot.patch rename to patches/unapplied/server/0368-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/patches/unapplied/0369-Add-PlayerRecipeBookClickEvent.patch b/patches/unapplied/server/0369-Add-PlayerRecipeBookClickEvent.patch similarity index 100% rename from patches/unapplied/0369-Add-PlayerRecipeBookClickEvent.patch rename to patches/unapplied/server/0369-Add-PlayerRecipeBookClickEvent.patch diff --git a/patches/unapplied/0370-Hide-sync-chunk-writes-behind-flag.patch b/patches/unapplied/server/0370-Hide-sync-chunk-writes-behind-flag.patch similarity index 100% rename from patches/unapplied/0370-Hide-sync-chunk-writes-behind-flag.patch rename to patches/unapplied/server/0370-Hide-sync-chunk-writes-behind-flag.patch diff --git a/patches/unapplied/0371-Add-permission-for-command-blocks.patch b/patches/unapplied/server/0371-Add-permission-for-command-blocks.patch similarity index 100% rename from patches/unapplied/0371-Add-permission-for-command-blocks.patch rename to patches/unapplied/server/0371-Add-permission-for-command-blocks.patch diff --git a/patches/unapplied/0372-Ensure-Entity-position-and-AABB-are-never-invalid.patch b/patches/unapplied/server/0372-Ensure-Entity-position-and-AABB-are-never-invalid.patch similarity index 100% rename from patches/unapplied/0372-Ensure-Entity-position-and-AABB-are-never-invalid.patch rename to patches/unapplied/server/0372-Ensure-Entity-position-and-AABB-are-never-invalid.patch diff --git a/patches/unapplied/0373-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/unapplied/server/0373-Fix-Per-World-Difficulty-Remembering-Difficulty.patch similarity index 100% rename from patches/unapplied/0373-Fix-Per-World-Difficulty-Remembering-Difficulty.patch rename to patches/unapplied/server/0373-Fix-Per-World-Difficulty-Remembering-Difficulty.patch diff --git a/patches/unapplied/0374-Paper-dumpitem-command.patch b/patches/unapplied/server/0374-Paper-dumpitem-command.patch similarity index 100% rename from patches/unapplied/0374-Paper-dumpitem-command.patch rename to patches/unapplied/server/0374-Paper-dumpitem-command.patch diff --git a/patches/unapplied/0375-Improve-Legacy-Component-serialization-size.patch b/patches/unapplied/server/0375-Improve-Legacy-Component-serialization-size.patch similarity index 100% rename from patches/unapplied/0375-Improve-Legacy-Component-serialization-size.patch rename to patches/unapplied/server/0375-Improve-Legacy-Component-serialization-size.patch diff --git a/patches/unapplied/0376-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/unapplied/server/0376-Add-Plugin-Tickets-to-API-Chunk-Methods.patch similarity index 100% rename from patches/unapplied/0376-Add-Plugin-Tickets-to-API-Chunk-Methods.patch rename to patches/unapplied/server/0376-Add-Plugin-Tickets-to-API-Chunk-Methods.patch diff --git a/patches/unapplied/0377-Add-BlockStateMeta-clearBlockState.patch b/patches/unapplied/server/0377-Add-BlockStateMeta-clearBlockState.patch similarity index 100% rename from patches/unapplied/0377-Add-BlockStateMeta-clearBlockState.patch rename to patches/unapplied/server/0377-Add-BlockStateMeta-clearBlockState.patch diff --git a/patches/unapplied/0378-Convert-legacy-attributes-in-Item-Meta.patch b/patches/unapplied/server/0378-Convert-legacy-attributes-in-Item-Meta.patch similarity index 100% rename from patches/unapplied/0378-Convert-legacy-attributes-in-Item-Meta.patch rename to patches/unapplied/server/0378-Convert-legacy-attributes-in-Item-Meta.patch diff --git a/patches/unapplied/0379-Do-not-accept-invalid-client-settings.patch b/patches/unapplied/server/0379-Do-not-accept-invalid-client-settings.patch similarity index 100% rename from patches/unapplied/0379-Do-not-accept-invalid-client-settings.patch rename to patches/unapplied/server/0379-Do-not-accept-invalid-client-settings.patch diff --git a/patches/unapplied/0380-Improve-fix-EntityTargetLivingEntityEvent.patch b/patches/unapplied/server/0380-Improve-fix-EntityTargetLivingEntityEvent.patch similarity index 100% rename from patches/unapplied/0380-Improve-fix-EntityTargetLivingEntityEvent.patch rename to patches/unapplied/server/0380-Improve-fix-EntityTargetLivingEntityEvent.patch diff --git a/patches/unapplied/0381-Add-entity-liquid-API.patch b/patches/unapplied/server/0381-Add-entity-liquid-API.patch similarity index 100% rename from patches/unapplied/0381-Add-entity-liquid-API.patch rename to patches/unapplied/server/0381-Add-entity-liquid-API.patch diff --git a/patches/unapplied/0382-Add-PrepareResultEvent.patch b/patches/unapplied/server/0382-Add-PrepareResultEvent.patch similarity index 100% rename from patches/unapplied/0382-Add-PrepareResultEvent.patch rename to patches/unapplied/server/0382-Add-PrepareResultEvent.patch diff --git a/patches/unapplied/0383-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch b/patches/unapplied/server/0383-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch similarity index 100% rename from patches/unapplied/0383-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch rename to patches/unapplied/server/0383-Don-t-check-chunk-for-portal-on-world-gen-entity-add.patch diff --git a/patches/unapplied/0384-Fix-arrows-never-despawning-MC-125757.patch b/patches/unapplied/server/0384-Fix-arrows-never-despawning-MC-125757.patch similarity index 100% rename from patches/unapplied/0384-Fix-arrows-never-despawning-MC-125757.patch rename to patches/unapplied/server/0384-Fix-arrows-never-despawning-MC-125757.patch diff --git a/patches/unapplied/0385-Thread-Safe-Vanilla-Command-permission-checking.patch b/patches/unapplied/server/0385-Thread-Safe-Vanilla-Command-permission-checking.patch similarity index 100% rename from patches/unapplied/0385-Thread-Safe-Vanilla-Command-permission-checking.patch rename to patches/unapplied/server/0385-Thread-Safe-Vanilla-Command-permission-checking.patch diff --git a/patches/unapplied/0386-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch b/patches/unapplied/server/0386-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch similarity index 100% rename from patches/unapplied/0386-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch rename to patches/unapplied/server/0386-Fix-SPIGOT-5824-Bukkit-world-container-is-not-used.patch diff --git a/patches/unapplied/0387-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch b/patches/unapplied/server/0387-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch similarity index 100% rename from patches/unapplied/0387-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch rename to patches/unapplied/server/0387-Fix-SPIGOT-5885-Unable-to-disable-advancements.patch diff --git a/patches/unapplied/0388-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch b/patches/unapplied/server/0388-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch similarity index 100% rename from patches/unapplied/0388-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch rename to patches/unapplied/server/0388-Fix-AdvancementDataPlayer-leak-due-from-quitting-ear.patch diff --git a/patches/unapplied/0389-Optimize-NetworkManager-Exception-Handling.patch b/patches/unapplied/server/0389-Optimize-NetworkManager-Exception-Handling.patch similarity index 100% rename from patches/unapplied/0389-Optimize-NetworkManager-Exception-Handling.patch rename to patches/unapplied/server/0389-Optimize-NetworkManager-Exception-Handling.patch diff --git a/patches/unapplied/0390-Fix-some-rails-connecting-improperly.patch b/patches/unapplied/server/0390-Fix-some-rails-connecting-improperly.patch similarity index 100% rename from patches/unapplied/0390-Fix-some-rails-connecting-improperly.patch rename to patches/unapplied/server/0390-Fix-some-rails-connecting-improperly.patch diff --git a/patches/unapplied/0391-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch b/patches/unapplied/server/0391-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch similarity index 100% rename from patches/unapplied/0391-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch rename to patches/unapplied/server/0391-Fix-regex-mistake-in-CB-NBT-int-deserialization.patch diff --git a/patches/unapplied/0392-Brand-support.patch b/patches/unapplied/server/0392-Brand-support.patch similarity index 100% rename from patches/unapplied/0392-Brand-support.patch rename to patches/unapplied/server/0392-Brand-support.patch diff --git a/patches/unapplied/0393-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/unapplied/server/0393-Add-playPickupItemAnimation-to-LivingEntity.patch similarity index 100% rename from patches/unapplied/0393-Add-playPickupItemAnimation-to-LivingEntity.patch rename to patches/unapplied/server/0393-Add-playPickupItemAnimation-to-LivingEntity.patch diff --git a/patches/unapplied/0394-Don-t-require-FACING-data.patch b/patches/unapplied/server/0394-Don-t-require-FACING-data.patch similarity index 100% rename from patches/unapplied/0394-Don-t-require-FACING-data.patch rename to patches/unapplied/server/0394-Don-t-require-FACING-data.patch diff --git a/patches/unapplied/0395-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/unapplied/server/0395-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch similarity index 100% rename from patches/unapplied/0395-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch rename to patches/unapplied/server/0395-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch diff --git a/patches/unapplied/0396-Add-moon-phase-API.patch b/patches/unapplied/server/0396-Add-moon-phase-API.patch similarity index 100% rename from patches/unapplied/0396-Add-moon-phase-API.patch rename to patches/unapplied/server/0396-Add-moon-phase-API.patch diff --git a/patches/unapplied/0397-Do-not-let-the-server-load-chunks-from-newer-version.patch b/patches/unapplied/server/0397-Do-not-let-the-server-load-chunks-from-newer-version.patch similarity index 100% rename from patches/unapplied/0397-Do-not-let-the-server-load-chunks-from-newer-version.patch rename to patches/unapplied/server/0397-Do-not-let-the-server-load-chunks-from-newer-version.patch diff --git a/patches/unapplied/0398-Prevent-headless-pistons-from-being-created.patch b/patches/unapplied/server/0398-Prevent-headless-pistons-from-being-created.patch similarity index 100% rename from patches/unapplied/0398-Prevent-headless-pistons-from-being-created.patch rename to patches/unapplied/server/0398-Prevent-headless-pistons-from-being-created.patch diff --git a/patches/unapplied/0399-Add-BellRingEvent.patch b/patches/unapplied/server/0399-Add-BellRingEvent.patch similarity index 100% rename from patches/unapplied/0399-Add-BellRingEvent.patch rename to patches/unapplied/server/0399-Add-BellRingEvent.patch diff --git a/patches/unapplied/0400-Add-zombie-targets-turtle-egg-config.patch b/patches/unapplied/server/0400-Add-zombie-targets-turtle-egg-config.patch similarity index 100% rename from patches/unapplied/0400-Add-zombie-targets-turtle-egg-config.patch rename to patches/unapplied/server/0400-Add-zombie-targets-turtle-egg-config.patch diff --git a/patches/unapplied/0401-Buffer-joins-to-world.patch b/patches/unapplied/server/0401-Buffer-joins-to-world.patch similarity index 100% rename from patches/unapplied/0401-Buffer-joins-to-world.patch rename to patches/unapplied/server/0401-Buffer-joins-to-world.patch diff --git a/patches/unapplied/0402-Fix-hex-colors-not-working-in-some-kick-messages.patch b/patches/unapplied/server/0402-Fix-hex-colors-not-working-in-some-kick-messages.patch similarity index 100% rename from patches/unapplied/0402-Fix-hex-colors-not-working-in-some-kick-messages.patch rename to patches/unapplied/server/0402-Fix-hex-colors-not-working-in-some-kick-messages.patch diff --git a/patches/unapplied/0403-Add-more-Evoker-API.patch b/patches/unapplied/server/0403-Add-more-Evoker-API.patch similarity index 100% rename from patches/unapplied/0403-Add-more-Evoker-API.patch rename to patches/unapplied/server/0403-Add-more-Evoker-API.patch diff --git a/patches/unapplied/0404-Add-methods-to-get-translation-keys.patch b/patches/unapplied/server/0404-Add-methods-to-get-translation-keys.patch similarity index 100% rename from patches/unapplied/0404-Add-methods-to-get-translation-keys.patch rename to patches/unapplied/server/0404-Add-methods-to-get-translation-keys.patch diff --git a/patches/unapplied/0405-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/unapplied/server/0405-Create-HoverEvent-from-ItemStack-Entity.patch similarity index 100% rename from patches/unapplied/0405-Create-HoverEvent-from-ItemStack-Entity.patch rename to patches/unapplied/server/0405-Create-HoverEvent-from-ItemStack-Entity.patch diff --git a/patches/unapplied/0406-Cache-block-data-strings.patch b/patches/unapplied/server/0406-Cache-block-data-strings.patch similarity index 100% rename from patches/unapplied/0406-Cache-block-data-strings.patch rename to patches/unapplied/server/0406-Cache-block-data-strings.patch diff --git a/patches/unapplied/0407-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/unapplied/server/0407-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch similarity index 100% rename from patches/unapplied/0407-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch rename to patches/unapplied/server/0407-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch diff --git a/patches/unapplied/0408-Add-additional-open-container-api-to-HumanEntity.patch b/patches/unapplied/server/0408-Add-additional-open-container-api-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/0408-Add-additional-open-container-api-to-HumanEntity.patch rename to patches/unapplied/server/0408-Add-additional-open-container-api-to-HumanEntity.patch diff --git a/patches/unapplied/0409-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch b/patches/unapplied/server/0409-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch similarity index 100% rename from patches/unapplied/0409-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch rename to patches/unapplied/server/0409-Cache-DataFixerUpper-Rewrite-Rules-on-demand.patch diff --git a/patches/unapplied/0410-Extend-block-drop-capture-to-capture-all-items-added.patch b/patches/unapplied/server/0410-Extend-block-drop-capture-to-capture-all-items-added.patch similarity index 100% rename from patches/unapplied/0410-Extend-block-drop-capture-to-capture-all-items-added.patch rename to patches/unapplied/server/0410-Extend-block-drop-capture-to-capture-all-items-added.patch diff --git a/patches/unapplied/0411-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/unapplied/server/0411-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch similarity index 100% rename from patches/unapplied/0411-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch rename to patches/unapplied/server/0411-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch diff --git a/patches/unapplied/0412-Lazily-track-plugin-scoreboards-by-default.patch b/patches/unapplied/server/0412-Lazily-track-plugin-scoreboards-by-default.patch similarity index 100% rename from patches/unapplied/0412-Lazily-track-plugin-scoreboards-by-default.patch rename to patches/unapplied/server/0412-Lazily-track-plugin-scoreboards-by-default.patch diff --git a/patches/unapplied/0413-Entity-isTicking.patch b/patches/unapplied/server/0413-Entity-isTicking.patch similarity index 100% rename from patches/unapplied/0413-Entity-isTicking.patch rename to patches/unapplied/server/0413-Entity-isTicking.patch diff --git a/patches/unapplied/0414-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch b/patches/unapplied/server/0414-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch similarity index 100% rename from patches/unapplied/0414-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch rename to patches/unapplied/server/0414-Fix-deop-kicking-non-whitelisted-player-when-white-l.patch diff --git a/patches/unapplied/0415-Fix-Concurrency-issue-in-ShufflingList.patch b/patches/unapplied/server/0415-Fix-Concurrency-issue-in-ShufflingList.patch similarity index 100% rename from patches/unapplied/0415-Fix-Concurrency-issue-in-ShufflingList.patch rename to patches/unapplied/server/0415-Fix-Concurrency-issue-in-ShufflingList.patch diff --git a/patches/unapplied/0416-Reset-Ender-Crystals-on-Dragon-Spawn.patch b/patches/unapplied/server/0416-Reset-Ender-Crystals-on-Dragon-Spawn.patch similarity index 100% rename from patches/unapplied/0416-Reset-Ender-Crystals-on-Dragon-Spawn.patch rename to patches/unapplied/server/0416-Reset-Ender-Crystals-on-Dragon-Spawn.patch diff --git a/patches/unapplied/0417-Fix-for-large-move-vectors-crashing-server.patch b/patches/unapplied/server/0417-Fix-for-large-move-vectors-crashing-server.patch similarity index 100% rename from patches/unapplied/0417-Fix-for-large-move-vectors-crashing-server.patch rename to patches/unapplied/server/0417-Fix-for-large-move-vectors-crashing-server.patch diff --git a/patches/unapplied/0418-Optimise-getType-calls.patch b/patches/unapplied/server/0418-Optimise-getType-calls.patch similarity index 100% rename from patches/unapplied/0418-Optimise-getType-calls.patch rename to patches/unapplied/server/0418-Optimise-getType-calls.patch diff --git a/patches/unapplied/0419-Villager-resetOffers.patch b/patches/unapplied/server/0419-Villager-resetOffers.patch similarity index 100% rename from patches/unapplied/0419-Villager-resetOffers.patch rename to patches/unapplied/server/0419-Villager-resetOffers.patch diff --git a/patches/unapplied/0420-Retain-block-place-order-when-capturing-blockstates.patch b/patches/unapplied/server/0420-Retain-block-place-order-when-capturing-blockstates.patch similarity index 100% rename from patches/unapplied/0420-Retain-block-place-order-when-capturing-blockstates.patch rename to patches/unapplied/server/0420-Retain-block-place-order-when-capturing-blockstates.patch diff --git a/patches/unapplied/0421-Fix-item-locations-dropped-from-campfires.patch b/patches/unapplied/server/0421-Fix-item-locations-dropped-from-campfires.patch similarity index 100% rename from patches/unapplied/0421-Fix-item-locations-dropped-from-campfires.patch rename to patches/unapplied/server/0421-Fix-item-locations-dropped-from-campfires.patch diff --git a/patches/unapplied/0422-Fix-bell-block-entity-memory-leak.patch b/patches/unapplied/server/0422-Fix-bell-block-entity-memory-leak.patch similarity index 100% rename from patches/unapplied/0422-Fix-bell-block-entity-memory-leak.patch rename to patches/unapplied/server/0422-Fix-bell-block-entity-memory-leak.patch diff --git a/patches/unapplied/0423-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch b/patches/unapplied/server/0423-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch similarity index 100% rename from patches/unapplied/0423-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch rename to patches/unapplied/server/0423-Avoid-error-bubbling-up-when-item-stack-is-empty-in-.patch diff --git a/patches/unapplied/0424-Add-getOfflinePlayerIfCached-String.patch b/patches/unapplied/server/0424-Add-getOfflinePlayerIfCached-String.patch similarity index 100% rename from patches/unapplied/0424-Add-getOfflinePlayerIfCached-String.patch rename to patches/unapplied/server/0424-Add-getOfflinePlayerIfCached-String.patch diff --git a/patches/unapplied/0425-Add-ignore-discounts-API.patch b/patches/unapplied/server/0425-Add-ignore-discounts-API.patch similarity index 100% rename from patches/unapplied/0425-Add-ignore-discounts-API.patch rename to patches/unapplied/server/0425-Add-ignore-discounts-API.patch diff --git a/patches/unapplied/0426-Toggle-for-removing-existing-dragon.patch b/patches/unapplied/server/0426-Toggle-for-removing-existing-dragon.patch similarity index 100% rename from patches/unapplied/0426-Toggle-for-removing-existing-dragon.patch rename to patches/unapplied/server/0426-Toggle-for-removing-existing-dragon.patch diff --git a/patches/unapplied/0427-Fix-client-lag-on-advancement-loading.patch b/patches/unapplied/server/0427-Fix-client-lag-on-advancement-loading.patch similarity index 100% rename from patches/unapplied/0427-Fix-client-lag-on-advancement-loading.patch rename to patches/unapplied/server/0427-Fix-client-lag-on-advancement-loading.patch diff --git a/patches/unapplied/0428-Item-no-age-no-player-pickup.patch b/patches/unapplied/server/0428-Item-no-age-no-player-pickup.patch similarity index 100% rename from patches/unapplied/0428-Item-no-age-no-player-pickup.patch rename to patches/unapplied/server/0428-Item-no-age-no-player-pickup.patch diff --git a/patches/unapplied/0429-Beacon-API-custom-effect-ranges.patch b/patches/unapplied/server/0429-Beacon-API-custom-effect-ranges.patch similarity index 100% rename from patches/unapplied/0429-Beacon-API-custom-effect-ranges.patch rename to patches/unapplied/server/0429-Beacon-API-custom-effect-ranges.patch diff --git a/patches/unapplied/0430-Add-API-for-quit-reason.patch b/patches/unapplied/server/0430-Add-API-for-quit-reason.patch similarity index 100% rename from patches/unapplied/0430-Add-API-for-quit-reason.patch rename to patches/unapplied/server/0430-Add-API-for-quit-reason.patch diff --git a/patches/unapplied/0431-Add-Wandering-Trader-spawn-rate-config-options.patch b/patches/unapplied/server/0431-Add-Wandering-Trader-spawn-rate-config-options.patch similarity index 100% rename from patches/unapplied/0431-Add-Wandering-Trader-spawn-rate-config-options.patch rename to patches/unapplied/server/0431-Add-Wandering-Trader-spawn-rate-config-options.patch diff --git a/patches/unapplied/0432-Add-Destroy-Speed-API.patch b/patches/unapplied/server/0432-Add-Destroy-Speed-API.patch similarity index 100% rename from patches/unapplied/0432-Add-Destroy-Speed-API.patch rename to patches/unapplied/server/0432-Add-Destroy-Speed-API.patch diff --git a/patches/unapplied/0433-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/unapplied/server/0433-Fix-Player-spawnParticle-x-y-z-precision-loss.patch similarity index 100% rename from patches/unapplied/0433-Fix-Player-spawnParticle-x-y-z-precision-loss.patch rename to patches/unapplied/server/0433-Fix-Player-spawnParticle-x-y-z-precision-loss.patch diff --git a/patches/unapplied/0434-Add-LivingEntity-clearActiveItem.patch b/patches/unapplied/server/0434-Add-LivingEntity-clearActiveItem.patch similarity index 100% rename from patches/unapplied/0434-Add-LivingEntity-clearActiveItem.patch rename to patches/unapplied/server/0434-Add-LivingEntity-clearActiveItem.patch diff --git a/patches/unapplied/0435-Add-PlayerItemCooldownEvent.patch b/patches/unapplied/server/0435-Add-PlayerItemCooldownEvent.patch similarity index 100% rename from patches/unapplied/0435-Add-PlayerItemCooldownEvent.patch rename to patches/unapplied/server/0435-Add-PlayerItemCooldownEvent.patch diff --git a/patches/unapplied/0436-Significantly-improve-performance-of-the-end-generat.patch b/patches/unapplied/server/0436-Significantly-improve-performance-of-the-end-generat.patch similarity index 100% rename from patches/unapplied/0436-Significantly-improve-performance-of-the-end-generat.patch rename to patches/unapplied/server/0436-Significantly-improve-performance-of-the-end-generat.patch diff --git a/patches/unapplied/0437-More-lightning-API.patch b/patches/unapplied/server/0437-More-lightning-API.patch similarity index 100% rename from patches/unapplied/0437-More-lightning-API.patch rename to patches/unapplied/server/0437-More-lightning-API.patch diff --git a/patches/unapplied/0438-Climbing-should-not-bypass-cramming-gamerule.patch b/patches/unapplied/server/0438-Climbing-should-not-bypass-cramming-gamerule.patch similarity index 100% rename from patches/unapplied/0438-Climbing-should-not-bypass-cramming-gamerule.patch rename to patches/unapplied/server/0438-Climbing-should-not-bypass-cramming-gamerule.patch diff --git a/patches/unapplied/0439-Add-missing-default-perms-for-commands.patch b/patches/unapplied/server/0439-Add-missing-default-perms-for-commands.patch similarity index 100% rename from patches/unapplied/0439-Add-missing-default-perms-for-commands.patch rename to patches/unapplied/server/0439-Add-missing-default-perms-for-commands.patch diff --git a/patches/unapplied/0440-Add-PlayerShearBlockEvent.patch b/patches/unapplied/server/0440-Add-PlayerShearBlockEvent.patch similarity index 100% rename from patches/unapplied/0440-Add-PlayerShearBlockEvent.patch rename to patches/unapplied/server/0440-Add-PlayerShearBlockEvent.patch diff --git a/patches/unapplied/0441-Limit-recipe-packets.patch b/patches/unapplied/server/0441-Limit-recipe-packets.patch similarity index 100% rename from patches/unapplied/0441-Limit-recipe-packets.patch rename to patches/unapplied/server/0441-Limit-recipe-packets.patch diff --git a/patches/unapplied/0442-Fix-CraftSound-backwards-compatibility.patch b/patches/unapplied/server/0442-Fix-CraftSound-backwards-compatibility.patch similarity index 100% rename from patches/unapplied/0442-Fix-CraftSound-backwards-compatibility.patch rename to patches/unapplied/server/0442-Fix-CraftSound-backwards-compatibility.patch diff --git a/patches/unapplied/0443-Player-Chunk-Load-Unload-Events.patch b/patches/unapplied/server/0443-Player-Chunk-Load-Unload-Events.patch similarity index 100% rename from patches/unapplied/0443-Player-Chunk-Load-Unload-Events.patch rename to patches/unapplied/server/0443-Player-Chunk-Load-Unload-Events.patch diff --git a/patches/unapplied/0444-Optimize-Dynamic-get-Missing-Keys.patch b/patches/unapplied/server/0444-Optimize-Dynamic-get-Missing-Keys.patch similarity index 100% rename from patches/unapplied/0444-Optimize-Dynamic-get-Missing-Keys.patch rename to patches/unapplied/server/0444-Optimize-Dynamic-get-Missing-Keys.patch diff --git a/patches/unapplied/0445-Expose-LivingEntity-hurt-direction.patch b/patches/unapplied/server/0445-Expose-LivingEntity-hurt-direction.patch similarity index 100% rename from patches/unapplied/0445-Expose-LivingEntity-hurt-direction.patch rename to patches/unapplied/server/0445-Expose-LivingEntity-hurt-direction.patch diff --git a/patches/unapplied/0446-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/unapplied/server/0446-Add-OBSTRUCTED-reason-to-BedEnterResult.patch similarity index 100% rename from patches/unapplied/0446-Add-OBSTRUCTED-reason-to-BedEnterResult.patch rename to patches/unapplied/server/0446-Add-OBSTRUCTED-reason-to-BedEnterResult.patch diff --git a/patches/unapplied/0447-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch b/patches/unapplied/server/0447-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch similarity index 100% rename from patches/unapplied/0447-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch rename to patches/unapplied/server/0447-Fix-crash-from-invalid-ingredient-lists-in-VillagerA.patch diff --git a/patches/unapplied/0448-Add-TargetHitEvent.patch b/patches/unapplied/server/0448-Add-TargetHitEvent.patch similarity index 100% rename from patches/unapplied/0448-Add-TargetHitEvent.patch rename to patches/unapplied/server/0448-Add-TargetHitEvent.patch diff --git a/patches/unapplied/0449-MC-4-Fix-item-position-desync.patch b/patches/unapplied/server/0449-MC-4-Fix-item-position-desync.patch similarity index 100% rename from patches/unapplied/0449-MC-4-Fix-item-position-desync.patch rename to patches/unapplied/server/0449-MC-4-Fix-item-position-desync.patch diff --git a/patches/unapplied/0450-Additional-Block-Material-API.patch b/patches/unapplied/server/0450-Additional-Block-Material-API.patch similarity index 100% rename from patches/unapplied/0450-Additional-Block-Material-API.patch rename to patches/unapplied/server/0450-Additional-Block-Material-API.patch diff --git a/patches/unapplied/0451-Fix-harming-potion-dupe.patch b/patches/unapplied/server/0451-Fix-harming-potion-dupe.patch similarity index 100% rename from patches/unapplied/0451-Fix-harming-potion-dupe.patch rename to patches/unapplied/server/0451-Fix-harming-potion-dupe.patch diff --git a/patches/unapplied/0452-API-to-get-Material-from-Boats-and-Minecarts.patch b/patches/unapplied/server/0452-API-to-get-Material-from-Boats-and-Minecarts.patch similarity index 100% rename from patches/unapplied/0452-API-to-get-Material-from-Boats-and-Minecarts.patch rename to patches/unapplied/server/0452-API-to-get-Material-from-Boats-and-Minecarts.patch diff --git a/patches/unapplied/0453-Allow-disabling-mob-spawner-spawn-egg-transformation.patch b/patches/unapplied/server/0453-Allow-disabling-mob-spawner-spawn-egg-transformation.patch similarity index 100% rename from patches/unapplied/0453-Allow-disabling-mob-spawner-spawn-egg-transformation.patch rename to patches/unapplied/server/0453-Allow-disabling-mob-spawner-spawn-egg-transformation.patch diff --git a/patches/unapplied/0454-Fix-Not-a-string-Map-Conversion-spam.patch b/patches/unapplied/server/0454-Fix-Not-a-string-Map-Conversion-spam.patch similarity index 100% rename from patches/unapplied/0454-Fix-Not-a-string-Map-Conversion-spam.patch rename to patches/unapplied/server/0454-Fix-Not-a-string-Map-Conversion-spam.patch diff --git a/patches/unapplied/0455-Add-PlayerFlowerPotManipulateEvent.patch b/patches/unapplied/server/0455-Add-PlayerFlowerPotManipulateEvent.patch similarity index 100% rename from patches/unapplied/0455-Add-PlayerFlowerPotManipulateEvent.patch rename to patches/unapplied/server/0455-Add-PlayerFlowerPotManipulateEvent.patch diff --git a/patches/unapplied/0456-Fix-interact-event-not-being-called-sometimes.patch b/patches/unapplied/server/0456-Fix-interact-event-not-being-called-sometimes.patch similarity index 100% rename from patches/unapplied/0456-Fix-interact-event-not-being-called-sometimes.patch rename to patches/unapplied/server/0456-Fix-interact-event-not-being-called-sometimes.patch diff --git a/patches/unapplied/0457-Zombie-API-breaking-doors.patch b/patches/unapplied/server/0457-Zombie-API-breaking-doors.patch similarity index 100% rename from patches/unapplied/0457-Zombie-API-breaking-doors.patch rename to patches/unapplied/server/0457-Zombie-API-breaking-doors.patch diff --git a/patches/unapplied/0458-Fix-nerfed-slime-when-splitting.patch b/patches/unapplied/server/0458-Fix-nerfed-slime-when-splitting.patch similarity index 100% rename from patches/unapplied/0458-Fix-nerfed-slime-when-splitting.patch rename to patches/unapplied/server/0458-Fix-nerfed-slime-when-splitting.patch diff --git a/patches/unapplied/0459-Add-EntityLoadCrossbowEvent.patch b/patches/unapplied/server/0459-Add-EntityLoadCrossbowEvent.patch similarity index 100% rename from patches/unapplied/0459-Add-EntityLoadCrossbowEvent.patch rename to patches/unapplied/server/0459-Add-EntityLoadCrossbowEvent.patch diff --git a/patches/unapplied/0460-Add-WorldGameRuleChangeEvent.patch b/patches/unapplied/server/0460-Add-WorldGameRuleChangeEvent.patch similarity index 100% rename from patches/unapplied/0460-Add-WorldGameRuleChangeEvent.patch rename to patches/unapplied/server/0460-Add-WorldGameRuleChangeEvent.patch diff --git a/patches/unapplied/0461-Add-ServerResourcesReloadedEvent.patch b/patches/unapplied/server/0461-Add-ServerResourcesReloadedEvent.patch similarity index 100% rename from patches/unapplied/0461-Add-ServerResourcesReloadedEvent.patch rename to patches/unapplied/server/0461-Add-ServerResourcesReloadedEvent.patch diff --git a/patches/unapplied/0462-Add-world-settings-for-mobs-picking-up-loot.patch b/patches/unapplied/server/0462-Add-world-settings-for-mobs-picking-up-loot.patch similarity index 100% rename from patches/unapplied/0462-Add-world-settings-for-mobs-picking-up-loot.patch rename to patches/unapplied/server/0462-Add-world-settings-for-mobs-picking-up-loot.patch diff --git a/patches/unapplied/0463-Add-BlockFailedDispenseEvent.patch b/patches/unapplied/server/0463-Add-BlockFailedDispenseEvent.patch similarity index 100% rename from patches/unapplied/0463-Add-BlockFailedDispenseEvent.patch rename to patches/unapplied/server/0463-Add-BlockFailedDispenseEvent.patch diff --git a/patches/unapplied/0464-Add-PlayerLecternPageChangeEvent.patch b/patches/unapplied/server/0464-Add-PlayerLecternPageChangeEvent.patch similarity index 100% rename from patches/unapplied/0464-Add-PlayerLecternPageChangeEvent.patch rename to patches/unapplied/server/0464-Add-PlayerLecternPageChangeEvent.patch diff --git a/patches/unapplied/0465-Add-PlayerLoomPatternSelectEvent.patch b/patches/unapplied/server/0465-Add-PlayerLoomPatternSelectEvent.patch similarity index 100% rename from patches/unapplied/0465-Add-PlayerLoomPatternSelectEvent.patch rename to patches/unapplied/server/0465-Add-PlayerLoomPatternSelectEvent.patch diff --git a/patches/unapplied/0466-Configurable-door-breaking-difficulty.patch b/patches/unapplied/server/0466-Configurable-door-breaking-difficulty.patch similarity index 100% rename from patches/unapplied/0466-Configurable-door-breaking-difficulty.patch rename to patches/unapplied/server/0466-Configurable-door-breaking-difficulty.patch diff --git a/patches/unapplied/0467-Empty-commands-shall-not-be-dispatched.patch b/patches/unapplied/server/0467-Empty-commands-shall-not-be-dispatched.patch similarity index 100% rename from patches/unapplied/0467-Empty-commands-shall-not-be-dispatched.patch rename to patches/unapplied/server/0467-Empty-commands-shall-not-be-dispatched.patch diff --git a/patches/unapplied/0468-Remove-stale-POIs.patch b/patches/unapplied/server/0468-Remove-stale-POIs.patch similarity index 100% rename from patches/unapplied/0468-Remove-stale-POIs.patch rename to patches/unapplied/server/0468-Remove-stale-POIs.patch diff --git a/patches/unapplied/0469-Fix-villager-boat-exploit.patch b/patches/unapplied/server/0469-Fix-villager-boat-exploit.patch similarity index 100% rename from patches/unapplied/0469-Fix-villager-boat-exploit.patch rename to patches/unapplied/server/0469-Fix-villager-boat-exploit.patch diff --git a/patches/unapplied/0470-Add-sendOpLevel-API.patch b/patches/unapplied/server/0470-Add-sendOpLevel-API.patch similarity index 100% rename from patches/unapplied/0470-Add-sendOpLevel-API.patch rename to patches/unapplied/server/0470-Add-sendOpLevel-API.patch diff --git a/patches/unapplied/0471-Add-RegistryAccess-for-managing-Registries.patch b/patches/unapplied/server/0471-Add-RegistryAccess-for-managing-Registries.patch similarity index 100% rename from patches/unapplied/0471-Add-RegistryAccess-for-managing-Registries.patch rename to patches/unapplied/server/0471-Add-RegistryAccess-for-managing-Registries.patch diff --git a/patches/unapplied/0472-Add-StructuresLocateEvent.patch b/patches/unapplied/server/0472-Add-StructuresLocateEvent.patch similarity index 100% rename from patches/unapplied/0472-Add-StructuresLocateEvent.patch rename to patches/unapplied/server/0472-Add-StructuresLocateEvent.patch diff --git a/patches/unapplied/0473-Collision-option-for-requiring-a-player-participant.patch b/patches/unapplied/server/0473-Collision-option-for-requiring-a-player-participant.patch similarity index 100% rename from patches/unapplied/0473-Collision-option-for-requiring-a-player-participant.patch rename to patches/unapplied/server/0473-Collision-option-for-requiring-a-player-participant.patch diff --git a/patches/unapplied/0474-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/unapplied/server/0474-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/unapplied/0474-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/unapplied/server/0474-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/unapplied/0475-Make-schedule-command-per-world.patch b/patches/unapplied/server/0475-Make-schedule-command-per-world.patch similarity index 100% rename from patches/unapplied/0475-Make-schedule-command-per-world.patch rename to patches/unapplied/server/0475-Make-schedule-command-per-world.patch diff --git a/patches/unapplied/0476-Configurable-max-leash-distance.patch b/patches/unapplied/server/0476-Configurable-max-leash-distance.patch similarity index 100% rename from patches/unapplied/0476-Configurable-max-leash-distance.patch rename to patches/unapplied/server/0476-Configurable-max-leash-distance.patch diff --git a/patches/unapplied/0477-Add-BlockPreDispenseEvent.patch b/patches/unapplied/server/0477-Add-BlockPreDispenseEvent.patch similarity index 100% rename from patches/unapplied/0477-Add-BlockPreDispenseEvent.patch rename to patches/unapplied/server/0477-Add-BlockPreDispenseEvent.patch diff --git a/patches/unapplied/0478-Add-PlayerChangeBeaconEffectEvent.patch b/patches/unapplied/server/0478-Add-PlayerChangeBeaconEffectEvent.patch similarity index 100% rename from patches/unapplied/0478-Add-PlayerChangeBeaconEffectEvent.patch rename to patches/unapplied/server/0478-Add-PlayerChangeBeaconEffectEvent.patch diff --git a/patches/unapplied/0479-Add-toggle-for-always-placing-the-dragon-egg.patch b/patches/unapplied/server/0479-Add-toggle-for-always-placing-the-dragon-egg.patch similarity index 100% rename from patches/unapplied/0479-Add-toggle-for-always-placing-the-dragon-egg.patch rename to patches/unapplied/server/0479-Add-toggle-for-always-placing-the-dragon-egg.patch diff --git a/patches/unapplied/0480-Add-PlayerStonecutterRecipeSelectEvent.patch b/patches/unapplied/server/0480-Add-PlayerStonecutterRecipeSelectEvent.patch similarity index 100% rename from patches/unapplied/0480-Add-PlayerStonecutterRecipeSelectEvent.patch rename to patches/unapplied/server/0480-Add-PlayerStonecutterRecipeSelectEvent.patch diff --git a/patches/unapplied/0481-Expand-EntityUnleashEvent.patch b/patches/unapplied/server/0481-Expand-EntityUnleashEvent.patch similarity index 100% rename from patches/unapplied/0481-Expand-EntityUnleashEvent.patch rename to patches/unapplied/server/0481-Expand-EntityUnleashEvent.patch diff --git a/patches/unapplied/0482-Reset-shield-blocking-on-dimension-change.patch b/patches/unapplied/server/0482-Reset-shield-blocking-on-dimension-change.patch similarity index 100% rename from patches/unapplied/0482-Reset-shield-blocking-on-dimension-change.patch rename to patches/unapplied/server/0482-Reset-shield-blocking-on-dimension-change.patch diff --git a/patches/unapplied/0483-Add-DragonEggFormEvent.patch b/patches/unapplied/server/0483-Add-DragonEggFormEvent.patch similarity index 100% rename from patches/unapplied/0483-Add-DragonEggFormEvent.patch rename to patches/unapplied/server/0483-Add-DragonEggFormEvent.patch diff --git a/patches/unapplied/0484-Add-EntityMoveEvent.patch b/patches/unapplied/server/0484-Add-EntityMoveEvent.patch similarity index 100% rename from patches/unapplied/0484-Add-EntityMoveEvent.patch rename to patches/unapplied/server/0484-Add-EntityMoveEvent.patch diff --git a/patches/unapplied/0485-added-option-to-disable-pathfinding-updates-on-block.patch b/patches/unapplied/server/0485-added-option-to-disable-pathfinding-updates-on-block.patch similarity index 100% rename from patches/unapplied/0485-added-option-to-disable-pathfinding-updates-on-block.patch rename to patches/unapplied/server/0485-added-option-to-disable-pathfinding-updates-on-block.patch diff --git a/patches/unapplied/0486-Inline-shift-direction-fields.patch b/patches/unapplied/server/0486-Inline-shift-direction-fields.patch similarity index 100% rename from patches/unapplied/0486-Inline-shift-direction-fields.patch rename to patches/unapplied/server/0486-Inline-shift-direction-fields.patch diff --git a/patches/unapplied/0487-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/unapplied/server/0487-Allow-adding-items-to-BlockDropItemEvent.patch similarity index 100% rename from patches/unapplied/0487-Allow-adding-items-to-BlockDropItemEvent.patch rename to patches/unapplied/server/0487-Allow-adding-items-to-BlockDropItemEvent.patch diff --git a/patches/unapplied/0488-Add-getMainThreadExecutor-to-BukkitScheduler.patch b/patches/unapplied/server/0488-Add-getMainThreadExecutor-to-BukkitScheduler.patch similarity index 100% rename from patches/unapplied/0488-Add-getMainThreadExecutor-to-BukkitScheduler.patch rename to patches/unapplied/server/0488-Add-getMainThreadExecutor-to-BukkitScheduler.patch diff --git a/patches/unapplied/0489-living-entity-allow-attribute-registration.patch b/patches/unapplied/server/0489-living-entity-allow-attribute-registration.patch similarity index 100% rename from patches/unapplied/0489-living-entity-allow-attribute-registration.patch rename to patches/unapplied/server/0489-living-entity-allow-attribute-registration.patch diff --git a/patches/unapplied/0490-fix-dead-slime-setSize-invincibility.patch b/patches/unapplied/server/0490-fix-dead-slime-setSize-invincibility.patch similarity index 100% rename from patches/unapplied/0490-fix-dead-slime-setSize-invincibility.patch rename to patches/unapplied/server/0490-fix-dead-slime-setSize-invincibility.patch diff --git a/patches/unapplied/0491-Merchant-getRecipes-should-return-an-immutable-list.patch b/patches/unapplied/server/0491-Merchant-getRecipes-should-return-an-immutable-list.patch similarity index 100% rename from patches/unapplied/0491-Merchant-getRecipes-should-return-an-immutable-list.patch rename to patches/unapplied/server/0491-Merchant-getRecipes-should-return-an-immutable-list.patch diff --git a/patches/unapplied/0492-Expose-Tracked-Players.patch b/patches/unapplied/server/0492-Expose-Tracked-Players.patch similarity index 100% rename from patches/unapplied/0492-Expose-Tracked-Players.patch rename to patches/unapplied/server/0492-Expose-Tracked-Players.patch diff --git a/patches/unapplied/0493-Improve-ServerGUI.patch b/patches/unapplied/server/0493-Improve-ServerGUI.patch similarity index 100% rename from patches/unapplied/0493-Improve-ServerGUI.patch rename to patches/unapplied/server/0493-Improve-ServerGUI.patch diff --git a/patches/unapplied/0494-fix-converting-txt-to-json-file.patch b/patches/unapplied/server/0494-fix-converting-txt-to-json-file.patch similarity index 100% rename from patches/unapplied/0494-fix-converting-txt-to-json-file.patch rename to patches/unapplied/server/0494-fix-converting-txt-to-json-file.patch diff --git a/patches/unapplied/0495-Add-worldborder-events.patch b/patches/unapplied/server/0495-Add-worldborder-events.patch similarity index 100% rename from patches/unapplied/0495-Add-worldborder-events.patch rename to patches/unapplied/server/0495-Add-worldborder-events.patch diff --git a/patches/unapplied/0496-Add-PlayerNameEntityEvent.patch b/patches/unapplied/server/0496-Add-PlayerNameEntityEvent.patch similarity index 100% rename from patches/unapplied/0496-Add-PlayerNameEntityEvent.patch rename to patches/unapplied/server/0496-Add-PlayerNameEntityEvent.patch diff --git a/patches/unapplied/0497-Add-recipe-to-cook-events.patch b/patches/unapplied/server/0497-Add-recipe-to-cook-events.patch similarity index 100% rename from patches/unapplied/0497-Add-recipe-to-cook-events.patch rename to patches/unapplied/server/0497-Add-recipe-to-cook-events.patch diff --git a/patches/unapplied/0498-Add-Block-isValidTool.patch b/patches/unapplied/server/0498-Add-Block-isValidTool.patch similarity index 100% rename from patches/unapplied/0498-Add-Block-isValidTool.patch rename to patches/unapplied/server/0498-Add-Block-isValidTool.patch diff --git a/patches/unapplied/0499-Allow-using-signs-inside-spawn-protection.patch b/patches/unapplied/server/0499-Allow-using-signs-inside-spawn-protection.patch similarity index 100% rename from patches/unapplied/0499-Allow-using-signs-inside-spawn-protection.patch rename to patches/unapplied/server/0499-Allow-using-signs-inside-spawn-protection.patch diff --git a/patches/unapplied/0500-Expand-world-key-API.patch b/patches/unapplied/server/0500-Expand-world-key-API.patch similarity index 100% rename from patches/unapplied/0500-Expand-world-key-API.patch rename to patches/unapplied/server/0500-Expand-world-key-API.patch diff --git a/patches/unapplied/0501-Add-fast-alternative-constructor-for-Rotations.patch b/patches/unapplied/server/0501-Add-fast-alternative-constructor-for-Rotations.patch similarity index 100% rename from patches/unapplied/0501-Add-fast-alternative-constructor-for-Rotations.patch rename to patches/unapplied/server/0501-Add-fast-alternative-constructor-for-Rotations.patch diff --git a/patches/unapplied/0502-Drop-carried-item-when-player-has-disconnected.patch b/patches/unapplied/server/0502-Drop-carried-item-when-player-has-disconnected.patch similarity index 100% rename from patches/unapplied/0502-Drop-carried-item-when-player-has-disconnected.patch rename to patches/unapplied/server/0502-Drop-carried-item-when-player-has-disconnected.patch diff --git a/patches/unapplied/0503-forced-whitelist-use-configurable-kick-message.patch b/patches/unapplied/server/0503-forced-whitelist-use-configurable-kick-message.patch similarity index 100% rename from patches/unapplied/0503-forced-whitelist-use-configurable-kick-message.patch rename to patches/unapplied/server/0503-forced-whitelist-use-configurable-kick-message.patch diff --git a/patches/unapplied/0504-Don-t-ignore-result-of-PlayerEditBookEvent.patch b/patches/unapplied/server/0504-Don-t-ignore-result-of-PlayerEditBookEvent.patch similarity index 100% rename from patches/unapplied/0504-Don-t-ignore-result-of-PlayerEditBookEvent.patch rename to patches/unapplied/server/0504-Don-t-ignore-result-of-PlayerEditBookEvent.patch diff --git a/patches/unapplied/0505-Expose-protocol-version.patch b/patches/unapplied/server/0505-Expose-protocol-version.patch similarity index 100% rename from patches/unapplied/0505-Expose-protocol-version.patch rename to patches/unapplied/server/0505-Expose-protocol-version.patch diff --git a/patches/unapplied/0506-Enhance-console-tab-completions-for-brigadier-comman.patch b/patches/unapplied/server/0506-Enhance-console-tab-completions-for-brigadier-comman.patch similarity index 100% rename from patches/unapplied/0506-Enhance-console-tab-completions-for-brigadier-comman.patch rename to patches/unapplied/server/0506-Enhance-console-tab-completions-for-brigadier-comman.patch diff --git a/patches/unapplied/0507-Fix-PlayerItemConsumeEvent-cancelling-properly.patch b/patches/unapplied/server/0507-Fix-PlayerItemConsumeEvent-cancelling-properly.patch similarity index 100% rename from patches/unapplied/0507-Fix-PlayerItemConsumeEvent-cancelling-properly.patch rename to patches/unapplied/server/0507-Fix-PlayerItemConsumeEvent-cancelling-properly.patch diff --git a/patches/unapplied/0508-Add-bypass-host-check.patch b/patches/unapplied/server/0508-Add-bypass-host-check.patch similarity index 100% rename from patches/unapplied/0508-Add-bypass-host-check.patch rename to patches/unapplied/server/0508-Add-bypass-host-check.patch diff --git a/patches/unapplied/0509-Set-area-affect-cloud-rotation.patch b/patches/unapplied/server/0509-Set-area-affect-cloud-rotation.patch similarity index 100% rename from patches/unapplied/0509-Set-area-affect-cloud-rotation.patch rename to patches/unapplied/server/0509-Set-area-affect-cloud-rotation.patch diff --git a/patches/unapplied/0510-add-isDeeplySleeping-to-HumanEntity.patch b/patches/unapplied/server/0510-add-isDeeplySleeping-to-HumanEntity.patch similarity index 100% rename from patches/unapplied/0510-add-isDeeplySleeping-to-HumanEntity.patch rename to patches/unapplied/server/0510-add-isDeeplySleeping-to-HumanEntity.patch diff --git a/patches/unapplied/0511-add-consumeFuel-to-FurnaceBurnEvent.patch b/patches/unapplied/server/0511-add-consumeFuel-to-FurnaceBurnEvent.patch similarity index 100% rename from patches/unapplied/0511-add-consumeFuel-to-FurnaceBurnEvent.patch rename to patches/unapplied/server/0511-add-consumeFuel-to-FurnaceBurnEvent.patch diff --git a/patches/unapplied/0512-add-get-set-drop-chance-to-EntityEquipment.patch b/patches/unapplied/server/0512-add-get-set-drop-chance-to-EntityEquipment.patch similarity index 100% rename from patches/unapplied/0512-add-get-set-drop-chance-to-EntityEquipment.patch rename to patches/unapplied/server/0512-add-get-set-drop-chance-to-EntityEquipment.patch diff --git a/patches/unapplied/0513-fix-PigZombieAngerEvent-cancellation.patch b/patches/unapplied/server/0513-fix-PigZombieAngerEvent-cancellation.patch similarity index 100% rename from patches/unapplied/0513-fix-PigZombieAngerEvent-cancellation.patch rename to patches/unapplied/server/0513-fix-PigZombieAngerEvent-cancellation.patch diff --git a/patches/unapplied/0514-fix-PlayerItemHeldEvent-firing-twice.patch b/patches/unapplied/server/0514-fix-PlayerItemHeldEvent-firing-twice.patch similarity index 100% rename from patches/unapplied/0514-fix-PlayerItemHeldEvent-firing-twice.patch rename to patches/unapplied/server/0514-fix-PlayerItemHeldEvent-firing-twice.patch diff --git a/patches/unapplied/0515-Add-PlayerDeepSleepEvent.patch b/patches/unapplied/server/0515-Add-PlayerDeepSleepEvent.patch similarity index 100% rename from patches/unapplied/0515-Add-PlayerDeepSleepEvent.patch rename to patches/unapplied/server/0515-Add-PlayerDeepSleepEvent.patch diff --git a/patches/unapplied/0516-More-World-API.patch b/patches/unapplied/server/0516-More-World-API.patch similarity index 100% rename from patches/unapplied/0516-More-World-API.patch rename to patches/unapplied/server/0516-More-World-API.patch diff --git a/patches/unapplied/0517-Add-PlayerBedFailEnterEvent.patch b/patches/unapplied/server/0517-Add-PlayerBedFailEnterEvent.patch similarity index 100% rename from patches/unapplied/0517-Add-PlayerBedFailEnterEvent.patch rename to patches/unapplied/server/0517-Add-PlayerBedFailEnterEvent.patch diff --git a/patches/unapplied/0518-Implement-methods-to-convert-between-Component-and-B.patch b/patches/unapplied/server/0518-Implement-methods-to-convert-between-Component-and-B.patch similarity index 100% rename from patches/unapplied/0518-Implement-methods-to-convert-between-Component-and-B.patch rename to patches/unapplied/server/0518-Implement-methods-to-convert-between-Component-and-B.patch diff --git a/patches/unapplied/0519-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch b/patches/unapplied/server/0519-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch similarity index 100% rename from patches/unapplied/0519-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch rename to patches/unapplied/server/0519-Expand-PlayerRespawnEvent-fix-passed-parameter-issue.patch diff --git a/patches/unapplied/0520-Introduce-beacon-activation-deactivation-events.patch b/patches/unapplied/server/0520-Introduce-beacon-activation-deactivation-events.patch similarity index 100% rename from patches/unapplied/0520-Introduce-beacon-activation-deactivation-events.patch rename to patches/unapplied/server/0520-Introduce-beacon-activation-deactivation-events.patch diff --git a/patches/unapplied/0521-Add-Channel-initialization-listeners.patch b/patches/unapplied/server/0521-Add-Channel-initialization-listeners.patch similarity index 100% rename from patches/unapplied/0521-Add-Channel-initialization-listeners.patch rename to patches/unapplied/server/0521-Add-Channel-initialization-listeners.patch diff --git a/patches/unapplied/0522-Send-empty-commands-if-tab-completion-is-disabled.patch b/patches/unapplied/server/0522-Send-empty-commands-if-tab-completion-is-disabled.patch similarity index 100% rename from patches/unapplied/0522-Send-empty-commands-if-tab-completion-is-disabled.patch rename to patches/unapplied/server/0522-Send-empty-commands-if-tab-completion-is-disabled.patch diff --git a/patches/unapplied/0523-Add-more-WanderingTrader-API.patch b/patches/unapplied/server/0523-Add-more-WanderingTrader-API.patch similarity index 100% rename from patches/unapplied/0523-Add-more-WanderingTrader-API.patch rename to patches/unapplied/server/0523-Add-more-WanderingTrader-API.patch diff --git a/patches/unapplied/0524-Add-EntityBlockStorage-clearEntities.patch b/patches/unapplied/server/0524-Add-EntityBlockStorage-clearEntities.patch similarity index 100% rename from patches/unapplied/0524-Add-EntityBlockStorage-clearEntities.patch rename to patches/unapplied/server/0524-Add-EntityBlockStorage-clearEntities.patch diff --git a/patches/unapplied/0525-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch b/patches/unapplied/server/0525-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch similarity index 100% rename from patches/unapplied/0525-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch rename to patches/unapplied/server/0525-Add-Adventure-message-to-PlayerAdvancementDoneEvent.patch diff --git a/patches/unapplied/0526-Add-HiddenPotionEffect-API.patch b/patches/unapplied/server/0526-Add-HiddenPotionEffect-API.patch similarity index 100% rename from patches/unapplied/0526-Add-HiddenPotionEffect-API.patch rename to patches/unapplied/server/0526-Add-HiddenPotionEffect-API.patch diff --git a/patches/unapplied/0527-Inventory-close.patch b/patches/unapplied/server/0527-Inventory-close.patch similarity index 100% rename from patches/unapplied/0527-Inventory-close.patch rename to patches/unapplied/server/0527-Inventory-close.patch diff --git a/patches/unapplied/0528-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch b/patches/unapplied/server/0528-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch similarity index 100% rename from patches/unapplied/0528-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch rename to patches/unapplied/server/0528-Add-a-should-burn-in-sunlight-API-for-Phantoms-and-S.patch diff --git a/patches/unapplied/0529-Add-basic-Datapack-API.patch b/patches/unapplied/server/0529-Add-basic-Datapack-API.patch similarity index 100% rename from patches/unapplied/0529-Add-basic-Datapack-API.patch rename to patches/unapplied/server/0529-Add-basic-Datapack-API.patch diff --git a/patches/unapplied/0530-Add-environment-variable-to-disable-server-gui.patch b/patches/unapplied/server/0530-Add-environment-variable-to-disable-server-gui.patch similarity index 100% rename from patches/unapplied/0530-Add-environment-variable-to-disable-server-gui.patch rename to patches/unapplied/server/0530-Add-environment-variable-to-disable-server-gui.patch diff --git a/patches/unapplied/0531-Expand-PlayerGameModeChangeEvent.patch b/patches/unapplied/server/0531-Expand-PlayerGameModeChangeEvent.patch similarity index 100% rename from patches/unapplied/0531-Expand-PlayerGameModeChangeEvent.patch rename to patches/unapplied/server/0531-Expand-PlayerGameModeChangeEvent.patch diff --git a/patches/unapplied/0532-ItemStack-repair-check-API.patch b/patches/unapplied/server/0532-ItemStack-repair-check-API.patch similarity index 100% rename from patches/unapplied/0532-ItemStack-repair-check-API.patch rename to patches/unapplied/server/0532-ItemStack-repair-check-API.patch diff --git a/patches/unapplied/0533-More-Enchantment-API.patch b/patches/unapplied/server/0533-More-Enchantment-API.patch similarity index 100% rename from patches/unapplied/0533-More-Enchantment-API.patch rename to patches/unapplied/server/0533-More-Enchantment-API.patch diff --git a/patches/unapplied/0534-Move-range-check-for-block-placing-up.patch b/patches/unapplied/server/0534-Move-range-check-for-block-placing-up.patch similarity index 100% rename from patches/unapplied/0534-Move-range-check-for-block-placing-up.patch rename to patches/unapplied/server/0534-Move-range-check-for-block-placing-up.patch diff --git a/patches/unapplied/0535-Add-Mob-lookAt-API.patch b/patches/unapplied/server/0535-Add-Mob-lookAt-API.patch similarity index 100% rename from patches/unapplied/0535-Add-Mob-lookAt-API.patch rename to patches/unapplied/server/0535-Add-Mob-lookAt-API.patch diff --git a/patches/unapplied/0536-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/unapplied/server/0536-Correctly-check-if-bucket-dispenses-will-succeed-for.patch similarity index 100% rename from patches/unapplied/0536-Correctly-check-if-bucket-dispenses-will-succeed-for.patch rename to patches/unapplied/server/0536-Correctly-check-if-bucket-dispenses-will-succeed-for.patch diff --git a/patches/unapplied/0537-Add-Unix-domain-socket-support.patch b/patches/unapplied/server/0537-Add-Unix-domain-socket-support.patch similarity index 100% rename from patches/unapplied/0537-Add-Unix-domain-socket-support.patch rename to patches/unapplied/server/0537-Add-Unix-domain-socket-support.patch diff --git a/patches/unapplied/0538-Add-EntityInsideBlockEvent.patch b/patches/unapplied/server/0538-Add-EntityInsideBlockEvent.patch similarity index 100% rename from patches/unapplied/0538-Add-EntityInsideBlockEvent.patch rename to patches/unapplied/server/0538-Add-EntityInsideBlockEvent.patch diff --git a/patches/unapplied/0539-Improve-item-default-attribute-API.patch b/patches/unapplied/server/0539-Improve-item-default-attribute-API.patch similarity index 100% rename from patches/unapplied/0539-Improve-item-default-attribute-API.patch rename to patches/unapplied/server/0539-Improve-item-default-attribute-API.patch diff --git a/patches/unapplied/0540-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/unapplied/server/0540-Add-cause-to-Weather-ThunderChangeEvents.patch similarity index 100% rename from patches/unapplied/0540-Add-cause-to-Weather-ThunderChangeEvents.patch rename to patches/unapplied/server/0540-Add-cause-to-Weather-ThunderChangeEvents.patch diff --git a/patches/unapplied/0541-More-Lidded-Block-API.patch b/patches/unapplied/server/0541-More-Lidded-Block-API.patch similarity index 100% rename from patches/unapplied/0541-More-Lidded-Block-API.patch rename to patches/unapplied/server/0541-More-Lidded-Block-API.patch diff --git a/patches/unapplied/0542-Limit-item-frame-cursors-on-maps.patch b/patches/unapplied/server/0542-Limit-item-frame-cursors-on-maps.patch similarity index 100% rename from patches/unapplied/0542-Limit-item-frame-cursors-on-maps.patch rename to patches/unapplied/server/0542-Limit-item-frame-cursors-on-maps.patch diff --git a/patches/unapplied/0543-Add-PlayerKickEvent-causes.patch b/patches/unapplied/server/0543-Add-PlayerKickEvent-causes.patch similarity index 100% rename from patches/unapplied/0543-Add-PlayerKickEvent-causes.patch rename to patches/unapplied/server/0543-Add-PlayerKickEvent-causes.patch diff --git a/patches/unapplied/0544-Add-PufferFishStateChangeEvent.patch b/patches/unapplied/server/0544-Add-PufferFishStateChangeEvent.patch similarity index 100% rename from patches/unapplied/0544-Add-PufferFishStateChangeEvent.patch rename to patches/unapplied/server/0544-Add-PufferFishStateChangeEvent.patch diff --git a/patches/unapplied/0545-Fix-PlayerBucketEmptyEvent-result-itemstack.patch b/patches/unapplied/server/0545-Fix-PlayerBucketEmptyEvent-result-itemstack.patch similarity index 100% rename from patches/unapplied/0545-Fix-PlayerBucketEmptyEvent-result-itemstack.patch rename to patches/unapplied/server/0545-Fix-PlayerBucketEmptyEvent-result-itemstack.patch diff --git a/patches/unapplied/0546-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch b/patches/unapplied/server/0546-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch similarity index 100% rename from patches/unapplied/0546-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch rename to patches/unapplied/server/0546-Synchronize-PalettedContainer-instead-of-ThreadingDe.patch diff --git a/patches/unapplied/0547-Add-option-to-fix-items-merging-through-walls.patch b/patches/unapplied/server/0547-Add-option-to-fix-items-merging-through-walls.patch similarity index 100% rename from patches/unapplied/0547-Add-option-to-fix-items-merging-through-walls.patch rename to patches/unapplied/server/0547-Add-option-to-fix-items-merging-through-walls.patch diff --git a/patches/unapplied/0548-Add-BellRevealRaiderEvent.patch b/patches/unapplied/server/0548-Add-BellRevealRaiderEvent.patch similarity index 100% rename from patches/unapplied/0548-Add-BellRevealRaiderEvent.patch rename to patches/unapplied/server/0548-Add-BellRevealRaiderEvent.patch diff --git a/patches/unapplied/0549-Fix-invulnerable-end-crystals.patch b/patches/unapplied/server/0549-Fix-invulnerable-end-crystals.patch similarity index 100% rename from patches/unapplied/0549-Fix-invulnerable-end-crystals.patch rename to patches/unapplied/server/0549-Fix-invulnerable-end-crystals.patch diff --git a/patches/unapplied/0550-Add-ElderGuardianAppearanceEvent.patch b/patches/unapplied/server/0550-Add-ElderGuardianAppearanceEvent.patch similarity index 100% rename from patches/unapplied/0550-Add-ElderGuardianAppearanceEvent.patch rename to patches/unapplied/server/0550-Add-ElderGuardianAppearanceEvent.patch diff --git a/patches/unapplied/0551-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/unapplied/server/0551-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch similarity index 100% rename from patches/unapplied/0551-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch rename to patches/unapplied/server/0551-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch diff --git a/patches/unapplied/0552-Line-Of-Sight-Changes.patch b/patches/unapplied/server/0552-Line-Of-Sight-Changes.patch similarity index 100% rename from patches/unapplied/0552-Line-Of-Sight-Changes.patch rename to patches/unapplied/server/0552-Line-Of-Sight-Changes.patch diff --git a/patches/unapplied/0553-add-per-world-spawn-limits.patch b/patches/unapplied/server/0553-add-per-world-spawn-limits.patch similarity index 100% rename from patches/unapplied/0553-add-per-world-spawn-limits.patch rename to patches/unapplied/server/0553-add-per-world-spawn-limits.patch diff --git a/patches/unapplied/0554-Fix-potions-splash-events.patch b/patches/unapplied/server/0554-Fix-potions-splash-events.patch similarity index 100% rename from patches/unapplied/0554-Fix-potions-splash-events.patch rename to patches/unapplied/server/0554-Fix-potions-splash-events.patch diff --git a/patches/unapplied/0555-Add-more-LimitedRegion-API.patch b/patches/unapplied/server/0555-Add-more-LimitedRegion-API.patch similarity index 100% rename from patches/unapplied/0555-Add-more-LimitedRegion-API.patch rename to patches/unapplied/server/0555-Add-more-LimitedRegion-API.patch diff --git a/patches/unapplied/0556-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/unapplied/server/0556-Fix-PlayerDropItemEvent-using-wrong-item.patch similarity index 100% rename from patches/unapplied/0556-Fix-PlayerDropItemEvent-using-wrong-item.patch rename to patches/unapplied/server/0556-Fix-PlayerDropItemEvent-using-wrong-item.patch diff --git a/patches/unapplied/0557-Missing-Entity-API.patch b/patches/unapplied/server/0557-Missing-Entity-API.patch similarity index 100% rename from patches/unapplied/0557-Missing-Entity-API.patch rename to patches/unapplied/server/0557-Missing-Entity-API.patch diff --git a/patches/unapplied/0558-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/unapplied/server/0558-Fix-return-value-of-Block-applyBoneMeal-always-being.patch similarity index 100% rename from patches/unapplied/0558-Fix-return-value-of-Block-applyBoneMeal-always-being.patch rename to patches/unapplied/server/0558-Fix-return-value-of-Block-applyBoneMeal-always-being.patch diff --git a/patches/unapplied/0559-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/unapplied/server/0559-Use-getChunkIfLoadedImmediately-in-places.patch similarity index 100% rename from patches/unapplied/0559-Use-getChunkIfLoadedImmediately-in-places.patch rename to patches/unapplied/server/0559-Use-getChunkIfLoadedImmediately-in-places.patch diff --git a/patches/unapplied/0560-Fix-commands-from-signs-not-firing-command-events.patch b/patches/unapplied/server/0560-Fix-commands-from-signs-not-firing-command-events.patch similarity index 100% rename from patches/unapplied/0560-Fix-commands-from-signs-not-firing-command-events.patch rename to patches/unapplied/server/0560-Fix-commands-from-signs-not-firing-command-events.patch diff --git a/patches/unapplied/0561-Add-PlayerArmSwingEvent.patch b/patches/unapplied/server/0561-Add-PlayerArmSwingEvent.patch similarity index 100% rename from patches/unapplied/0561-Add-PlayerArmSwingEvent.patch rename to patches/unapplied/server/0561-Add-PlayerArmSwingEvent.patch diff --git a/patches/unapplied/0562-Fix-kick-event-leave-message-not-being-sent.patch b/patches/unapplied/server/0562-Fix-kick-event-leave-message-not-being-sent.patch similarity index 100% rename from patches/unapplied/0562-Fix-kick-event-leave-message-not-being-sent.patch rename to patches/unapplied/server/0562-Fix-kick-event-leave-message-not-being-sent.patch diff --git a/patches/unapplied/0563-Don-t-apply-cramming-damage-to-players.patch b/patches/unapplied/server/0563-Don-t-apply-cramming-damage-to-players.patch similarity index 100% rename from patches/unapplied/0563-Don-t-apply-cramming-damage-to-players.patch rename to patches/unapplied/server/0563-Don-t-apply-cramming-damage-to-players.patch diff --git a/patches/unapplied/0564-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/unapplied/server/0564-Rate-options-and-timings-for-sensors-and-behaviors.patch similarity index 100% rename from patches/unapplied/0564-Rate-options-and-timings-for-sensors-and-behaviors.patch rename to patches/unapplied/server/0564-Rate-options-and-timings-for-sensors-and-behaviors.patch diff --git a/patches/unapplied/0565-Add-missing-forceDrop-toggles.patch b/patches/unapplied/server/0565-Add-missing-forceDrop-toggles.patch similarity index 100% rename from patches/unapplied/0565-Add-missing-forceDrop-toggles.patch rename to patches/unapplied/server/0565-Add-missing-forceDrop-toggles.patch diff --git a/patches/unapplied/0566-Stinger-API.patch b/patches/unapplied/server/0566-Stinger-API.patch similarity index 100% rename from patches/unapplied/0566-Stinger-API.patch rename to patches/unapplied/server/0566-Stinger-API.patch diff --git a/patches/unapplied/0567-Add-System.out-err-catcher.patch b/patches/unapplied/server/0567-Add-System.out-err-catcher.patch similarity index 100% rename from patches/unapplied/0567-Add-System.out-err-catcher.patch rename to patches/unapplied/server/0567-Add-System.out-err-catcher.patch diff --git a/patches/unapplied/0568-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/unapplied/server/0568-Prevent-AFK-kick-while-watching-end-credits.patch similarity index 100% rename from patches/unapplied/0568-Prevent-AFK-kick-while-watching-end-credits.patch rename to patches/unapplied/server/0568-Prevent-AFK-kick-while-watching-end-credits.patch diff --git a/patches/unapplied/0569-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/unapplied/server/0569-Allow-skipping-writing-of-comments-to-server.propert.patch similarity index 100% rename from patches/unapplied/0569-Allow-skipping-writing-of-comments-to-server.propert.patch rename to patches/unapplied/server/0569-Allow-skipping-writing-of-comments-to-server.propert.patch diff --git a/patches/unapplied/0570-Add-PlayerSetSpawnEvent.patch b/patches/unapplied/server/0570-Add-PlayerSetSpawnEvent.patch similarity index 100% rename from patches/unapplied/0570-Add-PlayerSetSpawnEvent.patch rename to patches/unapplied/server/0570-Add-PlayerSetSpawnEvent.patch diff --git a/patches/unapplied/0571-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/unapplied/server/0571-Make-hoppers-respect-inventory-max-stack-size.patch similarity index 100% rename from patches/unapplied/0571-Make-hoppers-respect-inventory-max-stack-size.patch rename to patches/unapplied/server/0571-Make-hoppers-respect-inventory-max-stack-size.patch diff --git a/patches/unapplied/0572-Optimize-entity-tracker-passenger-checks.patch b/patches/unapplied/server/0572-Optimize-entity-tracker-passenger-checks.patch similarity index 100% rename from patches/unapplied/0572-Optimize-entity-tracker-passenger-checks.patch rename to patches/unapplied/server/0572-Optimize-entity-tracker-passenger-checks.patch diff --git a/patches/unapplied/0573-Config-option-for-Piglins-guarding-chests.patch b/patches/unapplied/server/0573-Config-option-for-Piglins-guarding-chests.patch similarity index 100% rename from patches/unapplied/0573-Config-option-for-Piglins-guarding-chests.patch rename to patches/unapplied/server/0573-Config-option-for-Piglins-guarding-chests.patch diff --git a/patches/unapplied/0574-Add-EntityDamageItemEvent.patch b/patches/unapplied/server/0574-Add-EntityDamageItemEvent.patch similarity index 100% rename from patches/unapplied/0574-Add-EntityDamageItemEvent.patch rename to patches/unapplied/server/0574-Add-EntityDamageItemEvent.patch diff --git a/patches/unapplied/0575-Optimize-indirect-passenger-iteration.patch b/patches/unapplied/server/0575-Optimize-indirect-passenger-iteration.patch similarity index 100% rename from patches/unapplied/0575-Optimize-indirect-passenger-iteration.patch rename to patches/unapplied/server/0575-Optimize-indirect-passenger-iteration.patch diff --git a/patches/unapplied/0576-Configurable-item-frame-map-cursor-update-interval.patch b/patches/unapplied/server/0576-Configurable-item-frame-map-cursor-update-interval.patch similarity index 100% rename from patches/unapplied/0576-Configurable-item-frame-map-cursor-update-interval.patch rename to patches/unapplied/server/0576-Configurable-item-frame-map-cursor-update-interval.patch diff --git a/patches/unapplied/0577-Change-EnderEye-target-without-changing-other-things.patch b/patches/unapplied/server/0577-Change-EnderEye-target-without-changing-other-things.patch similarity index 100% rename from patches/unapplied/0577-Change-EnderEye-target-without-changing-other-things.patch rename to patches/unapplied/server/0577-Change-EnderEye-target-without-changing-other-things.patch diff --git a/patches/unapplied/0578-Add-BlockBreakBlockEvent.patch b/patches/unapplied/server/0578-Add-BlockBreakBlockEvent.patch similarity index 100% rename from patches/unapplied/0578-Add-BlockBreakBlockEvent.patch rename to patches/unapplied/server/0578-Add-BlockBreakBlockEvent.patch diff --git a/patches/unapplied/0579-Option-to-prevent-data-components-copy-in-smithing-r.patch b/patches/unapplied/server/0579-Option-to-prevent-data-components-copy-in-smithing-r.patch similarity index 100% rename from patches/unapplied/0579-Option-to-prevent-data-components-copy-in-smithing-r.patch rename to patches/unapplied/server/0579-Option-to-prevent-data-components-copy-in-smithing-r.patch diff --git a/patches/unapplied/0580-More-CommandBlock-API.patch b/patches/unapplied/server/0580-More-CommandBlock-API.patch similarity index 100% rename from patches/unapplied/0580-More-CommandBlock-API.patch rename to patches/unapplied/server/0580-More-CommandBlock-API.patch diff --git a/patches/unapplied/0581-Add-missing-team-sidebar-display-slots.patch b/patches/unapplied/server/0581-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/unapplied/0581-Add-missing-team-sidebar-display-slots.patch rename to patches/unapplied/server/0581-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/unapplied/0582-Add-back-EntityPortalExitEvent.patch b/patches/unapplied/server/0582-Add-back-EntityPortalExitEvent.patch similarity index 100% rename from patches/unapplied/0582-Add-back-EntityPortalExitEvent.patch rename to patches/unapplied/server/0582-Add-back-EntityPortalExitEvent.patch diff --git a/patches/unapplied/0583-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/unapplied/server/0583-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/unapplied/0583-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/unapplied/server/0583-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/unapplied/0584-Get-entity-default-attributes.patch b/patches/unapplied/server/0584-Get-entity-default-attributes.patch similarity index 100% rename from patches/unapplied/0584-Get-entity-default-attributes.patch rename to patches/unapplied/server/0584-Get-entity-default-attributes.patch diff --git a/patches/unapplied/0585-Left-handed-API.patch b/patches/unapplied/server/0585-Left-handed-API.patch similarity index 100% rename from patches/unapplied/0585-Left-handed-API.patch rename to patches/unapplied/server/0585-Left-handed-API.patch diff --git a/patches/unapplied/0586-Add-more-advancement-API.patch b/patches/unapplied/server/0586-Add-more-advancement-API.patch similarity index 100% rename from patches/unapplied/0586-Add-more-advancement-API.patch rename to patches/unapplied/server/0586-Add-more-advancement-API.patch diff --git a/patches/unapplied/0587-Add-ItemFactory-getSpawnEgg-API.patch b/patches/unapplied/server/0587-Add-ItemFactory-getSpawnEgg-API.patch similarity index 100% rename from patches/unapplied/0587-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/unapplied/server/0587-Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/unapplied/0588-Add-critical-damage-API.patch b/patches/unapplied/server/0588-Add-critical-damage-API.patch similarity index 100% rename from patches/unapplied/0588-Add-critical-damage-API.patch rename to patches/unapplied/server/0588-Add-critical-damage-API.patch diff --git a/patches/unapplied/0589-Fix-issues-with-mob-conversion.patch b/patches/unapplied/server/0589-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/unapplied/0589-Fix-issues-with-mob-conversion.patch rename to patches/unapplied/server/0589-Fix-issues-with-mob-conversion.patch diff --git a/patches/unapplied/0590-Add-hasCollision-methods-to-various-places.patch b/patches/unapplied/server/0590-Add-hasCollision-methods-to-various-places.patch similarity index 100% rename from patches/unapplied/0590-Add-hasCollision-methods-to-various-places.patch rename to patches/unapplied/server/0590-Add-hasCollision-methods-to-various-places.patch diff --git a/patches/unapplied/0591-Goat-ram-API.patch b/patches/unapplied/server/0591-Goat-ram-API.patch similarity index 100% rename from patches/unapplied/0591-Goat-ram-API.patch rename to patches/unapplied/server/0591-Goat-ram-API.patch diff --git a/patches/unapplied/0592-Add-API-for-resetting-a-single-score.patch b/patches/unapplied/server/0592-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/unapplied/0592-Add-API-for-resetting-a-single-score.patch rename to patches/unapplied/server/0592-Add-API-for-resetting-a-single-score.patch diff --git a/patches/unapplied/0593-Add-Raw-Byte-Entity-Serialization.patch b/patches/unapplied/server/0593-Add-Raw-Byte-Entity-Serialization.patch similarity index 100% rename from patches/unapplied/0593-Add-Raw-Byte-Entity-Serialization.patch rename to patches/unapplied/server/0593-Add-Raw-Byte-Entity-Serialization.patch diff --git a/patches/unapplied/0594-Vanilla-command-permission-fixes.patch b/patches/unapplied/server/0594-Vanilla-command-permission-fixes.patch similarity index 100% rename from patches/unapplied/0594-Vanilla-command-permission-fixes.patch rename to patches/unapplied/server/0594-Vanilla-command-permission-fixes.patch diff --git a/patches/unapplied/0595-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/unapplied/server/0595-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 100% rename from patches/unapplied/0595-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/unapplied/server/0595-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch diff --git a/patches/unapplied/0596-Fix-GameProfileCache-concurrency.patch b/patches/unapplied/server/0596-Fix-GameProfileCache-concurrency.patch similarity index 100% rename from patches/unapplied/0596-Fix-GameProfileCache-concurrency.patch rename to patches/unapplied/server/0596-Fix-GameProfileCache-concurrency.patch diff --git a/patches/unapplied/0597-Improve-and-expand-AsyncCatcher.patch b/patches/unapplied/server/0597-Improve-and-expand-AsyncCatcher.patch similarity index 100% rename from patches/unapplied/0597-Improve-and-expand-AsyncCatcher.patch rename to patches/unapplied/server/0597-Improve-and-expand-AsyncCatcher.patch diff --git a/patches/unapplied/0598-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/unapplied/server/0598-Add-paper-mobcaps-and-paper-playermobcaps.patch similarity index 100% rename from patches/unapplied/0598-Add-paper-mobcaps-and-paper-playermobcaps.patch rename to patches/unapplied/server/0598-Add-paper-mobcaps-and-paper-playermobcaps.patch diff --git a/patches/unapplied/0599-Sanitize-ResourceLocation-error-logging.patch b/patches/unapplied/server/0599-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/unapplied/0599-Sanitize-ResourceLocation-error-logging.patch rename to patches/unapplied/server/0599-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/unapplied/0600-Manually-inline-methods-in-BlockPosition.patch b/patches/unapplied/server/0600-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/unapplied/0600-Manually-inline-methods-in-BlockPosition.patch rename to patches/unapplied/server/0600-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/unapplied/0601-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/unapplied/server/0601-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/unapplied/0601-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/unapplied/server/0601-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/unapplied/0602-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/unapplied/server/0602-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 100% rename from patches/unapplied/0602-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/unapplied/server/0602-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/unapplied/0603-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/unapplied/server/0603-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/unapplied/0603-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/unapplied/server/0603-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/unapplied/0604-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/unapplied/server/0604-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch similarity index 100% rename from patches/unapplied/0604-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch rename to patches/unapplied/server/0604-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch diff --git a/patches/unapplied/0605-Time-scoreboard-search.patch b/patches/unapplied/server/0605-Time-scoreboard-search.patch similarity index 100% rename from patches/unapplied/0605-Time-scoreboard-search.patch rename to patches/unapplied/server/0605-Time-scoreboard-search.patch diff --git a/patches/unapplied/0606-Oprimise-map-impl-for-tracked-players.patch b/patches/unapplied/server/0606-Oprimise-map-impl-for-tracked-players.patch similarity index 100% rename from patches/unapplied/0606-Oprimise-map-impl-for-tracked-players.patch rename to patches/unapplied/server/0606-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/unapplied/0607-Add-missing-InventoryType.patch b/patches/unapplied/server/0607-Add-missing-InventoryType.patch similarity index 100% rename from patches/unapplied/0607-Add-missing-InventoryType.patch rename to patches/unapplied/server/0607-Add-missing-InventoryType.patch diff --git a/patches/unapplied/0608-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/unapplied/server/0608-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/unapplied/0608-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/unapplied/server/0608-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/unapplied/0609-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/unapplied/server/0609-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/unapplied/0609-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/unapplied/server/0609-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/unapplied/0610-Check-requirement-before-suggesting-root-nodes.patch b/patches/unapplied/server/0610-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/unapplied/0610-Check-requirement-before-suggesting-root-nodes.patch rename to patches/unapplied/server/0610-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/unapplied/0611-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/unapplied/server/0611-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/unapplied/0611-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/unapplied/server/0611-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/unapplied/0612-Add-packet-limiter-config.patch b/patches/unapplied/server/0612-Add-packet-limiter-config.patch similarity index 100% rename from patches/unapplied/0612-Add-packet-limiter-config.patch rename to patches/unapplied/server/0612-Add-packet-limiter-config.patch diff --git a/patches/unapplied/0613-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/unapplied/server/0613-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/unapplied/0613-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/unapplied/server/0613-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/unapplied/0614-Ensure-valid-vehicle-status.patch b/patches/unapplied/server/0614-Ensure-valid-vehicle-status.patch similarity index 100% rename from patches/unapplied/0614-Ensure-valid-vehicle-status.patch rename to patches/unapplied/server/0614-Ensure-valid-vehicle-status.patch diff --git a/patches/unapplied/0615-Prevent-softlocked-end-exit-portal-generation.patch b/patches/unapplied/server/0615-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/unapplied/0615-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/unapplied/server/0615-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/unapplied/0616-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/unapplied/server/0616-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/unapplied/0616-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/unapplied/server/0616-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/unapplied/0617-Don-t-log-debug-logging-being-disabled.patch b/patches/unapplied/server/0617-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/unapplied/0617-Don-t-log-debug-logging-being-disabled.patch rename to patches/unapplied/server/0617-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/unapplied/0618-fix-various-menus-with-empty-level-accesses.patch b/patches/unapplied/server/0618-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/unapplied/0618-fix-various-menus-with-empty-level-accesses.patch rename to patches/unapplied/server/0618-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/unapplied/0619-Preserve-overstacked-loot.patch b/patches/unapplied/server/0619-Preserve-overstacked-loot.patch similarity index 100% rename from patches/unapplied/0619-Preserve-overstacked-loot.patch rename to patches/unapplied/server/0619-Preserve-overstacked-loot.patch diff --git a/patches/unapplied/0620-Update-head-rotation-in-missing-places.patch b/patches/unapplied/server/0620-Update-head-rotation-in-missing-places.patch similarity index 100% rename from patches/unapplied/0620-Update-head-rotation-in-missing-places.patch rename to patches/unapplied/server/0620-Update-head-rotation-in-missing-places.patch diff --git a/patches/unapplied/0621-prevent-unintended-light-block-manipulation.patch b/patches/unapplied/server/0621-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/unapplied/0621-prevent-unintended-light-block-manipulation.patch rename to patches/unapplied/server/0621-prevent-unintended-light-block-manipulation.patch diff --git a/patches/unapplied/0622-Fix-CraftCriteria-defaults-map.patch b/patches/unapplied/server/0622-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/unapplied/0622-Fix-CraftCriteria-defaults-map.patch rename to patches/unapplied/server/0622-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/unapplied/0623-Fix-upstreams-block-state-factories.patch b/patches/unapplied/server/0623-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/unapplied/0623-Fix-upstreams-block-state-factories.patch rename to patches/unapplied/server/0623-Fix-upstreams-block-state-factories.patch diff --git a/patches/unapplied/0624-Configurable-feature-seeds.patch b/patches/unapplied/server/0624-Configurable-feature-seeds.patch similarity index 100% rename from patches/unapplied/0624-Configurable-feature-seeds.patch rename to patches/unapplied/server/0624-Configurable-feature-seeds.patch diff --git a/patches/unapplied/0625-Add-root-admin-user-detection.patch b/patches/unapplied/server/0625-Add-root-admin-user-detection.patch similarity index 100% rename from patches/unapplied/0625-Add-root-admin-user-detection.patch rename to patches/unapplied/server/0625-Add-root-admin-user-detection.patch diff --git a/patches/unapplied/0626-don-t-attempt-to-teleport-dead-entities.patch b/patches/unapplied/server/0626-don-t-attempt-to-teleport-dead-entities.patch similarity index 100% rename from patches/unapplied/0626-don-t-attempt-to-teleport-dead-entities.patch rename to patches/unapplied/server/0626-don-t-attempt-to-teleport-dead-entities.patch diff --git a/patches/unapplied/0627-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/unapplied/server/0627-Prevent-excessive-velocity-through-repeated-crits.patch similarity index 100% rename from patches/unapplied/0627-Prevent-excessive-velocity-through-repeated-crits.patch rename to patches/unapplied/server/0627-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/unapplied/0628-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/unapplied/server/0628-Remove-client-side-code-using-deprecated-for-removal.patch similarity index 100% rename from patches/unapplied/0628-Remove-client-side-code-using-deprecated-for-removal.patch rename to patches/unapplied/server/0628-Remove-client-side-code-using-deprecated-for-removal.patch diff --git a/patches/unapplied/0629-Fix-Spigot-growth-modifiers.patch b/patches/unapplied/server/0629-Fix-Spigot-growth-modifiers.patch similarity index 100% rename from patches/unapplied/0629-Fix-Spigot-growth-modifiers.patch rename to patches/unapplied/server/0629-Fix-Spigot-growth-modifiers.patch diff --git a/patches/unapplied/0630-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/unapplied/server/0630-Prevent-ContainerOpenersCounter-openCount-from-going.patch similarity index 100% rename from patches/unapplied/0630-Prevent-ContainerOpenersCounter-openCount-from-going.patch rename to patches/unapplied/server/0630-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/unapplied/0631-Add-PlayerItemFrameChangeEvent.patch b/patches/unapplied/server/0631-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/unapplied/0631-Add-PlayerItemFrameChangeEvent.patch rename to patches/unapplied/server/0631-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/unapplied/0632-Optimize-HashMapPalette.patch b/patches/unapplied/server/0632-Optimize-HashMapPalette.patch similarity index 100% rename from patches/unapplied/0632-Optimize-HashMapPalette.patch rename to patches/unapplied/server/0632-Optimize-HashMapPalette.patch diff --git a/patches/unapplied/0633-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/unapplied/server/0633-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch similarity index 100% rename from patches/unapplied/0633-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch rename to patches/unapplied/server/0633-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/unapplied/0634-Add-more-Campfire-API.patch b/patches/unapplied/server/0634-Add-more-Campfire-API.patch similarity index 100% rename from patches/unapplied/0634-Add-more-Campfire-API.patch rename to patches/unapplied/server/0634-Add-more-Campfire-API.patch diff --git a/patches/unapplied/0635-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/unapplied/server/0635-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/unapplied/0635-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/unapplied/server/0635-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/unapplied/0636-Forward-CraftEntity-in-teleport-command.patch b/patches/unapplied/server/0636-Forward-CraftEntity-in-teleport-command.patch similarity index 100% rename from patches/unapplied/0636-Forward-CraftEntity-in-teleport-command.patch rename to patches/unapplied/server/0636-Forward-CraftEntity-in-teleport-command.patch diff --git a/patches/unapplied/0637-Improve-scoreboard-entries.patch b/patches/unapplied/server/0637-Improve-scoreboard-entries.patch similarity index 100% rename from patches/unapplied/0637-Improve-scoreboard-entries.patch rename to patches/unapplied/server/0637-Improve-scoreboard-entries.patch diff --git a/patches/unapplied/0638-Entity-powdered-snow-API.patch b/patches/unapplied/server/0638-Entity-powdered-snow-API.patch similarity index 100% rename from patches/unapplied/0638-Entity-powdered-snow-API.patch rename to patches/unapplied/server/0638-Entity-powdered-snow-API.patch diff --git a/patches/unapplied/0639-Add-API-for-item-entity-health.patch b/patches/unapplied/server/0639-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/unapplied/0639-Add-API-for-item-entity-health.patch rename to patches/unapplied/server/0639-Add-API-for-item-entity-health.patch diff --git a/patches/unapplied/0640-Configurable-max-block-light-for-monster-spawning.patch b/patches/unapplied/server/0640-Configurable-max-block-light-for-monster-spawning.patch similarity index 100% rename from patches/unapplied/0640-Configurable-max-block-light-for-monster-spawning.patch rename to patches/unapplied/server/0640-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/unapplied/0641-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/unapplied/server/0641-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch similarity index 100% rename from patches/unapplied/0641-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch rename to patches/unapplied/server/0641-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch diff --git a/patches/unapplied/0642-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/unapplied/server/0642-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/unapplied/0642-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/unapplied/server/0642-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/unapplied/0643-Bucketable-API.patch b/patches/unapplied/server/0643-Bucketable-API.patch similarity index 100% rename from patches/unapplied/0643-Bucketable-API.patch rename to patches/unapplied/server/0643-Bucketable-API.patch diff --git a/patches/unapplied/0644-Validate-usernames.patch b/patches/unapplied/server/0644-Validate-usernames.patch similarity index 100% rename from patches/unapplied/0644-Validate-usernames.patch rename to patches/unapplied/server/0644-Validate-usernames.patch diff --git a/patches/unapplied/0645-Make-water-animal-spawn-height-configurable.patch b/patches/unapplied/server/0645-Make-water-animal-spawn-height-configurable.patch similarity index 100% rename from patches/unapplied/0645-Make-water-animal-spawn-height-configurable.patch rename to patches/unapplied/server/0645-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/unapplied/0646-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/unapplied/server/0646-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/unapplied/0646-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/unapplied/server/0646-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/unapplied/0647-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/unapplied/server/0647-Add-config-option-for-worlds-affected-by-time-cmd.patch similarity index 100% rename from patches/unapplied/0647-Add-config-option-for-worlds-affected-by-time-cmd.patch rename to patches/unapplied/server/0647-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/unapplied/0648-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/unapplied/server/0648-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch similarity index 100% rename from patches/unapplied/0648-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch rename to patches/unapplied/server/0648-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch diff --git a/patches/unapplied/0649-Multiple-Entries-with-Scoreboards.patch b/patches/unapplied/server/0649-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/unapplied/0649-Multiple-Entries-with-Scoreboards.patch rename to patches/unapplied/server/0649-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/unapplied/0650-Reset-placed-block-on-exception.patch b/patches/unapplied/server/0650-Reset-placed-block-on-exception.patch similarity index 100% rename from patches/unapplied/0650-Reset-placed-block-on-exception.patch rename to patches/unapplied/server/0650-Reset-placed-block-on-exception.patch diff --git a/patches/unapplied/0651-Add-configurable-height-for-slime-spawn.patch b/patches/unapplied/server/0651-Add-configurable-height-for-slime-spawn.patch similarity index 100% rename from patches/unapplied/0651-Add-configurable-height-for-slime-spawn.patch rename to patches/unapplied/server/0651-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/unapplied/0652-Fix-xp-reward-for-baby-zombies.patch b/patches/unapplied/server/0652-Fix-xp-reward-for-baby-zombies.patch similarity index 100% rename from patches/unapplied/0652-Fix-xp-reward-for-baby-zombies.patch rename to patches/unapplied/server/0652-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/unapplied/0653-Multi-Block-Change-API-Implementation.patch b/patches/unapplied/server/0653-Multi-Block-Change-API-Implementation.patch similarity index 100% rename from patches/unapplied/0653-Multi-Block-Change-API-Implementation.patch rename to patches/unapplied/server/0653-Multi-Block-Change-API-Implementation.patch diff --git a/patches/unapplied/0654-Fix-NotePlayEvent.patch b/patches/unapplied/server/0654-Fix-NotePlayEvent.patch similarity index 100% rename from patches/unapplied/0654-Fix-NotePlayEvent.patch rename to patches/unapplied/server/0654-Fix-NotePlayEvent.patch diff --git a/patches/unapplied/0655-Freeze-Tick-Lock-API.patch b/patches/unapplied/server/0655-Freeze-Tick-Lock-API.patch similarity index 100% rename from patches/unapplied/0655-Freeze-Tick-Lock-API.patch rename to patches/unapplied/server/0655-Freeze-Tick-Lock-API.patch diff --git a/patches/unapplied/0656-More-PotionEffectType-API.patch b/patches/unapplied/server/0656-More-PotionEffectType-API.patch similarity index 100% rename from patches/unapplied/0656-More-PotionEffectType-API.patch rename to patches/unapplied/server/0656-More-PotionEffectType-API.patch diff --git a/patches/unapplied/0657-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/unapplied/server/0657-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch similarity index 100% rename from patches/unapplied/0657-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch rename to patches/unapplied/server/0657-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/unapplied/0658-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/unapplied/server/0658-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 100% rename from patches/unapplied/0658-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/unapplied/server/0658-API-for-creating-command-sender-which-forwards-feedb.patch diff --git a/patches/unapplied/0659-Add-missing-structure-set-seed-configs.patch b/patches/unapplied/server/0659-Add-missing-structure-set-seed-configs.patch similarity index 100% rename from patches/unapplied/0659-Add-missing-structure-set-seed-configs.patch rename to patches/unapplied/server/0659-Add-missing-structure-set-seed-configs.patch diff --git a/patches/unapplied/0660-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/unapplied/server/0660-Fix-cancelled-powdered-snow-bucket-placement.patch similarity index 100% rename from patches/unapplied/0660-Fix-cancelled-powdered-snow-bucket-placement.patch rename to patches/unapplied/server/0660-Fix-cancelled-powdered-snow-bucket-placement.patch diff --git a/patches/unapplied/0661-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/unapplied/server/0661-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch similarity index 100% rename from patches/unapplied/0661-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch rename to patches/unapplied/server/0661-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch diff --git a/patches/unapplied/0662-Add-GameEvent-tags.patch b/patches/unapplied/server/0662-Add-GameEvent-tags.patch similarity index 100% rename from patches/unapplied/0662-Add-GameEvent-tags.patch rename to patches/unapplied/server/0662-Add-GameEvent-tags.patch diff --git a/patches/unapplied/0663-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/unapplied/server/0663-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch similarity index 100% rename from patches/unapplied/0663-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch rename to patches/unapplied/server/0663-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch diff --git a/patches/unapplied/0664-Furnace-RecipesUsed-API.patch b/patches/unapplied/server/0664-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/unapplied/0664-Furnace-RecipesUsed-API.patch rename to patches/unapplied/server/0664-Furnace-RecipesUsed-API.patch diff --git a/patches/unapplied/0665-Configurable-sculk-sensor-listener-range.patch b/patches/unapplied/server/0665-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/unapplied/0665-Configurable-sculk-sensor-listener-range.patch rename to patches/unapplied/server/0665-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/unapplied/0666-Add-missing-block-data-API.patch b/patches/unapplied/server/0666-Add-missing-block-data-API.patch similarity index 100% rename from patches/unapplied/0666-Add-missing-block-data-API.patch rename to patches/unapplied/server/0666-Add-missing-block-data-API.patch diff --git a/patches/unapplied/0667-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/unapplied/server/0667-Option-to-have-default-CustomSpawners-in-custom-worl.patch similarity index 100% rename from patches/unapplied/0667-Option-to-have-default-CustomSpawners-in-custom-worl.patch rename to patches/unapplied/server/0667-Option-to-have-default-CustomSpawners-in-custom-worl.patch diff --git a/patches/unapplied/0668-Put-world-into-worldlist-before-initing-the-world.patch b/patches/unapplied/server/0668-Put-world-into-worldlist-before-initing-the-world.patch similarity index 100% rename from patches/unapplied/0668-Put-world-into-worldlist-before-initing-the-world.patch rename to patches/unapplied/server/0668-Put-world-into-worldlist-before-initing-the-world.patch diff --git a/patches/unapplied/0669-Custom-Potion-Mixes.patch b/patches/unapplied/server/0669-Custom-Potion-Mixes.patch similarity index 100% rename from patches/unapplied/0669-Custom-Potion-Mixes.patch rename to patches/unapplied/server/0669-Custom-Potion-Mixes.patch diff --git a/patches/unapplied/0670-Force-close-world-loading-screen.patch b/patches/unapplied/server/0670-Force-close-world-loading-screen.patch similarity index 100% rename from patches/unapplied/0670-Force-close-world-loading-screen.patch rename to patches/unapplied/server/0670-Force-close-world-loading-screen.patch diff --git a/patches/unapplied/0671-Fix-falling-block-spawn-methods.patch b/patches/unapplied/server/0671-Fix-falling-block-spawn-methods.patch similarity index 100% rename from patches/unapplied/0671-Fix-falling-block-spawn-methods.patch rename to patches/unapplied/server/0671-Fix-falling-block-spawn-methods.patch diff --git a/patches/unapplied/0672-Expose-furnace-minecart-push-values.patch b/patches/unapplied/server/0672-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/unapplied/0672-Expose-furnace-minecart-push-values.patch rename to patches/unapplied/server/0672-Expose-furnace-minecart-push-values.patch diff --git a/patches/unapplied/0673-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/unapplied/server/0673-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/unapplied/0673-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/unapplied/server/0673-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/unapplied/0674-More-Projectile-API.patch b/patches/unapplied/server/0674-More-Projectile-API.patch similarity index 100% rename from patches/unapplied/0674-More-Projectile-API.patch rename to patches/unapplied/server/0674-More-Projectile-API.patch diff --git a/patches/unapplied/0675-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/unapplied/server/0675-Fix-swamp-hut-cat-generation-deadlock.patch similarity index 100% rename from patches/unapplied/0675-Fix-swamp-hut-cat-generation-deadlock.patch rename to patches/unapplied/server/0675-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/unapplied/0676-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/unapplied/server/0676-Don-t-allow-vehicle-movement-from-players-while-tele.patch similarity index 100% rename from patches/unapplied/0676-Don-t-allow-vehicle-movement-from-players-while-tele.patch rename to patches/unapplied/server/0676-Don-t-allow-vehicle-movement-from-players-while-tele.patch diff --git a/patches/unapplied/0677-Implement-getComputedBiome-API.patch b/patches/unapplied/server/0677-Implement-getComputedBiome-API.patch similarity index 100% rename from patches/unapplied/0677-Implement-getComputedBiome-API.patch rename to patches/unapplied/server/0677-Implement-getComputedBiome-API.patch diff --git a/patches/unapplied/0678-Make-some-itemstacks-nonnull.patch b/patches/unapplied/server/0678-Make-some-itemstacks-nonnull.patch similarity index 100% rename from patches/unapplied/0678-Make-some-itemstacks-nonnull.patch rename to patches/unapplied/server/0678-Make-some-itemstacks-nonnull.patch diff --git a/patches/unapplied/0679-Implement-enchantWithLevels-API.patch b/patches/unapplied/server/0679-Implement-enchantWithLevels-API.patch similarity index 100% rename from patches/unapplied/0679-Implement-enchantWithLevels-API.patch rename to patches/unapplied/server/0679-Implement-enchantWithLevels-API.patch diff --git a/patches/unapplied/0680-Fix-saving-in-unloadWorld.patch b/patches/unapplied/server/0680-Fix-saving-in-unloadWorld.patch similarity index 100% rename from patches/unapplied/0680-Fix-saving-in-unloadWorld.patch rename to patches/unapplied/server/0680-Fix-saving-in-unloadWorld.patch diff --git a/patches/unapplied/0681-Buffer-OOB-setBlock-calls.patch b/patches/unapplied/server/0681-Buffer-OOB-setBlock-calls.patch similarity index 100% rename from patches/unapplied/0681-Buffer-OOB-setBlock-calls.patch rename to patches/unapplied/server/0681-Buffer-OOB-setBlock-calls.patch diff --git a/patches/unapplied/0682-Add-TameableDeathMessageEvent.patch b/patches/unapplied/server/0682-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/unapplied/0682-Add-TameableDeathMessageEvent.patch rename to patches/unapplied/server/0682-Add-TameableDeathMessageEvent.patch diff --git a/patches/unapplied/0683-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/unapplied/server/0683-Fix-new-block-data-for-EntityChangeBlockEvent.patch similarity index 100% rename from patches/unapplied/0683-Fix-new-block-data-for-EntityChangeBlockEvent.patch rename to patches/unapplied/server/0683-Fix-new-block-data-for-EntityChangeBlockEvent.patch diff --git a/patches/unapplied/0684-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/unapplied/server/0684-fix-player-loottables-running-when-mob-loot-gamerule.patch similarity index 100% rename from patches/unapplied/0684-fix-player-loottables-running-when-mob-loot-gamerule.patch rename to patches/unapplied/server/0684-fix-player-loottables-running-when-mob-loot-gamerule.patch diff --git a/patches/unapplied/0685-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/unapplied/server/0685-Ensure-entity-passenger-world-matches-ridden-entity.patch similarity index 100% rename from patches/unapplied/0685-Ensure-entity-passenger-world-matches-ridden-entity.patch rename to patches/unapplied/server/0685-Ensure-entity-passenger-world-matches-ridden-entity.patch diff --git a/patches/unapplied/0686-Cache-resource-keys-and-optimize-reference-Holder-ta.patch b/patches/unapplied/server/0686-Cache-resource-keys-and-optimize-reference-Holder-ta.patch similarity index 100% rename from patches/unapplied/0686-Cache-resource-keys-and-optimize-reference-Holder-ta.patch rename to patches/unapplied/server/0686-Cache-resource-keys-and-optimize-reference-Holder-ta.patch diff --git a/patches/unapplied/0687-Allow-changing-the-EnderDragon-podium.patch b/patches/unapplied/server/0687-Allow-changing-the-EnderDragon-podium.patch similarity index 100% rename from patches/unapplied/0687-Allow-changing-the-EnderDragon-podium.patch rename to patches/unapplied/server/0687-Allow-changing-the-EnderDragon-podium.patch diff --git a/patches/unapplied/0688-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/unapplied/server/0688-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/unapplied/0688-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/unapplied/server/0688-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/unapplied/0689-Prevent-tile-entity-copies-loading-chunks.patch b/patches/unapplied/server/0689-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/unapplied/0689-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/unapplied/server/0689-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/unapplied/0690-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/unapplied/server/0690-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 100% rename from patches/unapplied/0690-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/unapplied/server/0690-Use-username-instead-of-display-name-in-PlayerList-g.patch diff --git a/patches/unapplied/0691-Expand-PlayerItemDamageEvent.patch b/patches/unapplied/server/0691-Expand-PlayerItemDamageEvent.patch similarity index 100% rename from patches/unapplied/0691-Expand-PlayerItemDamageEvent.patch rename to patches/unapplied/server/0691-Expand-PlayerItemDamageEvent.patch diff --git a/patches/unapplied/0692-WorldCreator-keepSpawnLoaded.patch b/patches/unapplied/server/0692-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/unapplied/0692-WorldCreator-keepSpawnLoaded.patch rename to patches/unapplied/server/0692-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/unapplied/0693-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/unapplied/server/0693-Fix-CME-in-CraftPersistentDataTypeRegistry.patch similarity index 100% rename from patches/unapplied/0693-Fix-CME-in-CraftPersistentDataTypeRegistry.patch rename to patches/unapplied/server/0693-Fix-CME-in-CraftPersistentDataTypeRegistry.patch diff --git a/patches/unapplied/0694-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/unapplied/server/0694-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/unapplied/0694-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/unapplied/server/0694-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/unapplied/0695-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/unapplied/server/0695-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/unapplied/0695-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/unapplied/server/0695-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/unapplied/0696-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/unapplied/server/0696-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/unapplied/0696-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/unapplied/server/0696-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/unapplied/0697-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/unapplied/server/0697-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/unapplied/0697-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/unapplied/server/0697-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/unapplied/0698-Add-PlayerStopUsingItemEvent.patch b/patches/unapplied/server/0698-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/unapplied/0698-Add-PlayerStopUsingItemEvent.patch rename to patches/unapplied/server/0698-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/unapplied/0699-Don-t-tick-markers.patch b/patches/unapplied/server/0699-Don-t-tick-markers.patch similarity index 100% rename from patches/unapplied/0699-Don-t-tick-markers.patch rename to patches/unapplied/server/0699-Don-t-tick-markers.patch diff --git a/patches/unapplied/0700-Expand-FallingBlock-API.patch b/patches/unapplied/server/0700-Expand-FallingBlock-API.patch similarity index 100% rename from patches/unapplied/0700-Expand-FallingBlock-API.patch rename to patches/unapplied/server/0700-Expand-FallingBlock-API.patch diff --git a/patches/unapplied/0701-Add-support-for-Proxy-Protocol.patch b/patches/unapplied/server/0701-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/unapplied/0701-Add-support-for-Proxy-Protocol.patch rename to patches/unapplied/server/0701-Add-support-for-Proxy-Protocol.patch diff --git a/patches/unapplied/0702-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/unapplied/server/0702-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/unapplied/0702-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/unapplied/server/0702-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/unapplied/0703-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/unapplied/server/0703-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/unapplied/0703-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/unapplied/server/0703-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/unapplied/0704-Sanitize-sent-BlockEntity-NBT.patch b/patches/unapplied/server/0704-Sanitize-sent-BlockEntity-NBT.patch similarity index 100% rename from patches/unapplied/0704-Sanitize-sent-BlockEntity-NBT.patch rename to patches/unapplied/server/0704-Sanitize-sent-BlockEntity-NBT.patch diff --git a/patches/unapplied/0705-Disable-component-selector-resolving-in-books-by-def.patch b/patches/unapplied/server/0705-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/unapplied/0705-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/unapplied/server/0705-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/unapplied/0706-Prevent-entity-loading-causing-async-lookups.patch b/patches/unapplied/server/0706-Prevent-entity-loading-causing-async-lookups.patch similarity index 100% rename from patches/unapplied/0706-Prevent-entity-loading-causing-async-lookups.patch rename to patches/unapplied/server/0706-Prevent-entity-loading-causing-async-lookups.patch diff --git a/patches/unapplied/0707-Throw-exception-on-world-create-while-being-ticked.patch b/patches/unapplied/server/0707-Throw-exception-on-world-create-while-being-ticked.patch similarity index 100% rename from patches/unapplied/0707-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/unapplied/server/0707-Throw-exception-on-world-create-while-being-ticked.patch diff --git a/patches/unapplied/0708-Dont-resent-entity-on-art-update.patch b/patches/unapplied/server/0708-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/unapplied/0708-Dont-resent-entity-on-art-update.patch rename to patches/unapplied/server/0708-Dont-resent-entity-on-art-update.patch diff --git a/patches/unapplied/0709-Add-WardenAngerChangeEvent.patch b/patches/unapplied/server/0709-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/unapplied/0709-Add-WardenAngerChangeEvent.patch rename to patches/unapplied/server/0709-Add-WardenAngerChangeEvent.patch diff --git a/patches/unapplied/0710-Add-option-for-strict-advancement-dimension-checks.patch b/patches/unapplied/server/0710-Add-option-for-strict-advancement-dimension-checks.patch similarity index 100% rename from patches/unapplied/0710-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/unapplied/server/0710-Add-option-for-strict-advancement-dimension-checks.patch diff --git a/patches/unapplied/0711-Add-missing-important-BlockStateListPopulator-method.patch b/patches/unapplied/server/0711-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/unapplied/0711-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/unapplied/server/0711-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/unapplied/0712-Nameable-Banner-API.patch b/patches/unapplied/server/0712-Nameable-Banner-API.patch similarity index 100% rename from patches/unapplied/0712-Nameable-Banner-API.patch rename to patches/unapplied/server/0712-Nameable-Banner-API.patch diff --git a/patches/unapplied/0713-Don-t-broadcast-messages-to-command-blocks.patch b/patches/unapplied/server/0713-Don-t-broadcast-messages-to-command-blocks.patch similarity index 100% rename from patches/unapplied/0713-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/unapplied/server/0713-Don-t-broadcast-messages-to-command-blocks.patch diff --git a/patches/unapplied/0714-Prevent-empty-items-from-being-added-to-world.patch b/patches/unapplied/server/0714-Prevent-empty-items-from-being-added-to-world.patch similarity index 100% rename from patches/unapplied/0714-Prevent-empty-items-from-being-added-to-world.patch rename to patches/unapplied/server/0714-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/unapplied/0715-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/unapplied/server/0715-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/unapplied/0715-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/unapplied/server/0715-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/unapplied/0716-Add-Player-getFishHook.patch b/patches/unapplied/server/0716-Add-Player-getFishHook.patch similarity index 100% rename from patches/unapplied/0716-Add-Player-getFishHook.patch rename to patches/unapplied/server/0716-Add-Player-getFishHook.patch diff --git a/patches/unapplied/0717-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/unapplied/server/0717-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/unapplied/0717-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/unapplied/server/0717-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/unapplied/0718-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/unapplied/server/0718-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 100% rename from patches/unapplied/0718-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/unapplied/server/0718-Add-various-missing-EntityDropItemEvent-calls.patch diff --git a/patches/unapplied/0719-Fix-Bee-flower-NPE.patch b/patches/unapplied/server/0719-Fix-Bee-flower-NPE.patch similarity index 100% rename from patches/unapplied/0719-Fix-Bee-flower-NPE.patch rename to patches/unapplied/server/0719-Fix-Bee-flower-NPE.patch diff --git a/patches/unapplied/0720-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/unapplied/server/0720-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 100% rename from patches/unapplied/0720-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/unapplied/server/0720-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch diff --git a/patches/unapplied/0721-More-Teleport-API.patch b/patches/unapplied/server/0721-More-Teleport-API.patch similarity index 100% rename from patches/unapplied/0721-More-Teleport-API.patch rename to patches/unapplied/server/0721-More-Teleport-API.patch diff --git a/patches/unapplied/0722-Add-EntityPortalReadyEvent.patch b/patches/unapplied/server/0722-Add-EntityPortalReadyEvent.patch similarity index 100% rename from patches/unapplied/0722-Add-EntityPortalReadyEvent.patch rename to patches/unapplied/server/0722-Add-EntityPortalReadyEvent.patch diff --git a/patches/unapplied/0723-Don-t-use-level-random-in-entity-constructors.patch b/patches/unapplied/server/0723-Don-t-use-level-random-in-entity-constructors.patch similarity index 100% rename from patches/unapplied/0723-Don-t-use-level-random-in-entity-constructors.patch rename to patches/unapplied/server/0723-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/unapplied/0724-Send-block-entities-after-destroy-prediction.patch b/patches/unapplied/server/0724-Send-block-entities-after-destroy-prediction.patch similarity index 100% rename from patches/unapplied/0724-Send-block-entities-after-destroy-prediction.patch rename to patches/unapplied/server/0724-Send-block-entities-after-destroy-prediction.patch diff --git a/patches/unapplied/0725-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/unapplied/server/0725-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 100% rename from patches/unapplied/0725-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/unapplied/server/0725-Warn-on-plugins-accessing-faraway-chunks.patch diff --git a/patches/unapplied/0726-Custom-Chat-Completion-Suggestions-API.patch b/patches/unapplied/server/0726-Custom-Chat-Completion-Suggestions-API.patch similarity index 100% rename from patches/unapplied/0726-Custom-Chat-Completion-Suggestions-API.patch rename to patches/unapplied/server/0726-Custom-Chat-Completion-Suggestions-API.patch diff --git a/patches/unapplied/0727-Add-and-fix-missing-BlockFadeEvents.patch b/patches/unapplied/server/0727-Add-and-fix-missing-BlockFadeEvents.patch similarity index 100% rename from patches/unapplied/0727-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/unapplied/server/0727-Add-and-fix-missing-BlockFadeEvents.patch diff --git a/patches/unapplied/0728-Collision-API.patch b/patches/unapplied/server/0728-Collision-API.patch similarity index 100% rename from patches/unapplied/0728-Collision-API.patch rename to patches/unapplied/server/0728-Collision-API.patch diff --git a/patches/unapplied/0729-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/unapplied/server/0729-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/unapplied/0729-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/unapplied/server/0729-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/unapplied/0730-Block-Ticking-API.patch b/patches/unapplied/server/0730-Block-Ticking-API.patch similarity index 100% rename from patches/unapplied/0730-Block-Ticking-API.patch rename to patches/unapplied/server/0730-Block-Ticking-API.patch diff --git a/patches/unapplied/0731-Add-Velocity-IP-Forwarding-Support.patch b/patches/unapplied/server/0731-Add-Velocity-IP-Forwarding-Support.patch similarity index 100% rename from patches/unapplied/0731-Add-Velocity-IP-Forwarding-Support.patch rename to patches/unapplied/server/0731-Add-Velocity-IP-Forwarding-Support.patch diff --git a/patches/unapplied/0732-Add-NamespacedKey-biome-methods.patch b/patches/unapplied/server/0732-Add-NamespacedKey-biome-methods.patch similarity index 100% rename from patches/unapplied/0732-Add-NamespacedKey-biome-methods.patch rename to patches/unapplied/server/0732-Add-NamespacedKey-biome-methods.patch diff --git a/patches/unapplied/0733-Fix-plugin-loggers-on-server-shutdown.patch b/patches/unapplied/server/0733-Fix-plugin-loggers-on-server-shutdown.patch similarity index 100% rename from patches/unapplied/0733-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/unapplied/server/0733-Fix-plugin-loggers-on-server-shutdown.patch diff --git a/patches/unapplied/0734-Stop-large-look-changes-from-crashing-the-server.patch b/patches/unapplied/server/0734-Stop-large-look-changes-from-crashing-the-server.patch similarity index 100% rename from patches/unapplied/0734-Stop-large-look-changes-from-crashing-the-server.patch rename to patches/unapplied/server/0734-Stop-large-look-changes-from-crashing-the-server.patch diff --git a/patches/unapplied/0735-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/unapplied/server/0735-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 100% rename from patches/unapplied/0735-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/unapplied/server/0735-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/unapplied/0736-Missing-eating-regain-reason.patch b/patches/unapplied/server/0736-Missing-eating-regain-reason.patch similarity index 100% rename from patches/unapplied/0736-Missing-eating-regain-reason.patch rename to patches/unapplied/server/0736-Missing-eating-regain-reason.patch diff --git a/patches/unapplied/0737-Missing-effect-cause.patch b/patches/unapplied/server/0737-Missing-effect-cause.patch similarity index 100% rename from patches/unapplied/0737-Missing-effect-cause.patch rename to patches/unapplied/server/0737-Missing-effect-cause.patch diff --git a/patches/unapplied/0738-Added-byte-array-serialization-deserialization-for-P.patch b/patches/unapplied/server/0738-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/unapplied/0738-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/unapplied/server/0738-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/unapplied/0739-Call-BlockPhysicsEvent-more-often.patch b/patches/unapplied/server/0739-Call-BlockPhysicsEvent-more-often.patch similarity index 100% rename from patches/unapplied/0739-Call-BlockPhysicsEvent-more-often.patch rename to patches/unapplied/server/0739-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/unapplied/0740-Configurable-chat-thread-limit.patch b/patches/unapplied/server/0740-Configurable-chat-thread-limit.patch similarity index 100% rename from patches/unapplied/0740-Configurable-chat-thread-limit.patch rename to patches/unapplied/server/0740-Configurable-chat-thread-limit.patch diff --git a/patches/unapplied/0741-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/unapplied/server/0741-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch similarity index 100% rename from patches/unapplied/0741-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch rename to patches/unapplied/server/0741-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch diff --git a/patches/unapplied/0742-fix-Jigsaw-block-kicking-user.patch b/patches/unapplied/server/0742-fix-Jigsaw-block-kicking-user.patch similarity index 100% rename from patches/unapplied/0742-fix-Jigsaw-block-kicking-user.patch rename to patches/unapplied/server/0742-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/unapplied/0743-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/unapplied/server/0743-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 100% rename from patches/unapplied/0743-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/unapplied/server/0743-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/unapplied/0744-Add-getDrops-to-BlockState.patch b/patches/unapplied/server/0744-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/unapplied/0744-Add-getDrops-to-BlockState.patch rename to patches/unapplied/server/0744-Add-getDrops-to-BlockState.patch diff --git a/patches/unapplied/0745-Fix-a-bunch-of-vanilla-bugs.patch b/patches/unapplied/server/0745-Fix-a-bunch-of-vanilla-bugs.patch similarity index 100% rename from patches/unapplied/0745-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/unapplied/server/0745-Fix-a-bunch-of-vanilla-bugs.patch diff --git a/patches/unapplied/0746-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/unapplied/server/0746-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 100% rename from patches/unapplied/0746-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/unapplied/server/0746-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/unapplied/0747-Fix-custom-piglin-loved-items.patch b/patches/unapplied/server/0747-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/unapplied/0747-Fix-custom-piglin-loved-items.patch rename to patches/unapplied/server/0747-Fix-custom-piglin-loved-items.patch diff --git a/patches/unapplied/0748-EntityPickupItemEvent-fixes.patch b/patches/unapplied/server/0748-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/unapplied/0748-EntityPickupItemEvent-fixes.patch rename to patches/unapplied/server/0748-EntityPickupItemEvent-fixes.patch diff --git a/patches/unapplied/0749-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/unapplied/server/0749-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 100% rename from patches/unapplied/0749-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/unapplied/server/0749-Correctly-handle-interactions-with-items-on-cooldown.patch diff --git a/patches/unapplied/0750-Add-PlayerInventorySlotChangeEvent.patch b/patches/unapplied/server/0750-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/unapplied/0750-Add-PlayerInventorySlotChangeEvent.patch rename to patches/unapplied/server/0750-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/unapplied/0751-Elder-Guardian-appearance-API.patch b/patches/unapplied/server/0751-Elder-Guardian-appearance-API.patch similarity index 100% rename from patches/unapplied/0751-Elder-Guardian-appearance-API.patch rename to patches/unapplied/server/0751-Elder-Guardian-appearance-API.patch diff --git a/patches/unapplied/0752-Add-entity-knockback-API.patch b/patches/unapplied/server/0752-Add-entity-knockback-API.patch similarity index 100% rename from patches/unapplied/0752-Add-entity-knockback-API.patch rename to patches/unapplied/server/0752-Add-entity-knockback-API.patch diff --git a/patches/unapplied/0753-Detect-headless-JREs.patch b/patches/unapplied/server/0753-Detect-headless-JREs.patch similarity index 100% rename from patches/unapplied/0753-Detect-headless-JREs.patch rename to patches/unapplied/server/0753-Detect-headless-JREs.patch diff --git a/patches/unapplied/0754-fix-entity-vehicle-collision-event-not-called.patch b/patches/unapplied/server/0754-fix-entity-vehicle-collision-event-not-called.patch similarity index 100% rename from patches/unapplied/0754-fix-entity-vehicle-collision-event-not-called.patch rename to patches/unapplied/server/0754-fix-entity-vehicle-collision-event-not-called.patch diff --git a/patches/unapplied/0755-Add-EntityToggleSitEvent.patch b/patches/unapplied/server/0755-Add-EntityToggleSitEvent.patch similarity index 100% rename from patches/unapplied/0755-Add-EntityToggleSitEvent.patch rename to patches/unapplied/server/0755-Add-EntityToggleSitEvent.patch diff --git a/patches/unapplied/0756-Add-fire-tick-delay-option.patch b/patches/unapplied/server/0756-Add-fire-tick-delay-option.patch similarity index 100% rename from patches/unapplied/0756-Add-fire-tick-delay-option.patch rename to patches/unapplied/server/0756-Add-fire-tick-delay-option.patch diff --git a/patches/unapplied/0757-Add-Moving-Piston-API.patch b/patches/unapplied/server/0757-Add-Moving-Piston-API.patch similarity index 100% rename from patches/unapplied/0757-Add-Moving-Piston-API.patch rename to patches/unapplied/server/0757-Add-Moving-Piston-API.patch diff --git a/patches/unapplied/0758-Ignore-impossible-spawn-tick.patch b/patches/unapplied/server/0758-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/unapplied/0758-Ignore-impossible-spawn-tick.patch rename to patches/unapplied/server/0758-Ignore-impossible-spawn-tick.patch diff --git a/patches/unapplied/0759-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch b/patches/unapplied/server/0759-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch similarity index 100% rename from patches/unapplied/0759-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch rename to patches/unapplied/server/0759-Fix-EntityArgument-and-EntitySelectorParser-permissi.patch diff --git a/patches/unapplied/0760-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/unapplied/server/0760-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 100% rename from patches/unapplied/0760-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/unapplied/server/0760-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch diff --git a/patches/unapplied/0761-Add-PrePlayerAttackEntityEvent.patch b/patches/unapplied/server/0761-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/unapplied/0761-Add-PrePlayerAttackEntityEvent.patch rename to patches/unapplied/server/0761-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/unapplied/0762-ensure-reset-EnderDragon-boss-event-name.patch b/patches/unapplied/server/0762-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/unapplied/0762-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/unapplied/server/0762-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/unapplied/0763-Add-Player-Warden-Warning-API.patch b/patches/unapplied/server/0763-Add-Player-Warden-Warning-API.patch similarity index 100% rename from patches/unapplied/0763-Add-Player-Warden-Warning-API.patch rename to patches/unapplied/server/0763-Add-Player-Warden-Warning-API.patch diff --git a/patches/unapplied/0764-More-vanilla-friendly-methods-to-update-trades.patch b/patches/unapplied/server/0764-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/unapplied/0764-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/unapplied/server/0764-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/unapplied/0765-Add-paper-dumplisteners-command.patch b/patches/unapplied/server/0765-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/unapplied/0765-Add-paper-dumplisteners-command.patch rename to patches/unapplied/server/0765-Add-paper-dumplisteners-command.patch diff --git a/patches/unapplied/0766-check-global-player-list-where-appropriate.patch b/patches/unapplied/server/0766-check-global-player-list-where-appropriate.patch similarity index 100% rename from patches/unapplied/0766-check-global-player-list-where-appropriate.patch rename to patches/unapplied/server/0766-check-global-player-list-where-appropriate.patch diff --git a/patches/unapplied/0767-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/unapplied/server/0767-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/unapplied/0767-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/unapplied/server/0767-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/unapplied/0768-ItemStack-damage-API.patch b/patches/unapplied/server/0768-ItemStack-damage-API.patch similarity index 100% rename from patches/unapplied/0768-ItemStack-damage-API.patch rename to patches/unapplied/server/0768-ItemStack-damage-API.patch diff --git a/patches/unapplied/0769-Friction-API.patch b/patches/unapplied/server/0769-Friction-API.patch similarity index 100% rename from patches/unapplied/0769-Friction-API.patch rename to patches/unapplied/server/0769-Friction-API.patch diff --git a/patches/unapplied/0770-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/unapplied/server/0770-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/unapplied/0770-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/unapplied/server/0770-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/unapplied/0771-Fix-premature-player-kicks-on-shutdown.patch b/patches/unapplied/server/0771-Fix-premature-player-kicks-on-shutdown.patch similarity index 100% rename from patches/unapplied/0771-Fix-premature-player-kicks-on-shutdown.patch rename to patches/unapplied/server/0771-Fix-premature-player-kicks-on-shutdown.patch diff --git a/patches/unapplied/0772-Sync-offhand-slot-in-menus.patch b/patches/unapplied/server/0772-Sync-offhand-slot-in-menus.patch similarity index 100% rename from patches/unapplied/0772-Sync-offhand-slot-in-menus.patch rename to patches/unapplied/server/0772-Sync-offhand-slot-in-menus.patch diff --git a/patches/unapplied/0773-Player-Entity-Tracking-Events.patch b/patches/unapplied/server/0773-Player-Entity-Tracking-Events.patch similarity index 100% rename from patches/unapplied/0773-Player-Entity-Tracking-Events.patch rename to patches/unapplied/server/0773-Player-Entity-Tracking-Events.patch diff --git a/patches/unapplied/0774-Limit-pet-look-distance.patch b/patches/unapplied/server/0774-Limit-pet-look-distance.patch similarity index 100% rename from patches/unapplied/0774-Limit-pet-look-distance.patch rename to patches/unapplied/server/0774-Limit-pet-look-distance.patch diff --git a/patches/unapplied/0775-fix-Instruments.patch b/patches/unapplied/server/0775-fix-Instruments.patch similarity index 100% rename from patches/unapplied/0775-fix-Instruments.patch rename to patches/unapplied/server/0775-fix-Instruments.patch diff --git a/patches/unapplied/0776-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/unapplied/server/0776-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 100% rename from patches/unapplied/0776-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/unapplied/server/0776-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch diff --git a/patches/unapplied/0777-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/unapplied/server/0777-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 100% rename from patches/unapplied/0777-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/unapplied/server/0777-Fix-inconsistencies-in-dispense-events-regarding-sta.patch diff --git a/patches/unapplied/0778-Add-BlockLockCheckEvent.patch b/patches/unapplied/server/0778-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/unapplied/0778-Add-BlockLockCheckEvent.patch rename to patches/unapplied/server/0778-Add-BlockLockCheckEvent.patch diff --git a/patches/unapplied/0779-Add-Sneaking-API-for-Entities.patch b/patches/unapplied/server/0779-Add-Sneaking-API-for-Entities.patch similarity index 100% rename from patches/unapplied/0779-Add-Sneaking-API-for-Entities.patch rename to patches/unapplied/server/0779-Add-Sneaking-API-for-Entities.patch diff --git a/patches/unapplied/0780-Improve-logging-and-errors.patch b/patches/unapplied/server/0780-Improve-logging-and-errors.patch similarity index 100% rename from patches/unapplied/0780-Improve-logging-and-errors.patch rename to patches/unapplied/server/0780-Improve-logging-and-errors.patch diff --git a/patches/unapplied/0781-Improve-PortalEvents.patch b/patches/unapplied/server/0781-Improve-PortalEvents.patch similarity index 100% rename from patches/unapplied/0781-Improve-PortalEvents.patch rename to patches/unapplied/server/0781-Improve-PortalEvents.patch diff --git a/patches/unapplied/0782-Add-config-option-for-spider-worldborder-climbing.patch b/patches/unapplied/server/0782-Add-config-option-for-spider-worldborder-climbing.patch similarity index 100% rename from patches/unapplied/0782-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/unapplied/server/0782-Add-config-option-for-spider-worldborder-climbing.patch diff --git a/patches/unapplied/0783-Add-missing-SpigotConfig-logCommands-check.patch b/patches/unapplied/server/0783-Add-missing-SpigotConfig-logCommands-check.patch similarity index 100% rename from patches/unapplied/0783-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/unapplied/server/0783-Add-missing-SpigotConfig-logCommands-check.patch diff --git a/patches/unapplied/0784-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/unapplied/server/0784-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/unapplied/0784-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/unapplied/server/0784-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/unapplied/0785-Flying-Fall-Damage.patch b/patches/unapplied/server/0785-Flying-Fall-Damage.patch similarity index 100% rename from patches/unapplied/0785-Flying-Fall-Damage.patch rename to patches/unapplied/server/0785-Flying-Fall-Damage.patch diff --git a/patches/unapplied/0786-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/unapplied/server/0786-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 100% rename from patches/unapplied/0786-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/unapplied/server/0786-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch diff --git a/patches/unapplied/0787-config-for-disabling-entity-tag-tags.patch b/patches/unapplied/server/0787-config-for-disabling-entity-tag-tags.patch similarity index 100% rename from patches/unapplied/0787-config-for-disabling-entity-tag-tags.patch rename to patches/unapplied/server/0787-config-for-disabling-entity-tag-tags.patch diff --git a/patches/unapplied/0788-Use-single-player-info-update-packet-on-join.patch b/patches/unapplied/server/0788-Use-single-player-info-update-packet-on-join.patch similarity index 100% rename from patches/unapplied/0788-Use-single-player-info-update-packet-on-join.patch rename to patches/unapplied/server/0788-Use-single-player-info-update-packet-on-join.patch diff --git a/patches/unapplied/0789-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/unapplied/server/0789-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 100% rename from patches/unapplied/0789-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/unapplied/server/0789-Correctly-shrink-items-during-EntityResurrectEvent.patch diff --git a/patches/unapplied/0790-Win-Screen-API.patch b/patches/unapplied/server/0790-Win-Screen-API.patch similarity index 100% rename from patches/unapplied/0790-Win-Screen-API.patch rename to patches/unapplied/server/0790-Win-Screen-API.patch diff --git a/patches/unapplied/0791-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/unapplied/server/0791-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/unapplied/0791-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/unapplied/server/0791-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/unapplied/0792-Fix-force-opening-enchantment-tables.patch b/patches/unapplied/server/0792-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/unapplied/0792-Fix-force-opening-enchantment-tables.patch rename to patches/unapplied/server/0792-Fix-force-opening-enchantment-tables.patch diff --git a/patches/unapplied/0793-Add-Entity-Body-Yaw-API.patch b/patches/unapplied/server/0793-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/unapplied/0793-Add-Entity-Body-Yaw-API.patch rename to patches/unapplied/server/0793-Add-Entity-Body-Yaw-API.patch diff --git a/patches/unapplied/0794-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/unapplied/server/0794-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/unapplied/0794-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/unapplied/server/0794-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/unapplied/0795-Add-EntityFertilizeEggEvent.patch b/patches/unapplied/server/0795-Add-EntityFertilizeEggEvent.patch similarity index 100% rename from patches/unapplied/0795-Add-EntityFertilizeEggEvent.patch rename to patches/unapplied/server/0795-Add-EntityFertilizeEggEvent.patch diff --git a/patches/unapplied/0796-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/unapplied/server/0796-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 100% rename from patches/unapplied/0796-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/unapplied/server/0796-Fix-HumanEntity-drop-not-updating-the-client-inv.patch diff --git a/patches/unapplied/0797-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/unapplied/server/0797-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/unapplied/0797-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/unapplied/server/0797-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/unapplied/0798-Correctly-handle-ArmorStand-invisibility.patch b/patches/unapplied/server/0798-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/unapplied/0798-Correctly-handle-ArmorStand-invisibility.patch rename to patches/unapplied/server/0798-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/unapplied/0799-Fix-advancement-triggers-for-entity-damage.patch b/patches/unapplied/server/0799-Fix-advancement-triggers-for-entity-damage.patch similarity index 100% rename from patches/unapplied/0799-Fix-advancement-triggers-for-entity-damage.patch rename to patches/unapplied/server/0799-Fix-advancement-triggers-for-entity-damage.patch diff --git a/patches/unapplied/0800-Fix-text-display-error-on-spawn.patch b/patches/unapplied/server/0800-Fix-text-display-error-on-spawn.patch similarity index 100% rename from patches/unapplied/0800-Fix-text-display-error-on-spawn.patch rename to patches/unapplied/server/0800-Fix-text-display-error-on-spawn.patch diff --git a/patches/unapplied/0801-Fix-inventories-returning-null-Locations.patch b/patches/unapplied/server/0801-Fix-inventories-returning-null-Locations.patch similarity index 100% rename from patches/unapplied/0801-Fix-inventories-returning-null-Locations.patch rename to patches/unapplied/server/0801-Fix-inventories-returning-null-Locations.patch diff --git a/patches/unapplied/0802-Add-Shearable-API.patch b/patches/unapplied/server/0802-Add-Shearable-API.patch similarity index 100% rename from patches/unapplied/0802-Add-Shearable-API.patch rename to patches/unapplied/server/0802-Add-Shearable-API.patch diff --git a/patches/unapplied/0803-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/unapplied/server/0803-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/unapplied/0803-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/unapplied/server/0803-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/unapplied/0804-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/unapplied/server/0804-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/unapplied/0804-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/unapplied/server/0804-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/unapplied/0805-Treat-sequence-violations-like-they-should-be.patch b/patches/unapplied/server/0805-Treat-sequence-violations-like-they-should-be.patch similarity index 100% rename from patches/unapplied/0805-Treat-sequence-violations-like-they-should-be.patch rename to patches/unapplied/server/0805-Treat-sequence-violations-like-they-should-be.patch diff --git a/patches/unapplied/0806-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/unapplied/server/0806-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 100% rename from patches/unapplied/0806-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/unapplied/server/0806-Prevent-causing-expired-keys-from-impacting-new-join.patch diff --git a/patches/unapplied/0807-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/unapplied/server/0807-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 100% rename from patches/unapplied/0807-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/unapplied/server/0807-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/unapplied/0808-Use-array-for-gamerule-storage.patch b/patches/unapplied/server/0808-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/unapplied/0808-Use-array-for-gamerule-storage.patch rename to patches/unapplied/server/0808-Use-array-for-gamerule-storage.patch diff --git a/patches/unapplied/0809-Fix-a-couple-of-upstream-bed-issues.patch b/patches/unapplied/server/0809-Fix-a-couple-of-upstream-bed-issues.patch similarity index 100% rename from patches/unapplied/0809-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/unapplied/server/0809-Fix-a-couple-of-upstream-bed-issues.patch diff --git a/patches/unapplied/0810-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/unapplied/server/0810-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 100% rename from patches/unapplied/0810-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/unapplied/server/0810-Fix-demo-flag-not-enabling-demo-mode.patch diff --git a/patches/unapplied/0811-Add-Mob-Experience-reward-API.patch b/patches/unapplied/server/0811-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/unapplied/0811-Add-Mob-Experience-reward-API.patch rename to patches/unapplied/server/0811-Add-Mob-Experience-reward-API.patch diff --git a/patches/unapplied/0812-Break-redstone-on-top-of-trap-doors-early.patch b/patches/unapplied/server/0812-Break-redstone-on-top-of-trap-doors-early.patch similarity index 100% rename from patches/unapplied/0812-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/unapplied/server/0812-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/unapplied/0813-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/unapplied/server/0813-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/unapplied/0813-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/unapplied/server/0813-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/unapplied/0814-More-accurate-isInOpenWater-impl.patch b/patches/unapplied/server/0814-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/unapplied/0814-More-accurate-isInOpenWater-impl.patch rename to patches/unapplied/server/0814-More-accurate-isInOpenWater-impl.patch diff --git a/patches/unapplied/0815-Expand-PlayerItemMendEvent.patch b/patches/unapplied/server/0815-Expand-PlayerItemMendEvent.patch similarity index 100% rename from patches/unapplied/0815-Expand-PlayerItemMendEvent.patch rename to patches/unapplied/server/0815-Expand-PlayerItemMendEvent.patch diff --git a/patches/unapplied/0816-Refresh-ProjectileSource-for-projectiles.patch b/patches/unapplied/server/0816-Refresh-ProjectileSource-for-projectiles.patch similarity index 100% rename from patches/unapplied/0816-Refresh-ProjectileSource-for-projectiles.patch rename to patches/unapplied/server/0816-Refresh-ProjectileSource-for-projectiles.patch diff --git a/patches/unapplied/0817-Add-transient-modifier-API.patch b/patches/unapplied/server/0817-Add-transient-modifier-API.patch similarity index 100% rename from patches/unapplied/0817-Add-transient-modifier-API.patch rename to patches/unapplied/server/0817-Add-transient-modifier-API.patch diff --git a/patches/unapplied/0818-Fix-block-place-logic.patch b/patches/unapplied/server/0818-Fix-block-place-logic.patch similarity index 100% rename from patches/unapplied/0818-Fix-block-place-logic.patch rename to patches/unapplied/server/0818-Fix-block-place-logic.patch diff --git a/patches/unapplied/0819-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/unapplied/server/0819-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 100% rename from patches/unapplied/0819-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/unapplied/server/0819-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch diff --git a/patches/unapplied/0820-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/unapplied/server/0820-Call-BlockGrowEvent-for-missing-blocks.patch similarity index 100% rename from patches/unapplied/0820-Call-BlockGrowEvent-for-missing-blocks.patch rename to patches/unapplied/server/0820-Call-BlockGrowEvent-for-missing-blocks.patch diff --git a/patches/unapplied/0821-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/unapplied/server/0821-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch similarity index 100% rename from patches/unapplied/0821-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch rename to patches/unapplied/server/0821-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch diff --git a/patches/unapplied/0822-fix-MapLike-spam-for-missing-key-selector.patch b/patches/unapplied/server/0822-fix-MapLike-spam-for-missing-key-selector.patch similarity index 100% rename from patches/unapplied/0822-fix-MapLike-spam-for-missing-key-selector.patch rename to patches/unapplied/server/0822-fix-MapLike-spam-for-missing-key-selector.patch diff --git a/patches/unapplied/0823-Fix-sniffer-removeExploredLocation.patch b/patches/unapplied/server/0823-Fix-sniffer-removeExploredLocation.patch similarity index 100% rename from patches/unapplied/0823-Fix-sniffer-removeExploredLocation.patch rename to patches/unapplied/server/0823-Fix-sniffer-removeExploredLocation.patch diff --git a/patches/unapplied/0824-Add-method-to-remove-all-active-potion-effects.patch b/patches/unapplied/server/0824-Add-method-to-remove-all-active-potion-effects.patch similarity index 100% rename from patches/unapplied/0824-Add-method-to-remove-all-active-potion-effects.patch rename to patches/unapplied/server/0824-Add-method-to-remove-all-active-potion-effects.patch diff --git a/patches/unapplied/0825-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/unapplied/server/0825-Fix-incorrect-crafting-result-amount-for-fireworks.patch similarity index 100% rename from patches/unapplied/0825-Fix-incorrect-crafting-result-amount-for-fireworks.patch rename to patches/unapplied/server/0825-Fix-incorrect-crafting-result-amount-for-fireworks.patch diff --git a/patches/unapplied/0826-Add-event-for-player-editing-sign.patch b/patches/unapplied/server/0826-Add-event-for-player-editing-sign.patch similarity index 100% rename from patches/unapplied/0826-Add-event-for-player-editing-sign.patch rename to patches/unapplied/server/0826-Add-event-for-player-editing-sign.patch diff --git a/patches/unapplied/0827-Only-tick-item-frames-if-players-can-see-it.patch b/patches/unapplied/server/0827-Only-tick-item-frames-if-players-can-see-it.patch similarity index 100% rename from patches/unapplied/0827-Only-tick-item-frames-if-players-can-see-it.patch rename to patches/unapplied/server/0827-Only-tick-item-frames-if-players-can-see-it.patch diff --git a/patches/unapplied/0828-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/unapplied/server/0828-Fix-cmd-permission-levels-for-command-blocks.patch similarity index 100% rename from patches/unapplied/0828-Fix-cmd-permission-levels-for-command-blocks.patch rename to patches/unapplied/server/0828-Fix-cmd-permission-levels-for-command-blocks.patch diff --git a/patches/unapplied/0829-Add-option-to-disable-block-updates.patch b/patches/unapplied/server/0829-Add-option-to-disable-block-updates.patch similarity index 100% rename from patches/unapplied/0829-Add-option-to-disable-block-updates.patch rename to patches/unapplied/server/0829-Add-option-to-disable-block-updates.patch diff --git a/patches/unapplied/0830-Call-missing-BlockDispenseEvent.patch b/patches/unapplied/server/0830-Call-missing-BlockDispenseEvent.patch similarity index 100% rename from patches/unapplied/0830-Call-missing-BlockDispenseEvent.patch rename to patches/unapplied/server/0830-Call-missing-BlockDispenseEvent.patch diff --git a/patches/unapplied/0831-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/unapplied/server/0831-Don-t-load-chunks-for-supporting-block-checks.patch similarity index 100% rename from patches/unapplied/0831-Don-t-load-chunks-for-supporting-block-checks.patch rename to patches/unapplied/server/0831-Don-t-load-chunks-for-supporting-block-checks.patch diff --git a/patches/unapplied/0832-Optimize-player-lookups-for-beacons.patch b/patches/unapplied/server/0832-Optimize-player-lookups-for-beacons.patch similarity index 100% rename from patches/unapplied/0832-Optimize-player-lookups-for-beacons.patch rename to patches/unapplied/server/0832-Optimize-player-lookups-for-beacons.patch diff --git a/patches/unapplied/0833-More-Sign-Block-API.patch b/patches/unapplied/server/0833-More-Sign-Block-API.patch similarity index 100% rename from patches/unapplied/0833-More-Sign-Block-API.patch rename to patches/unapplied/server/0833-More-Sign-Block-API.patch diff --git a/patches/unapplied/0834-fix-item-meta-for-tadpole-buckets.patch b/patches/unapplied/server/0834-fix-item-meta-for-tadpole-buckets.patch similarity index 100% rename from patches/unapplied/0834-fix-item-meta-for-tadpole-buckets.patch rename to patches/unapplied/server/0834-fix-item-meta-for-tadpole-buckets.patch diff --git a/patches/unapplied/0835-Fix-BanList-API.patch b/patches/unapplied/server/0835-Fix-BanList-API.patch similarity index 100% rename from patches/unapplied/0835-Fix-BanList-API.patch rename to patches/unapplied/server/0835-Fix-BanList-API.patch diff --git a/patches/unapplied/0836-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/unapplied/server/0836-Determine-lava-and-water-fluid-explosion-resistance-.patch similarity index 100% rename from patches/unapplied/0836-Determine-lava-and-water-fluid-explosion-resistance-.patch rename to patches/unapplied/server/0836-Determine-lava-and-water-fluid-explosion-resistance-.patch diff --git a/patches/unapplied/0837-Fix-possible-NPE-on-painting-creation.patch b/patches/unapplied/server/0837-Fix-possible-NPE-on-painting-creation.patch similarity index 100% rename from patches/unapplied/0837-Fix-possible-NPE-on-painting-creation.patch rename to patches/unapplied/server/0837-Fix-possible-NPE-on-painting-creation.patch diff --git a/patches/unapplied/0838-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/unapplied/server/0838-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/unapplied/0838-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/unapplied/server/0838-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/unapplied/0839-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/unapplied/server/0839-ExperienceOrb-should-call-EntitySpawnEvent.patch similarity index 100% rename from patches/unapplied/0839-ExperienceOrb-should-call-EntitySpawnEvent.patch rename to patches/unapplied/server/0839-ExperienceOrb-should-call-EntitySpawnEvent.patch diff --git a/patches/unapplied/0840-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/unapplied/server/0840-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch similarity index 100% rename from patches/unapplied/0840-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch rename to patches/unapplied/server/0840-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch diff --git a/patches/unapplied/0841-Add-whitelist-events.patch b/patches/unapplied/server/0841-Add-whitelist-events.patch similarity index 100% rename from patches/unapplied/0841-Add-whitelist-events.patch rename to patches/unapplied/server/0841-Add-whitelist-events.patch diff --git a/patches/unapplied/0842-Implement-PlayerFailMoveEvent.patch b/patches/unapplied/server/0842-Implement-PlayerFailMoveEvent.patch similarity index 100% rename from patches/unapplied/0842-Implement-PlayerFailMoveEvent.patch rename to patches/unapplied/server/0842-Implement-PlayerFailMoveEvent.patch diff --git a/patches/unapplied/0843-Folia-scheduler-and-owned-region-API.patch b/patches/unapplied/server/0843-Folia-scheduler-and-owned-region-API.patch similarity index 100% rename from patches/unapplied/0843-Folia-scheduler-and-owned-region-API.patch rename to patches/unapplied/server/0843-Folia-scheduler-and-owned-region-API.patch diff --git a/patches/unapplied/0844-Only-erase-allay-memory-on-non-item-targets.patch b/patches/unapplied/server/0844-Only-erase-allay-memory-on-non-item-targets.patch similarity index 100% rename from patches/unapplied/0844-Only-erase-allay-memory-on-non-item-targets.patch rename to patches/unapplied/server/0844-Only-erase-allay-memory-on-non-item-targets.patch diff --git a/patches/unapplied/0845-API-for-updating-recipes-on-clients.patch b/patches/unapplied/server/0845-API-for-updating-recipes-on-clients.patch similarity index 100% rename from patches/unapplied/0845-API-for-updating-recipes-on-clients.patch rename to patches/unapplied/server/0845-API-for-updating-recipes-on-clients.patch diff --git a/patches/unapplied/0846-Fix-rotation-when-spawning-display-entities.patch b/patches/unapplied/server/0846-Fix-rotation-when-spawning-display-entities.patch similarity index 100% rename from patches/unapplied/0846-Fix-rotation-when-spawning-display-entities.patch rename to patches/unapplied/server/0846-Fix-rotation-when-spawning-display-entities.patch diff --git a/patches/unapplied/0847-Only-capture-actual-tree-growth.patch b/patches/unapplied/server/0847-Only-capture-actual-tree-growth.patch similarity index 100% rename from patches/unapplied/0847-Only-capture-actual-tree-growth.patch rename to patches/unapplied/server/0847-Only-capture-actual-tree-growth.patch diff --git a/patches/unapplied/0848-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/unapplied/server/0848-Use-correct-source-for-mushroom-block-spread-event.patch similarity index 100% rename from patches/unapplied/0848-Use-correct-source-for-mushroom-block-spread-event.patch rename to patches/unapplied/server/0848-Use-correct-source-for-mushroom-block-spread-event.patch diff --git a/patches/unapplied/0849-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/unapplied/server/0849-Respect-randomizeData-on-more-entities-when-spawning.patch similarity index 100% rename from patches/unapplied/0849-Respect-randomizeData-on-more-entities-when-spawning.patch rename to patches/unapplied/server/0849-Respect-randomizeData-on-more-entities-when-spawning.patch diff --git a/patches/unapplied/0850-Use-correct-seed-on-api-world-load.patch b/patches/unapplied/server/0850-Use-correct-seed-on-api-world-load.patch similarity index 100% rename from patches/unapplied/0850-Use-correct-seed-on-api-world-load.patch rename to patches/unapplied/server/0850-Use-correct-seed-on-api-world-load.patch diff --git a/patches/unapplied/0851-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/unapplied/server/0851-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch similarity index 100% rename from patches/unapplied/0851-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch rename to patches/unapplied/server/0851-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch diff --git a/patches/unapplied/0852-Cache-map-ids-on-item-frames.patch b/patches/unapplied/server/0852-Cache-map-ids-on-item-frames.patch similarity index 100% rename from patches/unapplied/0852-Cache-map-ids-on-item-frames.patch rename to patches/unapplied/server/0852-Cache-map-ids-on-item-frames.patch diff --git a/patches/unapplied/0853-Fix-custom-statistic-criteria-creation.patch b/patches/unapplied/server/0853-Fix-custom-statistic-criteria-creation.patch similarity index 100% rename from patches/unapplied/0853-Fix-custom-statistic-criteria-creation.patch rename to patches/unapplied/server/0853-Fix-custom-statistic-criteria-creation.patch diff --git a/patches/unapplied/0854-Bandaid-fix-for-Effect.patch b/patches/unapplied/server/0854-Bandaid-fix-for-Effect.patch similarity index 100% rename from patches/unapplied/0854-Bandaid-fix-for-Effect.patch rename to patches/unapplied/server/0854-Bandaid-fix-for-Effect.patch diff --git a/patches/unapplied/0855-SculkCatalyst-bloom-API.patch b/patches/unapplied/server/0855-SculkCatalyst-bloom-API.patch similarity index 100% rename from patches/unapplied/0855-SculkCatalyst-bloom-API.patch rename to patches/unapplied/server/0855-SculkCatalyst-bloom-API.patch diff --git a/patches/unapplied/0856-API-for-an-entity-s-scoreboard-name.patch b/patches/unapplied/server/0856-API-for-an-entity-s-scoreboard-name.patch similarity index 100% rename from patches/unapplied/0856-API-for-an-entity-s-scoreboard-name.patch rename to patches/unapplied/server/0856-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/unapplied/0857-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/unapplied/server/0857-Deprecate-and-replace-methods-with-old-StructureType.patch similarity index 100% rename from patches/unapplied/0857-Deprecate-and-replace-methods-with-old-StructureType.patch rename to patches/unapplied/server/0857-Deprecate-and-replace-methods-with-old-StructureType.patch diff --git a/patches/unapplied/0858-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/unapplied/server/0858-Don-t-tab-complete-namespaced-commands-if-send-names.patch similarity index 100% rename from patches/unapplied/0858-Don-t-tab-complete-namespaced-commands-if-send-names.patch rename to patches/unapplied/server/0858-Don-t-tab-complete-namespaced-commands-if-send-names.patch diff --git a/patches/unapplied/0859-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/unapplied/server/0859-Properly-handle-BlockBreakEvent-isDropItems.patch similarity index 100% rename from patches/unapplied/0859-Properly-handle-BlockBreakEvent-isDropItems.patch rename to patches/unapplied/server/0859-Properly-handle-BlockBreakEvent-isDropItems.patch diff --git a/patches/unapplied/0860-Fire-entity-death-event-for-ender-dragon.patch b/patches/unapplied/server/0860-Fire-entity-death-event-for-ender-dragon.patch similarity index 100% rename from patches/unapplied/0860-Fire-entity-death-event-for-ender-dragon.patch rename to patches/unapplied/server/0860-Fire-entity-death-event-for-ender-dragon.patch diff --git a/patches/unapplied/0861-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/unapplied/server/0861-Configurable-entity-tracking-range-by-Y-coordinate.patch similarity index 100% rename from patches/unapplied/0861-Configurable-entity-tracking-range-by-Y-coordinate.patch rename to patches/unapplied/server/0861-Configurable-entity-tracking-range-by-Y-coordinate.patch diff --git a/patches/unapplied/0862-Add-Listing-API-for-Player.patch b/patches/unapplied/server/0862-Add-Listing-API-for-Player.patch similarity index 100% rename from patches/unapplied/0862-Add-Listing-API-for-Player.patch rename to patches/unapplied/server/0862-Add-Listing-API-for-Player.patch diff --git a/patches/unapplied/0863-Configurable-Region-Compression-Format.patch b/patches/unapplied/server/0863-Configurable-Region-Compression-Format.patch similarity index 100% rename from patches/unapplied/0863-Configurable-Region-Compression-Format.patch rename to patches/unapplied/server/0863-Configurable-Region-Compression-Format.patch diff --git a/patches/unapplied/0864-Add-BlockFace-to-BlockDamageEvent.patch b/patches/unapplied/server/0864-Add-BlockFace-to-BlockDamageEvent.patch similarity index 100% rename from patches/unapplied/0864-Add-BlockFace-to-BlockDamageEvent.patch rename to patches/unapplied/server/0864-Add-BlockFace-to-BlockDamageEvent.patch diff --git a/patches/unapplied/0865-Fix-NPE-on-Boat-getStatus.patch b/patches/unapplied/server/0865-Fix-NPE-on-Boat-getStatus.patch similarity index 100% rename from patches/unapplied/0865-Fix-NPE-on-Boat-getStatus.patch rename to patches/unapplied/server/0865-Fix-NPE-on-Boat-getStatus.patch diff --git a/patches/unapplied/0866-Expand-Pose-API.patch b/patches/unapplied/server/0866-Expand-Pose-API.patch similarity index 100% rename from patches/unapplied/0866-Expand-Pose-API.patch rename to patches/unapplied/server/0866-Expand-Pose-API.patch diff --git a/patches/unapplied/0867-More-DragonBattle-API.patch b/patches/unapplied/server/0867-More-DragonBattle-API.patch similarity index 100% rename from patches/unapplied/0867-More-DragonBattle-API.patch rename to patches/unapplied/server/0867-More-DragonBattle-API.patch diff --git a/patches/unapplied/0868-Add-PlayerPickItemEvent.patch b/patches/unapplied/server/0868-Add-PlayerPickItemEvent.patch similarity index 100% rename from patches/unapplied/0868-Add-PlayerPickItemEvent.patch rename to patches/unapplied/server/0868-Add-PlayerPickItemEvent.patch diff --git a/patches/unapplied/0869-Allow-trident-custom-damage.patch b/patches/unapplied/server/0869-Allow-trident-custom-damage.patch similarity index 100% rename from patches/unapplied/0869-Allow-trident-custom-damage.patch rename to patches/unapplied/server/0869-Allow-trident-custom-damage.patch diff --git a/patches/unapplied/0870-Expose-hand-in-BlockCanBuildEvent.patch b/patches/unapplied/server/0870-Expose-hand-in-BlockCanBuildEvent.patch similarity index 100% rename from patches/unapplied/0870-Expose-hand-in-BlockCanBuildEvent.patch rename to patches/unapplied/server/0870-Expose-hand-in-BlockCanBuildEvent.patch diff --git a/patches/unapplied/0871-Optimize-nearest-structure-border-iteration.patch b/patches/unapplied/server/0871-Optimize-nearest-structure-border-iteration.patch similarity index 100% rename from patches/unapplied/0871-Optimize-nearest-structure-border-iteration.patch rename to patches/unapplied/server/0871-Optimize-nearest-structure-border-iteration.patch diff --git a/patches/unapplied/0872-Implement-OfflinePlayer-isConnected.patch b/patches/unapplied/server/0872-Implement-OfflinePlayer-isConnected.patch similarity index 100% rename from patches/unapplied/0872-Implement-OfflinePlayer-isConnected.patch rename to patches/unapplied/server/0872-Implement-OfflinePlayer-isConnected.patch diff --git a/patches/unapplied/0873-Fix-slot-desync.patch b/patches/unapplied/server/0873-Fix-slot-desync.patch similarity index 100% rename from patches/unapplied/0873-Fix-slot-desync.patch rename to patches/unapplied/server/0873-Fix-slot-desync.patch diff --git a/patches/unapplied/0874-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/unapplied/server/0874-Add-titleOverride-to-InventoryOpenEvent.patch similarity index 100% rename from patches/unapplied/0874-Add-titleOverride-to-InventoryOpenEvent.patch rename to patches/unapplied/server/0874-Add-titleOverride-to-InventoryOpenEvent.patch diff --git a/patches/unapplied/0875-Configure-sniffer-egg-hatch-time.patch b/patches/unapplied/server/0875-Configure-sniffer-egg-hatch-time.patch similarity index 100% rename from patches/unapplied/0875-Configure-sniffer-egg-hatch-time.patch rename to patches/unapplied/server/0875-Configure-sniffer-egg-hatch-time.patch diff --git a/patches/unapplied/0876-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/unapplied/server/0876-Do-crystal-portal-proximity-check-before-entity-look.patch similarity index 100% rename from patches/unapplied/0876-Do-crystal-portal-proximity-check-before-entity-look.patch rename to patches/unapplied/server/0876-Do-crystal-portal-proximity-check-before-entity-look.patch diff --git a/patches/unapplied/0877-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/unapplied/server/0877-Skip-POI-finding-if-stuck-in-vehicle.patch similarity index 100% rename from patches/unapplied/0877-Skip-POI-finding-if-stuck-in-vehicle.patch rename to patches/unapplied/server/0877-Skip-POI-finding-if-stuck-in-vehicle.patch diff --git a/patches/unapplied/0878-Add-slot-sanity-checks-in-container-clicks.patch b/patches/unapplied/server/0878-Add-slot-sanity-checks-in-container-clicks.patch similarity index 100% rename from patches/unapplied/0878-Add-slot-sanity-checks-in-container-clicks.patch rename to patches/unapplied/server/0878-Add-slot-sanity-checks-in-container-clicks.patch diff --git a/patches/unapplied/0879-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/unapplied/server/0879-Call-BlockRedstoneEvents-for-lecterns.patch similarity index 100% rename from patches/unapplied/0879-Call-BlockRedstoneEvents-for-lecterns.patch rename to patches/unapplied/server/0879-Call-BlockRedstoneEvents-for-lecterns.patch diff --git a/patches/unapplied/0880-Allow-proper-checking-of-empty-item-stacks.patch b/patches/unapplied/server/0880-Allow-proper-checking-of-empty-item-stacks.patch similarity index 100% rename from patches/unapplied/0880-Allow-proper-checking-of-empty-item-stacks.patch rename to patches/unapplied/server/0880-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/unapplied/0881-Fix-silent-equipment-change-for-mobs.patch b/patches/unapplied/server/0881-Fix-silent-equipment-change-for-mobs.patch similarity index 100% rename from patches/unapplied/0881-Fix-silent-equipment-change-for-mobs.patch rename to patches/unapplied/server/0881-Fix-silent-equipment-change-for-mobs.patch diff --git a/patches/unapplied/0882-Fix-spigot-s-Forced-Stats.patch b/patches/unapplied/server/0882-Fix-spigot-s-Forced-Stats.patch similarity index 100% rename from patches/unapplied/0882-Fix-spigot-s-Forced-Stats.patch rename to patches/unapplied/server/0882-Fix-spigot-s-Forced-Stats.patch diff --git a/patches/unapplied/0883-Add-missing-InventoryHolders-to-inventories.patch b/patches/unapplied/server/0883-Add-missing-InventoryHolders-to-inventories.patch similarity index 100% rename from patches/unapplied/0883-Add-missing-InventoryHolders-to-inventories.patch rename to patches/unapplied/server/0883-Add-missing-InventoryHolders-to-inventories.patch diff --git a/patches/unapplied/0884-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/unapplied/server/0884-Do-not-read-tile-entities-in-chunks-that-are-positio.patch similarity index 100% rename from patches/unapplied/0884-Do-not-read-tile-entities-in-chunks-that-are-positio.patch rename to patches/unapplied/server/0884-Do-not-read-tile-entities-in-chunks-that-are-positio.patch diff --git a/patches/unapplied/0885-Add-missing-logs-for-log-ips-config-option.patch b/patches/unapplied/server/0885-Add-missing-logs-for-log-ips-config-option.patch similarity index 100% rename from patches/unapplied/0885-Add-missing-logs-for-log-ips-config-option.patch rename to patches/unapplied/server/0885-Add-missing-logs-for-log-ips-config-option.patch diff --git a/patches/unapplied/0886-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/unapplied/server/0886-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch similarity index 100% rename from patches/unapplied/0886-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch rename to patches/unapplied/server/0886-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch diff --git a/patches/unapplied/0887-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/unapplied/server/0887-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch similarity index 100% rename from patches/unapplied/0887-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch rename to patches/unapplied/server/0887-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch diff --git a/patches/unapplied/0888-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/unapplied/server/0888-Fix-team-sidebar-objectives-not-being-cleared.patch similarity index 100% rename from patches/unapplied/0888-Fix-team-sidebar-objectives-not-being-cleared.patch rename to patches/unapplied/server/0888-Fix-team-sidebar-objectives-not-being-cleared.patch diff --git a/patches/unapplied/0889-Fix-missing-map-initialize-event-call.patch b/patches/unapplied/server/0889-Fix-missing-map-initialize-event-call.patch similarity index 100% rename from patches/unapplied/0889-Fix-missing-map-initialize-event-call.patch rename to patches/unapplied/server/0889-Fix-missing-map-initialize-event-call.patch diff --git a/patches/unapplied/0890-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/unapplied/server/0890-Update-entity-data-when-attaching-firework-to-entity.patch similarity index 100% rename from patches/unapplied/0890-Update-entity-data-when-attaching-firework-to-entity.patch rename to patches/unapplied/server/0890-Update-entity-data-when-attaching-firework-to-entity.patch diff --git a/patches/unapplied/0891-Fix-UnsafeValues-loadAdvancement.patch b/patches/unapplied/server/0891-Fix-UnsafeValues-loadAdvancement.patch similarity index 100% rename from patches/unapplied/0891-Fix-UnsafeValues-loadAdvancement.patch rename to patches/unapplied/server/0891-Fix-UnsafeValues-loadAdvancement.patch diff --git a/patches/unapplied/0892-Add-player-idle-duration-API.patch b/patches/unapplied/server/0892-Add-player-idle-duration-API.patch similarity index 100% rename from patches/unapplied/0892-Add-player-idle-duration-API.patch rename to patches/unapplied/server/0892-Add-player-idle-duration-API.patch diff --git a/patches/unapplied/0893-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/unapplied/server/0893-Don-t-check-if-we-can-see-non-visible-entities.patch similarity index 100% rename from patches/unapplied/0893-Don-t-check-if-we-can-see-non-visible-entities.patch rename to patches/unapplied/server/0893-Don-t-check-if-we-can-see-non-visible-entities.patch diff --git a/patches/unapplied/0894-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/unapplied/server/0894-Fix-NPE-in-SculkBloomEvent-world-access.patch similarity index 100% rename from patches/unapplied/0894-Fix-NPE-in-SculkBloomEvent-world-access.patch rename to patches/unapplied/server/0894-Fix-NPE-in-SculkBloomEvent-world-access.patch diff --git a/patches/unapplied/0895-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/unapplied/server/0895-Allow-null-itemstack-for-Player-sendEquipmentChange.patch similarity index 100% rename from patches/unapplied/0895-Allow-null-itemstack-for-Player-sendEquipmentChange.patch rename to patches/unapplied/server/0895-Allow-null-itemstack-for-Player-sendEquipmentChange.patch diff --git a/patches/unapplied/0896-Optimize-VarInts.patch b/patches/unapplied/server/0896-Optimize-VarInts.patch similarity index 100% rename from patches/unapplied/0896-Optimize-VarInts.patch rename to patches/unapplied/server/0896-Optimize-VarInts.patch diff --git a/patches/unapplied/0897-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/unapplied/server/0897-Add-API-to-get-the-collision-shape-of-a-block-before.patch similarity index 100% rename from patches/unapplied/0897-Add-API-to-get-the-collision-shape-of-a-block-before.patch rename to patches/unapplied/server/0897-Add-API-to-get-the-collision-shape-of-a-block-before.patch diff --git a/patches/unapplied/0898-Add-predicate-for-blocks-when-raytracing.patch b/patches/unapplied/server/0898-Add-predicate-for-blocks-when-raytracing.patch similarity index 100% rename from patches/unapplied/0898-Add-predicate-for-blocks-when-raytracing.patch rename to patches/unapplied/server/0898-Add-predicate-for-blocks-when-raytracing.patch diff --git a/patches/unapplied/0899-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/unapplied/server/0899-Broadcast-take-item-packets-with-collector-as-source.patch similarity index 100% rename from patches/unapplied/0899-Broadcast-take-item-packets-with-collector-as-source.patch rename to patches/unapplied/server/0899-Broadcast-take-item-packets-with-collector-as-source.patch diff --git a/patches/unapplied/0900-Expand-LingeringPotion-API.patch b/patches/unapplied/server/0900-Expand-LingeringPotion-API.patch similarity index 100% rename from patches/unapplied/0900-Expand-LingeringPotion-API.patch rename to patches/unapplied/server/0900-Expand-LingeringPotion-API.patch diff --git a/patches/unapplied/0901-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/unapplied/server/0901-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch similarity index 100% rename from patches/unapplied/0901-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch rename to patches/unapplied/server/0901-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch diff --git a/patches/unapplied/0902-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/unapplied/server/0902-Add-hand-to-fish-event-for-all-player-interactions.patch similarity index 100% rename from patches/unapplied/0902-Add-hand-to-fish-event-for-all-player-interactions.patch rename to patches/unapplied/server/0902-Add-hand-to-fish-event-for-all-player-interactions.patch diff --git a/patches/unapplied/0903-Fix-several-issues-with-EntityBreedEvent.patch b/patches/unapplied/server/0903-Fix-several-issues-with-EntityBreedEvent.patch similarity index 100% rename from patches/unapplied/0903-Fix-several-issues-with-EntityBreedEvent.patch rename to patches/unapplied/server/0903-Fix-several-issues-with-EntityBreedEvent.patch diff --git a/patches/unapplied/0904-Add-UUID-attribute-modifier-API.patch b/patches/unapplied/server/0904-Add-UUID-attribute-modifier-API.patch similarity index 100% rename from patches/unapplied/0904-Add-UUID-attribute-modifier-API.patch rename to patches/unapplied/server/0904-Add-UUID-attribute-modifier-API.patch diff --git a/patches/unapplied/0905-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/unapplied/server/0905-Fix-missing-event-call-for-entity-teleport-API.patch similarity index 100% rename from patches/unapplied/0905-Fix-missing-event-call-for-entity-teleport-API.patch rename to patches/unapplied/server/0905-Fix-missing-event-call-for-entity-teleport-API.patch diff --git a/patches/unapplied/0906-Lazily-create-LootContext-for-criterions.patch b/patches/unapplied/server/0906-Lazily-create-LootContext-for-criterions.patch similarity index 100% rename from patches/unapplied/0906-Lazily-create-LootContext-for-criterions.patch rename to patches/unapplied/server/0906-Lazily-create-LootContext-for-criterions.patch diff --git a/patches/unapplied/0907-Don-t-fire-sync-events-during-worldgen.patch b/patches/unapplied/server/0907-Don-t-fire-sync-events-during-worldgen.patch similarity index 100% rename from patches/unapplied/0907-Don-t-fire-sync-events-during-worldgen.patch rename to patches/unapplied/server/0907-Don-t-fire-sync-events-during-worldgen.patch diff --git a/patches/unapplied/0908-Add-Structure-check-API.patch b/patches/unapplied/server/0908-Add-Structure-check-API.patch similarity index 100% rename from patches/unapplied/0908-Add-Structure-check-API.patch rename to patches/unapplied/server/0908-Add-Structure-check-API.patch diff --git a/patches/unapplied/0909-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/unapplied/server/0909-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch similarity index 100% rename from patches/unapplied/0909-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch rename to patches/unapplied/server/0909-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch diff --git a/patches/unapplied/0910-Restore-vanilla-entity-drops-behavior.patch b/patches/unapplied/server/0910-Restore-vanilla-entity-drops-behavior.patch similarity index 100% rename from patches/unapplied/0910-Restore-vanilla-entity-drops-behavior.patch rename to patches/unapplied/server/0910-Restore-vanilla-entity-drops-behavior.patch diff --git a/patches/unapplied/0911-Dont-resend-blocks-on-interactions.patch b/patches/unapplied/server/0911-Dont-resend-blocks-on-interactions.patch similarity index 100% rename from patches/unapplied/0911-Dont-resend-blocks-on-interactions.patch rename to patches/unapplied/server/0911-Dont-resend-blocks-on-interactions.patch diff --git a/patches/unapplied/0912-add-more-scoreboard-API.patch b/patches/unapplied/server/0912-add-more-scoreboard-API.patch similarity index 100% rename from patches/unapplied/0912-add-more-scoreboard-API.patch rename to patches/unapplied/server/0912-add-more-scoreboard-API.patch diff --git a/patches/unapplied/0913-Improve-Registry.patch b/patches/unapplied/server/0913-Improve-Registry.patch similarity index 100% rename from patches/unapplied/0913-Improve-Registry.patch rename to patches/unapplied/server/0913-Improve-Registry.patch diff --git a/patches/unapplied/0914-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/unapplied/server/0914-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch similarity index 100% rename from patches/unapplied/0914-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch rename to patches/unapplied/server/0914-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch diff --git a/patches/unapplied/0915-Add-experience-points-API.patch b/patches/unapplied/server/0915-Add-experience-points-API.patch similarity index 100% rename from patches/unapplied/0915-Add-experience-points-API.patch rename to patches/unapplied/server/0915-Add-experience-points-API.patch diff --git a/patches/unapplied/0916-Add-drops-to-shear-events.patch b/patches/unapplied/server/0916-Add-drops-to-shear-events.patch similarity index 100% rename from patches/unapplied/0916-Add-drops-to-shear-events.patch rename to patches/unapplied/server/0916-Add-drops-to-shear-events.patch diff --git a/patches/unapplied/0917-Add-PlayerShieldDisableEvent.patch b/patches/unapplied/server/0917-Add-PlayerShieldDisableEvent.patch similarity index 100% rename from patches/unapplied/0917-Add-PlayerShieldDisableEvent.patch rename to patches/unapplied/server/0917-Add-PlayerShieldDisableEvent.patch diff --git a/patches/unapplied/0918-Validate-ResourceLocation-in-NBT-reading.patch b/patches/unapplied/server/0918-Validate-ResourceLocation-in-NBT-reading.patch similarity index 100% rename from patches/unapplied/0918-Validate-ResourceLocation-in-NBT-reading.patch rename to patches/unapplied/server/0918-Validate-ResourceLocation-in-NBT-reading.patch diff --git a/patches/unapplied/0919-Properly-handle-experience-dropping-on-block-break.patch b/patches/unapplied/server/0919-Properly-handle-experience-dropping-on-block-break.patch similarity index 100% rename from patches/unapplied/0919-Properly-handle-experience-dropping-on-block-break.patch rename to patches/unapplied/server/0919-Properly-handle-experience-dropping-on-block-break.patch diff --git a/patches/unapplied/0920-Fixup-NamespacedKey-handling.patch b/patches/unapplied/server/0920-Fixup-NamespacedKey-handling.patch similarity index 100% rename from patches/unapplied/0920-Fixup-NamespacedKey-handling.patch rename to patches/unapplied/server/0920-Fixup-NamespacedKey-handling.patch diff --git a/patches/unapplied/0921-Expose-LootTable-of-DecoratedPot.patch b/patches/unapplied/server/0921-Expose-LootTable-of-DecoratedPot.patch similarity index 100% rename from patches/unapplied/0921-Expose-LootTable-of-DecoratedPot.patch rename to patches/unapplied/server/0921-Expose-LootTable-of-DecoratedPot.patch diff --git a/patches/unapplied/0922-Reduce-allocation-of-Vec3D-by-entity-tracker.patch b/patches/unapplied/server/0922-Reduce-allocation-of-Vec3D-by-entity-tracker.patch similarity index 100% rename from patches/unapplied/0922-Reduce-allocation-of-Vec3D-by-entity-tracker.patch rename to patches/unapplied/server/0922-Reduce-allocation-of-Vec3D-by-entity-tracker.patch diff --git a/patches/unapplied/0923-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch b/patches/unapplied/server/0923-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch similarity index 100% rename from patches/unapplied/0923-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch rename to patches/unapplied/server/0923-Add-PlayerTradeEvent-and-PlayerPurchaseEvent.patch diff --git a/patches/unapplied/0924-Add-ShulkerDuplicateEvent.patch b/patches/unapplied/server/0924-Add-ShulkerDuplicateEvent.patch similarity index 100% rename from patches/unapplied/0924-Add-ShulkerDuplicateEvent.patch rename to patches/unapplied/server/0924-Add-ShulkerDuplicateEvent.patch diff --git a/patches/unapplied/0925-Add-api-for-spawn-egg-texture-colors.patch b/patches/unapplied/server/0925-Add-api-for-spawn-egg-texture-colors.patch similarity index 100% rename from patches/unapplied/0925-Add-api-for-spawn-egg-texture-colors.patch rename to patches/unapplied/server/0925-Add-api-for-spawn-egg-texture-colors.patch diff --git a/patches/unapplied/0926-Add-Lifecycle-Event-system.patch b/patches/unapplied/server/0926-Add-Lifecycle-Event-system.patch similarity index 100% rename from patches/unapplied/0926-Add-Lifecycle-Event-system.patch rename to patches/unapplied/server/0926-Add-Lifecycle-Event-system.patch diff --git a/patches/unapplied/0927-ItemStack-Tooltip-API.patch b/patches/unapplied/server/0927-ItemStack-Tooltip-API.patch similarity index 100% rename from patches/unapplied/0927-ItemStack-Tooltip-API.patch rename to patches/unapplied/server/0927-ItemStack-Tooltip-API.patch diff --git a/patches/unapplied/0928-Add-getChunkSnapshot-includeLightData-parameter.patch b/patches/unapplied/server/0928-Add-getChunkSnapshot-includeLightData-parameter.patch similarity index 100% rename from patches/unapplied/0928-Add-getChunkSnapshot-includeLightData-parameter.patch rename to patches/unapplied/server/0928-Add-getChunkSnapshot-includeLightData-parameter.patch diff --git a/patches/unapplied/0929-Add-FluidState-API.patch b/patches/unapplied/server/0929-Add-FluidState-API.patch similarity index 100% rename from patches/unapplied/0929-Add-FluidState-API.patch rename to patches/unapplied/server/0929-Add-FluidState-API.patch diff --git a/patches/unapplied/0930-add-number-format-api.patch b/patches/unapplied/server/0930-add-number-format-api.patch similarity index 100% rename from patches/unapplied/0930-add-number-format-api.patch rename to patches/unapplied/server/0930-add-number-format-api.patch diff --git a/patches/unapplied/0931-improve-BanList-types.patch b/patches/unapplied/server/0931-improve-BanList-types.patch similarity index 100% rename from patches/unapplied/0931-improve-BanList-types.patch rename to patches/unapplied/server/0931-improve-BanList-types.patch diff --git a/patches/unapplied/0932-Expanded-Hopper-API.patch b/patches/unapplied/server/0932-Expanded-Hopper-API.patch similarity index 100% rename from patches/unapplied/0932-Expanded-Hopper-API.patch rename to patches/unapplied/server/0932-Expanded-Hopper-API.patch diff --git a/patches/unapplied/0933-Add-BlockBreakProgressUpdateEvent.patch b/patches/unapplied/server/0933-Add-BlockBreakProgressUpdateEvent.patch similarity index 100% rename from patches/unapplied/0933-Add-BlockBreakProgressUpdateEvent.patch rename to patches/unapplied/server/0933-Add-BlockBreakProgressUpdateEvent.patch diff --git a/patches/unapplied/0934-Deprecate-ItemStack-setType.patch b/patches/unapplied/server/0934-Deprecate-ItemStack-setType.patch similarity index 100% rename from patches/unapplied/0934-Deprecate-ItemStack-setType.patch rename to patches/unapplied/server/0934-Deprecate-ItemStack-setType.patch diff --git a/patches/unapplied/0935-Add-CartographyItemEvent.patch b/patches/unapplied/server/0935-Add-CartographyItemEvent.patch similarity index 100% rename from patches/unapplied/0935-Add-CartographyItemEvent.patch rename to patches/unapplied/server/0935-Add-CartographyItemEvent.patch diff --git a/patches/unapplied/0936-More-Raid-API.patch b/patches/unapplied/server/0936-More-Raid-API.patch similarity index 100% rename from patches/unapplied/0936-More-Raid-API.patch rename to patches/unapplied/server/0936-More-Raid-API.patch diff --git a/patches/unapplied/0937-Add-onboarding-message-for-initial-server-start.patch b/patches/unapplied/server/0937-Add-onboarding-message-for-initial-server-start.patch similarity index 100% rename from patches/unapplied/0937-Add-onboarding-message-for-initial-server-start.patch rename to patches/unapplied/server/0937-Add-onboarding-message-for-initial-server-start.patch diff --git a/patches/unapplied/0938-Configurable-max-block-fluid-ticks.patch b/patches/unapplied/server/0938-Configurable-max-block-fluid-ticks.patch similarity index 100% rename from patches/unapplied/0938-Configurable-max-block-fluid-ticks.patch rename to patches/unapplied/server/0938-Configurable-max-block-fluid-ticks.patch diff --git a/patches/unapplied/0939-Fix-bees-aging-inside-hives.patch b/patches/unapplied/server/0939-Fix-bees-aging-inside-hives.patch similarity index 100% rename from patches/unapplied/0939-Fix-bees-aging-inside-hives.patch rename to patches/unapplied/server/0939-Fix-bees-aging-inside-hives.patch diff --git a/patches/unapplied/0940-Disable-memory-reserve-allocating.patch b/patches/unapplied/server/0940-Disable-memory-reserve-allocating.patch similarity index 100% rename from patches/unapplied/0940-Disable-memory-reserve-allocating.patch rename to patches/unapplied/server/0940-Disable-memory-reserve-allocating.patch diff --git a/patches/unapplied/0941-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch b/patches/unapplied/server/0941-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch similarity index 100% rename from patches/unapplied/0941-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch rename to patches/unapplied/server/0941-Fire-EntityDamageByEntityEvent-for-unowned-wither-sk.patch diff --git a/patches/unapplied/0942-Fix-DamageSource-API.patch b/patches/unapplied/server/0942-Fix-DamageSource-API.patch similarity index 100% rename from patches/unapplied/0942-Fix-DamageSource-API.patch rename to patches/unapplied/server/0942-Fix-DamageSource-API.patch diff --git a/patches/unapplied/0943-Fix-creation-of-invalid-block-entity-during-world-ge.patch b/patches/unapplied/server/0943-Fix-creation-of-invalid-block-entity-during-world-ge.patch similarity index 100% rename from patches/unapplied/0943-Fix-creation-of-invalid-block-entity-during-world-ge.patch rename to patches/unapplied/server/0943-Fix-creation-of-invalid-block-entity-during-world-ge.patch diff --git a/patches/unapplied/0944-Fix-possible-StackOverflowError-for-some-dispenses.patch b/patches/unapplied/server/0944-Fix-possible-StackOverflowError-for-some-dispenses.patch similarity index 100% rename from patches/unapplied/0944-Fix-possible-StackOverflowError-for-some-dispenses.patch rename to patches/unapplied/server/0944-Fix-possible-StackOverflowError-for-some-dispenses.patch diff --git a/patches/unapplied/0945-Improve-tag-parser-handling.patch b/patches/unapplied/server/0945-Improve-tag-parser-handling.patch similarity index 100% rename from patches/unapplied/0945-Improve-tag-parser-handling.patch rename to patches/unapplied/server/0945-Improve-tag-parser-handling.patch diff --git a/patches/unapplied/0946-Item-Mutation-Fixes.patch b/patches/unapplied/server/0946-Item-Mutation-Fixes.patch similarity index 100% rename from patches/unapplied/0946-Item-Mutation-Fixes.patch rename to patches/unapplied/server/0946-Item-Mutation-Fixes.patch diff --git a/patches/unapplied/0947-Per-world-ticks-per-spawn-settings.patch b/patches/unapplied/server/0947-Per-world-ticks-per-spawn-settings.patch similarity index 100% rename from patches/unapplied/0947-Per-world-ticks-per-spawn-settings.patch rename to patches/unapplied/server/0947-Per-world-ticks-per-spawn-settings.patch diff --git a/patches/unapplied/0948-Properly-track-the-changed-item-from-dispense-events.patch b/patches/unapplied/server/0948-Properly-track-the-changed-item-from-dispense-events.patch similarity index 100% rename from patches/unapplied/0948-Properly-track-the-changed-item-from-dispense-events.patch rename to patches/unapplied/server/0948-Properly-track-the-changed-item-from-dispense-events.patch diff --git a/patches/unapplied/0949-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch b/patches/unapplied/server/0949-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch similarity index 100% rename from patches/unapplied/0949-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch rename to patches/unapplied/server/0949-Protect-Bedrock-and-End-Portal-Frames-from-being-des.patch diff --git a/patches/unapplied/0950-Fix-tripwire-disarming-not-working-as-intended.patch b/patches/unapplied/server/0950-Fix-tripwire-disarming-not-working-as-intended.patch similarity index 100% rename from patches/unapplied/0950-Fix-tripwire-disarming-not-working-as-intended.patch rename to patches/unapplied/server/0950-Fix-tripwire-disarming-not-working-as-intended.patch diff --git a/patches/unapplied/0951-Add-config-for-mobs-immune-to-default-effects.patch b/patches/unapplied/server/0951-Add-config-for-mobs-immune-to-default-effects.patch similarity index 100% rename from patches/unapplied/0951-Add-config-for-mobs-immune-to-default-effects.patch rename to patches/unapplied/server/0951-Add-config-for-mobs-immune-to-default-effects.patch diff --git a/patches/unapplied/0952-Deep-clone-nbt-tags-in-PDC.patch b/patches/unapplied/server/0952-Deep-clone-nbt-tags-in-PDC.patch similarity index 100% rename from patches/unapplied/0952-Deep-clone-nbt-tags-in-PDC.patch rename to patches/unapplied/server/0952-Deep-clone-nbt-tags-in-PDC.patch diff --git a/patches/unapplied/0953-Support-old-UUID-format-for-NBT.patch b/patches/unapplied/server/0953-Support-old-UUID-format-for-NBT.patch similarity index 100% rename from patches/unapplied/0953-Support-old-UUID-format-for-NBT.patch rename to patches/unapplied/server/0953-Support-old-UUID-format-for-NBT.patch diff --git a/patches/unapplied/0954-Fix-shield-disable-inconsistency.patch b/patches/unapplied/server/0954-Fix-shield-disable-inconsistency.patch similarity index 100% rename from patches/unapplied/0954-Fix-shield-disable-inconsistency.patch rename to patches/unapplied/server/0954-Fix-shield-disable-inconsistency.patch diff --git a/patches/unapplied/0955-Handle-Large-Packets-disconnecting-client.patch b/patches/unapplied/server/0955-Handle-Large-Packets-disconnecting-client.patch similarity index 100% rename from patches/unapplied/0955-Handle-Large-Packets-disconnecting-client.patch rename to patches/unapplied/server/0955-Handle-Large-Packets-disconnecting-client.patch diff --git a/patches/unapplied/0956-Fix-ItemFlags.patch b/patches/unapplied/server/0956-Fix-ItemFlags.patch similarity index 100% rename from patches/unapplied/0956-Fix-ItemFlags.patch rename to patches/unapplied/server/0956-Fix-ItemFlags.patch diff --git a/patches/unapplied/0957-Fix-helmet-damage-reduction-inconsistencies.patch b/patches/unapplied/server/0957-Fix-helmet-damage-reduction-inconsistencies.patch similarity index 100% rename from patches/unapplied/0957-Fix-helmet-damage-reduction-inconsistencies.patch rename to patches/unapplied/server/0957-Fix-helmet-damage-reduction-inconsistencies.patch diff --git a/patches/unapplied/0958-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch b/patches/unapplied/server/0958-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch similarity index 100% rename from patches/unapplied/0958-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch rename to patches/unapplied/server/0958-Revert-to-vanilla-handling-of-LivingEntity-actuallyH.patch diff --git a/patches/unapplied/0959-improve-checking-handled-tags-in-itemmeta.patch b/patches/unapplied/server/0959-improve-checking-handled-tags-in-itemmeta.patch similarity index 100% rename from patches/unapplied/0959-improve-checking-handled-tags-in-itemmeta.patch rename to patches/unapplied/server/0959-improve-checking-handled-tags-in-itemmeta.patch diff --git a/patches/unapplied/0960-General-ItemMeta-fixes.patch b/patches/unapplied/server/0960-General-ItemMeta-fixes.patch similarity index 100% rename from patches/unapplied/0960-General-ItemMeta-fixes.patch rename to patches/unapplied/server/0960-General-ItemMeta-fixes.patch diff --git a/patches/unapplied/0961-Expose-hasColor-to-leather-armor.patch b/patches/unapplied/server/0961-Expose-hasColor-to-leather-armor.patch similarity index 100% rename from patches/unapplied/0961-Expose-hasColor-to-leather-armor.patch rename to patches/unapplied/server/0961-Expose-hasColor-to-leather-armor.patch diff --git a/patches/unapplied/0962-Added-API-to-get-player-ha-proxy-address.patch b/patches/unapplied/server/0962-Added-API-to-get-player-ha-proxy-address.patch similarity index 100% rename from patches/unapplied/0962-Added-API-to-get-player-ha-proxy-address.patch rename to patches/unapplied/server/0962-Added-API-to-get-player-ha-proxy-address.patch diff --git a/patches/unapplied/0963-More-Chest-Block-API.patch b/patches/unapplied/server/0963-More-Chest-Block-API.patch similarity index 100% rename from patches/unapplied/0963-More-Chest-Block-API.patch rename to patches/unapplied/server/0963-More-Chest-Block-API.patch diff --git a/patches/unapplied/0964-Print-data-component-type-on-encoding-error.patch b/patches/unapplied/server/0964-Print-data-component-type-on-encoding-error.patch similarity index 100% rename from patches/unapplied/0964-Print-data-component-type-on-encoding-error.patch rename to patches/unapplied/server/0964-Print-data-component-type-on-encoding-error.patch diff --git a/patches/unapplied/0965-Brigadier-based-command-API.patch b/patches/unapplied/server/0965-Brigadier-based-command-API.patch similarity index 100% rename from patches/unapplied/0965-Brigadier-based-command-API.patch rename to patches/unapplied/server/0965-Brigadier-based-command-API.patch diff --git a/patches/unapplied/0966-Fix-issues-with-Recipe-API.patch b/patches/unapplied/server/0966-Fix-issues-with-Recipe-API.patch similarity index 100% rename from patches/unapplied/0966-Fix-issues-with-Recipe-API.patch rename to patches/unapplied/server/0966-Fix-issues-with-Recipe-API.patch diff --git a/patches/unapplied/0967-Fix-equipment-slot-and-group-API.patch b/patches/unapplied/server/0967-Fix-equipment-slot-and-group-API.patch similarity index 100% rename from patches/unapplied/0967-Fix-equipment-slot-and-group-API.patch rename to patches/unapplied/server/0967-Fix-equipment-slot-and-group-API.patch diff --git a/patches/unapplied/0968-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch b/patches/unapplied/server/0968-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch similarity index 100% rename from patches/unapplied/0968-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch rename to patches/unapplied/server/0968-Allow-Bukkit-plugin-to-use-Paper-PluginLoader-API.patch diff --git a/patches/unapplied/0969-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/unapplied/server/0969-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 100% rename from patches/unapplied/0969-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/unapplied/server/0969-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/unapplied/0970-Prevent-NPE-if-hooked-entity-was-cleared.patch b/patches/unapplied/server/0970-Prevent-NPE-if-hooked-entity-was-cleared.patch similarity index 100% rename from patches/unapplied/0970-Prevent-NPE-if-hooked-entity-was-cleared.patch rename to patches/unapplied/server/0970-Prevent-NPE-if-hooked-entity-was-cleared.patch diff --git a/patches/unapplied/0971-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch b/patches/unapplied/server/0971-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch similarity index 100% rename from patches/unapplied/0971-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch rename to patches/unapplied/server/0971-Fix-cancelling-BlockPlaceEvent-calling-onRemove.patch diff --git a/patches/unapplied/0972-Add-missing-fishing-event-state.patch b/patches/unapplied/server/0972-Add-missing-fishing-event-state.patch similarity index 100% rename from patches/unapplied/0972-Add-missing-fishing-event-state.patch rename to patches/unapplied/server/0972-Add-missing-fishing-event-state.patch diff --git a/patches/unapplied/0973-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch b/patches/unapplied/server/0973-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch similarity index 100% rename from patches/unapplied/0973-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch rename to patches/unapplied/server/0973-Deprecate-InvAction-HOTBAR_MOVE_AND_READD.patch diff --git a/patches/unapplied/0974-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch b/patches/unapplied/server/0974-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch similarity index 100% rename from patches/unapplied/0974-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch rename to patches/unapplied/server/0974-Fix-sending-disconnect-packet-in-phases-where-it-doe.patch diff --git a/patches/unapplied/0975-Adopt-MaterialRerouting.patch b/patches/unapplied/server/0975-Adopt-MaterialRerouting.patch similarity index 100% rename from patches/unapplied/0975-Adopt-MaterialRerouting.patch rename to patches/unapplied/server/0975-Adopt-MaterialRerouting.patch diff --git a/patches/unapplied/0976-Suspicious-Effect-Entry-API.patch b/patches/unapplied/server/0976-Suspicious-Effect-Entry-API.patch similarity index 100% rename from patches/unapplied/0976-Suspicious-Effect-Entry-API.patch rename to patches/unapplied/server/0976-Suspicious-Effect-Entry-API.patch diff --git a/patches/unapplied/0977-check-if-itemstack-is-stackable-first.patch b/patches/unapplied/server/0977-check-if-itemstack-is-stackable-first.patch similarity index 100% rename from patches/unapplied/0977-check-if-itemstack-is-stackable-first.patch rename to patches/unapplied/server/0977-check-if-itemstack-is-stackable-first.patch diff --git a/patches/unapplied/0978-Fix-removing-recipes-from-RecipeIterator.patch b/patches/unapplied/server/0978-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/unapplied/0978-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/unapplied/server/0978-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/unapplied/0979-Configurable-damage-tick-when-blocking-with-shield.patch b/patches/unapplied/server/0979-Configurable-damage-tick-when-blocking-with-shield.patch similarity index 100% rename from patches/unapplied/0979-Configurable-damage-tick-when-blocking-with-shield.patch rename to patches/unapplied/server/0979-Configurable-damage-tick-when-blocking-with-shield.patch diff --git a/patches/unapplied/0980-Properly-remove-the-experimental-smithing-inventory-.patch b/patches/unapplied/server/0980-Properly-remove-the-experimental-smithing-inventory-.patch similarity index 100% rename from patches/unapplied/0980-Properly-remove-the-experimental-smithing-inventory-.patch rename to patches/unapplied/server/0980-Properly-remove-the-experimental-smithing-inventory-.patch diff --git a/patches/unapplied/0981-Moonrise-optimisation-patches.patch b/patches/unapplied/server/0981-Moonrise-optimisation-patches.patch similarity index 100% rename from patches/unapplied/0981-Moonrise-optimisation-patches.patch rename to patches/unapplied/server/0981-Moonrise-optimisation-patches.patch diff --git a/patches/unapplied/0982-Rewrite-dataconverter-system.patch b/patches/unapplied/server/0982-Rewrite-dataconverter-system.patch similarity index 100% rename from patches/unapplied/0982-Rewrite-dataconverter-system.patch rename to patches/unapplied/server/0982-Rewrite-dataconverter-system.patch diff --git a/patches/unapplied/0983-disable-forced-empty-world-ticks.patch b/patches/unapplied/server/0983-disable-forced-empty-world-ticks.patch similarity index 100% rename from patches/unapplied/0983-disable-forced-empty-world-ticks.patch rename to patches/unapplied/server/0983-disable-forced-empty-world-ticks.patch diff --git a/patches/unapplied/0984-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch b/patches/unapplied/server/0984-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch similarity index 100% rename from patches/unapplied/0984-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch rename to patches/unapplied/server/0984-Optimize-isInWorldBounds-and-getBlockState-for-inlin.patch diff --git a/patches/unapplied/0985-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/unapplied/server/0985-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch similarity index 100% rename from patches/unapplied/0985-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch rename to patches/unapplied/server/0985-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch diff --git a/patches/unapplied/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch b/patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch similarity index 100% rename from patches/unapplied/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch rename to patches/unapplied/server/0986-Strip-raytracing-for-EntityLiving-hasLineOfSight.patch diff --git a/patches/unapplied/0987-Optimize-Network-Manager-and-add-advanced-packet-sup.patch b/patches/unapplied/server/0987-Optimize-Network-Manager-and-add-advanced-packet-sup.patch similarity index 100% rename from patches/unapplied/0987-Optimize-Network-Manager-and-add-advanced-packet-sup.patch rename to patches/unapplied/server/0987-Optimize-Network-Manager-and-add-advanced-packet-sup.patch diff --git a/patches/unapplied/0988-Allow-Saving-of-Oversized-Chunks.patch b/patches/unapplied/server/0988-Allow-Saving-of-Oversized-Chunks.patch similarity index 100% rename from patches/unapplied/0988-Allow-Saving-of-Oversized-Chunks.patch rename to patches/unapplied/server/0988-Allow-Saving-of-Oversized-Chunks.patch diff --git a/patches/unapplied/0989-Flat-bedrock-generator-settings.patch b/patches/unapplied/server/0989-Flat-bedrock-generator-settings.patch similarity index 100% rename from patches/unapplied/0989-Flat-bedrock-generator-settings.patch rename to patches/unapplied/server/0989-Flat-bedrock-generator-settings.patch diff --git a/patches/unapplied/0990-Entity-Activation-Range-2.0.patch b/patches/unapplied/server/0990-Entity-Activation-Range-2.0.patch similarity index 100% rename from patches/unapplied/0990-Entity-Activation-Range-2.0.patch rename to patches/unapplied/server/0990-Entity-Activation-Range-2.0.patch diff --git a/patches/unapplied/0991-Optional-per-player-mob-spawns.patch b/patches/unapplied/server/0991-Optional-per-player-mob-spawns.patch similarity index 100% rename from patches/unapplied/0991-Optional-per-player-mob-spawns.patch rename to patches/unapplied/server/0991-Optional-per-player-mob-spawns.patch diff --git a/patches/unapplied/0992-Anti-Xray.patch b/patches/unapplied/server/0992-Anti-Xray.patch similarity index 100% rename from patches/unapplied/0992-Anti-Xray.patch rename to patches/unapplied/server/0992-Anti-Xray.patch diff --git a/patches/unapplied/0993-Eigencraft-redstone-implementation.patch b/patches/unapplied/server/0993-Eigencraft-redstone-implementation.patch similarity index 100% rename from patches/unapplied/0993-Eigencraft-redstone-implementation.patch rename to patches/unapplied/server/0993-Eigencraft-redstone-implementation.patch diff --git a/patches/unapplied/0994-Add-Alternate-Current-redstone-implementation.patch b/patches/unapplied/server/0994-Add-Alternate-Current-redstone-implementation.patch similarity index 100% rename from patches/unapplied/0994-Add-Alternate-Current-redstone-implementation.patch rename to patches/unapplied/server/0994-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/unapplied/0995-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/unapplied/server/0995-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch similarity index 100% rename from patches/unapplied/0995-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch rename to patches/unapplied/server/0995-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch diff --git a/patches/unapplied/0996-Use-Velocity-compression-and-cipher-natives.patch b/patches/unapplied/server/0996-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/unapplied/0996-Use-Velocity-compression-and-cipher-natives.patch rename to patches/unapplied/server/0996-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/unapplied/0997-Optimize-Collision-to-not-load-chunks.patch b/patches/unapplied/server/0997-Optimize-Collision-to-not-load-chunks.patch similarity index 100% rename from patches/unapplied/0997-Optimize-Collision-to-not-load-chunks.patch rename to patches/unapplied/server/0997-Optimize-Collision-to-not-load-chunks.patch diff --git a/patches/unapplied/0998-Optimize-GoalSelector-Goal.Flag-Set-operations.patch b/patches/unapplied/server/0998-Optimize-GoalSelector-Goal.Flag-Set-operations.patch similarity index 100% rename from patches/unapplied/0998-Optimize-GoalSelector-Goal.Flag-Set-operations.patch rename to patches/unapplied/server/0998-Optimize-GoalSelector-Goal.Flag-Set-operations.patch diff --git a/patches/unapplied/0999-Optimize-Hoppers.patch b/patches/unapplied/server/0999-Optimize-Hoppers.patch similarity index 100% rename from patches/unapplied/0999-Optimize-Hoppers.patch rename to patches/unapplied/server/0999-Optimize-Hoppers.patch diff --git a/patches/unapplied/1000-Entity-load-save-limit-per-chunk.patch b/patches/unapplied/server/1000-Entity-load-save-limit-per-chunk.patch similarity index 100% rename from patches/unapplied/1000-Entity-load-save-limit-per-chunk.patch rename to patches/unapplied/server/1000-Entity-load-save-limit-per-chunk.patch diff --git a/patches/unapplied/1001-Optimize-Voxel-Shape-Merging.patch b/patches/unapplied/server/1001-Optimize-Voxel-Shape-Merging.patch similarity index 100% rename from patches/unapplied/1001-Optimize-Voxel-Shape-Merging.patch rename to patches/unapplied/server/1001-Optimize-Voxel-Shape-Merging.patch diff --git a/patches/unapplied/1002-Optimize-Bit-Operations-by-inlining.patch b/patches/unapplied/server/1002-Optimize-Bit-Operations-by-inlining.patch similarity index 100% rename from patches/unapplied/1002-Optimize-Bit-Operations-by-inlining.patch rename to patches/unapplied/server/1002-Optimize-Bit-Operations-by-inlining.patch diff --git a/patches/unapplied/1003-Remove-streams-from-hot-code.patch b/patches/unapplied/server/1003-Remove-streams-from-hot-code.patch similarity index 100% rename from patches/unapplied/1003-Remove-streams-from-hot-code.patch rename to patches/unapplied/server/1003-Remove-streams-from-hot-code.patch diff --git a/patches/unapplied/1004-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch b/patches/unapplied/server/1004-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch similarity index 100% rename from patches/unapplied/1004-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch rename to patches/unapplied/server/1004-Optimize-Pathfinder-Remove-Streams-Optimized-collect.patch diff --git a/patches/unapplied/1005-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/unapplied/server/1005-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/unapplied/1005-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/unapplied/server/1005-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/unapplied/1006-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/unapplied/server/1006-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/unapplied/1006-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/unapplied/server/1006-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/unapplied/1007-Handle-Oversized-block-entities-in-chunks.patch b/patches/unapplied/server/1007-Handle-Oversized-block-entities-in-chunks.patch similarity index 100% rename from patches/unapplied/1007-Handle-Oversized-block-entities-in-chunks.patch rename to patches/unapplied/server/1007-Handle-Oversized-block-entities-in-chunks.patch diff --git a/patches/unapplied/1008-API-for-checking-sent-chunks.patch b/patches/unapplied/server/1008-API-for-checking-sent-chunks.patch similarity index 100% rename from patches/unapplied/1008-API-for-checking-sent-chunks.patch rename to patches/unapplied/server/1008-API-for-checking-sent-chunks.patch diff --git a/patches/unapplied/1009-Check-distance-in-entity-interactions.patch b/patches/unapplied/server/1009-Check-distance-in-entity-interactions.patch similarity index 100% rename from patches/unapplied/1009-Check-distance-in-entity-interactions.patch rename to patches/unapplied/server/1009-Check-distance-in-entity-interactions.patch diff --git a/patches/unapplied/1010-Configurable-Sand-Duping.patch b/patches/unapplied/server/1010-Configurable-Sand-Duping.patch similarity index 100% rename from patches/unapplied/1010-Configurable-Sand-Duping.patch rename to patches/unapplied/server/1010-Configurable-Sand-Duping.patch diff --git a/patches/unapplied/1011-Optimise-general-POI-access.patch b/patches/unapplied/server/1011-Optimise-general-POI-access.patch similarity index 100% rename from patches/unapplied/1011-Optimise-general-POI-access.patch rename to patches/unapplied/server/1011-Optimise-general-POI-access.patch diff --git a/patches/unapplied/1012-Improve-performance-of-mass-crafts.patch b/patches/unapplied/server/1012-Improve-performance-of-mass-crafts.patch similarity index 100% rename from patches/unapplied/1012-Improve-performance-of-mass-crafts.patch rename to patches/unapplied/server/1012-Improve-performance-of-mass-crafts.patch diff --git a/patches/unapplied/1013-Properly-resend-entities.patch b/patches/unapplied/server/1013-Properly-resend-entities.patch similarity index 100% rename from patches/unapplied/1013-Properly-resend-entities.patch rename to patches/unapplied/server/1013-Properly-resend-entities.patch diff --git a/patches/unapplied/1014-Registry-Modification-API.patch b/patches/unapplied/server/1014-Registry-Modification-API.patch similarity index 100% rename from patches/unapplied/1014-Registry-Modification-API.patch rename to patches/unapplied/server/1014-Registry-Modification-API.patch diff --git a/patches/unapplied/1015-Add-registry-entry-and-builders.patch b/patches/unapplied/server/1015-Add-registry-entry-and-builders.patch similarity index 100% rename from patches/unapplied/1015-Add-registry-entry-and-builders.patch rename to patches/unapplied/server/1015-Add-registry-entry-and-builders.patch diff --git a/patches/unapplied/1016-Improved-Watchdog-Support.patch b/patches/unapplied/server/1016-Improved-Watchdog-Support.patch similarity index 100% rename from patches/unapplied/1016-Improved-Watchdog-Support.patch rename to patches/unapplied/server/1016-Improved-Watchdog-Support.patch diff --git a/patches/unapplied/1017-Proxy-ItemStack-to-CraftItemStack.patch b/patches/unapplied/server/1017-Proxy-ItemStack-to-CraftItemStack.patch similarity index 100% rename from patches/unapplied/1017-Proxy-ItemStack-to-CraftItemStack.patch rename to patches/unapplied/server/1017-Proxy-ItemStack-to-CraftItemStack.patch diff --git a/patches/unapplied/1018-Make-a-PDC-view-accessible-directly-from-ItemStack.patch b/patches/unapplied/server/1018-Make-a-PDC-view-accessible-directly-from-ItemStack.patch similarity index 100% rename from patches/unapplied/1018-Make-a-PDC-view-accessible-directly-from-ItemStack.patch rename to patches/unapplied/server/1018-Make-a-PDC-view-accessible-directly-from-ItemStack.patch diff --git a/patches/unapplied/1019-Prioritize-Minecraft-commands-in-function-parsing-an.patch b/patches/unapplied/server/1019-Prioritize-Minecraft-commands-in-function-parsing-an.patch similarity index 100% rename from patches/unapplied/1019-Prioritize-Minecraft-commands-in-function-parsing-an.patch rename to patches/unapplied/server/1019-Prioritize-Minecraft-commands-in-function-parsing-an.patch diff --git a/patches/unapplied/1020-optimize-dirt-and-snow-spreading.patch b/patches/unapplied/server/1020-optimize-dirt-and-snow-spreading.patch similarity index 100% rename from patches/unapplied/1020-optimize-dirt-and-snow-spreading.patch rename to patches/unapplied/server/1020-optimize-dirt-and-snow-spreading.patch diff --git a/patches/unapplied/1021-Fix-NPE-for-Jukebox-setRecord.patch b/patches/unapplied/server/1021-Fix-NPE-for-Jukebox-setRecord.patch similarity index 100% rename from patches/unapplied/1021-Fix-NPE-for-Jukebox-setRecord.patch rename to patches/unapplied/server/1021-Fix-NPE-for-Jukebox-setRecord.patch diff --git a/patches/unapplied/1022-Fix-CraftWorld-isChunkGenerated.patch b/patches/unapplied/server/1022-Fix-CraftWorld-isChunkGenerated.patch similarity index 100% rename from patches/unapplied/1022-Fix-CraftWorld-isChunkGenerated.patch rename to patches/unapplied/server/1022-Fix-CraftWorld-isChunkGenerated.patch diff --git a/patches/unapplied/1023-fix-horse-inventories.patch b/patches/unapplied/server/1023-fix-horse-inventories.patch similarity index 100% rename from patches/unapplied/1023-fix-horse-inventories.patch rename to patches/unapplied/server/1023-fix-horse-inventories.patch diff --git a/patches/unapplied/1024-Only-call-EntityDamageEvents-before-actuallyHurt.patch b/patches/unapplied/server/1024-Only-call-EntityDamageEvents-before-actuallyHurt.patch similarity index 100% rename from patches/unapplied/1024-Only-call-EntityDamageEvents-before-actuallyHurt.patch rename to patches/unapplied/server/1024-Only-call-EntityDamageEvents-before-actuallyHurt.patch diff --git a/patches/unapplied/1025-Fix-entity-tracker-desync-when-new-players-are-added.patch b/patches/unapplied/server/1025-Fix-entity-tracker-desync-when-new-players-are-added.patch similarity index 100% rename from patches/unapplied/1025-Fix-entity-tracker-desync-when-new-players-are-added.patch rename to patches/unapplied/server/1025-Fix-entity-tracker-desync-when-new-players-are-added.patch diff --git a/patches/unapplied/1026-Lag-compensation-ticks.patch b/patches/unapplied/server/1026-Lag-compensation-ticks.patch similarity index 100% rename from patches/unapplied/1026-Lag-compensation-ticks.patch rename to patches/unapplied/server/1026-Lag-compensation-ticks.patch diff --git a/patches/unapplied/1027-Detail-more-information-in-watchdog-dumps.patch b/patches/unapplied/server/1027-Detail-more-information-in-watchdog-dumps.patch similarity index 100% rename from patches/unapplied/1027-Detail-more-information-in-watchdog-dumps.patch rename to patches/unapplied/server/1027-Detail-more-information-in-watchdog-dumps.patch diff --git a/patches/unapplied/1028-Write-SavedData-IO-async.patch b/patches/unapplied/server/1028-Write-SavedData-IO-async.patch similarity index 100% rename from patches/unapplied/1028-Write-SavedData-IO-async.patch rename to patches/unapplied/server/1028-Write-SavedData-IO-async.patch diff --git a/patches/unapplied/1029-Add-ItemType-getItemRarity.patch b/patches/unapplied/server/1029-Add-ItemType-getItemRarity.patch similarity index 100% rename from patches/unapplied/1029-Add-ItemType-getItemRarity.patch rename to patches/unapplied/server/1029-Add-ItemType-getItemRarity.patch diff --git a/patches/unapplied/1030-Incremental-chunk-and-player-saving.patch b/patches/unapplied/server/1030-Incremental-chunk-and-player-saving.patch similarity index 100% rename from patches/unapplied/1030-Incremental-chunk-and-player-saving.patch rename to patches/unapplied/server/1030-Incremental-chunk-and-player-saving.patch diff --git a/patches/unapplied/1031-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/unapplied/server/1031-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/unapplied/1031-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/unapplied/server/1031-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/unapplied/1032-Bundle-spark.patch b/patches/unapplied/server/1032-Bundle-spark.patch similarity index 100% rename from patches/unapplied/1032-Bundle-spark.patch rename to patches/unapplied/server/1032-Bundle-spark.patch diff --git a/patches/unapplied/1033-Add-plugin-info-at-startup.patch b/patches/unapplied/server/1033-Add-plugin-info-at-startup.patch similarity index 100% rename from patches/unapplied/1033-Add-plugin-info-at-startup.patch rename to patches/unapplied/server/1033-Add-plugin-info-at-startup.patch diff --git a/patches/unapplied/1034-Make-interaction-leniency-distance-configurable.patch b/patches/unapplied/server/1034-Make-interaction-leniency-distance-configurable.patch similarity index 100% rename from patches/unapplied/1034-Make-interaction-leniency-distance-configurable.patch rename to patches/unapplied/server/1034-Make-interaction-leniency-distance-configurable.patch diff --git a/patches/unapplied/1035-Fix-PickupStatus-getting-reset.patch b/patches/unapplied/server/1035-Fix-PickupStatus-getting-reset.patch similarity index 100% rename from patches/unapplied/1035-Fix-PickupStatus-getting-reset.patch rename to patches/unapplied/server/1035-Fix-PickupStatus-getting-reset.patch diff --git a/patches/unapplied/1036-Check-for-block-type-in-SculkSensorBlock-canActivate.patch b/patches/unapplied/server/1036-Check-for-block-type-in-SculkSensorBlock-canActivate.patch similarity index 100% rename from patches/unapplied/1036-Check-for-block-type-in-SculkSensorBlock-canActivate.patch rename to patches/unapplied/server/1036-Check-for-block-type-in-SculkSensorBlock-canActivate.patch diff --git a/patches/unapplied/1037-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch b/patches/unapplied/server/1037-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch similarity index 100% rename from patches/unapplied/1037-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch rename to patches/unapplied/server/1037-Add-API-for-CanPlaceOn-and-CanDestroy-NBT-values.patch diff --git a/patches/unapplied/1038-Configuration-for-horizontal-only-item-merging.patch b/patches/unapplied/server/1038-Configuration-for-horizontal-only-item-merging.patch similarity index 100% rename from patches/unapplied/1038-Configuration-for-horizontal-only-item-merging.patch rename to patches/unapplied/server/1038-Configuration-for-horizontal-only-item-merging.patch diff --git a/patches/unapplied/1039-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/unapplied/server/1039-Optimise-collision-checking-in-player-move-packet-ha.patch similarity index 100% rename from patches/unapplied/1039-Optimise-collision-checking-in-player-move-packet-ha.patch rename to patches/unapplied/server/1039-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/unapplied/1040-Add-skipping-world-symlink-scan.patch b/patches/unapplied/server/1040-Add-skipping-world-symlink-scan.patch similarity index 100% rename from patches/unapplied/1040-Add-skipping-world-symlink-scan.patch rename to patches/unapplied/server/1040-Add-skipping-world-symlink-scan.patch diff --git a/patches/unapplied/1041-Add-even-more-Enchantment-API.patch b/patches/unapplied/server/1041-Add-even-more-Enchantment-API.patch similarity index 100% rename from patches/unapplied/1041-Add-even-more-Enchantment-API.patch rename to patches/unapplied/server/1041-Add-even-more-Enchantment-API.patch diff --git a/patches/unapplied/1042-Leashable-API.patch b/patches/unapplied/server/1042-Leashable-API.patch similarity index 100% rename from patches/unapplied/1042-Leashable-API.patch rename to patches/unapplied/server/1042-Leashable-API.patch diff --git a/patches/unapplied/1043-Fix-CraftBukkit-drag-system.patch b/patches/unapplied/server/1043-Fix-CraftBukkit-drag-system.patch similarity index 100% rename from patches/unapplied/1043-Fix-CraftBukkit-drag-system.patch rename to patches/unapplied/server/1043-Fix-CraftBukkit-drag-system.patch diff --git a/patches/unapplied/1044-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch b/patches/unapplied/server/1044-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch similarity index 100% rename from patches/unapplied/1044-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch rename to patches/unapplied/server/1044-Fix-SculkBloomEvent-firing-for-block-entity-loading.patch diff --git a/patches/unapplied/1045-Remove-set-damage-lootable-item-function-from-compas.patch b/patches/unapplied/server/1045-Remove-set-damage-lootable-item-function-from-compas.patch similarity index 100% rename from patches/unapplied/1045-Remove-set-damage-lootable-item-function-from-compas.patch rename to patches/unapplied/server/1045-Remove-set-damage-lootable-item-function-from-compas.patch diff --git a/patches/unapplied/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch b/patches/unapplied/server/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch similarity index 100% rename from patches/unapplied/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch rename to patches/unapplied/server/1046-Properly-destroy-placed-blocks-on-the-end-platform.patch diff --git a/patches/unapplied/1047-Add-enchantment-seed-update-API.patch b/patches/unapplied/server/1047-Add-enchantment-seed-update-API.patch similarity index 100% rename from patches/unapplied/1047-Add-enchantment-seed-update-API.patch rename to patches/unapplied/server/1047-Add-enchantment-seed-update-API.patch diff --git a/patches/unapplied/1048-Fix-synchronise-sending-chat-to-client-with-updating.patch b/patches/unapplied/server/1048-Fix-synchronise-sending-chat-to-client-with-updating.patch similarity index 100% rename from patches/unapplied/1048-Fix-synchronise-sending-chat-to-client-with-updating.patch rename to patches/unapplied/server/1048-Fix-synchronise-sending-chat-to-client-with-updating.patch diff --git a/patches/unapplied/1049-Fix-InventoryOpenEvent-cancellation.patch b/patches/unapplied/server/1049-Fix-InventoryOpenEvent-cancellation.patch similarity index 100% rename from patches/unapplied/1049-Fix-InventoryOpenEvent-cancellation.patch rename to patches/unapplied/server/1049-Fix-InventoryOpenEvent-cancellation.patch diff --git a/patches/unapplied/1050-Fire-BlockExpEvent-on-grindstone-use.patch b/patches/unapplied/server/1050-Fire-BlockExpEvent-on-grindstone-use.patch similarity index 100% rename from patches/unapplied/1050-Fire-BlockExpEvent-on-grindstone-use.patch rename to patches/unapplied/server/1050-Fire-BlockExpEvent-on-grindstone-use.patch diff --git a/patches/unapplied/1051-Check-dead-flag-in-isAlive.patch b/patches/unapplied/server/1051-Check-dead-flag-in-isAlive.patch similarity index 100% rename from patches/unapplied/1051-Check-dead-flag-in-isAlive.patch rename to patches/unapplied/server/1051-Check-dead-flag-in-isAlive.patch diff --git a/patches/unapplied/1052-Add-FeatureFlag-API.patch b/patches/unapplied/server/1052-Add-FeatureFlag-API.patch similarity index 100% rename from patches/unapplied/1052-Add-FeatureFlag-API.patch rename to patches/unapplied/server/1052-Add-FeatureFlag-API.patch diff --git a/patches/unapplied/1053-Tag-Lifecycle-Events.patch b/patches/unapplied/server/1053-Tag-Lifecycle-Events.patch similarity index 100% rename from patches/unapplied/1053-Tag-Lifecycle-Events.patch rename to patches/unapplied/server/1053-Tag-Lifecycle-Events.patch diff --git a/patches/unapplied/1054-Item-serialization-as-json.patch b/patches/unapplied/server/1054-Item-serialization-as-json.patch similarity index 100% rename from patches/unapplied/1054-Item-serialization-as-json.patch rename to patches/unapplied/server/1054-Item-serialization-as-json.patch diff --git a/patches/unapplied/1055-Validate-slot-in-PlayerInventory-setSlot.patch b/patches/unapplied/server/1055-Validate-slot-in-PlayerInventory-setSlot.patch similarity index 100% rename from patches/unapplied/1055-Validate-slot-in-PlayerInventory-setSlot.patch rename to patches/unapplied/server/1055-Validate-slot-in-PlayerInventory-setSlot.patch diff --git a/patches/unapplied/1056-Remove-wall-time-unused-skip-tick-protection.patch b/patches/unapplied/server/1056-Remove-wall-time-unused-skip-tick-protection.patch similarity index 100% rename from patches/unapplied/1056-Remove-wall-time-unused-skip-tick-protection.patch rename to patches/unapplied/server/1056-Remove-wall-time-unused-skip-tick-protection.patch diff --git a/patches/unapplied/1057-Disable-pretty-printing-for-advancement-saving.patch b/patches/unapplied/server/1057-Disable-pretty-printing-for-advancement-saving.patch similarity index 100% rename from patches/unapplied/1057-Disable-pretty-printing-for-advancement-saving.patch rename to patches/unapplied/server/1057-Disable-pretty-printing-for-advancement-saving.patch diff --git a/patches/unapplied/1058-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch b/patches/unapplied/server/1058-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch similarity index 100% rename from patches/unapplied/1058-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch rename to patches/unapplied/server/1058-Fix-PlayerCommandPreprocessEvent-on-signed-commands.patch diff --git a/patches/unapplied/1059-Add-enchantWithLevels-with-enchantment-registry-set.patch b/patches/unapplied/server/1059-Add-enchantWithLevels-with-enchantment-registry-set.patch similarity index 100% rename from patches/unapplied/1059-Add-enchantWithLevels-with-enchantment-registry-set.patch rename to patches/unapplied/server/1059-Add-enchantWithLevels-with-enchantment-registry-set.patch diff --git a/patches/unapplied/1060-Improve-entity-effect-API.patch b/patches/unapplied/server/1060-Improve-entity-effect-API.patch similarity index 100% rename from patches/unapplied/1060-Improve-entity-effect-API.patch rename to patches/unapplied/server/1060-Improve-entity-effect-API.patch diff --git a/patches/unapplied/1061-Add-recipeBrewTime.patch b/patches/unapplied/server/1061-Add-recipeBrewTime.patch similarity index 100% rename from patches/unapplied/1061-Add-recipeBrewTime.patch rename to patches/unapplied/server/1061-Add-recipeBrewTime.patch diff --git a/patches/unapplied/1062-Call-bucket-events-for-cauldrons.patch b/patches/unapplied/server/1062-Call-bucket-events-for-cauldrons.patch similarity index 100% rename from patches/unapplied/1062-Call-bucket-events-for-cauldrons.patch rename to patches/unapplied/server/1062-Call-bucket-events-for-cauldrons.patch diff --git a/patches/unapplied/1063-Add-PlayerInsertLecternBookEvent.patch b/patches/unapplied/server/1063-Add-PlayerInsertLecternBookEvent.patch similarity index 100% rename from patches/unapplied/1063-Add-PlayerInsertLecternBookEvent.patch rename to patches/unapplied/server/1063-Add-PlayerInsertLecternBookEvent.patch diff --git a/patches/unapplied/1064-Void-damage-configuration-API.patch b/patches/unapplied/server/1064-Void-damage-configuration-API.patch similarity index 100% rename from patches/unapplied/1064-Void-damage-configuration-API.patch rename to patches/unapplied/server/1064-Void-damage-configuration-API.patch diff --git a/patches/unapplied/1065-Add-Offline-PDC-API.patch b/patches/unapplied/server/1065-Add-Offline-PDC-API.patch similarity index 100% rename from patches/unapplied/1065-Add-Offline-PDC-API.patch rename to patches/unapplied/server/1065-Add-Offline-PDC-API.patch diff --git a/patches/unapplied/1066-Add-AnvilView-bypassEnchantmentLevelRestriction.patch b/patches/unapplied/server/1066-Add-AnvilView-bypassEnchantmentLevelRestriction.patch similarity index 100% rename from patches/unapplied/1066-Add-AnvilView-bypassEnchantmentLevelRestriction.patch rename to patches/unapplied/server/1066-Add-AnvilView-bypassEnchantmentLevelRestriction.patch diff --git a/patches/unapplied/1067-Add-proper-async-player-disconnections.patch b/patches/unapplied/server/1067-Add-proper-async-player-disconnections.patch similarity index 100% rename from patches/unapplied/1067-Add-proper-async-player-disconnections.patch rename to patches/unapplied/server/1067-Add-proper-async-player-disconnections.patch diff --git a/patches/unapplied/1068-Always-send-Banner-patterns-to-the-client.patch b/patches/unapplied/server/1068-Always-send-Banner-patterns-to-the-client.patch similarity index 100% rename from patches/unapplied/1068-Always-send-Banner-patterns-to-the-client.patch rename to patches/unapplied/server/1068-Always-send-Banner-patterns-to-the-client.patch diff --git a/patches/unapplied/9999-Optimise-nearby-player-retrieval.patch b/patches/unapplied/server/9999-Optimise-nearby-player-retrieval.patch similarity index 100% rename from patches/unapplied/9999-Optimise-nearby-player-retrieval.patch rename to patches/unapplied/server/9999-Optimise-nearby-player-retrieval.patch diff --git a/todo.txt b/todo.txt new file mode 100644 index 0000000000..8cb87a4cf7 --- /dev/null +++ b/todo.txt @@ -0,0 +1 @@ +MCUTILS: look at chunkmap changes around line 555. I removed our changes because I wasn't sure what changed, needs to be looked at!