ChestShop-3/com/Acrobot/ChestShop/Commands/ItemInfo.java

74 lines
2.2 KiB
Java
Raw Normal View History

2011-05-29 13:25:25 +02:00
package com.Acrobot.ChestShop.Commands;
import com.Acrobot.Breeze.Utils.MaterialUtil;
import com.Acrobot.Breeze.Utils.StringUtil;
import com.Acrobot.ChestShop.ChestShop;
import com.Acrobot.ChestShop.Configuration.Messages;
import com.Acrobot.ChestShop.Events.ItemInfoEvent;
import org.bukkit.ChatColor;
2011-05-29 13:25:25 +02:00
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.HumanEntity;
2011-05-29 13:25:25 +02:00
import org.bukkit.inventory.ItemStack;
import static com.Acrobot.ChestShop.Configuration.Messages.iteminfo;
2011-05-29 13:25:25 +02:00
/**
* @author Acrobot
*/
public class ItemInfo implements CommandExecutor {
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
ItemStack item;
2011-05-29 13:25:25 +02:00
if (args.length == 0) {
if (!(sender instanceof HumanEntity)) {
return false;
}
item = ((HumanEntity) sender).getItemInHand();
2011-05-29 13:25:25 +02:00
} else {
item = MaterialUtil.getItem(StringUtil.joinArray(args));
}
2011-05-29 13:25:25 +02:00
if (MaterialUtil.isEmpty(item)) {
return false;
}
String durability = getDurability(item);
String enchantment = getEnchantment(item);
2011-05-29 13:25:25 +02:00
sender.sendMessage(Messages.prefix(iteminfo));
sender.sendMessage(getNameAndID(item) + durability + enchantment + ChatColor.WHITE);
ItemInfoEvent event = new ItemInfoEvent(sender, item);
ChestShop.callEvent(event);
return true;
}
private static String getNameAndID(ItemStack item) {
String itemName = MaterialUtil.getName(item);
2011-05-29 13:25:25 +02:00
return ChatColor.GRAY + itemName + ChatColor.WHITE + " " + item.getTypeId();
2011-05-29 13:25:25 +02:00
}
private static String getDurability(ItemStack item) {
if (item.getDurability() != 0) {
return ChatColor.DARK_GREEN + ":" + Integer.toString(item.getDurability());
} else {
return "";
}
}
private static String getEnchantment(ItemStack item) {
String encodedEnchantments = MaterialUtil.Enchantment.encodeEnchantment(item);
if (encodedEnchantments != null) {
return ChatColor.DARK_AQUA + "-" + encodedEnchantments;
} else {
return "";
}
}
2011-05-29 13:25:25 +02:00
}