package zmaster587.advancedRocketry.api.atmosphere;
import net.minecraft.block.Block;
import net.minecraft.world.World;
/** Interface used to talk to the internal seal handler for advanced rocketry.
*
* Keep in mind most blocks are already check for seal vs not seal. So you
* only need to register blocks that do not fit the logic correctly. For
* example 3D machines that are a full block. However, are not sealed
* for any number of reasons including their shape.
*
* Created by Dark(DarkGuardsman, Robert) on 1/6/2016.
*/
public interface IAtmosphereSealHandler
{
/**
* Checks if a block can be used to seal a room for the blob
*
* @param world - world
* @return true if it can be used to seal the blob
*/
boolean isBlockSealed(World world, int x, int y, int z);
/**
* Simplified way to ban an entire block set, including all metadata.
*
* @param block - block to ban, will remove off of allow list if present.
*/
void addUnsealableBlock(Block block);
/**
* Simplified way to allow a non-solid block from being used as a seal.
*
* @param block - block to allow, will remove off of disable list if present.
*/
void addSealableBlock(Block block);
}