Custom operations are now possible!

This commit is contained in:
YouHaveTrouble
2021-07-27 02:10:20 +02:00
parent 97da78d1ef
commit 8fb1a36a07
9 changed files with 128 additions and 127 deletions
@@ -0,0 +1,21 @@
package me.youhavetrouble.blockedit.api;
import me.youhavetrouble.blockedit.WorkSplitter;
import me.youhavetrouble.blockedit.util.ChunkWork;
import me.youhavetrouble.blockedit.util.Selection;
import java.util.HashSet;
public class BlockEditAPI {
/**
* @param selection The area that will be operated on
* @param chunksPerTick Amount of chunks per tick to modify
* @param operation Operation to execute
*/
public static void runOperation(Selection selection, int chunksPerTick, BlockEditOperation operation) {
HashSet<ChunkWork> work = WorkSplitter.getOperatedOnChunks(selection);
WorkSplitter.runOperation(work, selection, chunksPerTick, operation);
}
}
@@ -0,0 +1,13 @@
package me.youhavetrouble.blockedit.api;
import org.bukkit.block.Block;
public interface BlockEditOperation {
/**
* This function will run for every block in the selection it is executed on.
* @param block Current block.
*/
void transformBlock(Block block);
}