From 8a13b028099fc87d7625b01d515021ab87eb2222 Mon Sep 17 00:00:00 2001 From: Sollace Date: Sat, 28 Jan 2023 19:22:20 +0000 Subject: [PATCH] Delay scheduled tasks so they don't end up being excuted immediately. Might help prevent crashes like #95 --- .../java/com/minelittlepony/unicopia/AwaitTickQueue.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/AwaitTickQueue.java b/src/main/java/com/minelittlepony/unicopia/AwaitTickQueue.java index 82be7252..48bd676a 100644 --- a/src/main/java/com/minelittlepony/unicopia/AwaitTickQueue.java +++ b/src/main/java/com/minelittlepony/unicopia/AwaitTickQueue.java @@ -6,8 +6,8 @@ import java.util.function.Consumer; import net.minecraft.server.world.ServerWorld; import net.minecraft.world.World; -public class AwaitTickQueue { - public static void scheduleTask(World reference, Consumer task, int ticksLater) { +public interface AwaitTickQueue { + static void scheduleTask(World reference, Consumer task, int ticksLater) { if (reference instanceof ServerWorld serverWorld) { CompletableFuture.runAsync(() -> { task.accept(serverWorld); @@ -15,11 +15,11 @@ public class AwaitTickQueue { } } - public static void scheduleTask(World reference, Consumer task) { + static void scheduleTask(World reference, Consumer task) { if (reference instanceof ServerWorld serverWorld) { CompletableFuture.runAsync(() -> { task.accept(serverWorld); - }, serverWorld.getServer()); + }, CompletableFuture.delayedExecutor(1, TimeUnit.MILLISECONDS, serverWorld.getServer())); } } }