// restores nature in multiple chunks, as described by a claim instance // this restores all chunks which have ANY number of claim blocks from this claim in them // if the claim is still active (in the data store), then the claimed blocks will not be changed // (only the area bordering the claim) public void restoreClaim(Claim claim, long delayInTicks) { // admin claims aren't automatically cleaned up when deleted or abandoned if (claim.isAdminClaim()) return; // it's too expensive to do this for huge claims if (claim.getArea() > 10000) return; Chunk lesserChunk = claim.getLesserBoundaryCorner().getChunk(); Chunk greaterChunk = claim.getGreaterBoundaryCorner().getChunk(); for (int x = lesserChunk.getX(); x <= greaterChunk.getX(); x++) for (int z = lesserChunk.getZ(); z <= greaterChunk.getZ(); z++) { Chunk chunk = lesserChunk.getWorld().getChunkAt(x, z); this.restoreChunk( chunk, this.getSeaLevel(chunk.getWorld()) - 15, false, delayInTicks, null); } }