Skip to content

Commit

Permalink
版本更新至 3.53
Browse files Browse the repository at this point in the history
修复:JSON 工具的物品展示功能无法显示NBT的问题
  • Loading branch information
Bkm016 committed Feb 12, 2018
1 parent 12d7bdc commit 3c1aa99
Showing 1 changed file with 37 additions and 21 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,57 @@
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");
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:[");
for (String s : lore){
tag.append("\"" + s + "\",");
}
tag.delete(tag.length() - 1, tag.length());
tag.append("]");
Object itemTag = getItemTag(is);
if (itemTag != null) {
tag.append(",tag:" + itemTag);
}
tag.append("}");
if (enchants.size() > 0) {
if(tag.length() > 6) {
tag.append(",");
else {
ItemMeta im = is.getItemMeta();
List<String> lore = im.hasLore() ? im.getLore() : new ArrayList<>();
Map<Enchantment, Integer> enchants = is.getItemMeta().getEnchants();
tag.append(",tag:{display:{Name:" + (enchants.size() > 0 ? "¡ìb¡ìo" : "¡ìf") + ItemUtils.getCustomName(is));
if (lore.size() > 0) {
tag.append(",Lore:[");
for (String s : lore){
tag.append("\"" + s + "\",");
}
tag.delete(tag.length() - 1, tag.length());
tag.append("]");
}
tag.append("ench:[");
for (Entry<Enchantment, Integer> e : enchants.entrySet()) {
tag.append("{id:" + e.getKey().getId() + ",lvl:" + e.getValue() + "},");
tag.append("}");
if (enchants.size() > 0) {
if(tag.length() > 6) {
tag.append(",");
}
tag.append("ench:[");
for (Entry<Enchantment, Integer> e : enchants.entrySet()) {
tag.append("{id:" + e.getKey().getId() + ",lvl:" + e.getValue() + "},");
}
tag.delete(tag.length() - 1, tag.length());
tag.append("]");
}
tag.delete(tag.length() - 1, tag.length());
tag.append("]");
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();
Expand Down

0 comments on commit 3c1aa99

Please sign in to comment.