diff --git a/com/gamingmesh/jobs/commands/list/.gitignore b/com/gamingmesh/jobs/commands/list/.gitignore index 96bf68a0..59626c70 100644 --- a/com/gamingmesh/jobs/commands/list/.gitignore +++ b/com/gamingmesh/jobs/commands/list/.gitignore @@ -53,3 +53,4 @@ /bp$1.class /bp.class /entitylist.class +/iteminfo.class diff --git a/com/gamingmesh/jobs/commands/list/iteminfo.java b/com/gamingmesh/jobs/commands/list/iteminfo.java new file mode 100644 index 00000000..f6fe9a03 --- /dev/null +++ b/com/gamingmesh/jobs/commands/list/iteminfo.java @@ -0,0 +1,56 @@ +package com.gamingmesh.jobs.commands.list; + +import org.bukkit.Material; +import org.bukkit.command.CommandSender; +import org.bukkit.enchantments.EnchantmentTarget; +import org.bukkit.entity.Player; +import org.bukkit.inventory.ItemStack; +import com.gamingmesh.jobs.Jobs; +import com.gamingmesh.jobs.commands.Cmd; +import com.gamingmesh.jobs.commands.JobCommand; + +public class iteminfo implements Cmd { + + @Override + @SuppressWarnings("deprecation") + @JobCommand(1450) + public boolean perform(Jobs plugin, final CommandSender sender, final String[] args) { + if (!(sender instanceof Player)) { + sender.sendMessage(Jobs.getLanguage().getMessage("general.error.ingame")); + return false; + } + + if (args.length != 0) { + Jobs.getCommandManager().sendUsage(sender, "blockinfo"); + return true; + } + + Player player = (Player) sender; + + ItemStack iih = Jobs.getNms().getItemInMainHand(player); + + if (iih == null || iih.getType() == Material.AIR) + return true; + + boolean tool = false; + if (EnchantmentTarget.TOOL.includes(iih) || + EnchantmentTarget.WEAPON.includes(iih) || + EnchantmentTarget.ARMOR.includes(iih) || + EnchantmentTarget.BOW.includes(iih) || + EnchantmentTarget.FISHING_ROD.includes(iih)) + tool = true; + + String dataString = iih.getData().getData() == 0 ? "" : "-" + iih.getData().getData(); + + sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator")); + sender.sendMessage(Jobs.getLanguage().getMessage("command.iteminfo.output.name", "%itemname%", iih.getType().name())); + sender.sendMessage(Jobs.getLanguage().getMessage("command.iteminfo.output.id", "%itemid%", iih.getTypeId())); + if (!tool) + sender.sendMessage(Jobs.getLanguage().getMessage("command.iteminfo.output.data", "%itemdata%", iih.getData().getData())); + sender.sendMessage(Jobs.getLanguage().getMessage("command.iteminfo.output.usage", "%first%", iih.getTypeId() + dataString, + "%second%", iih.getType().name() + dataString)); + sender.sendMessage(Jobs.getLanguage().getMessage("general.info.separator")); + + return true; + } +} diff --git a/com/gamingmesh/jobs/config/LanguageManager.java b/com/gamingmesh/jobs/config/LanguageManager.java index b9edd69c..ef6b4a1a 100644 --- a/com/gamingmesh/jobs/config/LanguageManager.java +++ b/com/gamingmesh/jobs/config/LanguageManager.java @@ -166,6 +166,14 @@ public class LanguageManager { c.get("command.blockinfo.output.data", " &eBlock data: &6%blockdata%"); c.get("command.blockinfo.output.usage", " &eUsage: &6%first% &eor &6%second%"); + + c.get("command.iteminfo.help.info", "Shows item information you holding."); + c.get("command.iteminfo.help.args", ""); + c.get("command.iteminfo.output.name", " &eItem name: &6%itemname%"); + c.get("command.iteminfo.output.id", " &eItem id: &6%itemid%"); + c.get("command.iteminfo.output.data", " &eItem data: &6%itemdata%"); + c.get("command.iteminfo.output.usage", " &eUsage: &6%first% &eor &6%second%"); + c.get("command.entitylist.help.info", "Shows all possible entities can be used with plugin."); c.get("command.entitylist.help.args", "");