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

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 }