Development Error, No Message Given

Discussion in 'Plugin Development' started by haydenaa, Jan 6, 2015.

Thread Status:
Not open for further replies.
  1. Offline

    haydenaa

    Hello. I am creating a plugin similar to Factions. Everything is going great, the code gives no errors at all. The problem is that when I go in game and type in the command, it doesn't do anything whatsoever. There is no stack trace to it, nothing. If you know the issue with this, i'd be glad to know. Thanks.

    Code:
    Code:
    package com.guildlaunch.platinumverse.republics;
    
    
    
    import java.util.HashMap;
    
    import java.util.List;
    
    
    
    import org.bukkit.Bukkit;
    
    import org.bukkit.ChatColor;
    
    import org.bukkit.Location;
    
    import org.bukkit.command.Command;
    
    import org.bukkit.command.CommandSender;
    
    import org.bukkit.entity.Player;
    
    import org.bukkit.event.EventHandler;
    
    import org.bukkit.event.Listener;
    
    import org.bukkit.event.player.AsyncPlayerChatEvent;
    
    import org.bukkit.plugin.java.JavaPlugin;
    
    
    
    public class Main extends JavaPlugin implements Listener {
    
    
    //LISTENERS
    
    @EventHandler
    
    public void onChat(AsyncPlayerChatEvent e) {
    
    Player player = e.getPlayer();
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("member")) {
    
    e.setFormat(ChatColor.GREEN + "~" + getRepublic(player.getName()) + " " + e.getFormat());
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod")) {
    
    e.setFormat(ChatColor.GOLD + "~" + getRepublic(player.getName()) + " " + e.getFormat());
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("admin")) {
    
    e.setFormat(ChatColor.AQUA + "~" + getRepublic(player.getName()) + " " + e.getFormat());
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("cofounder")) {
    
    e.setFormat(ChatColor.RED + "~" + getRepublic(player.getName()) + " " + e.getFormat());
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    e.setFormat(ChatColor.DARK_RED + "~" + getRepublic(player.getName()) + " " + e.getFormat());
    
    }else{
    
    return;
    
    }
    
    }
    
    
    
    //REPUBLIC
    
    //Faction Name, Description
    
    private HashMap<String, String[]> republics1 = new HashMap<String, String[]>();
    
    //Faction Name, Founder Name
    
    private HashMap<String, String> republics2 = new HashMap<String, String>();
    
    //Faction Name, Type
    
    private HashMap<String, String> republics3 = new HashMap<String, String>();
    
    //Faction Name, Home
    
    private HashMap<String, Location> republics4 = new HashMap<String, Location>();
    
    //Requestee, Faction Name
    
    private HashMap<String, String> republics5 = new HashMap<String, String>();
    
    
    public void addRepublic(String republicName, String founder, String[] description, String type) {
    
    if(!republics1.containsKey(republicName) && !republics2.containsKey(republicName)) {
    
    republics1.put(republicName, description);
    
    republics2.put(republicName, founder);
    
    republics3.put(republicName, type);
    
    getConfig().set("republics", republicName);
    
    getConfig().set("republics." + republicName + ".description", description);
    
    getConfig().set("republics." + republicName + ".founder", founder);
    
    getConfig().set("republics." + republicName + ".type", type);
    
    Bukkit.getServer().broadcastMessage(ChatColor.GREEN + "A new republic has been founded: " + republicName);
    
    }
    
    }
    
    
    public void removeRepublic(String republicName) {
    
    if(republics1.containsKey(republicName) && republics2.containsKey(republicName)) {
    
    republics1.remove(republicName);
    
    republics2.remove(republicName);
    
    republics3.remove(republicName);
    
    republics4.remove(republicName);
    
    getConfig().set(republicName, null);
    
    Bukkit.getServer().broadcastMessage(ChatColor.RED + republicName + " has been destroyed.");
    
    }
    
    }
    
    
    public boolean isRepublic(String republicName) {
    
    return republics1.containsKey(republicName);
    
    }
    
    
    
    public void setDescription(String republicName, String[] description) {
    
    if(republics1.containsKey(republicName) && republics2.containsKey(republicName)) {
    
    republics1.remove(republicName);
    
    republics1.put(republicName, description);
    
    getConfig().set("republics." + republicName + ".description", description);
    
    Bukkit.getServer().broadcastMessage(ChatColor.GREEN + republicName + " has changed their description to: " + description);
    
    }
    
    }
    
    
    public String[] getDescription(String republicName) {
    
    if(republics1.containsKey(republicName)) {
    
    return republics1.get(republicName);
    
    }else
    
    returnnull;
    
    }
    
    
    public String getType(String republicName) {
    
    if(republics3.containsKey(republicName)) {
    
    return republics3.get(republicName);
    
    }else
    
    returnnull;
    
    }
    
    
    public void setType(String republicName, String type) {
    
    if(republics3.containsKey(republicName)) {
    
    republics3.remove(republicName);
    
    republics3.put(republicName, type);
    
    getConfig().set("republics." + republicName + ".type", type);
    
    Bukkit.getServer().broadcastMessage(ChatColor.GREEN + republicName + " has changed their type to: " + type);
    
    }
    
    }
    
    
    public Location getHome(String republicName) {
    
    return republics4.get(republicName);
    
    }
    
    
    public boolean hasHome(String republicName) {
    
    return republics4.containsKey(republicName);
    
    }
    
    
    
    public void setHome(String republicName, Location location) {
    
    if(republics4.containsKey(republicName)) {
    
    republics4.remove(republicName);
    
    republics4.put(republicName, location);
    
    getConfig().set("republics." + republicName + ".home.world", location.getWorld());
    
    getConfig().set("republics." + republicName + ".home.x", location.getX());
    
    getConfig().set("republics." + republicName + ".home.y", location.getY());
    
    getConfig().set("republics." + republicName + ".home.z", location.getZ());
    
    }
    
    }
    
    
    public void addRequestee(String republicName, String player) {
    
    getConfig().set("republics." + republicName + ".requested", player);
    
    republics5.put(player, republicName);
    
    }
    
    
    //Note: Add the player to the republic before executing this method or else it will return an NPE
    
    public void removeRequestee(String player) {
    
    getConfig().set("republics." + getRepublic(player) + ".requested." + player, null);
    
    republics5.remove(player);
    
    }
    
    
    public String getRepublicWhichIsRequested(String player) {
    
    return republics5.get(player);
    
    }
    
    
    public boolean isRequestee(String player) {
    
    return republics5.containsKey(player);
    
    }
    
    
    
    //RANKS
    
    //Player, Republic Name -- To get which Republic a player is in
    
    public HashMap<String, String> ranks1 = new HashMap<String, String>();
    
    //Player, Rank -- To get a player's rank in a Republic
    
    public HashMap<String, String> ranks2 = new HashMap<String, String>();
    
    
    public boolean inRepublic(String player) {
    
    return ranks1.containsKey(player);
    
    }
    
    
    public String getRepublic(String player) {
    
    return ranks1.get(player);
    
    }
    
    
    
    @SuppressWarnings("unchecked")
    
    public void addToRepublic(String player, String republicName) {
    
    ranks1.put(player, republicName);
    
    ranks2.put(player, "member");
    
    List<String> members = (List<String>) getConfig().getList("republics." + republicName + ".members");
    
    members.add(player);
    
    getConfig().set(getConfig().getString("republics." + republicName + ".members." + player), "member");
    
    }
    
    
    public String getPlayerRank(String player) {
    
    return ranks2.get(player);
    
    }
    
    
    public void setPlayerRank(String player, String rank) {
    
    ranks2.put(player, rank);
    
    getConfig().set(getConfig().getString("republics." + getRepublic(player) + ".members." + player), rank);
    
    }
    
    
    public void removeFromRepublic(String player) {
    
    ranks1.remove(player);
    
    ranks2.remove(player);
    
    getConfig().set(getConfig().getString("republics." + getRepublic(player) + ".members." + player), null);
    
    }
    
    
    
    //SLAPI
    
    public void saveRepublics() {
    
    saveConfig();
    
    }
    
    
    public void loadRepublics() {
    
    if(!getConfig().contains("republics")) return;
    
    String republicName = null;
    
    for(String s : getConfig().getConfigurationSection("republics").getKeys(false)) {
    
    republicName = s;
    
    }
    
    if(republicName != null) {
    
    for(String s : getConfig().getConfigurationSection("republics." + republicName + ".members").getKeys(false)) {
    
    addToRepublic(s, republicName);
    
    setPlayerRank(s, getConfig().getString("republics." + republicName + ".members." + s));
    
    }
    
    for(String s : getConfig().getConfigurationSection("republics." + republicName + ".requested").getKeys(false)) {
    
    addRequestee(republicName, s);
    
    }
    
    for(String s : getConfig().getConfigurationSection("republics." + republicName + ".type").getKeys(false)) {
    
    setType(republicName, s);
    
    }
    
    }
    
    }
    
    
    
    //MAIN
    
    public void onEnable() {
    
    getServer().getPluginManager().registerEvents(this, this);
    
    loadRepublics();
    
    getLogger().info("Successfully loaded Republics!");
    
    }
    
    
    public void onDisable() {
    
    saveRepublics();
    
    getLogger().info("Successfully saved Republics!");
    
    }
    
    
    @SuppressWarnings("deprecation")
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    
    
    Player player = (Player) sender;
    
    
    if(cmd.getName().equalsIgnoreCase("republics")) {
    
    if(!player.hasPermission("republics.use")) {
    
    player.sendMessage(ChatColor.RED + "Permission Denied!");
    
    returnfalse;
    
    }else
    
    if(args.length == 0) {
    
    if(inRepublic(player.getName())) {
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("member")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GREEN + "You are a Member in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics members");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GOLD + "You are a Moderator in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("admin")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.AQUA + "You are an Administrator in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("cofounder")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.RED + "You are a Co-Founder in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republic requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics sethome");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.DARK_RED + "You are the Founder of republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republic requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics sethome");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    player.sendMessage(ChatColor.RED + "/republics destroy");
    
    returntrue;
    
    }else{
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GREEN + "/republics join");
    
    player.sendMessage(ChatColor.GREEN + "/republics create");
    
    returntrue;
    
    }
    
    }else
    
    if(args.length >= 2) {
    
    if(!inRepublic(player.getName())) {
    
    if(args[0].equalsIgnoreCase("join")) {
    
    if(args.length==1) {
    
    player.sendMessage(ChatColor.GREEN + "/republics join [Republic]");
    
    return true;
    
    }else{
    
    if(isRepublic(args[1])) {
    
    addRequestee(args[1], player.getName());
    
    }
    
    }
    
    }
    
    if(args[0].equalsIgnoreCase("create")) {
    
    if(args.length>=1 && args.length <= 3) {
    
    player.sendMessage(ChatColor.GREEN + "/republics create [Republic Name] [Description] [Type] (For the description: Do NOT type in spaces. For example: Bob_Likes_Pizza NOT: Bob Likes Pizza)");
    
    return true;
    
    }else{
    
    addRepublic(args[1], player.getName(), args[2].split("_"), args[3]);
    
    player.sendMessage(ChatColor.GOLD + "You have created Republic: " + args[1]);
    
    return true;
    
    }
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("info")) {
    
    player.sendMessage(ChatColor.GREEN + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "Description: " + getDescription(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GOLD + "Type: " + getType(getRepublic(player.getName())));
    
    }else
    
    if(args[0].equalsIgnoreCase("home")) {
    
    if(hasHome(getRepublic(player.getName()))) {
    
    player.teleport(getHome(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "Teleported to your Republic's home!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "You do not have a home for your Republic!");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("members")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".members").getKeys(false)) {
    
    player.sendMessage(ChatColor.AQUA + "Members: " + ChatColor.GOLD + players.split(ChatColor.AQUA + ", "));
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("leave")) {
    
    if(inRepublic(player.getName())) {
    
    removeFromRepublic(player.getName());
    
    player.sendMessage(ChatColor.RED + "You have left your republic!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "You aren't in a republic!");
    
    returntrue;
    
    }
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod") || getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod") || getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("requested")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".requested").getKeys(false)) {
    
    player.sendMessage(ChatColor.AQUA + "Players that have requested to join your Republic: " + ChatColor.GOLD + players.split(ChatColor.AQUA + ", "));
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("accept")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublicWhichIsRequested(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    removeRequestee(target.getName());
    
    addToRepublic(target.getName(), getRepublic(player.getName()));
    
    target.sendMessage(ChatColor.AQUA + "You have been accepted to Republic " + getRepublic(target.getName()) + "!");
    
    player.sendMessage(ChatColor.GREEN + "Successfully accepted player " + target.getName() + " into your republic!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player hasn't requested to join!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics accept [Player]");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("reject")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublicWhichIsRequested(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    target.sendMessage(ChatColor.RED + "You have been rejected from Republic " + getRepublicWhichIsRequested(target.getName()));
    
    removeRequestee(target.getName());
    
    player.sendMessage(ChatColor.GREEN + "Successfully rejected player " + target.getName());
    
    return true;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player hasn't requested to join!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics reject [Player]");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("kick")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublic(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    removeFromRepublic(player.getName());
    
    player.sendMessage(ChatColor.GOLD + "You have kicked " + target.getName() + " from your republic!");
    
    target.sendMessage(ChatColor.RED + "You have been kicked from your republic by " + player.getName());
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player is not in your republic!");
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics kick [Player]");
    
    }
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("description")) {
    
    if(args.length >= 3) {
    
    setDescription(getRepublic(player.getName()), args[1].split("_"));
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "Your current description is: " + getDescription(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "/republics description [Description] (Do NOT type in spaces. For example: Bob_Likes_Pizza NOT: Bob Likes Pizza)");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("type")) {
    
    if(args.length >= 3) {
    
    if(args[1].equalsIgnoreCase("closed") || args[1].equalsIgnoreCase("open")) {
    
    setType(getRepublic(player.getName()), args[1]);
    
    player.sendMessage(ChatColor.GREEN + "Successfully changed type to: " + args[1]);
    
    }else{
    
    player.sendMessage(ChatColor.RED + "Invalid type! " + ChatColor.GREEN + "Types: Closed, Open");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "Your current type is: " + getType(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "/republics type [Type]");
    
    returntrue;
    
    }
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("sethome")) {
    
    setHome(getRepublic(player.getName()), player.getLocation());
    
    player.sendMessage(ChatColor.GREEN + "Successfully set your republic's home at your current location!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("destroy")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".members").getKeys(false)) {
    
    ranks1.remove(players);
    
    ranks2.remove(players);
    
    }
    
    removeRepublic(getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.RED + "You have destroyed your republic!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    }
    
    }
    
    
    returntrue;
    
    }
    
    
    returnfalse;
    
    }
    
    
    
    }
    
    Sorry if there is no space in-between the words, this thing sometimes doesn't paste it properly.
    @1Rogue @mythbusterma @teej107
     
    Last edited: Jan 6, 2015
  2. Offline

    pookeythekid

    @haydenaa Add the command to your plugin.yml? Check for the correct command name? If there's no stack trace, it's usually an error that'll lead to a major facepalm when you resolve it.

    Edit: It'd also be nice if you could re-paste it, using a Java code box, and including the indents (which disappear when you try to edit the message).
     
  3. Offline

    Skionz

  4. Offline

    haydenaa

    @pookeythekid No, the command registers in Bukkit, you can type the command in-game, but when you do, it does nothing. @Skionz I could try, but i'm not really sure where. Also, pookey, sorry about the non-Java code thingy, I went away from Bukkit for quite some time, I forgot how to do a Java code box. All I know is
    Code:
     and the ending one.
     
  5. Offline

    pookeythekid

    @haydenaa [ code=java ] [ /code ] or [ syntax=java ] [ /syntax ]. I'm pretty sure the "code" one is new to this forum version, which they updated semi-recently.
     
  6. Offline

    haydenaa

    @pookeythekid oh, thanks for that, that will come useful. I'll update the original thread.
     
  7. Offline

    pookeythekid

    @haydenaa Alright, just read most of your code (before I refreshed the page and found it was Java :p ). Exactly which command(s) is/are not working? All of them?
     
  8. Offline

    teej107

    @haydenaa What does you tagging me have to do with this?
     
  9. Offline

    haydenaa

    @pookeythekid There's only one command(/republics) and yeah... it's not working. @teej107 well you helped with my last post, I thought you'd might help with this one.
     
  10. Offline

    teej107

    @haydenaa It's annoying frankly to tag a person who doesn't have any relation to your problem. Make sure all your if statements are returning the appropriate result.
     
    1Rogue likes this.
  11. Offline

    Skionz

    Debug between every control flow statement.
     
  12. Offline

    haydenaa

    @Skionz I will put a debug line in after the command and see if it sends a message to the console when the command is executed.
     
  13. Offline

    haydenaa

    @Skionz @pookeythekid Sorry for the delay, the debug line doesn't work, which means that Bukkit cannot get through to the command.
     
  14. Offline

    Skionz

  15. Offline

    haydenaa

    @Skionz if you mean the plugin.yml, yes, of course, but when you type the command in-game, it displays absolutely nothing, not a single message.
     
  16. Offline

    Skionz

    @haydenaa Is the plugin being enabled? Post the relevant code in a readable format.
     
  17. Offline

    haydenaa

    @Skionz This is the onCommand part, worth noting that this is at the very bottom of the class.
    Code:
    @SuppressWarnings("deprecation")
    
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    
    //All commands
    
    Player player = (Player) sender;
    
    
    if(cmd.getName().equalsIgnoreCase("republics")) {
    
    if(!player.hasPermission("republics.use")) {
    
    player.sendMessage(ChatColor.RED + "Permission Denied!");
    
    returnfalse;
    
    }else
    
    if(args.length == 0) {
    
    if(inRepublic(player.getName())) {
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("member")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GREEN + "You are a Member in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics members");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GOLD + "You are a Moderator in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("admin")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.AQUA + "You are an Administrator in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republics requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("cofounder")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.RED + "You are a Co-Founder in republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republic requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics sethome");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    returntrue;
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.DARK_RED + "You are the Founder of republic " + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "/republics info");
    
    player.sendMessage(ChatColor.GOLD + "/republic requested");
    
    player.sendMessage(ChatColor.GOLD + "/republics accept");
    
    player.sendMessage(ChatColor.GOLD + "/republics reject");
    
    player.sendMessage(ChatColor.GOLD + "/republics kick");
    
    player.sendMessage(ChatColor.GOLD + "/republics description");
    
    player.sendMessage(ChatColor.GOLD + "/republics type");
    
    player.sendMessage(ChatColor.GOLD + "/republics sethome");
    
    player.sendMessage(ChatColor.GOLD + "/republics home");
    
    player.sendMessage(ChatColor.GOLD + "/republics leave");
    
    player.sendMessage(ChatColor.RED + "/republics destroy");
    
    returntrue;
    
    }else{
    
    player.sendMessage(String.format("%s%s=-=-=-=-=-=-= %s%sRepublics %s%s=-=-=-=-=-=-=", ChatColor.GOLD, ChatColor.MAGIC, ChatColor.DARK_BLUE, ChatColor.BOLD, ChatColor.GOLD, ChatColor.MAGIC));
    
    player.sendMessage(ChatColor.GREEN + "/republics join");
    
    player.sendMessage(ChatColor.GREEN + "/republics create");
    
    returntrue;
    
    }
    
    }else
    
    if(args.length >= 2) {
    
    if(!inRepublic(player.getName())) {
    
    if(args[0].equalsIgnoreCase("join")) {
    
    if(args.length==1) {
    
    player.sendMessage(ChatColor.GREEN + "/republics join [Republic]");
    
    return true;
    
    }else{
    
    if(isRepublic(args[1])) {
    
    addRequestee(args[1], player.getName());
    
    }
    
    }
    
    }
    
    if(args[0].equalsIgnoreCase("create")) {
    
    if(args.length>=1 && args.length <= 3) {
    
    player.sendMessage(ChatColor.GREEN + "/republics create [Republic Name] [Description] [Type] (For the description: Do NOT type in spaces. For example: Bob_Likes_Pizza NOT: Bob Likes Pizza)");
    
    return true;
    
    }else{
    
    addRepublic(args[1], player.getName(), args[2].split("_"), args[3]);
    
    player.sendMessage(ChatColor.GOLD + "You have created Republic: " + args[1]);
    
    return true;
    
    }
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("info")) {
    
    player.sendMessage(ChatColor.GREEN + getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.GOLD + "Description: " + getDescription(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GOLD + "Type: " + getType(getRepublic(player.getName())));
    
    }else
    
    if(args[0].equalsIgnoreCase("home")) {
    
    if(hasHome(getRepublic(player.getName()))) {
    
    player.teleport(getHome(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "Teleported to your Republic's home!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "You do not have a home for your Republic!");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("members")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".members").getKeys(false)) {
    
    player.sendMessage(ChatColor.AQUA + "Members: " + ChatColor.GOLD + players.split(ChatColor.AQUA + ", "));
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("leave")) {
    
    if(inRepublic(player.getName())) {
    
    removeFromRepublic(player.getName());
    
    player.sendMessage(ChatColor.RED + "You have left your republic!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "You aren't in a republic!");
    
    returntrue;
    
    }
    
    }else
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod") || getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("mod") || getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("requested")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".requested").getKeys(false)) {
    
    player.sendMessage(ChatColor.AQUA + "Players that have requested to join your Republic: " + ChatColor.GOLD + players.split(ChatColor.AQUA + ", "));
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("accept")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublicWhichIsRequested(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    removeRequestee(target.getName());
    
    addToRepublic(target.getName(), getRepublic(player.getName()));
    
    target.sendMessage(ChatColor.AQUA + "You have been accepted to Republic " + getRepublic(target.getName()) + "!");
    
    player.sendMessage(ChatColor.GREEN + "Successfully accepted player " + target.getName() + " into your republic!");
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player hasn't requested to join!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics accept [Player]");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("reject")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublicWhichIsRequested(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    target.sendMessage(ChatColor.RED + "You have been rejected from Republic " + getRepublicWhichIsRequested(target.getName()));
    
    removeRequestee(target.getName());
    
    player.sendMessage(ChatColor.GREEN + "Successfully rejected player " + target.getName());
    
    return true;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player hasn't requested to join!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics reject [Player]");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("kick")) {
    
    if(args.length >= 3) {
    
    Player target = null;
    
    try {
    
    target = Bukkit.getPlayer(args[1]);
    
    } catch(Exception e) {
    
    
    }
    
    if(target != null) {
    
    if(getRepublic(target.getName()).equalsIgnoreCase(getRepublic(player.getName()))) {
    
    removeFromRepublic(player.getName());
    
    player.sendMessage(ChatColor.GOLD + "You have kicked " + target.getName() + " from your republic!");
    
    target.sendMessage(ChatColor.RED + "You have been kicked from your republic by " + player.getName());
    
    returntrue;
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player is not in your republic!");
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "That player either isn't online or doesn't exist!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "/republics kick [Player]");
    
    }
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("admin") || getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("description")) {
    
    if(args.length >= 3) {
    
    setDescription(getRepublic(player.getName()), args[1].split("_"));
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "Your current description is: " + getDescription(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "/republics description [Description] (Do NOT type in spaces. For example: Bob_Likes_Pizza NOT: Bob Likes Pizza)");
    
    returntrue;
    
    }
    
    }else
    
    if(args[0].equalsIgnoreCase("type")) {
    
    if(args.length >= 3) {
    
    if(args[1].equalsIgnoreCase("closed") || args[1].equalsIgnoreCase("open")) {
    
    setType(getRepublic(player.getName()), args[1]);
    
    player.sendMessage(ChatColor.GREEN + "Successfully changed type to: " + args[1]);
    
    }else{
    
    player.sendMessage(ChatColor.RED + "Invalid type! " + ChatColor.GREEN + "Types: Closed, Open");
    
    return true;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.GREEN + "Your current type is: " + getType(getRepublic(player.getName())));
    
    player.sendMessage(ChatColor.GREEN + "/republics type [Type]");
    
    returntrue;
    
    }
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("cofounder") || getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("sethome")) {
    
    setHome(getRepublic(player.getName()), player.getLocation());
    
    player.sendMessage(ChatColor.GREEN + "Successfully set your republic's home at your current location!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    }
    
    if(getPlayerRank(player.getName()).equalsIgnoreCase("founder")) {
    
    if(args[0].equalsIgnoreCase("destroy")) {
    
    for(String players : getConfig().getConfigurationSection("republics." + getRepublic(player.getName()) + ".members").getKeys(false)) {
    
    ranks1.remove(players);
    
    ranks2.remove(players);
    
    }
    
    removeRepublic(getRepublic(player.getName()));
    
    player.sendMessage(ChatColor.RED + "You have destroyed your republic!");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    }else{
    
    player.sendMessage(ChatColor.RED + "No Permission");
    
    returntrue;
    
    }
    
    }
    
    }
    
    
    returntrue;
    
    }
    
    
    returnfalse;
    
    }
    
     
  18. Offline

    mythbusterma

    @haydenaa

     
  19. Offline

    teej107

    @mythbusterma
    Might help if you explain it since the OP didn't do it the first time.

    @haydenaa
    • Code is hard to read when there are no indentations
    • I find it rather annoying when you have a space between each and every line of code.
     
  20. Offline

    haydenaa

    @mythbusterma @teej107 @Skionz When I paste the code it automatically spaces it, and i'm sorry about the indentations, but it removes them too when I paste the code, so unless you want me to go through the entire post and edit all the code, I can't do anything about it.
     
  21. Offline

    Konato_K

  22. Offline

    teej107

    @haydenaa Weird. You are using the code button and pasting the code in the popup box right? Other than that,
     
  23. Offline

    haydenaa

  24. Offline

    teej107

    We can when your code is easily readable
     
Thread Status:
Not open for further replies.

Share This Page