public void addClaim(Claim claim) { claimMap.put(claim.toString(), claim); com.sethcran.cityscape.Claim north = getClaimAt(claim.getX(), claim.getZ() + 1, claim.getWorld()); com.sethcran.cityscape.Claim east = getClaimAt(claim.getX() + 1, claim.getZ(), claim.getWorld()); com.sethcran.cityscape.Claim south = getClaimAt(claim.getX(), claim.getZ() - 1, claim.getWorld()); com.sethcran.cityscape.Claim west = getClaimAt(claim.getX() - 1, claim.getZ(), claim.getWorld()); if (north != null) { if (!north.getCityName().equals(claim.getCityName())) north = null; } if (east != null) { if (!east.getCityName().equals(claim.getCityName())) east = null; } if (south != null) { if (!south.getCityName().equals(claim.getCityName())) south = null; } if (west != null) { if (!west.getCityName().equals(claim.getCityName())) west = null; } getCity(claim.getCityName()).addClaim(claim, north, east, south, west); }
public void removeClaim(Claim claim) { claimMap.remove(claim.toString()); Chunk chunk = getServer().getWorld(claim.getWorld()).getChunkAt(claim.getX(), claim.getZ()); Block minBlock = chunk.getBlock(0, 0, 0); Block maxBlock = chunk.getBlock(15, 0, 15); int xmin = minBlock.getX(); int zmin = minBlock.getZ(); int xmax = maxBlock.getX(); int zmax = maxBlock.getZ(); City city = getCity(claim.getCityName()); ArrayList<Integer> idList = city.removeIntersectingPlots(xmin, zmin, xmax, zmax); for (int i : idList) { database.removePlot(i); } city.setUsedClaims(city.getUsedClaims() - 1); city.removeClaim(claim); }