@@ -6,10 +6,10 @@ Subject: [PATCH] Add task scheduling API
66
77diff --git a/src/main/java/io/multipaper/shreddedpaper/ShreddedPaper.java b/src/main/java/io/multipaper/shreddedpaper/ShreddedPaper.java
88new file mode 100644
9- index 0000000000000000000000000000000000000000..fd36882c99720cc04c72d30f18a943e2e70e0e99
9+ index 0000000000000000000000000000000000000000..2cbe8b4810b0198c0b00c8215c5e076ffd8d454e
1010--- /dev/null
1111+++ b/src/main/java/io/multipaper/shreddedpaper/ShreddedPaper.java
12- @@ -0,0 +1,78 @@
12+ @@ -0,0 +1,86 @@
1313+ package io.multipaper.shreddedpaper;
1414+
1515+ import io.multipaper.shreddedpaper.threading.ShreddedPaperRegionScheduler;
@@ -69,7 +69,15 @@ index 0000000000000000000000000000000000000000..fd36882c99720cc04c72d30f18a943e2
6969+
7070+ public static void ensureSync(Entity entity1, ServerLevel serverLevel2, ChunkPos chunkPos2, Runnable runnable) {
7171+ if (!isSync((ServerLevel) entity1.level(), entity1.chunkPosition()) || !isSync(serverLevel2, chunkPos2)) {
72- + runSync((ServerLevel) entity1.level(), entity1.chunkPosition(), serverLevel2, chunkPos2, () -> ensureSync(entity1, serverLevel2, chunkPos2, runnable)); // Entity may have moved since, ensure still sync);
72+ + runSync((ServerLevel) entity1.level(), entity1.chunkPosition(), serverLevel2, chunkPos2, () -> ensureSync(entity1, serverLevel2, chunkPos2, runnable)); // Entity may have moved since, ensure still sync
73+ + } else {
74+ + runnable.run();
75+ + }
76+ + }
77+ +
78+ + public static void ensureSync(Entity entity1, Entity entity2, Runnable runnable) {
79+ + if (!isSync((ServerLevel) entity1.level(), entity1.chunkPosition()) || !isSync((ServerLevel) entity2.level(), entity2.chunkPosition())) {
80+ + runSync((ServerLevel) entity1.level(), entity1.chunkPosition(), (ServerLevel) entity2.level(), entity2.chunkPosition(), () -> ensureSync(entity1, entity2, runnable)); // Entity may have moved since, ensure still sync
7381+ } else {
7482+ runnable.run();
7583+ }
0 commit comments