Package com.bekvon.bukkit.residence.protection

Examples of com.bekvon.bukkit.residence.protection.FlagPermissions


                Player player = (Player) evt.getRemover();
                if (Residence.isResAdminOn(player)) {
                    return;
                }
                String pname = player.getName();
                FlagPermissions perms = Residence.getPermsByLocForPlayer(event.getEntity().getLocation(), player);
                String world = event.getEntity().getWorld().getName();
                if (!perms.playerHas(pname, world, "destroy", perms.playerHas(pname, world, "build", true))) {
                    event.setCancelled(true);
                    player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
                }
            }
        }
View Full Code Here


        }
    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onEntityCombust(EntityCombustEvent event) {
        FlagPermissions perms = Residence.getPermsByLoc(event.getEntity().getLocation());
        if (!perms.has("burn", true)) {
            event.setCancelled(true);
        }
    }
View Full Code Here

    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onExplosionPrime(ExplosionPrimeEvent event) {
        EntityType entity = event.getEntityType();
        FlagPermissions perms = Residence.getPermsByLoc(event.getEntity().getLocation());
        if (entity == EntityType.CREEPER) {
            if (!perms.has("creeper", perms.has("explode", true))) {
                event.setCancelled(true);
                event.getEntity().remove();
            }
        }
        if (entity == EntityType.PRIMED_TNT || entity == EntityType.MINECART_TNT) {
            if (!perms.has("tnt", perms.has("explode", true))) {
                event.setCancelled(true);
                event.getEntity().remove();
            }
        }
        if (entity == EntityType.FIREBALL) {
            if (!perms.has("fireball", perms.has("explode", true))) {
                event.setCancelled(true);
                event.getEntity().remove();
            }
        }
        if (entity == EntityType.SMALL_FIREBALL) {
            if (!perms.has("fireball", perms.has("explode", true))) {
                event.setCancelled(true);
                event.getEntity().remove();
            }
        }
        if (entity == EntityType.WITHER_SKULL) {
            if (!perms.has("witherdamage", perms.has("damage", true))) {
                event.setCancelled(true);
                event.getEntity().remove();
            }
        }
    }
View Full Code Here

    public void onEntityExplode(EntityExplodeEvent event) {
        if (event.isCancelled() || event.getEntity() == null)
            return;
        Boolean cancel = false;
        EntityType entity = event.getEntityType();
        FlagPermissions perms = Residence.getPermsByLoc(event.getEntity().getLocation());
        FlagPermissions world = Residence.getWorldFlags().getPerms(event.getEntity().getWorld().getName());
        if (entity == EntityType.CREEPER) {
            if (!perms.has("creeper", perms.has("explode", true))) {
                cancel = true;
            }
        }
        if (entity == EntityType.PRIMED_TNT || entity == EntityType.MINECART_TNT) {
            if (!perms.has("tnt", perms.has("explode", true))) {
                cancel = true;
            }
        }
        if (entity == EntityType.FIREBALL) {
            if (!perms.has("fireball", perms.has("explode", true))) {
                cancel = true;
            }
        }
        if (entity == EntityType.SMALL_FIREBALL) {
            if (!perms.has("fireball", perms.has("explode", true))) {
                cancel = true;
            }
        }
        if (entity == EntityType.WITHER_SKULL || entity == EntityType.WITHER) {
            if (!perms.has("wither", perms.has("explode", world.has("wither", world.has("explode", true))))) {
                cancel = true;
            }
        }
        if (cancel) {
            event.setCancelled(true);
            event.getEntity().remove();
        } else {
            List<Block> preserve = new ArrayList<Block>();
            for (Block block : event.blockList()) {
                FlagPermissions blockperms = Residence.getPermsByLoc(block.getLocation());
                if ((!blockperms.has("wither", blockperms.has("explode", world.has("wither", world.has("explode", true)))) && (entity == EntityType.WITHER || entity == EntityType.WITHER_SKULL) || (!blockperms.has("fireball", blockperms.has("explode", true)) && (entity == EntityType.FIREBALL || entity == EntityType.SMALL_FIREBALL)) || (!blockperms.has("tnt", blockperms.has("explode", true)) && (entity == EntityType.PRIMED_TNT || entity == EntityType.MINECART_TNT)) || (!blockperms.has("creeper", blockperms.has("explode", true)) && entity == EntityType.CREEPER))) {
                    if (block != null) {
                        preserve.add(block);
                    }
                }
            }
View Full Code Here

                    event.setCancelled(true);
                    return;
                }
            }
        }
        FlagPermissions perms = Residence.getPermsByLocForPlayer(event.getBlock().getLocation(), player);
        String pname = player.getName();
        if (res != null) {
            if (res.getItemIgnoreList().isListed(mat)) {
                return;
            }
        }
        boolean hasdestroy = perms.playerHas(pname, player.getWorld().getName(), "destroy", perms.playerHas(pname, player.getWorld().getName(), "build", true));
        boolean hasContainer = perms.playerHas(pname, player.getWorld().getName(), "container", true);
        if (!hasdestroy || (!hasContainer && mat == Material.CHEST)) {
            event.setCancelled(true);
            player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
            return;
        }
View Full Code Here

                player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("ItemBlacklisted"));
                event.setCancelled(true);
                return;
            }
        }
        FlagPermissions perms = Residence.getPermsByLocForPlayer(event.getBlock().getLocation(), player);
        boolean hasplace = perms.playerHas(pname, player.getWorld().getName(), "place", perms.playerHas(pname, player.getWorld().getName(), "build", true));
        if (!hasplace) {
            event.setCancelled(true);
            player.sendMessage(ChatColor.RED + Residence.getLanguage().getPhrase("NoPermission"));
            return;
        }
View Full Code Here

    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onBlockSpread(BlockSpreadEvent event) {
        Location loc = event.getBlock().getLocation();
        FlagPermissions perms = Residence.getPermsByLoc(loc);
        if (!perms.has("spread", true)) {
            event.setCancelled(true);
        }
    }
View Full Code Here

        }
    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onBlockPistonRetract(BlockPistonRetractEvent event) {
        FlagPermissions perms = Residence.getPermsByLoc(event.getBlock().getLocation());
        if (!perms.has("piston", true)){
            event.setCancelled(true);
          return;
      }
        if (event.isSticky()){
            Location location = event.getRetractLocation();
            FlagPermissions blockperms = Residence.getPermsByLoc(location);
            if (!blockperms.has("piston", true)) {
              event.setCancelled(true);
            }
        }
    }
View Full Code Here

        }
    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onBlockPistonExtend(BlockPistonExtendEvent event) {
        FlagPermissions perms = Residence.getPermsByLoc(event.getBlock().getLocation());
        if (!perms.has("piston", true)) {
            event.setCancelled(true);
        }
        for (Block block : event.getBlocks()) {
          FlagPermissions blockpermsfrom = Residence.getPermsByLoc(block.getLocation());
          Location blockto = block.getLocation();
          blockto.setX(blockto.getX()+event.getDirection().getModX());
          blockto.setY(blockto.getY()+event.getDirection().getModY());
          blockto.setZ(blockto.getZ()+event.getDirection().getModZ());
          FlagPermissions blockpermsto = Residence.getPermsByLoc(blockto);
            if (!blockpermsfrom.has("piston", true) || !blockpermsto.has("piston", true)) {
              event.setCancelled(true);
              return;
            }
        }
    }
View Full Code Here

        }
    }

    @EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
    public void onBlockFromTo(BlockFromToEvent event) {
        FlagPermissions perms = Residence.getPermsByLoc(event.getToBlock().getLocation());
        boolean hasflow = perms.has("flow", true);
        Material mat = event.getBlock().getType();
        if (!hasflow) {
            event.setCancelled(true);
            return;
        }
        if (mat == Material.LAVA || mat == Material.STATIONARY_LAVA) {
            if (!perms.has("lavaflow", hasflow)) {
            event.setCancelled(true);
          }
            return;
        }
        if (mat == Material.WATER || mat == Material.STATIONARY_WATER) {
          if (!perms.has("waterflow", hasflow)) {
            event.setCancelled(true);
          }
            return;
        }
    }
View Full Code Here

TOP

Related Classes of com.bekvon.bukkit.residence.protection.FlagPermissions

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.