WeaponCommand.java (2214B)
1 package me.night.nullvalkyrie.commands; 2 3 import me.night.nullvalkyrie.database.CustomWeaponsDataManager; 4 import me.night.nullvalkyrie.entities.items.CustomItemManager; 5 import org.bukkit.ChatColor; 6 import org.bukkit.command.CommandSender; 7 import org.bukkit.entity.Player; 8 import org.bukkit.inventory.ItemStack; 9 import org.bukkit.util.StringUtil; 10 11 import java.util.*; 12 13 public class WeaponCommand extends Command { 14 public WeaponCommand() { 15 super("weapon", new String[]{}, "Give you a weapon", ""); 16 } 17 18 @Override 19 public void onCommand(CommandSender sender, String[] args) { 20 Player player = (Player) sender; 21 StringBuilder builder = new StringBuilder(); 22 if (args.length == 0) { 23 player.sendMessage(ChatColor.RED + "This item doesn't exist"); 24 } else { 25 List<String> arglist = Arrays.asList(args); 26 for (String arg : args) { 27 if (arg.equals(arglist.get(arglist.size() - 1))) { 28 builder.append(arg); 29 } else { 30 builder.append(arg); 31 builder.append(" "); 32 } 33 } 34 ItemStack item = CustomItemManager.produceItem(builder.toString()); 35 if (item.hasItemMeta()) { 36 player.getInventory().addItem(item); 37 } else { 38 player.sendMessage(ChatColor.RED + "This item doesn't exist"); 39 } 40 } 41 } 42 43 @Override 44 public List<String> onTabComplete(CommandSender sender, String[] args) { 45 if (args.length == 1) { 46 HashMap<String, Object> hh = CustomWeaponsDataManager.getWeapons(); 47 ArrayList<String> cc = new ArrayList<>(); 48 for (String s : hh.keySet()) { 49 @SuppressWarnings("unchecked") HashMap<String, Object> item = (HashMap<String, Object>) hh.get(s); 50 if (Objects.equals(item.get("Type"), "Weapon")) { 51 cc.add((String) item.get("Name")); 52 } 53 } 54 return StringUtil.copyPartialMatches(args[0], cc, new ArrayList<>()); 55 } 56 return new ArrayList<>(); 57 } 58 }