VulnerabilityPatcher/src/main/java/me/cooljwb/vulnerabilitypatcher/commands/CommandGetNBT.java
2019-01-20 01:33:46 +01:00

49 lines
2 KiB
Java

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;
}
}