From a473f472354d201cc797abae9274280d60a91e09 Mon Sep 17 00:00:00 2001 From: Redecouverte Date: Sat, 26 Feb 2011 01:18:50 +0100 Subject: [PATCH] /tpregion now checks for flag rights --- permissions_list.txt | 1 + .../bukkit/commands/CommandTpRegion.java | 21 +++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/permissions_list.txt b/permissions_list.txt index cbb48264..c39cc302 100644 --- a/permissions_list.txt +++ b/permissions_list.txt @@ -51,6 +51,7 @@ worldguard.region.claim worldguard.tpregion worldguard.tpregion.spawn +worldguard.tpregion.override worldguard.buyregion diff --git a/src/com/sk89q/worldguard/bukkit/commands/CommandTpRegion.java b/src/com/sk89q/worldguard/bukkit/commands/CommandTpRegion.java index bfe12c95..2efa5c07 100644 --- a/src/com/sk89q/worldguard/bukkit/commands/CommandTpRegion.java +++ b/src/com/sk89q/worldguard/bukkit/commands/CommandTpRegion.java @@ -3,6 +3,8 @@ */ package com.sk89q.worldguard.bukkit.commands; +import com.sk89q.worldguard.LocalPlayer; +import com.sk89q.worldguard.bukkit.BukkitPlayer; import com.sk89q.worldguard.bukkit.WorldGuardConfiguration; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -39,6 +41,25 @@ public boolean handle(CommandSender sender, String senderName, String command, S RegionManager mgr = cfg.getWorldGuardPlugin().getGlobalRegionManager().getRegionManager(player.getWorld().getName()); ProtectedRegion region = mgr.getRegion(id); if (region != null) { + + String flagright = "all"; + if (spawn) { + flagright = region.getFlags().getFlag("spawn", "settings"); + } else { + flagright = region.getFlags().getFlag("teleport", "settings"); + } + + LocalPlayer lPlayer = BukkitPlayer.wrapPlayer(cfg, player); + if (flagright.equals("owner")) { + if (!region.isOwner(lPlayer)) { + cfg.checkPermission(player, "tpregion.override"); + } + } else if (flagright.equals("meber")) { + if (!region.isMember(lPlayer)) { + cfg.checkPermission(player, "tpregion.override"); + } + } + Location location = null; if (spawn) {