package eu.univento.core.commands; import eu.univento.core.Core; import eu.univento.core.api.AutoCommand; import eu.univento.core.api.languages.Messages; import eu.univento.core.api.player.CustomPlayer; import eu.univento.core.api.player.Perms.Ranks; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.ArrayList; import java.util.List; /** * changes game modes * @author joethei * @version 1.0 */ public class GameMode extends AutoCommand{ /** * @param plugin main class * @param command command to execute * @param description describes the command * @param aliases aliases of command */ public GameMode(Core plugin, String command, String description, String[] aliases) { super(plugin, command, description, aliases); } @Override public boolean execute(CommandSender sender, String label, String[] args) { if(sender instanceof Player) { CustomPlayer p = CustomPlayer.getPlayer(sender.getName()); Messages msgs = new Messages(p); if(p.isAllowed(Ranks.Builder)) { if(args.length == 1) { String mode = args[0]; p.setGameMode(getModeFromString(mode)); p.sendMessage(msgs.Core_GM_CHANGED()); }if(args.length == 0){ p.sendMessage(msgs.Core_GM_USAGE()); } }else { p.sendMessage(msgs.NO_PERMS()); } }else { sender.sendMessage(Messages.Console.NOT_A_PLAYER); } return true; } @Override public List tabComplete(CommandSender sender, String label, String[] args) { List list = new ArrayList<>(); list.add("0"); list.add("1"); list.add("2"); list.add("3"); list.add("Survival"); list.add("Creative"); list.add("Adventure"); list.add("Spectator"); return list; } /** * @param string Mode * @return GameMode */ private org.bukkit.GameMode getModeFromString(String string) { switch(string) { case "0" : return org.bukkit.GameMode.SURVIVAL; case "1" : return org.bukkit.GameMode.CREATIVE; case "2": return org.bukkit.GameMode.ADVENTURE; case "3" : return org.bukkit.GameMode.SPECTATOR; case "Survial" : return org.bukkit.GameMode.SURVIVAL; case "Creative" : return org.bukkit.GameMode.CREATIVE; case "Adventure" : return org.bukkit.GameMode.ADVENTURE; case "Spectator" : return org.bukkit.GameMode.SPECTATOR; default: return org.bukkit.GameMode.SPECTATOR; } } }