Multiverse-Core/src/main/java/com/onarandombox/MultiverseCore/commandsold/EnvironmentCommand.java

119 lines
4.5 KiB
Java
Raw Normal View History

/******************************************************************************
* Multiverse 2 Copyright (c) the Multiverse Team 2011. *
* Multiverse 2 is licensed under the BSD License. *
* For more information please check the README.md file included *
* with this project. *
******************************************************************************/
package com.onarandombox.MultiverseCore.commandsold;
2011-06-02 21:38:41 +02:00
2011-09-17 17:59:38 +02:00
import com.onarandombox.MultiverseCore.MultiverseCore;
2011-06-02 21:38:41 +02:00
import org.bukkit.ChatColor;
import org.bukkit.World;
import org.bukkit.WorldType;
2011-06-02 21:38:41 +02:00
import org.bukkit.command.CommandSender;
import org.bukkit.permissions.PermissionDefault;
2011-06-02 21:38:41 +02:00
2011-09-17 17:59:38 +02:00
import java.util.List;
2011-06-02 21:38:41 +02:00
/**
* Lists valid known environments.
*/
2011-07-17 17:12:12 +02:00
public class EnvironmentCommand extends MultiverseCommand {
2011-07-09 16:33:18 +02:00
2011-06-02 21:38:41 +02:00
public EnvironmentCommand(MultiverseCore plugin) {
super(plugin);
this.setName("List Environments");
2011-07-30 08:53:55 +02:00
this.setCommandUsage("/mv env");
this.setArgRange(0, 0);
this.addKey("mvenv");
this.addKey("mv env");
this.addKey("mv type");
2011-08-01 01:29:14 +02:00
this.addKey("mv environment");
this.addKey("mv environments");
this.addCommandExample("/mv env");
this.setPermission("multiverse.core.list.environments", "Lists valid known environments/world types.", PermissionDefault.OP);
2011-06-02 21:38:41 +02:00
}
/**
* Shows all valid known environments to a {@link CommandSender}.
*
* @param sender The {@link CommandSender}.
*/
public static void showEnvironments(CommandSender sender) {
2011-06-02 21:38:41 +02:00
sender.sendMessage(ChatColor.YELLOW + "Valid Environments are:");
sender.sendMessage(ChatColor.GREEN + "NORMAL");
sender.sendMessage(ChatColor.RED + "NETHER");
2011-11-22 05:07:20 +01:00
sender.sendMessage(ChatColor.AQUA + "END");
2011-06-02 21:38:41 +02:00
}
/**
* Shows all valid known world types to a {@link CommandSender}.
*
* @param sender The {@link CommandSender}.
*/
public static void showWorldTypes(CommandSender sender) {
sender.sendMessage(ChatColor.YELLOW + "Valid World Types are:");
2012-08-05 21:40:58 +02:00
sender.sendMessage(String.format("%sNORMAL%s, %sFLAT, %sLARGEBIOMES %sor %sVERSION_1_1",
ChatColor.GREEN, ChatColor.WHITE, ChatColor.AQUA, ChatColor.RED, ChatColor.WHITE, ChatColor.GOLD));
}
2011-07-10 03:59:06 +02:00
@Override
public void runCommand(CommandSender sender, List<String> args) {
EnvironmentCommand.showEnvironments(sender);
EnvironmentCommand.showWorldTypes(sender);
}
/**
* Converts a {@link String} into a {@link WorldType}.
*
* @param type The WorldType as a {@link String}
* @return The WorldType as a {@link WorldType}
*/
public static WorldType getWorldTypeFromString(String type) {
// Don't reference the enum directly as there aren't that many, and we can be more forgiving to users this way
if (type.equalsIgnoreCase("normal")) {
type = "NORMAL";
} else if (type.equalsIgnoreCase("flat")) {
type = "FLAT";
} else if (type.equalsIgnoreCase("largebiomes")) {
2012-08-05 21:40:58 +02:00
type = "LARGE_BIOMES";
} else if (type.equalsIgnoreCase("amplified")) {
type = "AMPLIFIED";
2012-08-05 21:40:58 +02:00
}
try {
// Now that we've converted a potentially unfriendly value
// to a friendly one, get it from the ENUM!
return WorldType.valueOf(type);
} catch (IllegalArgumentException e) {
return null;
}
}
/**
* Converts a {@link String} into an {@link org.bukkit.World.Environment}.
*
* @param env The environment as {@link String}
* @return The environment as {@link org.bukkit.World.Environment}
*/
public static World.Environment getEnvFromString(String env) {
env = env.toUpperCase();
// Don't reference the enum directly as there aren't that many, and we can be more forgiving to users this way
if (env.equalsIgnoreCase("HELL") || env.equalsIgnoreCase("NETHER"))
env = "NETHER";
if (env.equalsIgnoreCase("END") || env.equalsIgnoreCase("THEEND") || env.equalsIgnoreCase("STARWARS"))
env = "THE_END";
if (env.equalsIgnoreCase("NORMAL") || env.equalsIgnoreCase("WORLD"))
env = "NORMAL";
try {
// Now that we've converted a potentially unfriendly value
// to a friendly one, get it from the ENUM!
return World.Environment.valueOf(env);
} catch (IllegalArgumentException e) {
return null;
}
2011-07-10 03:59:06 +02:00
}
2011-06-02 21:38:41 +02:00
}