版本更新至 3.53
修复:JSON 工具的物品展示功能无法显示NBT的问题
This commit is contained in:
parent
819e3e4cf4
commit
a41d43b080
@ -14,19 +14,33 @@ import me.skymc.taboolib.TabooLib;
|
||||
import me.skymc.taboolib.inventory.ItemUtils;
|
||||
import me.skymc.taboolib.json.JSONObject;
|
||||
import me.skymc.taboolib.nms.item.DabItemUtils;
|
||||
import me.skymc.taboolib.nms.item.IDabItemUtils;
|
||||
|
||||
public class ShowItemEvent extends HoverEvent{
|
||||
|
||||
private JSONObject object = new JSONObject();
|
||||
|
||||
public Object getItemTag(ItemStack item) {
|
||||
try {
|
||||
return DabItemUtils.getInstance().getTag(DabItemUtils.getInstance().getNMSCopy(item));
|
||||
} catch (Exception e) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@SuppressWarnings("deprecation")
|
||||
public ShowItemEvent(ItemStack is){
|
||||
try{
|
||||
object.put("action", "show_item");
|
||||
StringBuilder tag = new StringBuilder();
|
||||
Object itemTag = getItemTag(is);
|
||||
if (itemTag != null) {
|
||||
tag.append(",tag:" + itemTag);
|
||||
}
|
||||
else {
|
||||
ItemMeta im = is.getItemMeta();
|
||||
List<String> lore = im.hasLore() ? im.getLore() : new ArrayList<>();
|
||||
Map<Enchantment, Integer> enchants = is.getItemMeta().getEnchants();
|
||||
StringBuilder tag = new StringBuilder();
|
||||
tag.append(",tag:{display:{Name:" + (enchants.size() > 0 ? "¡ìb¡ìo" : "¡ìf") + ItemUtils.getCustomName(is));
|
||||
if (lore.size() > 0) {
|
||||
tag.append(",Lore:[");
|
||||
@ -49,6 +63,8 @@ public class ShowItemEvent extends HoverEvent{
|
||||
tag.append("]");
|
||||
}
|
||||
tag.append("}");
|
||||
}
|
||||
|
||||
object.put("value", "{id:" + (TabooLib.getVerint() > 10700 ? DabItemUtils.getMinecraftName(is) : is.getTypeId()) + ",Count:" + is.getAmount() + tag.toString() + "}");
|
||||
} catch(Exception e) {
|
||||
e.printStackTrace();
|
||||
|
Loading…
Reference in New Issue
Block a user