diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldScheduler.java b/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldScheduler.java index 97b1107..5439645 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldScheduler.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/world/WorldScheduler.java @@ -51,6 +51,7 @@ public class WorldScheduler { thread.setName("customcrops-world-scheduler"); return thread; }); + this.scheduler.setMaximumPoolSize(1); this.scheduler.setRemoveOnCancelPolicy(true); this.scheduler.setExecuteExistingDelayedTasksAfterShutdownPolicy(false); this.worker = new ForkJoinPool(PARALLELISM, new WorkerThreadFactory(), new ExceptionHandler(), false); diff --git a/api/src/main/java/net/momirealms/customcrops/api/core/world/adaptor/AbstractWorldAdaptor.java b/api/src/main/java/net/momirealms/customcrops/api/core/world/adaptor/AbstractWorldAdaptor.java index e14d250..917594b 100644 --- a/api/src/main/java/net/momirealms/customcrops/api/core/world/adaptor/AbstractWorldAdaptor.java +++ b/api/src/main/java/net/momirealms/customcrops/api/core/world/adaptor/AbstractWorldAdaptor.java @@ -128,6 +128,7 @@ public abstract class AbstractWorldAdaptor implements WorldAdaptor { } private int[] queueToIntArray(PriorityQueue queue) { + queue.removeIf(Objects::isNull); int size = queue.size() * 2; int[] tasks = new int[size]; int i = 0;