Interface IBatchProcessor

All Known Subinterfaces:
FlatRegion, IBatchProcessorHolder, IDelegateRegion, IQueueExtent<T>, Region
All Known Implementing Classes:
AbstractChangeSet, AbstractDelegateChangeSet, AbstractFlatRegion, AbstractRegion, BatchProcessorHolder, BlockBagChangeSet, BlockSet, ConvexPolyhedralRegion, CuboidRegion, CylinderRegion, DisallowedBlocksExtent, DiskStorageHistory, EllipsoidRegion, EmptyBatchProcessor, ExtentBatchProcessorHolder, FaweMask, FaweRegionExtent, FaweStreamChangeSet, FuzzyRegion, HeightBoundExtent, HeightmapProcessor, MaskingExtent, MemBlockSet, MemoryOptimizedHistory, MultiBatchProcessor, MultiRegionExtent, NullChangeSet, NullExtent, NullProcessor, NullRegion, Polygonal2DRegion, PolyhedralRegion, RegionIntersection, RegionWrapper, RelightProcessor, RequestSelection, ResizableClipboardBuilder, RollbackOptimizedHistory, SingleRegionExtent, SingleThreadQueueExtent, StripNBTExtent, TransformRegion

public interface IBatchProcessor
  • Method Details

    • processSet

      IChunkSet processSet(IChunk chunk, IChunkGet get, IChunkSet set)
      Process a chunk that has been set.
    • postProcessSet

      default Future<?> postProcessSet(IChunk chunk, IChunkGet get, IChunkSet set)
      Post-process a chunk that has been edited. Set should NOT be modified here, changes will NOT be flushed to the world, but MAY be flushed to history. Defaults to nothing as most Processors will not use it. Post-processors that are not technically blocking should override this method to allow post-processors to become blocking if required.
    • postProcess

      default void postProcess(IChunk chunk, IChunkGet get, IChunkSet set)
      Post-process a chunk that has been edited. Set should NOT be modified here, changes will NOT be flushed to the world, but MAY be flushed to history. Defaults to nothing as most Processors will not use it. If the post-processor will run tasks asynchronously/not be blocking, use postProcessSet(com.fastasyncworldedit.core.queue.IChunk, com.fastasyncworldedit.core.queue.IChunkGet, com.fastasyncworldedit.core.queue.IChunkSet) to return a Future.
      Since:
      2.1.0
    • processGet

      default boolean processGet(int chunkX, int chunkZ)
    • construct

      @Nullable Extent construct(Extent child)
      Convert this processor into an Extent based processor instead of a queue batch based on.
    • trimY

      default boolean trimY(IChunkSet set, int minY, int maxY, boolean keepInsideRange)
      Utility method to trim a chunk based on min and max Y (inclusive).
      Parameters:
      keepInsideRange - if all blocks inside the range (inclusive) should be kept (default)
      Returns:
      false if chunk is empty of blocks
    • trimNBT

      default boolean trimNBT(IChunkSet set, Function<BlockVector3,Boolean> contains)
      Utility method to trim entity and blocks with a provided contains function.
      Returns:
      false if chunk is empty of NBT
    • join

      default IBatchProcessor join(IBatchProcessor other)
      Join two processors and return the result.
    • joinPost

      default IBatchProcessor joinPost(IBatchProcessor other)
    • flush

      default void flush()
    • remove

      default <T extends IBatchProcessor> IBatchProcessor remove(Class<T> clazz)
      Return a new processor after removing all are instances of a specified class.
    • getScope

      default ProcessorScope getScope()
      Default to CUSTOM ProcessorScope as we want custom processors people add to be before we write history, but after FAWE does it's own stuff.