diff --git a/src/main/java/me/StevenLawson/TotalFreedomMod/commands/Command_myadmin.java b/src/main/java/me/StevenLawson/TotalFreedomMod/commands/Command_myadmin.java index d7166f7..3a8c1e7 100644 --- a/src/main/java/me/StevenLawson/TotalFreedomMod/commands/Command_myadmin.java +++ b/src/main/java/me/StevenLawson/TotalFreedomMod/commands/Command_myadmin.java @@ -1,5 +1,6 @@ package me.StevenLawson.TotalFreedomMod.commands; +import java.util.UUID; import me.StevenLawson.TotalFreedomMod.admin.AdminList; import org.apache.commons.lang3.StringUtils; import org.bukkit.ChatColor; @@ -7,40 +8,56 @@ import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import java.util.UUID; - @CommandPermissions(level = AdminLevel.SUPER, source = SourceType.ONLY_IN_GAME) public class Command_myadmin extends FreedomCommand { - @Override - public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - final UUID uuid = sender_p.getUniqueId(); // Get the sender's uuid as a variable. - if(args.length == 1) { - if ("clearloginmsg".equalsIgnoreCase(args[0])) { - playerMsg(sender, ChatColor.GRAY + "Cleared your custom login message."); // Notify player that the login message has been set. - AdminList.getEntry(uuid).setCustomLoginMessage(""); // Set the custom login message to the value. - AdminList.save(AdminList.getEntry(uuid)); // Save the modified value to the super admin configuration. + @Override + public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, + String[] args, boolean senderIsConsole) { + final UUID uuid = sender_p.getUniqueId(); // Get the sender's uuid as a variable. - AdminList.updateIndexLists(); // Update and refresh configuration. - return true; - } else { - return false; - } - } else if (args.length >= 2) { - if ("setlogin".equalsIgnoreCase(args[0])) { - final String inputMessage = StringUtils.join(args, " ", 1, args.length); // Parse the input provided. - playerMsg(sender, ChatColor.GRAY + "Set your custom login message."); // Notify player that the login message has been set. - playerMsg(sender, ChatColor.GRAY + "Your login message will show up as: \n" + ChatColor.AQUA + sender_p.getPlayer().getName() + " is " + ChatColor.translateAlternateColorCodes('&', inputMessage)); - AdminList.getEntry(uuid).setCustomLoginMessage(inputMessage); // Set the custom login message to the value. - AdminList.save(AdminList.getEntry(uuid)); // Save the modified value to the super admin configuration. + if (args.length == 1) { + if ("clearloginmsg".equalsIgnoreCase(args[0])) { + playerMsg(sender, ChatColor.GRAY + + "Cleared your custom login message."); // Notify player that the login message has been set. - AdminList.updateIndexLists(); // Update and refresh configuration. - return true; - } else { - return false; - } - } else { - return false; - } - } + AdminList.getEntry(uuid) + .setCustomLoginMessage(""); // Set the custom login message to the value. + AdminList.save(AdminList.getEntry( + uuid)); // Save the modified value to the super admin configuration. + + AdminList.updateIndexLists(); // Update and refresh configuration. + return true; + } else { + return false; + } + } else if (args.length >= 2) { + if ("setlogin".equalsIgnoreCase(args[0])) { + if (AdminList.getEntry(uuid) + == null) { // This means they're not actually in the super config. It will throw an exception if we don't return here. + return true; + } + + final String inputMessage = StringUtils.join(args, " ", 1, + args.length); // Parse the input provided. + playerMsg(sender, ChatColor.GRAY + + "Set your custom login message."); // Notify player that the login message has been set. + playerMsg(sender, + ChatColor.GRAY + "Your login message will show up as: \n" + ChatColor.AQUA + + sender_p.getPlayer().getName() + " is " + + ChatColor.translateAlternateColorCodes('&', inputMessage)); + AdminList.getEntry(uuid).setCustomLoginMessage( + inputMessage); // Set the custom login message to the value. + AdminList.save(AdminList.getEntry( + uuid)); // Save the modified value to the super admin configuration. + + AdminList.updateIndexLists(); // Update and refresh configuration. + return true; + } else { + return false; + } + } else { + return false; + } + } } \ No newline at end of file