diff --git a/src/test/java/codechicken/multipart/TickSchedulerPersistenceRegressionTest.java b/src/test/java/codechicken/multipart/TickSchedulerPersistenceRegressionTest.java index b172867..f6800eb 100644 --- a/src/test/java/codechicken/multipart/TickSchedulerPersistenceRegressionTest.java +++ b/src/test/java/codechicken/multipart/TickSchedulerPersistenceRegressionTest.java @@ -42,6 +42,7 @@ class TickSchedulerPersistenceRegressionTest { scheduler.saveData(saved); assertEquals(1, saved.getTagList("multipartTicks", 10).tagCount()); scheduler.unload(); + world = new TickScheduler.WorldTickScheduler(null); TickScheduler.ChunkTickScheduler restored = new TickScheduler.ChunkTickScheduler(chunk, world); restored.loadData(saved); restored.scheduleTick(part, 0, false); diff --git a/src/test/java/codechicken/multipart/TickSchedulerPersistenceTest.java b/src/test/java/codechicken/multipart/TickSchedulerPersistenceTest.java deleted file mode 100644 index 7e1e6cb..0000000 --- a/src/test/java/codechicken/multipart/TickSchedulerPersistenceTest.java +++ /dev/null @@ -1,58 +0,0 @@ -package codechicken.multipart; - -import static org.junit.jupiter.api.Assertions.assertEquals; - -import java.util.Collections; - -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.ChunkPosition; -import net.minecraft.world.chunk.Chunk; - -import org.junit.jupiter.api.Test; - -class TickSchedulerPersistenceTest { - - @Test - @SuppressWarnings("unchecked") - void restoredTicksResumeAtTheirDeadlineAndRunOnlyOnce() { - Chunk chunk = new Chunk(null, 0, 0); - int[] calls = { 0 }; - TMultiPart part = new TMultiPart() { - - @Override - public String getType() { - return "test:restored-tick"; - } - - @Override - public void scheduledTick() { - calls[0]++; - } - }; - TileMultipart tile = new TileMultipart(); - tile.setPartList(Collections.singletonList(part)); - part.bind(tile); - chunk.chunkTileEntityMap.put(new ChunkPosition(0, 0, 0), tile); - - TickScheduler.ChunkTickScheduler original = new TickScheduler.ChunkTickScheduler( - chunk, - new TickScheduler.WorldTickScheduler(null)); - original.scheduleTick(part, 1, false); - NBTTagCompound data = new NBTTagCompound(); - original.saveData(data); - original.unload(); - - TickScheduler.WorldTickScheduler world = new TickScheduler.WorldTickScheduler(null); - TickScheduler.ChunkTickScheduler restored = new TickScheduler.ChunkTickScheduler(chunk, world); - restored.loadData(data); - world.preTick(); - world.postTick(); - assertEquals(0, calls[0]); - world.preTick(); - world.postTick(); - assertEquals(1, calls[0]); - world.preTick(); - world.postTick(); - assertEquals(1, calls[0]); - } -}