private static void appendItemTag(final StringBuilder builder, final ItemStack is) {
boolean hasTag = false;
final StringBuilder tagBuilder = new StringBuilder();
// Enchantments
final Map<Enchantment, Integer> enchantments = is.getEnchantments();
if (enchantments != null && !enchantments.isEmpty()) {
tagBuilder.append("ench:[");
final Iterator<Entry<Enchantment, Integer>> it = enchantments.entrySet().iterator();
while (it.hasNext()) {
final Entry<Enchantment, Integer> entry = it.next();
tagBuilder.append("{id:")
.append(entry.getKey().getId())
.append(",lvl:")
.append(entry.getValue());
if (it.hasNext()) {
tagBuilder.append(',');
}
}
tagBuilder.append("],");
hasTag = true;
}
// Meta
if (is.hasItemMeta()) {
final ItemMeta meta = is.getItemMeta();
if (meta.hasDisplayName() || meta.hasLore() || Chat.isLeatherArmor(is)) {
Chat.appendItemDisplay(tagBuilder, meta);
}
if (is.getType() == Material.POTION) {
Chat.appendItemPotion(tagBuilder, (PotionMeta)meta);
}
if (is.getType() == Material.WRITTEN_BOOK) {
Chat.appendItemBook(tagBuilder, (BookMeta)meta);
}
if (is.getType() == Material.SKULL_ITEM) {
Chat.appendItemSkull(tagBuilder, (SkullMeta)meta);
}
if (is.getType() == Material.FIREWORK) { // Firework Rocket
Chat.appendItemFirework(tagBuilder, (FireworkMeta)meta);
}
if (is.getType() == Material.FIREWORK_CHARGE) { // Firework Star
Chat.appendItemFireworkEffect(tagBuilder, (FireworkEffectMeta)meta);
}
}
if (hasTag && tagBuilder.charAt(builder.length() - 1) == ',') {
tagBuilder.deleteCharAt(builder.length() - 1);
}
// Append to main builder
if (hasTag) {
builder.append(',').append("tag:{").append(tagBuilder).append('}');
}
}
Chat.java 文件源码
java
阅读 17
收藏 0
点赞 0
评论 0
项目:NPlugins
作者:
评论列表
文章目录