package com.zerohighdef.geoffrey.Commands; import com.google.gson.JsonElement; import com.zerohighdef.geoffrey.GeoffreyMC; import com.zerohighdef.geoffrey.Objects.GeoffreyAPICallback; import com.zerohighdef.geoffrey.Objects.GeoffreyCommand; import com.zerohighdef.geoffrey.Objects.GeoffreyCommandError; import org.apache.commons.lang3.StringUtils; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.Arrays; import java.util.HashMap; import java.util.Map; public class RemoveResidentCommand extends GeoffreyCommand { public RemoveResidentCommand(GeoffreyMC plugin) { super(plugin); } @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { if ((sender instanceof Player)) { Map params = new HashMap(); if (args.length > 1) { String name[] = Arrays.copyOfRange(args, 1, args.length); params.put("town_name", StringUtils.join(name, " ")); Player player = ((Player) sender).getPlayer(); params.put("mc_uuid", player.getUniqueId().toString().replace("-", "")); params.put("resident_name", args[0]); RunCommand("remove_resident", params, Method.POST , new CommandCallback(sender, args[0])); } else if (args.length < 2) { sender.sendMessage(ChatColor.RED + "Too few parameters given."); return false; } } else { sender.sendMessage(ChatColor.RED + "Console cannot remove residents!"); } return true; } private class CommandCallback extends GeoffreyAPICallback { private String residentName; CommandCallback(CommandSender sender, String residentName) { super(sender); errors.put("ResidentNotFoundError", "Ain't no one in this darn town named" + residentName + "you goob"); errors.put("LocationLookUpError", "You do not have a town by that name you ding dong goober."); this.residentName = residentName; } @Override public void invoke(String s) { try { JsonElement json = parseJSON(s); String msg = ChatColor.GREEN + residentName + " has been removed from your town."; commandSender.sendMessage(msg); } catch (GeoffreyCommandError e) { return; } } } }