package tc.oc.pgm.structure;
import org.bukkit.World;
import org.bukkit.region.BlockRegion;
import org.bukkit.util.Vector;
import tc.oc.pgm.features.Feature;
/**
* Created from a {@link StructureDefinition} for a specific {@link org.bukkit.World}.
*/
public interface Structure extends Feature<StructureDefinition> {
/**
* Return a {@link BlockRegion} containing only the blocks
* that were copied from the {@link org.bukkit.World} for this
* structure when it was loaded.
*
* This may be a subset of the {@link tc.oc.pgm.regions.Region}
* from the structure's {@link StructureDefinition}.
*/
BlockRegion dynamicBlocks();
/**
* Place this structure in its origin world, offset by the given delta.
*/
void place(World world, Vector offset);
}