diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index a27ab77534..1cda21bd7d 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -3723,16 +3723,16 @@ index 0000000000000000000000000000000000000000..1cf32d7d1bbc8a0a3f7cb9024c793f67 +} diff --git a/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java b/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java new file mode 100644 -index 0000000000000000000000000000000000000000..7deb341b7e2b4592ae3f88733d6cacf6e58764e4 +index 0000000000000000000000000000000000000000..11b7f15755dde766140c29bedca456c80d53293f --- /dev/null +++ b/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java @@ -0,0 +1,139 @@ +package ca.spottedleaf.moonrise.common.util; + +import net.minecraft.core.BlockPos; -+import net.minecraft.server.level.ServerLevel; +import net.minecraft.world.entity.Entity; +import net.minecraft.world.level.ChunkPos; ++import net.minecraft.world.level.Level; +import net.minecraft.world.phys.AABB; +import net.minecraft.world.phys.Vec3; +import org.slf4j.Logger; @@ -3755,21 +3755,21 @@ index 0000000000000000000000000000000000000000..7deb341b7e2b4592ae3f88733d6cacf6 + } + } + -+ public static void ensureTickThread(final ServerLevel world, final BlockPos pos, final String reason) { ++ public static void ensureTickThread(final Level world, final BlockPos pos, final String reason) { + if (!isTickThreadFor(world, pos)) { + LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); + throw new IllegalStateException(reason); + } + } + -+ public static void ensureTickThread(final ServerLevel world, final ChunkPos pos, final String reason) { ++ public static void ensureTickThread(final Level world, final ChunkPos pos, final String reason) { + if (!isTickThreadFor(world, pos)) { + LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); + throw new IllegalStateException(reason); + } + } + -+ public static void ensureTickThread(final ServerLevel world, final int chunkX, final int chunkZ, final String reason) { ++ public static void ensureTickThread(final Level world, final int chunkX, final int chunkZ, final String reason) { + if (!isTickThreadFor(world, chunkX, chunkZ)) { + LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); + throw new IllegalStateException(reason); @@ -3783,14 +3783,14 @@ index 0000000000000000000000000000000000000000..7deb341b7e2b4592ae3f88733d6cacf6 + } + } + -+ public static void ensureTickThread(final ServerLevel world, final AABB aabb, final String reason) { ++ public static void ensureTickThread(final Level world, final AABB aabb, final String reason) { + if (!isTickThreadFor(world, aabb)) { + LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); + throw new IllegalStateException(reason); + } + } + -+ public static void ensureTickThread(final ServerLevel world, final double blockX, final double blockZ, final String reason) { ++ public static void ensureTickThread(final Level world, final double blockX, final double blockZ, final String reason) { + if (!isTickThreadFor(world, blockX, blockZ)) { + LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); + throw new IllegalStateException(reason); @@ -3819,46 +3819,46 @@ index 0000000000000000000000000000000000000000..7deb341b7e2b4592ae3f88733d6cacf6 + } + + public static boolean isTickThread() { -+ return org.bukkit.Bukkit.isPrimaryThread(); // Paper ++ return Thread.currentThread() instanceof TickThread; + } + + public static boolean isShutdownThread() { + return false; + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final BlockPos pos) { ++ public static boolean isTickThreadFor(final Level world, final BlockPos pos) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final ChunkPos pos) { ++ public static boolean isTickThreadFor(final Level world, final ChunkPos pos) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final Vec3 pos) { ++ public static boolean isTickThreadFor(final Level world, final Vec3 pos) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final int chunkX, final int chunkZ) { ++ public static boolean isTickThreadFor(final Level world, final int chunkX, final int chunkZ) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final AABB aabb) { ++ public static boolean isTickThreadFor(final Level world, final AABB aabb) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final double blockX, final double blockZ) { ++ public static boolean isTickThreadFor(final Level world, final double blockX, final double blockZ) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final Vec3 position, final Vec3 deltaMovement, final int buffer) { ++ public static boolean isTickThreadFor(final Level world, final Vec3 position, final Vec3 deltaMovement, final int buffer) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final int fromChunkX, final int fromChunkZ, final int toChunkX, final int toChunkZ) { ++ public static boolean isTickThreadFor(final Level world, final int fromChunkX, final int fromChunkZ, final int toChunkX, final int toChunkZ) { + return isTickThread(); + } + -+ public static boolean isTickThreadFor(final ServerLevel world, final int chunkX, final int chunkZ, final int radius) { ++ public static boolean isTickThreadFor(final Level world, final int chunkX, final int chunkZ, final int radius) { + return isTickThread(); + } + diff --git a/patches/server/0988-Moonrise-optimisation-patches.patch b/patches/server/0988-Moonrise-optimisation-patches.patch index ca85e2aa17..4ac5b7f523 100644 --- a/patches/server/0988-Moonrise-optimisation-patches.patch +++ b/patches/server/0988-Moonrise-optimisation-patches.patch @@ -342,120 +342,6 @@ index da323a1105347d5cf4b946df10ded78a953236f2..0abba00741b39b69a7f167e5d2670f25 } private ChunkSystem() {} -diff --git a/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java b/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java -index 7deb341b7e2b4592ae3f88733d6cacf6e58764e4..11b7f15755dde766140c29bedca456c80d53293f 100644 ---- a/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java -+++ b/src/main/java/ca/spottedleaf/moonrise/common/util/TickThread.java -@@ -1,9 +1,9 @@ - package ca.spottedleaf.moonrise.common.util; - - import net.minecraft.core.BlockPos; --import net.minecraft.server.level.ServerLevel; - import net.minecraft.world.entity.Entity; - import net.minecraft.world.level.ChunkPos; -+import net.minecraft.world.level.Level; - import net.minecraft.world.phys.AABB; - import net.minecraft.world.phys.Vec3; - import org.slf4j.Logger; -@@ -26,21 +26,21 @@ public class TickThread extends Thread { - } - } - -- public static void ensureTickThread(final ServerLevel world, final BlockPos pos, final String reason) { -+ public static void ensureTickThread(final Level world, final BlockPos pos, final String reason) { - if (!isTickThreadFor(world, pos)) { - LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); - throw new IllegalStateException(reason); - } - } - -- public static void ensureTickThread(final ServerLevel world, final ChunkPos pos, final String reason) { -+ public static void ensureTickThread(final Level world, final ChunkPos pos, final String reason) { - if (!isTickThreadFor(world, pos)) { - LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); - throw new IllegalStateException(reason); - } - } - -- public static void ensureTickThread(final ServerLevel world, final int chunkX, final int chunkZ, final String reason) { -+ public static void ensureTickThread(final Level world, final int chunkX, final int chunkZ, final String reason) { - if (!isTickThreadFor(world, chunkX, chunkZ)) { - LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); - throw new IllegalStateException(reason); -@@ -54,14 +54,14 @@ public class TickThread extends Thread { - } - } - -- public static void ensureTickThread(final ServerLevel world, final AABB aabb, final String reason) { -+ public static void ensureTickThread(final Level world, final AABB aabb, final String reason) { - if (!isTickThreadFor(world, aabb)) { - LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); - throw new IllegalStateException(reason); - } - } - -- public static void ensureTickThread(final ServerLevel world, final double blockX, final double blockZ, final String reason) { -+ public static void ensureTickThread(final Level world, final double blockX, final double blockZ, final String reason) { - if (!isTickThreadFor(world, blockX, blockZ)) { - LOGGER.error("Thread " + Thread.currentThread().getName() + " failed main thread check: " + reason, new Throwable()); - throw new IllegalStateException(reason); -@@ -90,46 +90,46 @@ public class TickThread extends Thread { - } - - public static boolean isTickThread() { -- return org.bukkit.Bukkit.isPrimaryThread(); // Paper -+ return Thread.currentThread() instanceof TickThread; - } - - public static boolean isShutdownThread() { - return false; - } - -- public static boolean isTickThreadFor(final ServerLevel world, final BlockPos pos) { -+ public static boolean isTickThreadFor(final Level world, final BlockPos pos) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final ChunkPos pos) { -+ public static boolean isTickThreadFor(final Level world, final ChunkPos pos) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final Vec3 pos) { -+ public static boolean isTickThreadFor(final Level world, final Vec3 pos) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final int chunkX, final int chunkZ) { -+ public static boolean isTickThreadFor(final Level world, final int chunkX, final int chunkZ) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final AABB aabb) { -+ public static boolean isTickThreadFor(final Level world, final AABB aabb) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final double blockX, final double blockZ) { -+ public static boolean isTickThreadFor(final Level world, final double blockX, final double blockZ) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final Vec3 position, final Vec3 deltaMovement, final int buffer) { -+ public static boolean isTickThreadFor(final Level world, final Vec3 position, final Vec3 deltaMovement, final int buffer) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final int fromChunkX, final int fromChunkZ, final int toChunkX, final int toChunkZ) { -+ public static boolean isTickThreadFor(final Level world, final int fromChunkX, final int fromChunkZ, final int toChunkX, final int toChunkZ) { - return isTickThread(); - } - -- public static boolean isTickThreadFor(final ServerLevel world, final int chunkX, final int chunkZ, final int radius) { -+ public static boolean isTickThreadFor(final Level world, final int chunkX, final int chunkZ, final int radius) { - return isTickThread(); - } - diff --git a/src/main/java/ca/spottedleaf/moonrise/patches/block_counting/BlockCountingBitStorage.java b/src/main/java/ca/spottedleaf/moonrise/patches/block_counting/BlockCountingBitStorage.java new file mode 100644 index 0000000000000000000000000000000000000000..aef4fc0d3c272febe675d1ac846b88e58b4e7533