From 951043246e95b95f42e993a66d7b8e7919fc515c Mon Sep 17 00:00:00 2001
From: Bjarne Koll <git@lynxplay.dev>
Date: Thu, 24 Oct 2024 10:42:29 +0200
Subject: [PATCH] Patches, patches, patches

---
 .../API-for-updating-recipes-on-clients.patch |  0
 .../API-for-an-entity-s-scoreboard-name.patch |  0
 .../Add-BlockFace-to-BlockDamageEvent.patch   |  0
 .../server/Add-Listing-API-for-Player.patch   |  9 +++--
 .../Add-option-to-disable-block-updates.patch | 34 ++++++++--------
 .../server/Add-whitelist-events.patch         |  0
 .../server/Bandaid-fix-for-Effect.patch       |  0
 .../server/Cache-map-ids-on-item-frames.patch |  0
 .../Call-missing-BlockDispenseEvent.patch     |  2 +-
 ...nfigurable-Region-Compression-Format.patch |  0
 ...ntity-tracking-range-by-Y-coordinate.patch |  0
 ...place-methods-with-old-StructureType.patch |  0
 ...nd-water-fluid-explosion-resistance-.patch |  0
 ...d-chunks-for-supporting-block-checks.patch |  0
 ...te-namespaced-commands-if-send-names.patch |  0
 .../server/Expand-Pose-API.patch              |  2 +-
 ...enceOrb-should-call-EntitySpawnEvent.patch |  0
 ...-entity-death-event-for-ender-dragon.patch |  3 +-
 .../server/Fix-BanList-API.patch              |  0
 .../server/Fix-NPE-on-Boat-getStatus.patch    |  2 +-
 ...permission-levels-for-command-blocks.patch |  0
 ...x-custom-statistic-criteria-creation.patch |  0
 ...ix-possible-NPE-on-painting-creation.patch |  0
 ...ation-when-spawning-display-entities.patch |  0
 ...Folia-scheduler-and-owned-region-API.patch | 16 ++++----
 .../Implement-PlayerFailMoveEvent.patch       |  8 ++--
 ...st-throw-both-Spread-and-Grow-Events.patch |  0
 .../server/More-Sign-Block-API.patch          |  2 +-
 .../Only-capture-actual-tree-growth.patch     | 40 ++++++++++---------
 ...ase-allay-memory-on-non-item-targets.patch |  0
 ...Timer-for-Wandering-Traders-spawned-.patch |  4 +-
 ...ck-item-frames-if-players-can-see-it.patch |  0
 .../Optimize-player-lookups-for-beacons.patch |  0
 ...y-handle-BlockBreakEvent-isDropItems.patch |  0
 ...ata-neighbour-ticks-outside-of-range.patch |  0
 ...eData-on-more-entities-when-spawning.patch |  8 ++--
 .../server/SculkCatalyst-bloom-API.patch      |  0
 .../Use-correct-seed-on-api-world-load.patch  |  2 +-
 ...urce-for-mushroom-block-spread-event.patch |  0
 .../fix-item-meta-for-tadpole-buckets.patch   |  0
 40 files changed, 67 insertions(+), 65 deletions(-)
 rename patches/{unapplied/server => later}/API-for-updating-recipes-on-clients.patch (100%)
 rename patches/{unapplied => }/server/API-for-an-entity-s-scoreboard-name.patch (100%)
 rename patches/{unapplied => }/server/Add-BlockFace-to-BlockDamageEvent.patch (100%)
 rename patches/{unapplied => }/server/Add-Listing-API-for-Player.patch (97%)
 rename patches/{unapplied => }/server/Add-option-to-disable-block-updates.patch (89%)
 rename patches/{unapplied => }/server/Add-whitelist-events.patch (100%)
 rename patches/{unapplied => }/server/Bandaid-fix-for-Effect.patch (100%)
 rename patches/{unapplied => }/server/Cache-map-ids-on-item-frames.patch (100%)
 rename patches/{unapplied => }/server/Call-missing-BlockDispenseEvent.patch (98%)
 rename patches/{unapplied => }/server/Configurable-Region-Compression-Format.patch (100%)
 rename patches/{unapplied => }/server/Configurable-entity-tracking-range-by-Y-coordinate.patch (100%)
 rename patches/{unapplied => }/server/Deprecate-and-replace-methods-with-old-StructureType.patch (100%)
 rename patches/{unapplied => }/server/Determine-lava-and-water-fluid-explosion-resistance-.patch (100%)
 rename patches/{unapplied => }/server/Don-t-load-chunks-for-supporting-block-checks.patch (100%)
 rename patches/{unapplied => }/server/Don-t-tab-complete-namespaced-commands-if-send-names.patch (100%)
 rename patches/{unapplied => }/server/Expand-Pose-API.patch (97%)
 rename patches/{unapplied => }/server/ExperienceOrb-should-call-EntitySpawnEvent.patch (100%)
 rename patches/{unapplied => }/server/Fire-entity-death-event-for-ender-dragon.patch (97%)
 rename patches/{unapplied => }/server/Fix-BanList-API.patch (100%)
 rename patches/{unapplied => }/server/Fix-NPE-on-Boat-getStatus.patch (94%)
 rename patches/{unapplied => }/server/Fix-cmd-permission-levels-for-command-blocks.patch (100%)
 rename patches/{unapplied => }/server/Fix-custom-statistic-criteria-creation.patch (100%)
 rename patches/{unapplied => }/server/Fix-possible-NPE-on-painting-creation.patch (100%)
 rename patches/{unapplied => }/server/Fix-rotation-when-spawning-display-entities.patch (100%)
 rename patches/{unapplied => }/server/Folia-scheduler-and-owned-region-API.patch (99%)
 rename patches/{unapplied => }/server/Implement-PlayerFailMoveEvent.patch (93%)
 rename patches/{unapplied => }/server/Make-Amethyst-throw-both-Spread-and-Grow-Events.patch (100%)
 rename patches/{unapplied => }/server/More-Sign-Block-API.patch (98%)
 rename patches/{unapplied => }/server/Only-capture-actual-tree-growth.patch (90%)
 rename patches/{unapplied => }/server/Only-erase-allay-memory-on-non-item-targets.patch (100%)
 rename patches/{unapplied => }/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch (86%)
 rename patches/{unapplied => }/server/Only-tick-item-frames-if-players-can-see-it.patch (100%)
 rename patches/{unapplied => }/server/Optimize-player-lookups-for-beacons.patch (100%)
 rename patches/{unapplied => }/server/Properly-handle-BlockBreakEvent-isDropItems.patch (100%)
 rename patches/{unapplied => }/server/Remove-UpgradeData-neighbour-ticks-outside-of-range.patch (100%)
 rename patches/{unapplied => }/server/Respect-randomizeData-on-more-entities-when-spawning.patch (90%)
 rename patches/{unapplied => }/server/SculkCatalyst-bloom-API.patch (100%)
 rename patches/{unapplied => }/server/Use-correct-seed-on-api-world-load.patch (94%)
 rename patches/{unapplied => }/server/Use-correct-source-for-mushroom-block-spread-event.patch (100%)
 rename patches/{unapplied => }/server/fix-item-meta-for-tadpole-buckets.patch (100%)

diff --git a/patches/unapplied/server/API-for-updating-recipes-on-clients.patch b/patches/later/API-for-updating-recipes-on-clients.patch
similarity index 100%
rename from patches/unapplied/server/API-for-updating-recipes-on-clients.patch
rename to patches/later/API-for-updating-recipes-on-clients.patch
diff --git a/patches/unapplied/server/API-for-an-entity-s-scoreboard-name.patch b/patches/server/API-for-an-entity-s-scoreboard-name.patch
similarity index 100%
rename from patches/unapplied/server/API-for-an-entity-s-scoreboard-name.patch
rename to patches/server/API-for-an-entity-s-scoreboard-name.patch
diff --git a/patches/unapplied/server/Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/Add-BlockFace-to-BlockDamageEvent.patch
similarity index 100%
rename from patches/unapplied/server/Add-BlockFace-to-BlockDamageEvent.patch
rename to patches/server/Add-BlockFace-to-BlockDamageEvent.patch
diff --git a/patches/unapplied/server/Add-Listing-API-for-Player.patch b/patches/server/Add-Listing-API-for-Player.patch
similarity index 97%
rename from patches/unapplied/server/Add-Listing-API-for-Player.patch
rename to patches/server/Add-Listing-API-for-Player.patch
index 59ef0cade3..8f4b1b7085 100644
--- a/patches/unapplied/server/Add-Listing-API-for-Player.patch
+++ b/patches/server/Add-Listing-API-for-Player.patch
@@ -59,23 +59,26 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
          @Nullable RemoteChatSession.Data chatSession
      ) {
          Entry(ServerPlayer player) {
-+            // Paper start - Add Listing API for Player
++        // Paper start - Add Listing API for Player
 +            this(player, true);
 +        }
 +        Entry(ServerPlayer player, boolean listed) {
              this(
++        // Paper end - Add Listing API for Player
                  player.getUUID(),
                  player.getGameProfile(),
 -                true,
-+                listed,
++                listed, // Paper - Add Listing API for Player
                  player.connection.latency(),
                  player.gameMode.getGameModeForPlayer(),
                  player.getTabListDisplayName(),
+@@ -0,0 +0,0 @@ public class ClientboundPlayerInfoUpdatePacket implements Packet<ClientGamePacke
                  Optionull.map(player.getChatSession(), RemoteChatSession::asData)
              );
          }
++        // Paper start - Add Listing API for Player
 +        Entry(UUID profileId, boolean listed) {
-+            this(profileId, null, listed, 0, GameType.DEFAULT_MODE, null, null);
++            this(profileId, null, listed, 0, GameType.DEFAULT_MODE, null, 0, null);
 +        }
 +        // Paper end - Add Listing API for Player
      }
diff --git a/patches/unapplied/server/Add-option-to-disable-block-updates.patch b/patches/server/Add-option-to-disable-block-updates.patch
similarity index 89%
rename from patches/unapplied/server/Add-option-to-disable-block-updates.patch
rename to patches/server/Add-option-to-disable-block-updates.patch
index c2f2e36ba2..d7f28a4a93 100644
--- a/patches/unapplied/server/Add-option-to-disable-block-updates.patch
+++ b/patches/server/Add-option-to-disable-block-updates.patch
@@ -17,13 +17,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      }
  
 @@ -0,0 +0,0 @@ public class ChorusPlantBlock extends PipeBlock {
- 
-     @Override
-     protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
+         BlockState neighborState,
+         RandomSource random
+     ) {
 +        if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableChorusPlantUpdates) return state; // Paper - add option to disable block updates
          if (!state.canSurvive(world, pos)) {
-             world.scheduleTick(pos, this, 1);
-             return super.updateShape(state, direction, neighborState, world, pos, neighborPos);
+             tickView.scheduleTick(pos, this, 1);
+             return super.updateShape(state, world, tickView, pos, direction, neighborPos, neighborState, random);
 @@ -0,0 +0,0 @@ public class ChorusPlantBlock extends PipeBlock {
  
      @Override
@@ -53,13 +53,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
          BlockPos blockPos = ctx.getClickedPos();
          return this.defaultBlockState()
 @@ -0,0 +0,0 @@ public class HugeMushroomBlock extends Block {
- 
-     @Override
-     protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
+         BlockState neighborState,
+         RandomSource random
+     ) {
 +        if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableMushroomBlockUpdates) return state; // Paper - add option to disable block updates
          return neighborState.is(this)
              ? state.setValue(PROPERTY_BY_DIRECTION.get(direction), Boolean.valueOf(false))
-             : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
+             : super.updateShape(state, world, tickView, pos, direction, neighborPos, neighborState, random);
 @@ -0,0 +0,0 @@ public class HugeMushroomBlock extends Block {
  
      @Override
@@ -89,23 +89,23 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      }
  
      @Override
-     protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
+     protected BlockState updateShape(BlockState state, LevelReader world, ScheduledTickAccess tickView, BlockPos pos, Direction direction, BlockPos neighborPos, BlockState neighborState, RandomSource random) {
 +        if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) return state; // Paper - prevent noteblock instrument from updating
          boolean flag = direction.getAxis() == Direction.Axis.Y;
  
-         return flag ? this.setInstrument(world, pos, state) : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
+         return flag ? this.setInstrument(world, pos, state) : super.updateShape(state, world, tickView, pos, direction, neighborPos, neighborState, random);
 @@ -0,0 +0,0 @@ public class NoteBlock extends Block {
  
      @Override
-     protected void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) {
+     protected void neighborChanged(BlockState state, Level world, BlockPos pos, Block sourceBlock, @Nullable Orientation wireOrientation, boolean notify) {
 +        if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) return; // Paper - prevent noteblock powered-state from updating
          boolean flag1 = world.hasNeighborSignal(pos);
  
          if (flag1 != (Boolean) state.getValue(NoteBlock.POWERED)) {
 @@ -0,0 +0,0 @@ public class NoteBlock extends Block {
-         if (world.isClientSide) {
-             return InteractionResult.SUCCESS;
-         } else {
+     @Override
+     protected InteractionResult useWithoutItem(BlockState state, Level world, BlockPos pos, Player player, BlockHitResult hit) {
+         if (!world.isClientSide) {
 -            state = (BlockState) state.cycle(NoteBlock.NOTE);
 +            if (!io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableNoteblockUpdates) state = (BlockState) state.cycle(NoteBlock.NOTE); // Paper - prevent noteblock note from updating
              world.setBlock(pos, state, 3);
@@ -126,9 +126,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 @@ -0,0 +0,0 @@ public class TripWireBlock extends Block {
  
      @Override
-     protected BlockState updateShape(BlockState state, Direction direction, BlockState neighborState, LevelAccessor world, BlockPos pos, BlockPos neighborPos) {
+     protected BlockState updateShape(BlockState state, LevelReader world, ScheduledTickAccess tickView, BlockPos pos, Direction direction, BlockPos neighborPos, BlockState neighborState, RandomSource random) {
 +        if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return state; // Paper - prevent tripwire from updating
-         return direction.getAxis().isHorizontal() ? (BlockState) state.setValue((Property) TripWireBlock.PROPERTY_BY_DIRECTION.get(direction), this.shouldConnectTo(neighborState, direction)) : super.updateShape(state, direction, neighborState, world, pos, neighborPos);
+         return direction.getAxis().isHorizontal() ? (BlockState) state.setValue((Property) TripWireBlock.PROPERTY_BY_DIRECTION.get(direction), this.shouldConnectTo(neighborState, direction)) : super.updateShape(state, world, tickView, pos, direction, neighborPos, neighborState, random);
      }
  
      @Override
diff --git a/patches/unapplied/server/Add-whitelist-events.patch b/patches/server/Add-whitelist-events.patch
similarity index 100%
rename from patches/unapplied/server/Add-whitelist-events.patch
rename to patches/server/Add-whitelist-events.patch
diff --git a/patches/unapplied/server/Bandaid-fix-for-Effect.patch b/patches/server/Bandaid-fix-for-Effect.patch
similarity index 100%
rename from patches/unapplied/server/Bandaid-fix-for-Effect.patch
rename to patches/server/Bandaid-fix-for-Effect.patch
diff --git a/patches/unapplied/server/Cache-map-ids-on-item-frames.patch b/patches/server/Cache-map-ids-on-item-frames.patch
similarity index 100%
rename from patches/unapplied/server/Cache-map-ids-on-item-frames.patch
rename to patches/server/Cache-map-ids-on-item-frames.patch
diff --git a/patches/unapplied/server/Call-missing-BlockDispenseEvent.patch b/patches/server/Call-missing-BlockDispenseEvent.patch
similarity index 98%
rename from patches/unapplied/server/Call-missing-BlockDispenseEvent.patch
rename to patches/server/Call-missing-BlockDispenseEvent.patch
index 177d9db68a..ff5a9b3127 100644
--- a/patches/unapplied/server/Call-missing-BlockDispenseEvent.patch
+++ b/patches/server/Call-missing-BlockDispenseEvent.patch
@@ -53,7 +53,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
 +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java
-@@ -0,0 +0,0 @@ public class CraftEventFactory {
+@@ -0,0 +0,0 @@ populateFields(victim, event); // Paper - make cancellable
      }
      // Paper end
  
diff --git a/patches/unapplied/server/Configurable-Region-Compression-Format.patch b/patches/server/Configurable-Region-Compression-Format.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-Region-Compression-Format.patch
rename to patches/server/Configurable-Region-Compression-Format.patch
diff --git a/patches/unapplied/server/Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/Configurable-entity-tracking-range-by-Y-coordinate.patch
similarity index 100%
rename from patches/unapplied/server/Configurable-entity-tracking-range-by-Y-coordinate.patch
rename to patches/server/Configurable-entity-tracking-range-by-Y-coordinate.patch
diff --git a/patches/unapplied/server/Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/Deprecate-and-replace-methods-with-old-StructureType.patch
similarity index 100%
rename from patches/unapplied/server/Deprecate-and-replace-methods-with-old-StructureType.patch
rename to patches/server/Deprecate-and-replace-methods-with-old-StructureType.patch
diff --git a/patches/unapplied/server/Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/Determine-lava-and-water-fluid-explosion-resistance-.patch
similarity index 100%
rename from patches/unapplied/server/Determine-lava-and-water-fluid-explosion-resistance-.patch
rename to patches/server/Determine-lava-and-water-fluid-explosion-resistance-.patch
diff --git a/patches/unapplied/server/Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/Don-t-load-chunks-for-supporting-block-checks.patch
similarity index 100%
rename from patches/unapplied/server/Don-t-load-chunks-for-supporting-block-checks.patch
rename to patches/server/Don-t-load-chunks-for-supporting-block-checks.patch
diff --git a/patches/unapplied/server/Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/Don-t-tab-complete-namespaced-commands-if-send-names.patch
similarity index 100%
rename from patches/unapplied/server/Don-t-tab-complete-namespaced-commands-if-send-names.patch
rename to patches/server/Don-t-tab-complete-namespaced-commands-if-send-names.patch
diff --git a/patches/unapplied/server/Expand-Pose-API.patch b/patches/server/Expand-Pose-API.patch
similarity index 97%
rename from patches/unapplied/server/Expand-Pose-API.patch
rename to patches/server/Expand-Pose-API.patch
index c6854463e5..9959804ebe 100644
--- a/patches/unapplied/server/Expand-Pose-API.patch
+++ b/patches/server/Expand-Pose-API.patch
@@ -17,7 +17,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
      public void setOrigin(@javax.annotation.Nonnull Location location) {
          this.origin = location.toVector();
 @@ -0,0 +0,0 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
-     public void onClientRemoval() {}
+     public void onRemoval(Entity.RemovalReason reason) {}
  
      public void setPose(net.minecraft.world.entity.Pose pose) {
 +        if (this.fixedPose) return; // Paper - Expand Pose API
diff --git a/patches/unapplied/server/ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/ExperienceOrb-should-call-EntitySpawnEvent.patch
similarity index 100%
rename from patches/unapplied/server/ExperienceOrb-should-call-EntitySpawnEvent.patch
rename to patches/server/ExperienceOrb-should-call-EntitySpawnEvent.patch
diff --git a/patches/unapplied/server/Fire-entity-death-event-for-ender-dragon.patch b/patches/server/Fire-entity-death-event-for-ender-dragon.patch
similarity index 97%
rename from patches/unapplied/server/Fire-entity-death-event-for-ender-dragon.patch
rename to patches/server/Fire-entity-death-event-for-ender-dragon.patch
index 198dd78fda..06cab728c7 100644
--- a/patches/unapplied/server/Fire-entity-death-event-for-ender-dragon.patch
+++ b/patches/server/Fire-entity-death-event-for-ender-dragon.patch
@@ -11,7 +11,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 @@ -0,0 +0,0 @@ public class EnderDragon extends Mob implements Enemy {
  
      @Override
-     public void kill() {
+     public void kill(ServerLevel world) {
 +        // Paper start - Fire entity death event
 +        this.silentDeath = true;
 +        org.bukkit.event.entity.EntityDeathEvent deathEvent = org.bukkit.craftbukkit.event.CraftEventFactory.callEntityDeathEvent(this, this.damageSources().genericKill());
@@ -20,7 +20,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +            return;
 +        }
 +        // Paper end - Fire entity death event
-+
          this.remove(Entity.RemovalReason.KILLED, EntityRemoveEvent.Cause.DEATH); // CraftBukkit - add Bukkit remove cause
          this.gameEvent(GameEvent.ENTITY_DIE);
          if (this.dragonFight != null) {
diff --git a/patches/unapplied/server/Fix-BanList-API.patch b/patches/server/Fix-BanList-API.patch
similarity index 100%
rename from patches/unapplied/server/Fix-BanList-API.patch
rename to patches/server/Fix-BanList-API.patch
diff --git a/patches/unapplied/server/Fix-NPE-on-Boat-getStatus.patch b/patches/server/Fix-NPE-on-Boat-getStatus.patch
similarity index 94%
rename from patches/unapplied/server/Fix-NPE-on-Boat-getStatus.patch
rename to patches/server/Fix-NPE-on-Boat-getStatus.patch
index 6fc79a2d2c..fa701d1ca6 100644
--- a/patches/unapplied/server/Fix-NPE-on-Boat-getStatus.patch
+++ b/patches/server/Fix-NPE-on-Boat-getStatus.patch
@@ -12,7 +12,7 @@ diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java b/src/ma
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
 +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftBoat.java
-@@ -0,0 +0,0 @@ public class CraftBoat extends CraftVehicle implements Boat {
+@@ -0,0 +0,0 @@ public abstract class CraftBoat extends CraftVehicle implements Boat {
  
      @Override
      public Status getStatus() {
diff --git a/patches/unapplied/server/Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/Fix-cmd-permission-levels-for-command-blocks.patch
similarity index 100%
rename from patches/unapplied/server/Fix-cmd-permission-levels-for-command-blocks.patch
rename to patches/server/Fix-cmd-permission-levels-for-command-blocks.patch
diff --git a/patches/unapplied/server/Fix-custom-statistic-criteria-creation.patch b/patches/server/Fix-custom-statistic-criteria-creation.patch
similarity index 100%
rename from patches/unapplied/server/Fix-custom-statistic-criteria-creation.patch
rename to patches/server/Fix-custom-statistic-criteria-creation.patch
diff --git a/patches/unapplied/server/Fix-possible-NPE-on-painting-creation.patch b/patches/server/Fix-possible-NPE-on-painting-creation.patch
similarity index 100%
rename from patches/unapplied/server/Fix-possible-NPE-on-painting-creation.patch
rename to patches/server/Fix-possible-NPE-on-painting-creation.patch
diff --git a/patches/unapplied/server/Fix-rotation-when-spawning-display-entities.patch b/patches/server/Fix-rotation-when-spawning-display-entities.patch
similarity index 100%
rename from patches/unapplied/server/Fix-rotation-when-spawning-display-entities.patch
rename to patches/server/Fix-rotation-when-spawning-display-entities.patch
diff --git a/patches/unapplied/server/Folia-scheduler-and-owned-region-API.patch b/patches/server/Folia-scheduler-and-owned-region-API.patch
similarity index 99%
rename from patches/unapplied/server/Folia-scheduler-and-owned-region-API.patch
rename to patches/server/Folia-scheduler-and-owned-region-API.patch
index 1e35e43f6d..d818ef5573 100644
--- a/patches/unapplied/server/Folia-scheduler-and-owned-region-API.patch
+++ b/patches/server/Folia-scheduler-and-owned-region-API.patch
@@ -1153,7 +1153,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +++ b/src/main/java/net/minecraft/server/MinecraftServer.java
 @@ -0,0 +0,0 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
          MinecraftTimings.bukkitSchedulerTimer.startTiming(); // Spigot // Paper
-         this.server.getScheduler().mainThreadHeartbeat(this.tickCount); // CraftBukkit
+         this.server.getScheduler().mainThreadHeartbeat(); // CraftBukkit
          MinecraftTimings.bukkitSchedulerTimer.stopTiming(); // Spigot // Paper
 +        // Paper start - Folia scheduler API
 +        ((io.papermc.paper.threadedregions.scheduler.FoliaGlobalRegionScheduler) Bukkit.getGlobalRegionScheduler()).tick();
@@ -1170,15 +1170,15 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +        });
 +        // Paper end - Folia scheduler API
          io.papermc.paper.adventure.providers.ClickCallbackProviderImpl.CALLBACK_MANAGER.handleQueue(this.tickCount); // Paper
-         this.profiler.push("commandFunctions");
+         gameprofilerfiller.push("commandFunctions");
          MinecraftTimings.commandFunctionsTimer.startTiming(); // Spigot // Paper
 diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/server/players/PlayerList.java
 +++ b/src/main/java/net/minecraft/server/players/PlayerList.java
 @@ -0,0 +0,0 @@ public abstract class PlayerList {
+         }
  
-         entityplayer.unRide();
          worldserver.removePlayerImmediately(entityplayer, Entity.RemovalReason.UNLOADED_WITH_PLAYER);
 +        entityplayer.retireScheduler(); // Paper - Folia schedulers
          entityplayer.getAdvancements().stopListening();
@@ -1203,16 +1203,14 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
          }
          return this.bukkitEntity;
      }
- 
 +    // Paper start
 +    public CraftEntity getBukkitEntityRaw() {
 +        return this.bukkitEntity;
 +    }
 +    // Paper end
-+
-     @Override
-     public CommandSender getBukkitSender(CommandSourceStack wrapper) {
-         return this.getBukkitEntity();
+ 
+     // CraftBukkit - SPIGOT-6907: re-implement LivingEntity#setMaximumAir()
+     public int getDefaultMaxAirSupply() {
 @@ -0,0 +0,0 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
      public final void setRemoved(Entity.RemovalReason entity_removalreason, EntityRemoveEvent.Cause cause) {
          CraftEventFactory.callEntityRemoveEvent(this, cause);
@@ -1222,9 +1220,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
              this.removalReason = entity_removalreason;
          }
 @@ -0,0 +0,0 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
- 
          this.getPassengers().forEach(Entity::stopRiding);
          this.levelCallback.onRemove(entity_removalreason);
+         this.onRemoval(entity_removalreason);
 +        // Paper start - Folia schedulers
 +        if (!(this instanceof ServerPlayer) && entity_removalreason != RemovalReason.CHANGED_DIMENSION && !alreadyRemoved) {
 +            // Players need to be special cased, because they are regularly removed from the world
diff --git a/patches/unapplied/server/Implement-PlayerFailMoveEvent.patch b/patches/server/Implement-PlayerFailMoveEvent.patch
similarity index 93%
rename from patches/unapplied/server/Implement-PlayerFailMoveEvent.patch
rename to patches/server/Implement-PlayerFailMoveEvent.patch
index 502f67d71d..a5a3b04ce1 100644
--- a/patches/unapplied/server/Implement-PlayerFailMoveEvent.patch
+++ b/patches/server/Implement-PlayerFailMoveEvent.patch
@@ -23,13 +23,13 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                                  }
                                  // Paper start - Prevent moving into unloaded chunks
                                  if (this.player.level().paperConfig().chunks.preventMovingIntoUnloadedChunks && (this.player.getX() != toX || this.player.getZ() != toZ) && !worldserver.areChunksLoadedForMove(this.player.getBoundingBox().expandTowards(new Vec3(toX, toY, toZ).subtract(this.player.position())))) {
--                                    this.internalTeleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot(), Collections.emptySet());
+-                                    this.internalTeleport(PositionMoveRotation.of(this.player), Collections.emptySet());
 -                                    return;
 +                                    // Paper start - Add fail move event
 +                                    io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.MOVED_INTO_UNLOADED_CHUNK,
 +                                        toX, toY, toZ, toYaw, toPitch, false);
 +                                    if (!event.isAllowed()) {
-+                                        this.internalTeleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot(), Collections.emptySet());
++                                        this.internalTeleport(PositionMoveRotation.of(this.player), Collections.emptySet());
 +                                        return;
 +                                    }
 +                                    // Paper end - Add fail move event
@@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
  
 @@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
  
-                                     if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2)) && !this.isSingleplayerOwner()) {
+                                     if (d10 - d9 > Math.max(f2, Math.pow((double) (org.spigotmc.SpigotConfig.movedTooQuicklyMultiplier * (float) i * speed), 2))) {
                                      // CraftBukkit end
 -                                        ServerGamePacketListenerImpl.LOGGER.warn("{} moved too quickly! {},{},{}", new Object[]{this.player.getName().getString(), d6, d7, d8});
 -                                        this.teleport(this.player.getX(), this.player.getY(), this.player.getZ(), this.player.getYRot(), this.player.getXRot());
@@ -88,7 +88,7 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +                            }
 +                            if (teleportBack) {
 +                            // Paper end - Add fail move event
-                                 this.internalTeleport(d3, d4, d5, f, f1, Collections.emptySet()); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet.
+                                 this.internalTeleport(d3, d4, d5, f, f1); // CraftBukkit - SPIGOT-1807: Don't call teleport event, when the client thinks the player is falling, because the chunks are not loaded on the client yet.
                                  this.player.doCheckFallDamage(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5, packet.isOnGround());
                              } else {
 @@ -0,0 +0,0 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl
diff --git a/patches/unapplied/server/Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
similarity index 100%
rename from patches/unapplied/server/Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
rename to patches/server/Make-Amethyst-throw-both-Spread-and-Grow-Events.patch
diff --git a/patches/unapplied/server/More-Sign-Block-API.patch b/patches/server/More-Sign-Block-API.patch
similarity index 98%
rename from patches/unapplied/server/More-Sign-Block-API.patch
rename to patches/server/More-Sign-Block-API.patch
index 29a5484edf..72d585ceb7 100644
--- a/patches/unapplied/server/More-Sign-Block-API.patch
+++ b/patches/server/More-Sign-Block-API.patch
@@ -9,7 +9,7 @@ diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntit
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 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
-@@ -0,0 +0,0 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C
+@@ -0,0 +0,0 @@ public class SignBlockEntity extends BlockEntity {
      }
  
      public boolean isFacingFrontText(net.minecraft.world.entity.player.Player player) {
diff --git a/patches/unapplied/server/Only-capture-actual-tree-growth.patch b/patches/server/Only-capture-actual-tree-growth.patch
similarity index 90%
rename from patches/unapplied/server/Only-capture-actual-tree-growth.patch
rename to patches/server/Only-capture-actual-tree-growth.patch
index e1e9ac18cc..b189b31c37 100644
--- a/patches/unapplied/server/Only-capture-actual-tree-growth.patch
+++ b/patches/server/Only-capture-actual-tree-growth.patch
@@ -16,6 +16,27 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                          }
                      }
                  }
+diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java
+index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
+--- a/src/main/java/net/minecraft/server/level/ServerLevel.java
++++ b/src/main/java/net/minecraft/server/level/ServerLevel.java
+@@ -0,0 +0,0 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
+         return range <= 0 ? 64.0 * 64.0 : range * range; // 64 is taken from default in ServerLevel#levelEvent
+     }
+     // Paper end - respect global sound events gamerule
++    // Paper start - notify observers even if grow failed
++    public void checkCapturedTreeStateForObserverNotify(final BlockPos pos, final org.bukkit.craftbukkit.block.CraftBlockState craftBlockState) {
++        // notify observers if the block state is the same and the Y level equals the original y level (for mega trees)
++        // blocks at the same Y level with the same state can be assumed to be saplings which trigger observers regardless of if the
++        // tree grew or not
++        if (craftBlockState.getPosition().getY() == pos.getY() && this.getBlockState(craftBlockState.getPosition()) == craftBlockState.getHandle()) {
++            this.notifyAndUpdatePhysics(craftBlockState.getPosition(), null, craftBlockState.getHandle(), craftBlockState.getHandle(), craftBlockState.getHandle(), craftBlockState.getFlag(), 512);
++        }
++    }
++    // Paper end - notify observers even if grow failed
+ 
+     @Override
+     public CrashReportCategory fillReportDetails(CrashReport report) {
 diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/world/item/ItemStack.java
@@ -28,25 +49,6 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                      }
                      entityhuman.awardStat(Stats.ITEM_USED.get(item)); // SPIGOT-7236 - award stat
                  }
-diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java
-index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
---- a/src/main/java/net/minecraft/world/level/Level.java
-+++ b/src/main/java/net/minecraft/world/level/Level.java
-@@ -0,0 +0,0 @@ public abstract class Level implements LevelAccessor, AutoCloseable {
-         return range <= 0 ? 64.0 * 64.0 : range * range; // 64 is taken from default in ServerLevel#levelEvent
-     }
-     // Paper end - respect global sound events gamerule
-+    // Paper start - notify observers even if grow failed
-+    public void checkCapturedTreeStateForObserverNotify(final BlockPos pos, final CraftBlockState craftBlockState) {
-+        // notify observers if the block state is the same and the Y level equals the original y level (for mega trees)
-+        // blocks at the same Y level with the same state can be assumed to be saplings which trigger observers regardless of if the
-+        // tree grew or not
-+        if (craftBlockState.getPosition().getY() == pos.getY() && this.getBlockState(craftBlockState.getPosition()) == craftBlockState.getHandle()) {
-+            this.notifyAndUpdatePhysics(craftBlockState.getPosition(), null, craftBlockState.getHandle(), craftBlockState.getHandle(), craftBlockState.getHandle(), craftBlockState.getFlag(), 512);
-+        }
-+    }
-+    // Paper end - notify observers even if grow failed
- }
 diff --git a/src/main/java/net/minecraft/world/level/block/SaplingBlock.java b/src/main/java/net/minecraft/world/level/block/SaplingBlock.java
 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 100644
 --- a/src/main/java/net/minecraft/world/level/block/SaplingBlock.java
diff --git a/patches/unapplied/server/Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/Only-erase-allay-memory-on-non-item-targets.patch
similarity index 100%
rename from patches/unapplied/server/Only-erase-allay-memory-on-non-item-targets.patch
rename to patches/server/Only-erase-allay-memory-on-non-item-targets.patch
diff --git a/patches/unapplied/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
similarity index 86%
rename from patches/unapplied/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
rename to patches/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
index 66c61bdc91..dae75bbe37 100644
--- a/patches/unapplied/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
+++ b/patches/server/Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch
@@ -26,8 +26,8 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
                      return false;
                  }
  
--                WanderingTrader entityvillagertrader = (WanderingTrader) EntityType.WANDERING_TRADER.spawn(world, blockposition2, MobSpawnType.EVENT, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
-+                WanderingTrader entityvillagertrader = (WanderingTrader) EntityType.WANDERING_TRADER.spawn(world, trader -> trader.setDespawnDelay(48000), blockposition2, MobSpawnType.EVENT, false, false, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit // Paper - set despawnTimer before spawn events called
+-                WanderingTrader entityvillagertrader = (WanderingTrader) EntityType.WANDERING_TRADER.spawn(world, blockposition2, EntitySpawnReason.EVENT, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBukkit
++                WanderingTrader entityvillagertrader = (WanderingTrader) EntityType.WANDERING_TRADER.spawn(world, trader -> trader.setDespawnDelay(48000), blockposition2, EntitySpawnReason.EVENT, false, false, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.NATURAL); // CraftBu // Paper - set despawnTimer before spawn events calledkkit
  
                  if (entityvillagertrader != null) {
                      for (int i = 0; i < 2; ++i) {
diff --git a/patches/unapplied/server/Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/Only-tick-item-frames-if-players-can-see-it.patch
similarity index 100%
rename from patches/unapplied/server/Only-tick-item-frames-if-players-can-see-it.patch
rename to patches/server/Only-tick-item-frames-if-players-can-see-it.patch
diff --git a/patches/unapplied/server/Optimize-player-lookups-for-beacons.patch b/patches/server/Optimize-player-lookups-for-beacons.patch
similarity index 100%
rename from patches/unapplied/server/Optimize-player-lookups-for-beacons.patch
rename to patches/server/Optimize-player-lookups-for-beacons.patch
diff --git a/patches/unapplied/server/Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/Properly-handle-BlockBreakEvent-isDropItems.patch
similarity index 100%
rename from patches/unapplied/server/Properly-handle-BlockBreakEvent-isDropItems.patch
rename to patches/server/Properly-handle-BlockBreakEvent-isDropItems.patch
diff --git a/patches/unapplied/server/Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
similarity index 100%
rename from patches/unapplied/server/Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
rename to patches/server/Remove-UpgradeData-neighbour-ticks-outside-of-range.patch
diff --git a/patches/unapplied/server/Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/Respect-randomizeData-on-more-entities-when-spawning.patch
similarity index 90%
rename from patches/unapplied/server/Respect-randomizeData-on-more-entities-when-spawning.patch
rename to patches/server/Respect-randomizeData-on-more-entities-when-spawning.patch
index 2172922f80..71b2e8b3f3 100644
--- a/patches/unapplied/server/Respect-randomizeData-on-more-entities-when-spawning.patch
+++ b/patches/server/Respect-randomizeData-on-more-entities-when-spawning.patch
@@ -39,9 +39,9 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +                combine(combine(spawnData -> new net.minecraft.world.entity.ExperienceOrb(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), 0, org.bukkit.entity.ExperienceOrb.SpawnReason.CUSTOM, null, null), CLEAR_MOVE_IF_NOT_RANDOMIZED), (spawnData, experienceOrb) -> { if (!spawnData.randomizeData()) { experienceOrb.setYRot(0); } }) // Paper - respect randomizeData
          ));
          register(new EntityTypeData<>(EntityType.AREA_EFFECT_CLOUD, AreaEffectCloud.class, CraftAreaEffectCloud::new, createAndMove(net.minecraft.world.entity.EntityType.AREA_EFFECT_CLOUD))); // Paper - set area effect cloud rotation
-         register(new EntityTypeData<>(EntityType.EGG, Egg.class, CraftEgg::new, spawnData -> new ThrownEgg(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z())));
+         register(new EntityTypeData<>(EntityType.EGG, Egg.class, CraftEgg::new, spawnData -> new ThrownEgg(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), new net.minecraft.world.item.ItemStack(Items.EGG))));
 @@ -0,0 +0,0 @@ public final class CraftEntityTypes {
-             entity.setItem(CraftItemStack.asNMSCopy(new ItemStack(Material.SPLASH_POTION, 1)));
+             net.minecraft.world.entity.projectile.ThrownPotion entity = new net.minecraft.world.entity.projectile.ThrownPotion(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), new net.minecraft.world.item.ItemStack(Items.SPLASH_POTION));
              return entity;
          }));
 -        register(new EntityTypeData<>(EntityType.TNT, TNTPrimed.class, CraftTNTPrimed::new, spawnData -> new PrimedTnt(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), null)));
@@ -64,5 +64,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 +        }));
 +        // Paper end - respect randomizeData
          register(new EntityTypeData<>(EntityType.EVOKER_FANGS, EvokerFangs.class, CraftEvokerFangs::new, spawnData -> new net.minecraft.world.entity.projectile.EvokerFangs(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z(), (float) Math.toRadians(spawnData.yaw()), 0, null)));
-         register(new EntityTypeData<>(EntityType.COMMAND_BLOCK_MINECART, CommandMinecart.class, CraftMinecartCommand::new, spawnData -> new MinecartCommandBlock(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z())));
-         register(new EntityTypeData<>(EntityType.MINECART, RideableMinecart.class, CraftMinecartRideable::new, spawnData -> new Minecart(spawnData.minecraftWorld(), spawnData.x(), spawnData.y(), spawnData.z())));
+         register(new EntityTypeData<>(EntityType.COMMAND_BLOCK_MINECART, CommandMinecart.class, CraftMinecartCommand::new, createMinecart(net.minecraft.world.entity.EntityType.COMMAND_BLOCK_MINECART)));
+         register(new EntityTypeData<>(EntityType.MINECART, RideableMinecart.class, CraftMinecartRideable::new, createMinecart(net.minecraft.world.entity.EntityType.MINECART)));
diff --git a/patches/unapplied/server/SculkCatalyst-bloom-API.patch b/patches/server/SculkCatalyst-bloom-API.patch
similarity index 100%
rename from patches/unapplied/server/SculkCatalyst-bloom-API.patch
rename to patches/server/SculkCatalyst-bloom-API.patch
diff --git a/patches/unapplied/server/Use-correct-seed-on-api-world-load.patch b/patches/server/Use-correct-seed-on-api-world-load.patch
similarity index 94%
rename from patches/unapplied/server/Use-correct-seed-on-api-world-load.patch
rename to patches/server/Use-correct-seed-on-api-world-load.patch
index 7d025e98a5..281c833ba6 100644
--- a/patches/unapplied/server/Use-correct-seed-on-api-world-load.patch
+++ b/patches/server/Use-correct-seed-on-api-world-load.patch
@@ -15,5 +15,5 @@ index 0000000000000000000000000000000000000000..00000000000000000000000000000000
 -        long j = BiomeManager.obfuscateSeed(creator.seed());
 +        long j = BiomeManager.obfuscateSeed(worlddata.worldGenOptions().seed()); // Paper - use world seed
          List<CustomSpawner> list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata));
-         LevelStem worlddimension = iregistry.get(actualDimension);
+         LevelStem worlddimension = iregistry.getValue(actualDimension);
  
diff --git a/patches/unapplied/server/Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/Use-correct-source-for-mushroom-block-spread-event.patch
similarity index 100%
rename from patches/unapplied/server/Use-correct-source-for-mushroom-block-spread-event.patch
rename to patches/server/Use-correct-source-for-mushroom-block-spread-event.patch
diff --git a/patches/unapplied/server/fix-item-meta-for-tadpole-buckets.patch b/patches/server/fix-item-meta-for-tadpole-buckets.patch
similarity index 100%
rename from patches/unapplied/server/fix-item-meta-for-tadpole-buckets.patch
rename to patches/server/fix-item-meta-for-tadpole-buckets.patch