*/
public static boolean validateEnvironment(ServerInterface server, WorldInterface world,
PlayerInterface player, Vector pt) {
ToggleArea area = new ToggleArea(server, world, pt, null);
SignText signText = area.signText;
String activeID = area.getSignActiveStateID();
String inactiveID = area.getSignInactiveStateID();
String signNS = area.getSignNamespace();
String playerNS = CraftBookUtil.trimLength(player.getName(), 15);
boolean noInactiveCopy = inactiveID.equals("-");
if (!CopyManager.isValidName(activeID)) {
player.printError("An invalid area name was indicated.");
return false;
}
if (inactiveID.length() > 0 && !noInactiveCopy
&& !CopyManager.isValidName(inactiveID)) {
player.printError("An invalid off state area name was indicated.");
return false;
}
// Coerce the namespace to the player's name
if (signNS.equals("") || signNS.equalsIgnoreCase(playerNS)) {
signText.setLine3(playerNS);
} else if (signNS.equals("@")) {
if (!player.canCreateObject("savensarea")) {
player.printError("You are unable to make toggles for global areas.");
return false;
}
} else {
if (!player.canCreateObject("savensarea")) {
player.printError("You are unable to make toggles for global areas.");
return false;
}
}
if (area.isNewArea) {
signText.setLine2("[Area]");
} else {
signText.setLine2("[Toggle]");
}
player.print("Area toggle created!");
return true;