diff --git a/patches/api/Add-FastUtil-to-Bukkit.patch b/patches/api/Add-FastUtil-to-Bukkit.patch
index 2f6d14cfee..6dbd4c5d95 100644
--- a/patches/api/Add-FastUtil-to-Bukkit.patch
+++ b/patches/api/Add-FastUtil-to-Bukkit.patch
@@ -13,7 +13,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      api("com.googlecode.json-simple:json-simple:1.1.1") {
          isTransitive = false // includes junit
      }
-+    api("it.unimi.dsi:fastutil:8.5.6")
++    api("it.unimi.dsi:fastutil:8.5.15")
      // Paper end
  
      compileOnly("org.apache.maven:maven-resolver-provider:3.9.6")
diff --git a/patches/api/Adventure.patch b/patches/api/Adventure.patch
index e3107f4a07..62802b6f08 100644
--- a/patches/api/Adventure.patch
+++ b/patches/api/Adventure.patch
@@ -46,7 +46,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 @@ -0,0 +0,0 @@ dependencies {
          isTransitive = false // includes junit
      }
-     api("it.unimi.dsi:fastutil:8.5.6")
+     api("it.unimi.dsi:fastutil:8.5.15")
 +    apiAndDocs(platform("net.kyori:adventure-bom:$adventureVersion"))
 +    apiAndDocs("net.kyori:adventure-api")
 +    apiAndDocs("net.kyori:adventure-text-minimessage")
diff --git a/patches/unapplied/server/Add-BeaconEffectEvent.patch b/patches/server/Add-BeaconEffectEvent.patch
similarity index 100%
rename from patches/unapplied/server/Add-BeaconEffectEvent.patch
rename to patches/server/Add-BeaconEffectEvent.patch
diff --git a/patches/unapplied/server/Add-PlayerUseUnknownEntityEvent.patch b/patches/server/Add-PlayerUseUnknownEntityEvent.patch
similarity index 71%
rename from patches/unapplied/server/Add-PlayerUseUnknownEntityEvent.patch
rename to patches/server/Add-PlayerUseUnknownEntityEvent.patch
index 1e8af013c8..19100bf597 100644
--- a/patches/unapplied/server/Add-PlayerUseUnknownEntityEvent.patch
+++ b/patches/server/Add-PlayerUseUnknownEntityEvent.patch
@@ -32,32 +32,32 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
 @@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
-                 });
+                     });
+                 }
              }
-         }
-+        // Paper start - PlayerUseUnknownEntityEvent
-+        else {
-+            packet.dispatch(new net.minecraft.network.protocol.game.ServerboundInteractPacket.Handler() {
-+                @Override
-+                public void onInteraction(net.minecraft.world.InteractionHand hand) {
-+                    CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, null);
-+                }
++            // Paper start - PlayerUseUnknownEntityEvent
++            else {
++                packet.dispatch(new net.minecraft.network.protocol.game.ServerboundInteractPacket.Handler() {
++                    @Override
++                    public void onInteraction(net.minecraft.world.InteractionHand hand) {
++                        CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, null);
++                    }
 +
-+                @Override
-+                public void onInteraction(net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.Vec3 pos) {
-+                    CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, pos);
-+                }
++                    @Override
++                    public void onInteraction(net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.Vec3 pos) {
++                        CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, hand, pos);
++                    }
  
-+                @Override
-+                public void onAttack() {
-+                    CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, net.minecraft.world.InteractionHand.MAIN_HAND, null);
-+                }
-+            });
-+        }
-+        // Paper end - PlayerUseUnknownEntityEvent
++                    @Override
++                    public void onAttack() {
++                        CraftEventFactory.callPlayerUseUnknownEntityEvent(ServerGamePacketListenerImpl.this.player, packet, net.minecraft.world.InteractionHand.MAIN_HAND, null);
++                    }
++                });
++            }
++            // Paper end - PlayerUseUnknownEntityEvent
+         }
      }
  
-     @Override
 diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
diff --git a/patches/unapplied/server/Add-World-Util-Methods.patch b/patches/server/Add-World-Util-Methods.patch
similarity index 100%
rename from patches/unapplied/server/Add-World-Util-Methods.patch
rename to patches/server/Add-World-Util-Methods.patch
diff --git a/patches/unapplied/server/Add-ability-to-configure-frosted_ice-properties.patch b/patches/server/Add-ability-to-configure-frosted_ice-properties.patch
similarity index 100%
rename from patches/unapplied/server/Add-ability-to-configure-frosted_ice-properties.patch
rename to patches/server/Add-ability-to-configure-frosted_ice-properties.patch
diff --git a/patches/unapplied/server/Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/Add-command-line-option-to-load-extra-plugin-jars-no.patch
similarity index 100%
rename from patches/unapplied/server/Add-command-line-option-to-load-extra-plugin-jars-no.patch
rename to patches/server/Add-command-line-option-to-load-extra-plugin-jars-no.patch
diff --git a/patches/unapplied/server/Add-configurable-entity-despawn-distances.patch b/patches/server/Add-configurable-entity-despawn-distances.patch
similarity index 100%
rename from patches/unapplied/server/Add-configurable-entity-despawn-distances.patch
rename to patches/server/Add-configurable-entity-despawn-distances.patch
diff --git a/patches/unapplied/server/Add-configurable-portal-search-radius.patch b/patches/server/Add-configurable-portal-search-radius.patch
similarity index 100%
rename from patches/unapplied/server/Add-configurable-portal-search-radius.patch
rename to patches/server/Add-configurable-portal-search-radius.patch
diff --git a/patches/unapplied/server/Add-exception-reporting-event.patch b/patches/server/Add-exception-reporting-event.patch
similarity index 100%
rename from patches/unapplied/server/Add-exception-reporting-event.patch
rename to patches/server/Add-exception-reporting-event.patch
diff --git a/patches/unapplied/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch b/patches/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch
similarity index 100%
rename from patches/unapplied/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch
rename to patches/server/Add-handshake-event-to-allow-plugins-to-handle-clien.patch
diff --git a/patches/unapplied/server/Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/Add-methods-for-working-with-arrows-stuck-in-living-.patch
similarity index 100%
rename from patches/unapplied/server/Add-methods-for-working-with-arrows-stuck-in-living-.patch
rename to patches/server/Add-methods-for-working-with-arrows-stuck-in-living-.patch
diff --git a/patches/unapplied/server/Add-more-entities-to-activation-range-ignore-list.patch b/patches/server/Add-more-entities-to-activation-range-ignore-list.patch
similarity index 100%
rename from patches/unapplied/server/Add-more-entities-to-activation-range-ignore-list.patch
rename to patches/server/Add-more-entities-to-activation-range-ignore-list.patch
diff --git a/patches/unapplied/server/Add-server-name-parameter.patch b/patches/server/Add-server-name-parameter.patch
similarity index 100%
rename from patches/unapplied/server/Add-server-name-parameter.patch
rename to patches/server/Add-server-name-parameter.patch
diff --git a/patches/unapplied/server/Add-velocity-warnings.patch b/patches/server/Add-velocity-warnings.patch
similarity index 100%
rename from patches/unapplied/server/Add-velocity-warnings.patch
rename to patches/server/Add-velocity-warnings.patch
diff --git a/patches/unapplied/server/Adventure.patch b/patches/server/Adventure.patch
similarity index 99%
rename from patches/unapplied/server/Adventure.patch
rename to patches/server/Adventure.patch
index 84dea17481..f580a63d74 100644
--- a/patches/unapplied/server/Adventure.patch
+++ b/patches/server/Adventure.patch
@@ -2969,13 +2969,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
              AsyncPlayerChatEvent event = new AsyncPlayerChatEvent(async, player, s, new LazyPlayerSet(this.server));
              String originalFormat = event.getFormat(), originalMessage = event.getMessage();
 @@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
-     public void handleClientInformation(ServerboundClientInformationPacket packet) {
-         PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel());
+         boolean flag = this.player.isModelPartShown(PlayerModelPart.HAT);
+ 
          this.player.updateOptions(packet.information());
 +        this.connection.channel.attr(io.papermc.paper.adventure.PaperAdventure.LOCALE_ATTRIBUTE).set(net.kyori.adventure.translation.Translator.parseLocale(packet.information().language())); // Paper
-     }
- 
-     @Override
+         if (this.player.isModelPartShown(PlayerModelPart.HAT) != flag) {
+             this.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_HAT, this.player));
+         }
 diff --git a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
diff --git a/patches/unapplied/server/All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/server/All-chunks-are-slime-spawn-chunks-toggle.patch
similarity index 100%
rename from patches/unapplied/server/All-chunks-are-slime-spawn-chunks-toggle.patch
rename to patches/server/All-chunks-are-slime-spawn-chunks-toggle.patch
diff --git a/patches/unapplied/server/Allow-Reloading-of-Custom-Permissions.patch b/patches/server/Allow-Reloading-of-Custom-Permissions.patch
similarity index 100%
rename from patches/unapplied/server/Allow-Reloading-of-Custom-Permissions.patch
rename to patches/server/Allow-Reloading-of-Custom-Permissions.patch
diff --git a/patches/unapplied/server/Allow-nerfed-mobs-to-jump.patch b/patches/server/Allow-nerfed-mobs-to-jump.patch
similarity index 100%
rename from patches/unapplied/server/Allow-nerfed-mobs-to-jump.patch
rename to patches/server/Allow-nerfed-mobs-to-jump.patch
diff --git a/patches/unapplied/server/Async-GameProfileCache-saving.patch b/patches/server/Async-GameProfileCache-saving.patch
similarity index 100%
rename from patches/unapplied/server/Async-GameProfileCache-saving.patch
rename to patches/server/Async-GameProfileCache-saving.patch
diff --git a/patches/unapplied/server/Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/Be-a-bit-more-informative-in-maxHealth-exception.patch
similarity index 100%
rename from patches/unapplied/server/Be-a-bit-more-informative-in-maxHealth-exception.patch
rename to patches/server/Be-a-bit-more-informative-in-maxHealth-exception.patch
diff --git a/patches/unapplied/server/Build-system-changes.patch b/patches/server/Build-system-changes.patch
similarity index 98%
rename from patches/unapplied/server/Build-system-changes.patch
rename to patches/server/Build-system-changes.patch
index 96411b1e69..a88c8a5327 100644
--- a/patches/unapplied/server/Build-system-changes.patch
+++ b/patches/server/Build-system-changes.patch
@@ -16,13 +16,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  dependencies {
      implementation(project(":paper-api"))
      implementation("jline:jline:2.12.1")
--    implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") {
+-    implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") {
 -        exclude(group = "org.apache.logging.log4j", module = "log4j-api")
 -    }
-+    implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
++    implementation("org.apache.logging.log4j:log4j-iostreams:2.24.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.1.3")
+     runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
 @@ -0,0 +0,0 @@ tasks.jar {
          val gitHash = git("rev-parse", "--short=7", "HEAD").getText().trim()
          val implementationVersion = System.getenv("BUILD_NUMBER") ?: "\"$gitHash\""
@@ -142,7 +142,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +                    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, -14);
+                     deadline.add(Calendar.DAY_OF_YEAR, -2);
 diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java
diff --git a/patches/unapplied/server/CB-fixes.patch b/patches/server/CB-fixes.patch
similarity index 100%
rename from patches/unapplied/server/CB-fixes.patch
rename to patches/server/CB-fixes.patch
diff --git a/patches/unapplied/server/Check-online-mode-before-converting-and-renaming-pla.patch b/patches/server/Check-online-mode-before-converting-and-renaming-pla.patch
similarity index 100%
rename from patches/unapplied/server/Check-online-mode-before-converting-and-renaming-pla.patch
rename to patches/server/Check-online-mode-before-converting-and-renaming-pla.patch
diff --git a/patches/unapplied/server/Complete-resource-pack-API.patch b/patches/server/Complete-resource-pack-API.patch
similarity index 100%
rename from patches/unapplied/server/Complete-resource-pack-API.patch
rename to patches/server/Complete-resource-pack-API.patch
diff --git a/patches/unapplied/server/ConcurrentUtil.patch b/patches/server/ConcurrentUtil.patch
similarity index 100%
rename from patches/unapplied/server/ConcurrentUtil.patch
rename to patches/server/ConcurrentUtil.patch
diff --git a/patches/unapplied/server/Configurable-Chunk-Inhabited-Time.patch b/patches/server/Configurable-Chunk-Inhabited-Time.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-Chunk-Inhabited-Time.patch
rename to patches/server/Configurable-Chunk-Inhabited-Time.patch
diff --git a/patches/unapplied/server/Configurable-Disabling-Cat-Chest-Detection.patch b/patches/server/Configurable-Disabling-Cat-Chest-Detection.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-Disabling-Cat-Chest-Detection.patch
rename to patches/server/Configurable-Disabling-Cat-Chest-Detection.patch
diff --git a/patches/unapplied/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch b/patches/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch
rename to patches/server/Configurable-Non-Player-Arrow-Despawn-Rate.patch
diff --git a/patches/unapplied/server/Configurable-Player-Collision.patch b/patches/server/Configurable-Player-Collision.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-Player-Collision.patch
rename to patches/server/Configurable-Player-Collision.patch
diff --git a/patches/unapplied/server/Configurable-RCON-IP-address.patch b/patches/server/Configurable-RCON-IP-address.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-RCON-IP-address.patch
rename to patches/server/Configurable-RCON-IP-address.patch
diff --git a/patches/unapplied/server/Configurable-baby-zombie-movement-speed.patch b/patches/server/Configurable-baby-zombie-movement-speed.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-baby-zombie-movement-speed.patch
rename to patches/server/Configurable-baby-zombie-movement-speed.patch
diff --git a/patches/unapplied/server/Configurable-cactus-bamboo-and-reed-growth-height.patch b/patches/server/Configurable-cactus-bamboo-and-reed-growth-height.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-cactus-bamboo-and-reed-growth-height.patch
rename to patches/server/Configurable-cactus-bamboo-and-reed-growth-height.patch
diff --git a/patches/unapplied/server/Configurable-container-update-tick-rate.patch b/patches/server/Configurable-container-update-tick-rate.patch
similarity index 82%
rename from patches/unapplied/server/Configurable-container-update-tick-rate.patch
rename to patches/server/Configurable-container-update-tick-rate.patch
index 8608dc14df..3518b9e79c 100644
--- a/patches/unapplied/server/Configurable-container-update-tick-rate.patch
+++ b/patches/server/Configurable-container-update-tick-rate.patch
@@ -21,12 +21,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
          }
  
 -        this.containerMenu.broadcastChanges();
-+        // Paper start - Configurable container update tick rate
-+        if (--containerUpdateDelay <= 0) {
++        if (--this.containerUpdateDelay <= 0) {
 +            this.containerMenu.broadcastChanges();
-+            containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate;
++            this.containerUpdateDelay = this.level().paperConfig().tickRates.containerUpdate;
 +        }
 +        // Paper end - Configurable container update tick rate
-         if (!this.level().isClientSide && !this.containerMenu.stillValid(this)) {
+         if (!this.containerMenu.stillValid(this)) {
              this.closeContainer();
              this.containerMenu = this.inventoryMenu;
diff --git a/patches/unapplied/server/Configurable-end-credits.patch b/patches/server/Configurable-end-credits.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-end-credits.patch
rename to patches/server/Configurable-end-credits.patch
diff --git a/patches/unapplied/server/Configurable-fishing-time-ranges.patch b/patches/server/Configurable-fishing-time-ranges.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-fishing-time-ranges.patch
rename to patches/server/Configurable-fishing-time-ranges.patch
diff --git a/patches/unapplied/server/Configurable-mob-spawner-tick-rate.patch b/patches/server/Configurable-mob-spawner-tick-rate.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-mob-spawner-tick-rate.patch
rename to patches/server/Configurable-mob-spawner-tick-rate.patch
diff --git a/patches/unapplied/server/Configurable-random-tick-rates-for-blocks.patch b/patches/server/Configurable-random-tick-rates-for-blocks.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-random-tick-rates-for-blocks.patch
rename to patches/server/Configurable-random-tick-rates-for-blocks.patch
diff --git a/patches/unapplied/server/Configurable-spawn-chances-for-skeleton-horses.patch b/patches/server/Configurable-spawn-chances-for-skeleton-horses.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-spawn-chances-for-skeleton-horses.patch
rename to patches/server/Configurable-spawn-chances-for-skeleton-horses.patch
diff --git a/patches/unapplied/server/Configurable-top-of-nether-void-damage.patch b/patches/server/Configurable-top-of-nether-void-damage.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-top-of-nether-void-damage.patch
rename to patches/server/Configurable-top-of-nether-void-damage.patch
diff --git a/patches/unapplied/server/Custom-replacement-for-eaten-items.patch b/patches/server/Custom-replacement-for-eaten-items.patch
similarity index 100%
rename from patches/unapplied/server/Custom-replacement-for-eaten-items.patch
rename to patches/server/Custom-replacement-for-eaten-items.patch
diff --git a/patches/unapplied/server/Default-loading-permissions.yml-before-plugins.patch b/patches/server/Default-loading-permissions.yml-before-plugins.patch
similarity index 100%
rename from patches/unapplied/server/Default-loading-permissions.yml-before-plugins.patch
rename to patches/server/Default-loading-permissions.yml-before-plugins.patch
diff --git a/patches/unapplied/server/Deobfuscate-stacktraces-in-log-messages-crash-report.patch b/patches/server/Deobfuscate-stacktraces-in-log-messages-crash-report.patch
similarity index 100%
rename from patches/unapplied/server/Deobfuscate-stacktraces-in-log-messages-crash-report.patch
rename to patches/server/Deobfuscate-stacktraces-in-log-messages-crash-report.patch
diff --git a/patches/unapplied/server/Disable-Scoreboards-for-non-players-by-default.patch b/patches/server/Disable-Scoreboards-for-non-players-by-default.patch
similarity index 100%
rename from patches/unapplied/server/Disable-Scoreboards-for-non-players-by-default.patch
rename to patches/server/Disable-Scoreboards-for-non-players-by-default.patch
diff --git a/patches/unapplied/server/Disable-explosion-knockback.patch b/patches/server/Disable-explosion-knockback.patch
similarity index 100%
rename from patches/unapplied/server/Disable-explosion-knockback.patch
rename to patches/server/Disable-explosion-knockback.patch
diff --git a/patches/unapplied/server/Disable-ice-and-snow.patch b/patches/server/Disable-ice-and-snow.patch
similarity index 100%
rename from patches/unapplied/server/Disable-ice-and-snow.patch
rename to patches/server/Disable-ice-and-snow.patch
diff --git a/patches/unapplied/server/Disable-spigot-tick-limiters.patch b/patches/server/Disable-spigot-tick-limiters.patch
similarity index 100%
rename from patches/unapplied/server/Disable-spigot-tick-limiters.patch
rename to patches/server/Disable-spigot-tick-limiters.patch
diff --git a/patches/unapplied/server/Disable-thunder.patch b/patches/server/Disable-thunder.patch
similarity index 100%
rename from patches/unapplied/server/Disable-thunder.patch
rename to patches/server/Disable-thunder.patch
diff --git a/patches/unapplied/server/Do-not-load-chunks-for-Pathfinding.patch b/patches/server/Do-not-load-chunks-for-Pathfinding.patch
similarity index 100%
rename from patches/unapplied/server/Do-not-load-chunks-for-Pathfinding.patch
rename to patches/server/Do-not-load-chunks-for-Pathfinding.patch
diff --git a/patches/unapplied/server/Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch b/patches/server/Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
similarity index 100%
rename from patches/unapplied/server/Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
rename to patches/server/Don-t-save-empty-scoreboard-teams-to-scoreboard.dat.patch
diff --git a/patches/unapplied/server/Drop-falling-block-and-tnt-entities-at-the-specified.patch b/patches/server/Drop-falling-block-and-tnt-entities-at-the-specified.patch
similarity index 100%
rename from patches/unapplied/server/Drop-falling-block-and-tnt-entities-at-the-specified.patch
rename to patches/server/Drop-falling-block-and-tnt-entities-at-the-specified.patch
diff --git a/patches/unapplied/server/Entity-AddTo-RemoveFrom-World-Events.patch b/patches/server/Entity-AddTo-RemoveFrom-World-Events.patch
similarity index 100%
rename from patches/unapplied/server/Entity-AddTo-RemoveFrom-World-Events.patch
rename to patches/server/Entity-AddTo-RemoveFrom-World-Events.patch
diff --git a/patches/unapplied/server/Entity-Origin-API.patch b/patches/server/Entity-Origin-API.patch
similarity index 100%
rename from patches/unapplied/server/Entity-Origin-API.patch
rename to patches/server/Entity-Origin-API.patch
diff --git a/patches/unapplied/server/EntityPathfindEvent.patch b/patches/server/EntityPathfindEvent.patch
similarity index 100%
rename from patches/unapplied/server/EntityPathfindEvent.patch
rename to patches/server/EntityPathfindEvent.patch
diff --git a/patches/unapplied/server/EntityRegainHealthEvent-isFastRegen-API.patch b/patches/server/EntityRegainHealthEvent-isFastRegen-API.patch
similarity index 100%
rename from patches/unapplied/server/EntityRegainHealthEvent-isFastRegen-API.patch
rename to patches/server/EntityRegainHealthEvent-isFastRegen-API.patch
diff --git a/patches/unapplied/server/Expose-server-CommandMap.patch b/patches/server/Expose-server-CommandMap.patch
similarity index 100%
rename from patches/unapplied/server/Expose-server-CommandMap.patch
rename to patches/server/Expose-server-CommandMap.patch
diff --git a/patches/unapplied/server/Expose-server-build-information.patch b/patches/server/Expose-server-build-information.patch
similarity index 99%
rename from patches/unapplied/server/Expose-server-build-information.patch
rename to patches/server/Expose-server-build-information.patch
index c60cf35199..c2236d07e2 100644
--- a/patches/unapplied/server/Expose-server-build-information.patch
+++ b/patches/server/Expose-server-build-information.patch
@@ -671,7 +671,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      public static boolean useConsole = true;
  
 @@ -0,0 +0,0 @@ public class Main {
-                     deadline.add(Calendar.DAY_OF_YEAR, -14);
+                     deadline.add(Calendar.DAY_OF_YEAR, -2);
                      if (buildDate.before(deadline.getTime())) {
                          System.err.println("*** Error, this build is outdated ***");
 -                        System.err.println("*** Please download a new build as per instructions from https://www.spigotmc.org/go/outdated-spigot ***");
diff --git a/patches/unapplied/server/Faster-redstone-torch-rapid-clock-removal.patch b/patches/server/Faster-redstone-torch-rapid-clock-removal.patch
similarity index 100%
rename from patches/unapplied/server/Faster-redstone-torch-rapid-clock-removal.patch
rename to patches/server/Faster-redstone-torch-rapid-clock-removal.patch
diff --git a/patches/unapplied/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch b/patches/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
similarity index 100%
rename from patches/unapplied/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
rename to patches/server/Fix-Cancelling-BlockPlaceEvent-triggering-physics.patch
diff --git a/patches/unapplied/server/Fix-global-sound-handling.patch b/patches/server/Fix-global-sound-handling.patch
similarity index 100%
rename from patches/unapplied/server/Fix-global-sound-handling.patch
rename to patches/server/Fix-global-sound-handling.patch
diff --git a/patches/unapplied/server/Fix-lag-from-explosions-processing-dead-entities.patch b/patches/server/Fix-lag-from-explosions-processing-dead-entities.patch
similarity index 100%
rename from patches/unapplied/server/Fix-lag-from-explosions-processing-dead-entities.patch
rename to patches/server/Fix-lag-from-explosions-processing-dead-entities.patch
diff --git a/patches/unapplied/server/Fix-spawn-location-event-changing-location.patch b/patches/server/Fix-spawn-location-event-changing-location.patch
similarity index 100%
rename from patches/unapplied/server/Fix-spawn-location-event-changing-location.patch
rename to patches/server/Fix-spawn-location-event-changing-location.patch
diff --git a/patches/unapplied/server/Further-improve-server-tick-loop.patch b/patches/server/Further-improve-server-tick-loop.patch
similarity index 100%
rename from patches/unapplied/server/Further-improve-server-tick-loop.patch
rename to patches/server/Further-improve-server-tick-loop.patch
diff --git a/patches/unapplied/server/Handle-Item-Meta-Inconsistencies.patch b/patches/server/Handle-Item-Meta-Inconsistencies.patch
similarity index 99%
rename from patches/unapplied/server/Handle-Item-Meta-Inconsistencies.patch
rename to patches/server/Handle-Item-Meta-Inconsistencies.patch
index e8cd193370..1b0c886497 100644
--- a/patches/unapplied/server/Handle-Item-Meta-Inconsistencies.patch
+++ b/patches/server/Handle-Item-Meta-Inconsistencies.patch
@@ -169,7 +169,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  import java.util.HashMap;
  import java.util.Iterator;
 @@ -0,0 +0,0 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta {
-     private Integer customModelData;
+     private CraftCustomModelDataComponent customModelData;
      private Integer enchantableValue;
      private Map<String, String> blockData;
 -    private Map<Enchantment, Integer> enchantments;
diff --git a/patches/unapplied/server/Handle-plugin-prefixes-using-Log4J-configuration.patch b/patches/server/Handle-plugin-prefixes-using-Log4J-configuration.patch
similarity index 100%
rename from patches/unapplied/server/Handle-plugin-prefixes-using-Log4J-configuration.patch
rename to patches/server/Handle-plugin-prefixes-using-Log4J-configuration.patch
diff --git a/patches/unapplied/server/Hook-into-CB-plugin-rewrites.patch b/patches/server/Hook-into-CB-plugin-rewrites.patch
similarity index 100%
rename from patches/unapplied/server/Hook-into-CB-plugin-rewrites.patch
rename to patches/server/Hook-into-CB-plugin-rewrites.patch
diff --git a/patches/unapplied/server/Improve-Log4J-Configuration-Plugin-Loggers.patch b/patches/server/Improve-Log4J-Configuration-Plugin-Loggers.patch
similarity index 100%
rename from patches/unapplied/server/Improve-Log4J-Configuration-Plugin-Loggers.patch
rename to patches/server/Improve-Log4J-Configuration-Plugin-Loggers.patch
diff --git a/patches/unapplied/server/Improve-Player-chat-API-handling.patch b/patches/server/Improve-Player-chat-API-handling.patch
similarity index 100%
rename from patches/unapplied/server/Improve-Player-chat-API-handling.patch
rename to patches/server/Improve-Player-chat-API-handling.patch
diff --git a/patches/unapplied/server/LootTable-API-and-replenishable-lootables.patch b/patches/server/LootTable-API-and-replenishable-lootables.patch
similarity index 100%
rename from patches/unapplied/server/LootTable-API-and-replenishable-lootables.patch
rename to patches/server/LootTable-API-and-replenishable-lootables.patch
diff --git a/patches/unapplied/server/MC-Dev-fixes.patch b/patches/server/MC-Dev-fixes.patch
similarity index 89%
rename from patches/unapplied/server/MC-Dev-fixes.patch
rename to patches/server/MC-Dev-fixes.patch
index f75a182182..0e05db5b13 100644
--- a/patches/unapplied/server/MC-Dev-fixes.patch
+++ b/patches/server/MC-Dev-fixes.patch
@@ -135,19 +135,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
          return SoundEvents.DOLPHIN_DEATH;
      }
  
-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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/world/entity/monster/Pillager.java
-+++ b/src/main/java/net/minecraft/world/entity/monster/Pillager.java
-@@ -0,0 +0,0 @@ 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 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/world/level/chunk/status/ChunkStatusTasks.java
diff --git a/patches/unapplied/server/MC-Utils.patch b/patches/server/MC-Utils.patch
similarity index 99%
rename from patches/unapplied/server/MC-Utils.patch
rename to patches/server/MC-Utils.patch
index 4abc120251..0d507f4b6a 100644
--- a/patches/unapplied/server/MC-Utils.patch
+++ b/patches/server/MC-Utils.patch
@@ -5506,8 +5506,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      }
  
      public void removeTicketsOnClosing() {
--        ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT);
-+        ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.POST_TELEPORT, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve
+-        ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN);
++        ImmutableSet<TicketType<?>> immutableset = ImmutableSet.of(TicketType.UNKNOWN, TicketType.FUTURE_AWAIT); // Paper - add additional tickets to preserve
          ObjectIterator<Entry<SortedArraySet<Ticket<?>>>> objectiterator = this.tickets.long2ObjectEntrySet().fastIterator();
  
          while (objectiterator.hasNext()) {
@@ -6185,7 +6185,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +
      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();
+         if (!Collections.disjoint(protoChunk.pendingBlockEntities.keySet(), protoChunk.blockEntities.keySet())) {
 @@ -0,0 +0,0 @@ public class LevelChunk extends ChunkAccess {
          }
      }
diff --git a/patches/unapplied/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch b/patches/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
similarity index 100%
rename from patches/unapplied/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
rename to patches/server/Only-process-BlockPhysicsEvent-if-a-plugin-has-a-lis.patch
diff --git a/patches/unapplied/server/Only-refresh-abilities-if-needed.patch b/patches/server/Only-refresh-abilities-if-needed.patch
similarity index 100%
rename from patches/unapplied/server/Only-refresh-abilities-if-needed.patch
rename to patches/server/Only-refresh-abilities-if-needed.patch
diff --git a/patches/unapplied/server/Optimize-DataBits.patch b/patches/server/Optimize-DataBits.patch
similarity index 100%
rename from patches/unapplied/server/Optimize-DataBits.patch
rename to patches/server/Optimize-DataBits.patch
diff --git a/patches/unapplied/server/Optimize-explosions.patch b/patches/server/Optimize-explosions.patch
similarity index 100%
rename from patches/unapplied/server/Optimize-explosions.patch
rename to patches/server/Optimize-explosions.patch
diff --git a/patches/unapplied/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch b/patches/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
similarity index 100%
rename from patches/unapplied/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
rename to patches/server/Option-to-use-vanilla-per-world-scoreboard-coloring-.patch
diff --git a/patches/unapplied/server/Optional-TNT-doesn-t-move-in-water.patch b/patches/server/Optional-TNT-doesn-t-move-in-water.patch
similarity index 100%
rename from patches/unapplied/server/Optional-TNT-doesn-t-move-in-water.patch
rename to patches/server/Optional-TNT-doesn-t-move-in-water.patch
diff --git a/patches/unapplied/server/Paper-Metrics.patch b/patches/server/Paper-Metrics.patch
similarity index 100%
rename from patches/unapplied/server/Paper-Metrics.patch
rename to patches/server/Paper-Metrics.patch
diff --git a/patches/unapplied/server/Paper-Plugins.patch b/patches/server/Paper-Plugins.patch
similarity index 100%
rename from patches/unapplied/server/Paper-Plugins.patch
rename to patches/server/Paper-Plugins.patch
diff --git a/patches/unapplied/server/Paper-command.patch b/patches/server/Paper-command.patch
similarity index 100%
rename from patches/unapplied/server/Paper-command.patch
rename to patches/server/Paper-command.patch
diff --git a/patches/unapplied/server/Paper-config-files.patch b/patches/server/Paper-config-files.patch
similarity index 99%
rename from patches/unapplied/server/Paper-config-files.patch
rename to patches/server/Paper-config-files.patch
index 8946797c22..23193b2e60 100644
--- a/patches/unapplied/server/Paper-config-files.patch
+++ b/patches/server/Paper-config-files.patch
@@ -20,11 +20,11 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +++ b/build.gradle.kts
 @@ -0,0 +0,0 @@ dependencies {
      implementation("jline:jline:2.12.1")
-     implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
+     implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") // Paper - remove exclusion
      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.1.3")
+     runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
      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
diff --git a/patches/unapplied/server/Player-Tab-List-and-Title-APIs.patch b/patches/server/Player-Tab-List-and-Title-APIs.patch
similarity index 100%
rename from patches/unapplied/server/Player-Tab-List-and-Title-APIs.patch
rename to patches/server/Player-Tab-List-and-Title-APIs.patch
diff --git a/patches/unapplied/server/Player-affects-spawning-API.patch b/patches/server/Player-affects-spawning-API.patch
similarity index 100%
rename from patches/unapplied/server/Player-affects-spawning-API.patch
rename to patches/server/Player-affects-spawning-API.patch
diff --git a/patches/unapplied/server/Plugin-remapping.patch b/patches/server/Plugin-remapping.patch
similarity index 100%
rename from patches/unapplied/server/Plugin-remapping.patch
rename to patches/server/Plugin-remapping.patch
diff --git a/patches/unapplied/server/Prevent-block-entity-and-entity-crashes.patch b/patches/server/Prevent-block-entity-and-entity-crashes.patch
similarity index 100%
rename from patches/unapplied/server/Prevent-block-entity-and-entity-crashes.patch
rename to patches/server/Prevent-block-entity-and-entity-crashes.patch
diff --git a/patches/unapplied/server/Remap-fixes.patch b/patches/server/Remap-fixes.patch
similarity index 100%
rename from patches/unapplied/server/Remap-fixes.patch
rename to patches/server/Remap-fixes.patch
diff --git a/patches/unapplied/server/Remap-reflection-calls-in-plugins-using-internals.patch b/patches/server/Remap-reflection-calls-in-plugins-using-internals.patch
similarity index 100%
rename from patches/unapplied/server/Remap-reflection-calls-in-plugins-using-internals.patch
rename to patches/server/Remap-reflection-calls-in-plugins-using-internals.patch
diff --git a/patches/unapplied/server/Remove-Metadata-on-reload.patch b/patches/server/Remove-Metadata-on-reload.patch
similarity index 100%
rename from patches/unapplied/server/Remove-Metadata-on-reload.patch
rename to patches/server/Remove-Metadata-on-reload.patch
diff --git a/patches/unapplied/server/Remove-Spigot-timings.patch b/patches/server/Remove-Spigot-timings.patch
similarity index 100%
rename from patches/unapplied/server/Remove-Spigot-timings.patch
rename to patches/server/Remove-Spigot-timings.patch
diff --git a/patches/unapplied/server/Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch b/patches/server/Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
similarity index 100%
rename from patches/unapplied/server/Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
rename to patches/server/Rewrite-LogEvents-to-contain-the-source-jars-in-stac.patch
diff --git a/patches/unapplied/server/Sanitise-RegionFileCache-and-make-configurable.patch b/patches/server/Sanitise-RegionFileCache-and-make-configurable.patch
similarity index 100%
rename from patches/unapplied/server/Sanitise-RegionFileCache-and-make-configurable.patch
rename to patches/server/Sanitise-RegionFileCache-and-make-configurable.patch
diff --git a/patches/server/Setup-Gradle-project.patch b/patches/server/Setup-Gradle-project.patch
index 383b6891e8..b666980239 100644
--- a/patches/server/Setup-Gradle-project.patch
+++ b/patches/server/Setup-Gradle-project.patch
@@ -42,12 +42,12 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +dependencies {
 +    implementation(project(":paper-api"))
 +    implementation("jline:jline:2.12.1")
-+    implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") {
++    implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") {
 +        exclude(group = "org.apache.logging.log4j", module = "log4j-api")
 +    }
 +    implementation("org.ow2.asm:asm-commons:9.7.1")
 +    implementation("commons-lang:commons-lang:2.6")
-+    runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
++    runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
 +    runtimeOnly("com.mysql:mysql-connector-j:9.1.0")
 +
 +    runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.6")
@@ -62,7 +62,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +}
 +
 +paperweight {
-+    craftBukkitPackageVersion.set("v1_21_R2") // also needs to be updated in MappingEnvironment
++    craftBukkitPackageVersion.set("v1_21_R3") // also needs to be updated in MappingEnvironment
 +}
 +
 +tasks.jar {
@@ -175,7 +175,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -    <groupId>org.spigotmc</groupId>
 -    <artifactId>spigot</artifactId>
 -    <packaging>jar</packaging>
--    <version>1.21.3-R0.1-SNAPSHOT</version>
+-    <version>1.21.4-R0.1-SNAPSHOT</version>
 -    <name>Spigot</name>
 -    <url>https://www.spigotmc.org/</url>
 -
@@ -192,7 +192,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 -        <api.version>unknown</api.version>
 -        <bt.name>git</bt.name>
--        <minecraft_version>1_21_R2</minecraft_version>
+-        <minecraft_version>1_21_R3</minecraft_version>
 -        <maven.compiler.release>21</maven.compiler.release>
 -    </properties>
 -
@@ -226,7 +226,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>org.apache.logging.log4j</groupId>
 -            <artifactId>log4j-iostreams</artifactId>
--            <version>2.22.1</version>
+-            <version>2.24.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -257,7 +257,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>com.github.oshi</groupId>
 -            <artifactId>oshi-core</artifactId>
--            <version>6.4.10</version>
+-            <version>6.6.5</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -269,13 +269,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>com.microsoft.azure</groupId>
 -            <artifactId>msal4j</artifactId>
--            <version>1.15.0</version>
+-            <version>1.17.2</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>com.mojang</groupId>
 -            <artifactId>authlib</artifactId>
--            <version>6.0.55</version>
+-            <version>6.0.57</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -299,7 +299,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>com.mojang</groupId>
 -            <artifactId>logging</artifactId>
--            <version>1.4.9</version>
+-            <version>1.5.10</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -317,111 +317,111 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>com.nimbusds</groupId>
 -            <artifactId>nimbus-jose-jwt</artifactId>
--            <version>9.37.3</version>
+-            <version>9.40</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>com.nimbusds</groupId>
 -            <artifactId>oauth2-oidc-sdk</artifactId>
--            <version>11.9.1</version>
+-            <version>11.18</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>commons-io</groupId>
 -            <artifactId>commons-io</artifactId>
--            <version>2.15.1</version>
+-            <version>2.17.0</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-buffer</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-codec</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-common</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-handler</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-resolver</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-transport</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-transport-classes-epoll</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-transport-native-epoll</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <classifier>linux-x86_64</classifier>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-transport-native-epoll</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <classifier>linux-aarch_64</classifier>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>io.netty</groupId>
 -            <artifactId>netty-transport-native-unix-common</artifactId>
--            <version>4.1.97.Final</version>
+-            <version>4.1.115.Final</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>it.unimi.dsi</groupId>
 -            <artifactId>fastutil</artifactId>
--            <version>8.5.12</version>
+-            <version>8.5.15</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>net.java.dev.jna</groupId>
 -            <artifactId>jna</artifactId>
--            <version>5.14.0</version>
+-            <version>5.15.0</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>net.java.dev.jna</groupId>
 -            <artifactId>jna-platform</artifactId>
--            <version>5.14.0</version>
+-            <version>5.15.0</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>net.minidev</groupId>
 -            <artifactId>accessors-smart</artifactId>
--            <version>2.5.0</version>
+-            <version>2.5.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>net.minidev</groupId>
 -            <artifactId>json-smart</artifactId>
--            <version>2.5.0</version>
+-            <version>2.5.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -433,25 +433,25 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>org.apache.commons</groupId>
 -            <artifactId>commons-lang3</artifactId>
--            <version>3.14.0</version>
+-            <version>3.17.0</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>org.apache.logging.log4j</groupId>
 -            <artifactId>log4j-api</artifactId>
--            <version>2.22.1</version>
+-            <version>2.24.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>org.apache.logging.log4j</groupId>
 -            <artifactId>log4j-core</artifactId>
--            <version>2.22.1</version>
+-            <version>2.24.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
 -            <groupId>org.apache.logging.log4j</groupId>
 -            <artifactId>log4j-slf4j2-impl</artifactId>
--            <version>2.22.1</version>
+-            <version>2.24.1</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <dependency>
@@ -463,7 +463,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>org.slf4j</groupId>
 -            <artifactId>slf4j-api</artifactId>
--            <version>2.0.9</version>
+-            <version>2.0.16</version>
 -            <scope>compile</scope>
 -        </dependency>
 -        <!-- End Mojang depends -->
@@ -490,7 +490,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        <dependency>
 -            <groupId>org.xerial</groupId>
 -            <artifactId>sqlite-jdbc</artifactId>
--            <version>3.46.1.3</version>
+-            <version>3.47.0.0</version>
 -            <scope>runtime</scope>
 -        </dependency>
 -        <dependency>
diff --git a/patches/unapplied/server/Support-components-in-ItemMeta.patch b/patches/server/Support-components-in-ItemMeta.patch
similarity index 100%
rename from patches/unapplied/server/Support-components-in-ItemMeta.patch
rename to patches/server/Support-components-in-ItemMeta.patch
diff --git a/patches/unapplied/server/System-property-for-disabling-watchdoge.patch b/patches/server/System-property-for-disabling-watchdoge.patch
similarity index 100%
rename from patches/unapplied/server/System-property-for-disabling-watchdoge.patch
rename to patches/server/System-property-for-disabling-watchdoge.patch
diff --git a/patches/unapplied/server/Test-changes.patch b/patches/server/Test-changes.patch
similarity index 100%
rename from patches/unapplied/server/Test-changes.patch
rename to patches/server/Test-changes.patch
diff --git a/patches/unapplied/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch b/patches/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
similarity index 97%
rename from patches/unapplied/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
rename to patches/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
index 5c351919b1..d33375ada2 100644
--- a/patches/unapplied/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
+++ b/patches/server/Use-AsyncAppender-to-keep-logging-IO-off-main-thread.patch
@@ -10,7 +10,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +++ b/build.gradle.kts
 @@ -0,0 +0,0 @@ dependencies {
      implementation("commons-lang:commons-lang:2.6")
-     runtimeOnly("org.xerial:sqlite-jdbc:3.46.1.3")
+     runtimeOnly("org.xerial:sqlite-jdbc:3.47.0.0")
      runtimeOnly("com.mysql:mysql-connector-j:9.1.0")
 +    runtimeOnly("com.lmax:disruptor:3.4.4") // Paper
  
diff --git a/patches/unapplied/server/Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/Use-TerminalConsoleAppender-for-console-improvements.patch
similarity index 99%
rename from patches/unapplied/server/Use-TerminalConsoleAppender-for-console-improvements.patch
rename to patches/server/Use-TerminalConsoleAppender-for-console-improvements.patch
index 8a0cb20a70..9fc5ff3206 100644
--- a/patches/unapplied/server/Use-TerminalConsoleAppender-for-console-improvements.patch
+++ b/patches/server/Use-TerminalConsoleAppender-for-console-improvements.patch
@@ -62,7 +62,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +    runtimeOnly(log4jPlugins.output)
 +    alsoShade(log4jPlugins.output)
 +    // Paper end
-     implementation("org.apache.logging.log4j:log4j-iostreams:2.22.1") // Paper - remove exclusion
+     implementation("org.apache.logging.log4j:log4j-iostreams:2.24.1") // Paper - remove exclusion
      implementation("org.ow2.asm:asm-commons:9.7.1")
      implementation("org.spongepowered:configurate-yaml:4.2.0-SNAPSHOT") // Paper - config files
 @@ -0,0 +0,0 @@ tasks.check {
diff --git a/patches/unapplied/server/Use-UserCache-for-player-heads.patch b/patches/server/Use-UserCache-for-player-heads.patch
similarity index 100%
rename from patches/unapplied/server/Use-UserCache-for-player-heads.patch
rename to patches/server/Use-UserCache-for-player-heads.patch
diff --git a/patches/unapplied/server/Use-a-Shared-Random-for-Entities.patch b/patches/server/Use-a-Shared-Random-for-Entities.patch
similarity index 100%
rename from patches/unapplied/server/Use-a-Shared-Random-for-Entities.patch
rename to patches/server/Use-a-Shared-Random-for-Entities.patch
diff --git a/patches/unapplied/server/Use-null-Locale-by-default.patch b/patches/server/Use-null-Locale-by-default.patch
similarity index 100%
rename from patches/unapplied/server/Use-null-Locale-by-default.patch
rename to patches/server/Use-null-Locale-by-default.patch
diff --git a/patches/unapplied/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch
similarity index 100%
rename from patches/unapplied/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch
rename to patches/server/handle-NaN-health-absorb-values-and-repair-bad-data.patch
diff --git a/patches/unapplied/server/remove-null-possibility-for-getServer-singleton.patch b/patches/server/remove-null-possibility-for-getServer-singleton.patch
similarity index 100%
rename from patches/unapplied/server/remove-null-possibility-for-getServer-singleton.patch
rename to patches/server/remove-null-possibility-for-getServer-singleton.patch