From 21499235d15a5bfab92b10c308aeff4b7b9ee98e Mon Sep 17 00:00:00 2001 From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:20:49 +0800 Subject: [PATCH] Updated Upstream (Gale) Upstream has released updates that appear to apply and compile correctly Gale Changes: Dreeam-qwq/Gale@791f8d1 Revert "Fix fluidStateCount increment" Dreeam-qwq/Gale@463fdde Add back Optimize entity coordinate key Dreeam-qwq/Gale@3b27166 Add configurable xor-shift random support for optimized lighning random tick Dreeam-qwq/Gale@1acfc2a Add back IceAndSnowTick optimization in Optimize random calls in chunk ticking --- gradle.properties | 2 +- ...007-Pufferfish-Optimize-mob-spawning.patch | 10 +++--- .../server/0011-Purpur-Server-Changes.patch | 16 +++++----- ...12-Fix-Pufferfish-and-Purpur-patches.patch | 8 ++--- patches/server/0015-Remove-Timings.patch | 32 +++++++++---------- patches/server/0071-Matter-Secure-Seed.patch | 6 ++-- 6 files changed, 37 insertions(+), 37 deletions(-) diff --git a/gradle.properties b/gradle.properties index e920c1362..6b1cea049 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = cn.dreeam.leaf mcVersion = 1.21 version = 1.21-R0.1-SNAPSHOT -galeCommit = a8aff53ed53fbbb183c120bc60aa085c80f00b83 +galeCommit = 1acfc2a2f9e7308b7280a9b3a3a8d81cf9e9615e org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/server/0007-Pufferfish-Optimize-mob-spawning.patch b/patches/server/0007-Pufferfish-Optimize-mob-spawning.patch index 577f9c9a1..a7da5505b 100644 --- a/patches/server/0007-Pufferfish-Optimize-mob-spawning.patch +++ b/patches/server/0007-Pufferfish-Optimize-mob-spawning.patch @@ -45,7 +45,7 @@ index 30ddaba93a1b2bb228a9fcdf25e8abab036d9f38..3ca8a80f44ef8c3fbf55250dc1f345e2 } } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 9fd7b17b7806636777de40abb9963ce770a97d15..1e7350b3199b1f1b9935c1893e61f41c4cc0d999 100644 +index c520d824630e8b5c569c3213d019b2548120a50f..01ea21b960b5b32cdb14cefd1c23b50ba5cb8335 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -127,6 +127,9 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -58,7 +58,7 @@ index 9fd7b17b7806636777de40abb9963ce770a97d15..1e7350b3199b1f1b9935c1893e61f41c public ServerChunkCache(ServerLevel world, LevelStorageSource.LevelStorageAccess session, DataFixer dataFixer, StructureTemplateManager structureTemplateManager, Executor workerExecutor, ChunkGenerator chunkGenerator, int viewDistance, int simulationDistance, boolean dsync, ChunkProgressListener worldGenerationProgressListener, ChunkStatusUpdateListener chunkStatusChangeListener, Supplier persistentStateManagerFactory) { this.level = world; this.mainThreadProcessor = new ServerChunkCache.MainThreadExecutor(world); -@@ -453,6 +456,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -454,6 +457,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Paper start - Optional per player mob spawns int naturalSpawnChunkCount = k; if ((this.spawnFriendlies || this.spawnEnemies) && this.level.paperConfig().entities.spawning.perPlayerMobSpawns) { // don't count mobs when animals and monsters are disabled @@ -66,7 +66,7 @@ index 9fd7b17b7806636777de40abb9963ce770a97d15..1e7350b3199b1f1b9935c1893e61f41c // re-set mob counts for (ServerPlayer player : this.level.players) { // Paper start - per player mob spawning backoff -@@ -467,14 +471,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -468,14 +472,18 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } // Paper end - per player mob spawning backoff } @@ -88,7 +88,7 @@ index 9fd7b17b7806636777de40abb9963ce770a97d15..1e7350b3199b1f1b9935c1893e61f41c // Gale start - MultiPaper - skip unnecessary mob spawning computations } else { spawnercreature_d = null; -@@ -502,8 +510,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -503,8 +511,8 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon if (true && this.chunkMap.anyPlayerCloseEnoughForSpawning(chunkcoordintpair)) { // Paper - rewrite chunk system chunk1.incrementInhabitedTime(j); @@ -99,7 +99,7 @@ index 9fd7b17b7806636777de40abb9963ce770a97d15..1e7350b3199b1f1b9935c1893e61f41c } if (true) { // Paper - rewrite chunk system -@@ -543,6 +551,40 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -544,6 +552,40 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon this.level.timings.broadcastChunkUpdates.stopTiming(); // Paper - timing // Paper end - chunk tick iteration optimisations } diff --git a/patches/server/0011-Purpur-Server-Changes.patch b/patches/server/0011-Purpur-Server-Changes.patch index 6f4fea5a6..7ff6cc827 100644 --- a/patches/server/0011-Purpur-Server-Changes.patch +++ b/patches/server/0011-Purpur-Server-Changes.patch @@ -970,7 +970,7 @@ index c80be65d190c85e7f0ea8233ebbbdbc1ea67f276..97e793c971614299504605aeb4f99cad public ServerEntity(ServerLevel worldserver, Entity entity, int i, boolean flag, Consumer> consumer, Set trackedPlayers) { this.trackedPlayers = trackedPlayers; diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17777c4575 100644 +index 881f507ff6fcac86f8ef04cbd3ff10c41c840d52..0ed4f5a291ef5009a0535273ac52a9fbac150553 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -220,6 +220,8 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -1070,7 +1070,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 public void tickCustomSpawners(boolean spawnMonsters, boolean spawnAnimals) { Iterator iterator = this.customSpawners.iterator(); -@@ -862,10 +904,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -864,10 +906,18 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * this.paperConfig().entities.spawning.skeletonHorseThunderSpawnChance.or(0.01D) && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper - Configurable spawn chances for skeleton horses if (flag1) { @@ -1091,7 +1091,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 entityhorseskeleton.setAge(0); entityhorseskeleton.setPos((double) blockposition.getX(), (double) blockposition.getY(), (double) blockposition.getZ()); this.addFreshEntity(entityhorseskeleton, org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason.LIGHTNING); // CraftBukkit -@@ -944,7 +994,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -946,7 +996,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. return holder.is(PoiTypes.LIGHTNING_ROD); }, (blockposition1) -> { return blockposition1.getY() == this.getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1; @@ -1100,7 +1100,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 return optional.map((blockposition1) -> { return blockposition1.above(1); -@@ -993,11 +1043,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -995,11 +1045,27 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (this.canSleepThroughNights()) { if (!this.getServer().isSingleplayer() || this.getServer().isPublished()) { int i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); @@ -1129,7 +1129,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 ichatmutablecomponent = Component.translatable("sleep.players_sleeping", this.sleepStatus.amountSleeping(), this.sleepStatus.sleepersNeeded(i)); } -@@ -1137,6 +1203,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1139,6 +1205,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @VisibleForTesting public void resetWeatherCycle() { // CraftBukkit start @@ -1137,7 +1137,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... -@@ -1144,6 +1211,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1146,6 +1213,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.serverLevelData.setRainTime(0); } // CraftBukkit end @@ -1145,7 +1145,7 @@ index 21a910e69bf7b10d11a93793a6854198cc77c4c9..3a0315edfafd18b995b6b614b3b20f17 this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. -@@ -2582,7 +2650,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -2584,7 +2652,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. // Spigot Start if (entity.getBukkitEntity() instanceof org.bukkit.inventory.InventoryHolder && (!(entity instanceof ServerPlayer) || entity.getRemovalReason() != Entity.RemovalReason.KILLED)) { // SPIGOT-6876: closeInventory clears death message // Paper start - Fix merchant inventory not closing on entity removal @@ -2100,7 +2100,7 @@ index f43bf280999ff3860cc702def50cc62b131eb1bd..66d9e99a351f5fc6cf58be3bee4397d9 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7c56c3b84809e751e94a2ac4ca27ab81168058c4..2429d9b16cb307d3c9aeb3ec8af677490d3fd3c2 100644 +index 815db5b0a24f1628d646893ebad466dcee2ab0bd..06e5d3e2dfc762c640b5261b4962503e48c2a76f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -169,6 +169,7 @@ import org.bukkit.plugin.PluginManager; diff --git a/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch b/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch index f8f5db849..3c1412628 100644 --- a/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch +++ b/patches/server/0012-Fix-Pufferfish-and-Purpur-patches.patch @@ -64,10 +64,10 @@ index 096c89bd01cec2abd151bf6fffc4847d1bcd548f..cd0a8a6a1be75cab8bbb8ee3ac17bb73 this.values[this.vp++ & 0xFF] = (int)(l * 100L / Runtime.getRuntime().maxMemory()); this.repaint(); diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 1e7350b3199b1f1b9935c1893e61f41c4cc0d999..8fded112c6c30070ee6514ef25f1bad1d3fba4c1 100644 +index 01ea21b960b5b32cdb14cefd1c23b50ba5cb8335..e8a89db44ed4f20516a9716bc3f41658f63a312c 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -485,7 +485,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -486,7 +486,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously // Gale start - MultiPaper - skip unnecessary mob spawning computations } else { @@ -77,7 +77,7 @@ index 1e7350b3199b1f1b9935c1893e61f41c4cc0d999..8fded112c6c30070ee6514ef25f1bad1 // Gale end - MultiPaper - skip unnecessary mob spawning computations diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3a816a31b9f3ecb02291b8be897db828502eab84..1b759f7ce1d1244982d8eac8b9bce95668e1bb8f 100644 +index 0ed4f5a291ef5009a0535273ac52a9fbac150553..fae2574cee5779c4a3ea7aec393f087676327b0e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -658,7 +658,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -90,7 +90,7 @@ index 3a816a31b9f3ecb02291b8be897db828502eab84..1b759f7ce1d1244982d8eac8b9bce956 j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c0995861d1987f62f1bf2d37939f57c55f314c24..0a40cff1da82157487d209e63628387092d0d334 100644 +index 06e5d3e2dfc762c640b5261b4962503e48c2a76f..164c126a61f550c09a7e114bf8947bde1c5a3aa8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -564,13 +564,29 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess diff --git a/patches/server/0015-Remove-Timings.patch b/patches/server/0015-Remove-Timings.patch index ac90649a8..44542d9ad 100644 --- a/patches/server/0015-Remove-Timings.patch +++ b/patches/server/0015-Remove-Timings.patch @@ -1066,7 +1066,7 @@ index e88b5769dab436ce20f6986995a57ccd9cc42950..41ab27bdeb3cbc54f71977feda61a303 } diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b7876f81006 100644 +index e8a89db44ed4f20516a9716bc3f41658f63a312c..74bf36f75b59b1e21b72afcf653447864d7c3f80 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java @@ -358,9 +358,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon @@ -1112,7 +1112,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78 // Paper - chunk tick iteration optimisations -@@ -451,7 +442,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -452,7 +443,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon boolean flagAndHasNaturalSpawn = flag && this.anySpawnCategoryIsSpawnedThisTick(); if (flagAndHasNaturalSpawn) { // Gale end - MultiPaper - skip unnecessary mob spawning computations @@ -1120,7 +1120,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78 int k = this.distanceManager.getNaturalSpawnChunkCount(); // Paper start - Optional per player mob spawns int naturalSpawnChunkCount = k; -@@ -480,7 +470,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -481,7 +471,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon // Pufferfish end } // Paper end - Optional per player mob spawns @@ -1128,7 +1128,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78 //this.lastSpawnState = spawnercreature_d; // Pufferfish - this is managed asynchronously // Gale start - MultiPaper - skip unnecessary mob spawning computations -@@ -524,17 +513,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -525,17 +514,13 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } } } @@ -1146,7 +1146,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78 { final it.unimi.dsi.fastutil.objects.ObjectArrayList chunks = (it.unimi.dsi.fastutil.objects.ObjectArrayList)list; final ServerChunkCache.ChunkAndHolder[] raw = chunks.elements(); -@@ -548,7 +533,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -549,7 +534,6 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon holder.holder().broadcastChanges(holder.chunk()); } } @@ -1155,7 +1155,7 @@ index 8fded112c6c30070ee6514ef25f1bad1d3fba4c1..42f2961ce975920bb20c73bd3e5b4b78 } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699f4cdf69d 100644 +index fae2574cee5779c4a3ea7aec393f087676327b0e..0d4a36e59072de962363bb72babae30f792bf560 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1,7 +1,6 @@ @@ -1217,7 +1217,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 this.tickBlockEntities(); } -@@ -940,12 +927,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -942,12 +929,9 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } } // Paper - Option to disable ice and snow @@ -1230,7 +1230,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 } @VisibleForTesting -@@ -1274,31 +1258,21 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1276,31 +1260,21 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. currentlyTickingEntity.lazySet(entity); } // Paper end - log detailed entity tick information @@ -1262,7 +1262,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 Iterator iterator = entity.getPassengers().iterator(); while (iterator.hasNext()) { -@@ -1306,7 +1280,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1308,7 +1282,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.tickPassenger(entity, entity1); } @@ -1270,7 +1270,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 // Paper start - log detailed entity tick information } finally { if (currentlyTickingEntity.get() == entity) { -@@ -1321,9 +1294,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1323,9 +1296,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (passenger instanceof Player || this.entityTickList.contains(passenger)) { // Paper - EAR 2 final boolean isActive = org.spigotmc.ActivationRange.checkIfActive(passenger); @@ -1280,7 +1280,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 passenger.setOldPosAndRot(); ++passenger.tickCount; -@@ -1345,8 +1315,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1347,8 +1317,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.tickPassenger(passenger, entity2); } @@ -1289,7 +1289,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 } } else { passenger.stopRiding(); -@@ -1366,7 +1334,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1368,7 +1336,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(getWorld())); } @@ -1297,7 +1297,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 if (doFull) { this.saveLevelData(true); } -@@ -1383,7 +1350,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1385,7 +1352,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. this.convertable.saveDataTag(this.server.registryAccess(), this.serverLevelData, this.server.getPlayerList().getSingleplayerData()); } // CraftBukkit end @@ -1305,7 +1305,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 } // Paper end - Incremental chunk and player saving -@@ -1397,7 +1363,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1399,7 +1365,6 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. if (!savingDisabled) { org.bukkit.Bukkit.getPluginManager().callEvent(new org.bukkit.event.world.WorldSaveEvent(this.getWorld())); // CraftBukkit @@ -1313,7 +1313,7 @@ index 2535bc92d0ecebf5f859f13a1c4ffd51709f801f..0dd3f39a8be13a98575c05751a254699 if (progressListener != null) { progressListener.progressStartNoAbort(Component.translatable("menu.savingLevel")); } -@@ -1407,10 +1372,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. +@@ -1409,10 +1374,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. progressListener.progressStage(Component.translatable("menu.savingChunks")); } @@ -1596,7 +1596,7 @@ index cd0e43f4c53a746dd6183a8406269f9b11ad3571..54657ac895fb2fa9c58910d5421f0082 private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); public CraftPersistentDataContainer persistentDataContainer; diff --git a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java -index f23ed06a943646f45e1291f35ab3025e1dfa6b49..070e7b5db06bd670f97ac7f25767be1d33c5d02e 100644 +index 83ba2e128fb72f786675d1eea709be3e3a319e80..6f8c1dc641c870e2d3077c909a56b10cbc6dbed9 100644 --- a/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java +++ b/src/main/java/net/minecraft/world/level/chunk/LevelChunk.java @@ -669,7 +669,6 @@ public class LevelChunk extends ChunkAccess implements ca.spottedleaf.moonrise.p diff --git a/patches/server/0071-Matter-Secure-Seed.patch b/patches/server/0071-Matter-Secure-Seed.patch index a890adc3c..249dc51ef 100644 --- a/patches/server/0071-Matter-Secure-Seed.patch +++ b/patches/server/0071-Matter-Secure-Seed.patch @@ -34,10 +34,10 @@ index 9ebe1f1797b5be562bc4f6d92b9a4d6022ca2151..dcfcf20ded591cf450b38b9e5ae30ed3 return GsonHelper.parse(!s1.isEmpty() ? s1 : "{}"); }, new JsonObject()), (String) this.get("level-type", (s1) -> { diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -index 42f2961ce975920bb20c73bd3e5b4b7876f81006..cd4410a28d3311d089256a189ebbfe2e8831b507 100644 +index 74bf36f75b59b1e21b72afcf653447864d7c3f80..ef2d70c1bd21cff6a080205c38bbe8bf18cc80a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java +++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java -@@ -606,6 +606,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon +@@ -607,6 +607,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon } public ChunkGenerator getGenerator() { @@ -46,7 +46,7 @@ index 42f2961ce975920bb20c73bd3e5b4b7876f81006..cd4410a28d3311d089256a189ebbfe2e } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 3ca207ead7a034469ab37e5621c6b5cb92979979..220f36095bef038f376d9a0459236ebd3c761df5 100644 +index 0d4a36e59072de962363bb72babae30f792bf560..946339933b361f5a85df74d6c212acffe2e08f5e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -558,6 +558,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf.