fixed spawn/teleport flags

This commit is contained in:
Redecouverte 2011-02-26 12:49:14 +01:00
parent 0669bab563
commit a02fe633e2
7 changed files with 32 additions and 17 deletions

View File

@ -24,7 +24,25 @@ commands:
region:
description: Adjust protected regions
usage: /<command> <define|claim|setparent|flag|delete|info|addowner|removeowner|addmember|removemember|list|save|load|priority> ...
aliases: rg, regions, rd, rc, rsp, rf, rdel, ri, rao, rro, rl, rp
aliases: [rg, regions]
rd:
description: Alias for /region define
usage: same as /region define
rc:
description: Alias for /region claim
usage: same as /region claim
rf:
description: Alias for /region flag
usage: same as /region flag
ri:
description: Alias for /region info
usage: same as /region info
rlist:
description: Alias for /region list
usage: same as /region list
rp:
description: Alias for /region priority
usage: same as /region priority
locate:
description: Set your compass towards a person
usage: /<command> <target>

View File

@ -258,7 +258,7 @@ public void onPlayerRespawn(PlayerRespawnEvent event) {
Location spawn = regions.getLocationAreaFlag("spawn", player.getServer(), true, null);
if (spawn != null) {
String spawnconfig = regions.getAreaFlag("spawn", "settings", true, null);
String spawnconfig = regions.getAreaFlag("spawn", "allow", true, null);
if (spawnconfig != null) {
BukkitPlayer localPlayer = BukkitPlayer.wrapPlayer(cfg, player);
if (spawnconfig.equals("owner")) {

View File

@ -55,7 +55,7 @@ public CommandHandler(WorldGuardPlugin wg)
this.commandMap.put("rc", regionHandler);
this.commandMap.put("rf", regionHandler);
this.commandMap.put("ri", regionHandler);
this.commandMap.put("rl", regionHandler);
this.commandMap.put("rlist", regionHandler);
this.commandMap.put("rp", regionHandler);
this.commandMap.put("reloadwg", new CommandReloadWG());
this.commandMap.put("slay", new CommandSlay());
@ -72,7 +72,6 @@ public CommandHandler(WorldGuardPlugin wg)
public boolean handleCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) {
try {
String cmdName = cmd.getName().toLowerCase();
WgCommand wgcmd = commandMap.get(cmdName);
if (wgcmd == null) {

View File

@ -27,6 +27,8 @@
import com.sk89q.worldguard.protection.regionmanager.RegionManager;
import com.sk89q.worldguard.protection.regions.AreaFlags;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@ -75,6 +77,8 @@ public boolean handle(CommandSender sender, String senderName, String command, S
sender.sendMessage(ChatColor.BLUE + "Priority: " + region.getPriority());
StringBuilder s = new StringBuilder();
List<String> displayLocations = new ArrayList<String>();
for (FlagInfo nfo : FlagInfo.getFlagInfoList()) {
if (s.length() > 0) {
s.append(", ");
@ -86,13 +90,14 @@ public boolean handle(CommandSender sender, String senderName, String command, S
}
String value;
if (nfo.type == FlagValueType.LOCATION) {
if (nfo.type == FlagValueType.LOCATION && !displayLocations.contains(nfo.flagName)) {
value = flags.getFlag(nfo.flagName, "x");
if (value != null) {
s.append(fullName + ": set");
} else {
s.append(fullName + ": -");
}
displayLocations.add(nfo.flagName);
} else if ((nfo.subName != null && nfo.subName.equals("*"))) {
StringBuilder ret = new StringBuilder();
for (Map.Entry<String, String> entry : flags.getFlagData(nfo.flagName).entrySet()) {

View File

@ -44,9 +44,9 @@ public boolean handle(CommandSender sender, String senderName, String command, S
String flagright = "all";
if (spawn) {
flagright = region.getFlags().getFlag("spawn", "settings");
flagright = region.getFlags().getFlag("spawn", "allow");
} else {
flagright = region.getFlags().getFlag("teleport", "settings");
flagright = region.getFlags().getFlag("teleport", "allow");
}
LocalPlayer lPlayer = BukkitPlayer.wrapPlayer(cfg, player);

View File

@ -61,11 +61,9 @@ public static enum FlagValueType { STRING, BOOLEAN, INT, FLOAT, DOUBLE, STATE, L
flagList.add(new FlagInfo("spawn", "set", FlagValueType.LOCATION, "spawn", ""));
flagList.add(new FlagInfo("spawn", "delete", FlagValueType.LOCATION, "spawn", ""));
flagList.add(new FlagInfo("spawn", "allow", FlagValueType.STRING, "spawn", "allow"));
flagList.add(new FlagInfo("spawn", "deny", FlagValueType.STRING, "spawn", "deny"));
flagList.add(new FlagInfo("teleport", "set", FlagValueType.LOCATION, "teleport", ""));
flagList.add(new FlagInfo("teleport", "delete", FlagValueType.LOCATION, "teleport", ""));
flagList.add(new FlagInfo("teleport", "allow", FlagValueType.STRING, "teleport", "allow"));
flagList.add(new FlagInfo("teleport", "deny", FlagValueType.STRING, "teleport", "deny"));
}
public static FlagInfo getFlagInfo(String name, String subName) {

View File

@ -67,7 +67,7 @@ public RegionCommandHandler() {
this.aliasMap.put("rc", "claim");
this.aliasMap.put("rf", "flag");
this.aliasMap.put("ri", "info");
this.aliasMap.put("rl", "list");
this.aliasMap.put("rlist", "list");
this.aliasMap.put("rp", "priority");
}
@ -104,6 +104,8 @@ public boolean handle(CommandSender sender, String senderName, String command, S
}
}
System.out.println(subCommand);
Server server = cfg.getWorldGuardPlugin().getServer();
if (server.getWorld(worldName) == null) {
sender.sendMessage("Invalid world specified.");
@ -135,11 +137,4 @@ public boolean handle(CommandSender sender, String senderName, String command, S
return true;
}
private String getCommandFromAlias(String alias) {
if (alias.equals("rf")) {
return "flag";
}
return "";
}
}