com.fastasyncworldedit.core.extent.processor.IBatchProcessorHolder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of FastAsyncWorldEdit-Core Show documentation
Show all versions of FastAsyncWorldEdit-Core Show documentation
Blazingly fast Minecraft world manipulation for artists, builders and everyone else.
package com.fastasyncworldedit.core.extent.processor;
import com.fastasyncworldedit.core.queue.IBatchProcessor;
import com.fastasyncworldedit.core.queue.IChunk;
import com.fastasyncworldedit.core.queue.IChunkGet;
import com.fastasyncworldedit.core.queue.IChunkSet;
import com.sk89q.worldedit.extent.Extent;
import java.util.concurrent.Future;
/**
* Holds a batch processor
* (Join and remove operations affect the held processor)
*/
public interface IBatchProcessorHolder extends IBatchProcessor {
IBatchProcessor getProcessor();
IBatchProcessor getPostProcessor();
/**
* Set the held processor
*/
void setProcessor(IBatchProcessor set);
void setPostProcessor(IBatchProcessor set);
@Override
default IChunkSet processSet(IChunk chunk, IChunkGet get, IChunkSet set) {
return getProcessor().processSet(chunk, get, set);
}
@Override
default Future postProcessSet(IChunk chunk, IChunkGet get, IChunkSet set) {
return getPostProcessor().postProcessSet(chunk, get, set);
}
@Override
default void postProcess(IChunk chunk, IChunkGet get, IChunkSet set) {
getPostProcessor().postProcess(chunk, get, set);
}
@Override
default boolean processGet(int chunkX, int chunkZ) {
return getProcessor().processGet(chunkX, chunkZ);
}
@Override
default Extent construct(Extent child) {
return getProcessor().construct(child);
}
@Override
default IBatchProcessor join(IBatchProcessor other) {
setProcessor(getProcessor().join(other));
return this;
}
@Override
default IBatchProcessor joinPost(IBatchProcessor other) {
setPostProcessor(getPostProcessor().joinPost(other));
return this;
}
@Override
default IBatchProcessor remove(Class clazz) {
setProcessor(getProcessor().remove(clazz));
return this;
}
}