package org.arkham.cs.commands;
import org.arkham.cs.CosmeticSuite;
import org.arkham.cs.cosmetics.ItemColoring;
import org.arkham.cs.handler.PlayerHandler;
import org.bukkit.ChatColor;
import org.bukkit.DyeColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
public class ItemCommand implements CommandExecutor {
public ItemCommand(CosmeticSuite cs) {
cs.getCommand("itemedit").setExecutor(this);
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
Player player = (Player) sender;
if (PlayerHandler.isNothingSpecial(player)) {
CosmeticSuite cs = CosmeticSuite.getInstance();
FileConfiguration config = cs.getConfig();
String link = config.getString("buy-link", CosmeticSuite.PREFIX + "Purchase this rank at " + ChatColor.UNDERLINE + "buy.arkhamnetwork.org");
link = ChatColor.translateAlternateColorCodes('&', link);
player.sendMessage(link);
player.closeInventory();
return true;
}
if (args.length == 0) {
sender.sendMessage(help());
player.closeInventory();
return true;
}
String option = args[0].toLowerCase();
StringBuilder builder = new StringBuilder();
if (args[1].contains("_")) {
for (String s : args[1].split("_")) {
builder.append(s + " ");
}
}
if (args.length > 2) {
for (int i = 1; i < args.length; i++) {
String s = args[i];
builder.append(s + " ");
}
}
switch (option) {
case "name":
ItemColoring.rename(player, builder.toString());
break;
case "lore":
ItemColoring.lore(player, builder.toString());
break;
case "color":
DyeColor color = DyeColor.valueOf(args[1].toUpperCase());
ItemColoring.color(player, color);
break;
}
return false;
}
public String[] help() {
String prefix = CosmeticSuite.PREFIX;
String[] help = { ChatColor.YELLOW + "====================" + prefix + "==========================", prefix + "/itemedit - Shows the help menu.", prefix + "Arguments: ",
" " + ChatColor.RED + "name <ItemName> | Name the item in your hand! \n" + ChatColor.GRAY + "(Supports ChatColors, Max length: 64)",
" " + ChatColor.RED + "lore <lore> | Set the item in your hands lore! \n" + ChatColor.GRAY + "(Supports ChatColors, Max length: 48)",
" " + ChatColor.RED + "color <ItemColor> | Recolor the item in your hand! \n" + ChatColor.GRAY + "(Only works with Leather Armor)",
ChatColor.YELLOW + "====================" + prefix + "==========================", };
return help;
}
}