| package ic2.api.tile; |
| |
| import java.util.*; |
| |
| import net.minecraft.block.Block; |
| |
| /** |
| * Blocks on this whitelist will not resist an explosion but won't be destroyed. |
| * |
| * The explosion code by default ignores blocks which absorb more than 1000 explosion power to |
| * prevent abusing personal safes, Trade-O-Mats and other blocks to serve as a cheap and |
| * invulnerable reactor chambers. Said blocks will not shield the explosion and won't get |
| * destroyed. |
| */ |
| public final class ExplosionWhitelist { |
| /** |
| * Add a block to the whitelist. |
| * |
| * @param block block to add |
| */ |
| public static void addWhitelistedBlock(Block block) { |
| whitelist.add(block); |
| } |
| |
| /** |
| * Remove a block from the whitelist. |
| * |
| * @param block block to remove |
| */ |
| public static void removeWhitelistedBlock(Block block) { |
| whitelist.remove(block); |
| } |
| |
| /** |
| * Check if a block is on the whitelist. |
| * |
| * @param block block to check if whitelisted |
| * @return Whether the block is whitelisted |
| */ |
| public static boolean isBlockWhitelisted(Block block) { |
| return whitelist.contains(block); |
| } |
| |
| private static Set<Block> whitelist = new HashSet<Block>(); |
| } |
| |