@@ -0,0 +1,861 @@
+package wdl.range;%0D%0A%0D%0A/**%0D%0A * %7B@link IProtectionRange%7D over a range of blocks.%0D%0A */%0D%0Apublic class BlockProtectionRange implements IProtectionRange %7B%0D%0A%09public BlockProtectionRange(int chunkX1, int chunkY1, int chunkX2,%0D%0A%09%09%09int chunkY2, boolean isWhitelist) %7B%0D%0A%09%09this.blockX1 = chunkX1;%0D%0A%09%09this.blockY1 = chunkY1;%0D%0A%09%09this.blockX2 = chunkX2;%0D%0A%09%09this.blockY2 = chunkY2;%0D%0A%09%09this.isWhitelist = isWhitelist;%0D%0A%09%7D%0D%0A%0D%0A%09private final int blockX1, blockY1, blockX2, blockY2;%0D%0A%09private final boolean isWhitelist;%0D%0A%09%0D%0A%09@Override%0D%0A%09public int getChunkX1() %7B%0D%0A%09%09return blockX1 / 16;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getChunkY1() %7B%0D%0A%09%09return blockY1 / 16;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getChunkX2() %7B%0D%0A%09%09return blockX2 / 16;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public int getChunkY2() %7B%0D%0A%09%09return blockY2 / 16;%0D%0A%09%7D%0D%0A%0D%0A%09@Override%0D%0A%09public boolean isWhitelist() %7B%0D%0A%09%09return isWhitelist;%0D%0A%09%7D%0D%0A%0D%0A%7D%0D%0A

Create BlockProtectionRange.java.