@EventHandler(priority=EventPriority.HIGH, ignoreCancelled=true)
    public void onPlace(BlockPlaceEvent event)
    {
        if(!event.getBlock().getWorld().getName().equals(p.getWorld())) return;
        Player player = event.getPlayer();
        Location loc = event.getBlock().getLocation();
        Chunk c = loc.getChunk();
        String chunk = c.getX()+","+c.getZ();
        if(p.getChunkManager().canBuild(player, chunk))
        {
            int localX = loc.getBlockX() - (16*c.getX());
            int localZ = loc.getBlockZ() - (16*c.getZ());
            if(((localX > (p.getOffset()-1) && localX < 16-p.getOffset()) && (localZ > (p.getOffset()-1) && localZ < 16-p.getOffset())) || player.hasPermission("plots.override"))
            {
                // Only do not cancel in this state
                // Other cases are always cancelled
                return;
            }
        }
        player.sendMessage(RED+"You cannot build here");
        event.setBuild(false);
        event.setCancelled(true);
    }