From f5af10d980a205d23fd978e43a6bfb5f28b0a257 Mon Sep 17 00:00:00 2001 From: MrPowerGamerBR Date: Mon, 19 Aug 2024 16:16:41 -0300 Subject: [PATCH] Fix build (bulk renaming GONE WRONG, also remove mid chunk ticks due to crashes) --- .../server/0022-Parallel-world-ticking.patch | 73 +++++++++++++------ 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/patches/server/0022-Parallel-world-ticking.patch b/patches/server/0022-Parallel-world-ticking.patch index dd68fcc..86bc35e 100644 --- a/patches/server/0022-Parallel-world-ticking.patch +++ b/patches/server/0022-Parallel-world-ticking.patch @@ -660,8 +660,21 @@ index 1395e8f98bd87a060fb609c65a3311c220f5e9a8..df3270b9c57c96660e8402fcd927e890 // SparklyPaper end // SparklyPaper start - Spooky month optimizations halloweenManager.startHalloweenEpochTask(); +diff --git a/src/main/java/net/minecraft/server/level/ServerChunkCache.java b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +index dcb5651d1d9b10b40430fb2f713beedf68336704..e395ff78b651f74f1582b8ae581908f58b64b2cc 100644 +--- a/src/main/java/net/minecraft/server/level/ServerChunkCache.java ++++ b/src/main/java/net/minecraft/server/level/ServerChunkCache.java +@@ -515,7 +515,7 @@ public class ServerChunkCache extends ChunkSource implements ca.spottedleaf.moon + this.level.tickChunk(chunk1, l); + // Paper start - rewrite chunk system + if ((++chunksTicked & 7L) == 0L) { +- ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.level.getServer()).moonrise$executeMidTickTasks(); ++ // ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.level.getServer()).moonrise$executeMidTickTasks(); // SparklyPaper - parallel world ticking (only run mid-tick at the end of each tick / fixes concurrency bugs related to executeMidTickTasks) // Paper + } + // Paper end - rewrite chunk system + } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f162a3639f55d20bb691e34b60a7c8c55a99daf6..bfec87745b1790a83c46ab7c783206d26afd2521 100644 +index f162a3639f55d20bb691e34b60a7c8c55a99daf6..0090b494cc86202a197a0673b0ec1748e085c2c6 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -222,6 +222,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. @@ -689,6 +702,24 @@ index f162a3639f55d20bb691e34b60a7c8c55a99daf6..bfec87745b1790a83c46ab7c783206d2 } // Paper start +@@ -1185,7 +1187,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. + } + // Paper start - rewrite chunk system + if ((++this.tickedBlocksOrFluids & 7L) != 0L) { +- ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.server).moonrise$executeMidTickTasks(); ++ // ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.server).moonrise$executeMidTickTasks(); // SparklyPaper - parallel world ticking (only run mid-tick at the end of each tick / fixes concurrency bugs related to executeMidTickTasks) // Paper + } + // Paper end - rewrite chunk system + +@@ -1199,7 +1201,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. + } + // Paper start - rewrite chunk system + if ((++this.tickedBlocksOrFluids & 7L) != 0L) { +- ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.server).moonrise$executeMidTickTasks(); ++ // ((ca.spottedleaf.moonrise.patches.chunk_system.server.ChunkSystemMinecraftServer)this.server).moonrise$executeMidTickTasks(); // SparklyPaper - parallel world ticking (only run mid-tick at the end of each tick / fixes concurrency bugs related to executeMidTickTasks) // Paper + } + // Paper end - rewrite chunk system + @@ -1510,6 +1512,7 @@ public class ServerLevel extends Level implements WorldGenLevel, ca.spottedleaf. } @@ -896,7 +927,7 @@ index d524fcc191cb95d6ec7f12ae7fceeb8077bb08fc..451e5719613fc31bacf49c37978d4e49 } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 38d73f50360685a573740e811f186d7fa582003c..fa057dc5a98af9067ac4e5f6f116be357cc3dc5a 100644 +index 38d73f50360685a573740e811f186d7fa582003c..b372fc523b49d969518384d0502589256fe4fc13 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -174,6 +174,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @@ -915,6 +946,24 @@ index 38d73f50360685a573740e811f186d7fa582003c..fa057dc5a98af9067ac4e5f6f116be35 // CraftBukkit start - tree generation if (this.captureTreeGeneration) { // Paper start - Protect Bedrock and End Portal/Frames from being destroyed +@@ -1416,7 +1418,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl + tickingblockentity.tick(); + // Paper start - rewrite chunk system + if ((++tickedEntities & 7) == 0) { +- ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)(Level)(Object)this).moonrise$midTickTasks(); ++ // ((ca.spottedleaf.moonrise.patches.chunk_system.level.ChunkSystemLevel)(Level)(Object)this).moonrise$midTickTasks(); // SparklyPaper - parallel world ticking (only run mid-tick at the end of each tick / fixes concurrency bugs related to executeMidTickTasks) + } + // Paper end - rewrite chunk system + } // SparklyPaper end +@@ -1442,7 +1444,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl + entity.discard(org.bukkit.event.entity.EntityRemoveEvent.Cause.DISCARD); + // Paper end - Prevent block entity and entity crashes + } +- this.moonrise$midTickTasks(); // Paper - rewrite chunk system ++ // this.moonrise$midTickTasks(); // Paper - rewrite chunk system // SparklyPaper - parallel world ticking (only run mid-tick at the end of each tick / fixes concurrency bugs related to executeMidTickTasks) + } + // Paper start - Option to prevent armor stands from doing entity lookups + @Override @@ -1542,6 +1544,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl @Nullable @@ -1585,7 +1634,7 @@ index b7ff7af2513204b151340538d50a65c850bdb75f..45f9b2594e449926d7f00f64bf12fef2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6d166a6662ed2badfdc9cb42ca4374dc8d640404..22461fbf08a1eeede52ae2a170517cd914f3cfea 100644 +index 6d166a6662ed2badfdc9cb42ca4374dc8d640404..e09be2bd058d93b9e7828fc788398a480452cc61 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -953,7 +953,7 @@ public class CraftEventFactory { @@ -1606,24 +1655,6 @@ index 6d166a6662ed2badfdc9cb42ca4374dc8d640404..22461fbf08a1eeede52ae2a170517cd9 Bukkit.getPluginManager().callEvent(event); if (!event.isCancelled()) { -@@ -992,7 +992,7 @@ public class CraftEventFactory { - // Paper end - CraftLivingEntity entity = (CraftLivingEntity) victim.getBukkitEntity(); - CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); -- EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, new io.papermc.paper.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(damageSource.getEntity())); // Paper - Restore vanilla drops behavior -+ EntityDeathEvent event = new EntityDeathEvent(entity, bukkitDamageSource, new ca.spottedleaf.moonrise.common.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(damageSource.getEntity())); // Paper - Restore vanilla drops behavior - populateFields(victim, event); // Paper - make cancellable - CraftWorld world = (CraftWorld) entity.getWorld(); - Bukkit.getServer().getPluginManager().callEvent(event); -@@ -1023,7 +1023,7 @@ public class CraftEventFactory { - public static PlayerDeathEvent callPlayerDeathEvent(ServerPlayer victim, DamageSource damageSource, List drops, net.kyori.adventure.text.Component deathMessage, boolean keepInventory) { // Paper - Adventure & Restore vanilla drops behavior - CraftPlayer entity = victim.getBukkitEntity(); - CraftDamageSource bukkitDamageSource = new CraftDamageSource(damageSource); -- PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, new io.papermc.paper.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(damageSource.getEntity()), 0, deathMessage); // Paper - Restore vanilla drops behavior -+ PlayerDeathEvent event = new PlayerDeathEvent(entity, bukkitDamageSource, new ca.spottedleaf.moonrise.common.util.TransformingRandomAccessList<>(drops, Entity.DefaultDrop::stack, FROM_FUNCTION), victim.getExpReward(damageSource.getEntity()), 0, deathMessage); // Paper - Restore vanilla drops behavior - event.setKeepInventory(keepInventory); - event.setKeepLevel(victim.keepLevel); // SPIGOT-2222: pre-set keepLevel - populateFields(victim, event); // Paper - make cancellable @@ -2243,7 +2243,7 @@ public class CraftEventFactory { CraftItemStack craftItem = CraftItemStack.asCraftMirror(itemStack.copyWithCount(1));