package me.cooljwb.vulnerabilitypatcher.commands; import me.cooljwb.vulnerabilitypatcher.SMG; import me.cooljwb.vulnerabilitypatcher.VulnerabilityPatcher; import me.cooljwb.vulnerabilitypatcher.patches.Patches; import net.minecraft.server.v1_13_R2.NBTTagCompound; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.craftbukkit.v1_13_R2.inventory.CraftItemStack; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; public class CommandGetNBT extends Patches implements CommandExecutor { public static String getnbt = "getnbt"; private VulnerabilityPatcher main; public CommandGetNBT(VulnerabilityPatcher main) { this.main = main; } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if(cmd.getName().equalsIgnoreCase(getnbt)) { if(!(sender instanceof Player)) { msg(sender, SMG.NOT_PLAYER.msg); return true; } Player player = Bukkit.getPlayer(((Player) sender).getUniqueId()); ItemStack item = player.getInventory().getItemInMainHand(); net.minecraft.server.v1_13_R2.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(item); NBTTagCompound tag = nmsItemStack.getTag(); if(item != null && tag != null) msg(sender, SMG.VULNERABILITYPATCHER.msg + ChatColor.GRAY + "Item data of item: " + ChatColor.GREEN + ChatColor.stripColor(tag.toString())); else if(item.getType() == Material.AIR) msg(sender, SMG.VULNERABILITYPATCHER.msg + ChatColor.RED + "Get an item in your main hand!"); else if(tag == null) msg(sender, SMG.VULNERABILITYPATCHER.msg + ChatColor.RED + "This item has no item tag."); } return true; } }