package com.crossge.necessities.Commands; import org.bukkit.GameMode; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import com.crossge.necessities.ArrayLists; public class CmdGameMode extends Cmd { ArrayLists arl = new ArrayLists(); public CmdGameMode() { } public boolean commandUse(CommandSender sender, String[] args) { if(args.length == 0) { return false; } if(args.length > 2) { return false; } if (sender instanceof Player) { Player target; if(args.length == 2) { target = sender.getServer().getPlayer(args[1]); } else { target = (Player) sender; } int value = -1; try { value = Integer.parseInt(args[0]); } catch (NumberFormatException ex) {} GameMode mode = GameMode.getByValue(value); if (mode == null) { if (args[0].equalsIgnoreCase("creative")) { mode = GameMode.CREATIVE; } else if (args[0].equalsIgnoreCase("adventure")) { mode = GameMode.ADVENTURE; } else { mode = GameMode.SURVIVAL; } } if (mode != target.getGameMode()) { target.setGameMode(mode); if (target == sender) { Command.broadcastCommandMessage(sender, arl.getCol() + "Set own game mode to " + capFirst(mode.toString()) + " mode"); } else { Command.broadcastCommandMessage(sender, arl.getCol() + "Set " + target.getName() + "'s game mode to " + capFirst(mode.toString()) + " mode"); } } return true; } else { if(args.length != 2) { return false; } Player target = sender.getServer().getPlayer(args[1]); int value = -1; try { value = Integer.parseInt(args[0]); } catch (NumberFormatException ex) {} GameMode mode = GameMode.getByValue(value); if (mode == null) { if (args[0].equalsIgnoreCase("creative")) { mode = GameMode.CREATIVE; } else if (args[0].equalsIgnoreCase("adventure")) { mode = GameMode.ADVENTURE; } else { mode = GameMode.SURVIVAL; } } if (mode != target.getGameMode()) { target.setGameMode(mode); Command.broadcastCommandMessage(sender, arl.getCol() + "Set " + target.getName() + "'s game mode to " + capFirst(mode.toString()) + " mode"); } return true; } } private String capFirst(String mode) { String temp = mode.substring(0, 1); mode = mode.toLowerCase(); mode = temp.toUpperCase() + mode.substring(1); return mode; } }