diff --git a/pom.xml b/pom.xml index 47f8213..6d6ffad 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ Modern WorldEdit alternative - 16 + 21 UTF-8 1.0-SNAPSHOT @@ -77,7 +77,7 @@ io.papermc.paper paper-api - 1.19.4-R0.1-SNAPSHOT + 1.20.6-R0.1-SNAPSHOT provided diff --git a/src/main/java/me/youhavetrouble/blockedit/api/WorkSplitter.java b/src/main/java/me/youhavetrouble/blockedit/api/WorkSplitter.java index 7c91582..4fa961b 100644 --- a/src/main/java/me/youhavetrouble/blockedit/api/WorkSplitter.java +++ b/src/main/java/me/youhavetrouble/blockedit/api/WorkSplitter.java @@ -32,17 +32,22 @@ public class WorkSplitter { protected static void runOperation(HashSet chunkWorks, Selection selection, int chunksPerTick, BlockEditOperation operation) { if (selection == null) return; Selection sel = new Selection(selection.clone().expand(0.1), selection.getWorldUuid()); - List chunkWork = new ArrayList<>(chunkWorks); - AtomicInteger element = new AtomicInteger(chunkWork.size()-1); - Bukkit.getScheduler().runTaskTimer(BlockEdit.getPlugin(), (task) -> { + List chunkWorkList = new ArrayList<>(chunkWorks); + AtomicInteger element = new AtomicInteger(chunkWorkList.size()-1); + Bukkit.getGlobalRegionScheduler().runAtFixedRate(BlockEdit.getPlugin(), (task -> { if (element.get() < 0) { task.cancel(); return; } for (int i = 0; i< chunksPerTick; i++) { - processChunkWork(chunkWork.get(element.getAndDecrement()), sel, operation); + int chunkWorkIndex = element.getAndDecrement(); + ChunkWork chunkWork = chunkWorkList.get(chunkWorkIndex); + Bukkit.getRegionScheduler().execute(BlockEdit.getPlugin(), selection.getWorld(), chunkWork.getX(), chunkWork.getZ(), () -> { + processChunkWork(chunkWork, sel, operation); + }); } - }, 0, 1); + }), 0, 1); + } private static void processChunkWork(ChunkWork chunkWork, Selection selection, BlockEditOperation operation) { diff --git a/src/main/resources/paper-plugin.yml b/src/main/resources/paper-plugin.yml index 51e2a59..35f68b7 100644 --- a/src/main/resources/paper-plugin.yml +++ b/src/main/resources/paper-plugin.yml @@ -1,7 +1,8 @@ name: BlockEdit version: ${project.version} main: me.youhavetrouble.blockedit.BlockEdit -api-version: 1.19 +api-version: "1.20" authors: [ YouHaveTrouble ] description: Modern WorldEdit alternative website: https://youhavetrouble.me +folia-supported: true