NullValkyrie

Minecraft 1.19 multipurpose plugin for spigot servers with a lot of features where most modern servers have.
git clone https://codeberg.org/night0721/NullValkyrie
Log | Files | Refs | README | LICENSE

UtilCommand.java (1954B)


      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 UtilCommand extends Command {
     14 
     15     public UtilCommand() {
     16         super("util", new String[]{}, "Give you a tool", "");
     17     }
     18 
     19     @Override
     20     public void onCommand(CommandSender sender, String[] args) {
     21         Player player = (Player) sender;
     22         StringBuilder s = new StringBuilder();
     23         List<String> b = Arrays.asList(args);
     24         for (String a : args) {
     25             if (a.equals(b.get(b.size() - 1))) {
     26                 s.append(a);
     27             } else {
     28                 s.append(a);
     29                 s.append(" ");
     30             }
     31 
     32         }
     33         ItemStack item = CustomItemManager.produceItem(s.toString());
     34         if (item.hasItemMeta()) {
     35             player.getInventory().addItem(item);
     36         } else {
     37             player.sendMessage(ChatColor.RED + "This item doesn't exist");
     38         }
     39     }
     40 
     41     @Override
     42     public List<String> onTabComplete(CommandSender sender, String[] args) {
     43         if (args.length == 1) {
     44             HashMap<String, Object> hh = CustomWeaponsDataManager.getWeapons();
     45             ArrayList<String> cc = new ArrayList<>();
     46             for (String s : hh.keySet()) {
     47                 @SuppressWarnings("unchecked") HashMap<String, Object> item = (HashMap<String, Object>) hh.get(s);
     48                 if (Objects.equals(item.get("Type"), "Util")) {
     49                     cc.add((String) item.get("Name"));
     50                 }
     51             }
     52             return StringUtil.copyPartialMatches(args[0], cc, new ArrayList<>());
     53         }
     54         return new ArrayList<>();
     55     }
     56 }