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