public static ItemStack applyMeta(ItemStack itemStack, Element element) {
for (Element enchant : element.getChildren("enchantment")) {
String ench = enchant.getText();
Enchantment enchantment = Enchantment.getByName(Strings.getTechnicalName(ench));
int lvl = Numbers.parseInteger(enchant.getAttributeValue("level"), 1);
if (enchantment == null) {
//TODO: NMS name check
} else {
itemStack.addUnsafeEnchantment(enchantment, lvl);
}
}
ItemMeta meta = itemStack.getItemMeta();
for (Element effect : element.getChildren("effect")) {
PotionEffect potionEffect = getPotion(effect);
if (!((PotionMeta) meta).getCustomEffects().contains(potionEffect)) {
((PotionMeta) meta).addCustomEffect(potionEffect, true);
}
}
for (Element attribute : element.getChildren("attribute")) {
ItemAttributeModifier itemAttribute = getAttribute(attribute);
if (!meta.getModifiedAttributes().contains(attribute.getText())) {
meta.addAttributeModifier(attribute.getText(), itemAttribute);
}
}
/* TODO: can-destroy & can-place-on, and all attributes
* @link https://docs.oc.tc/modules/item_mods#itemmeta
*/
itemStack.setItemMeta(meta);
return itemStack;
}
DocumentItems.java 文件源码
java
阅读 22
收藏 0
点赞 0
评论 0
项目:Cardinal
作者:
评论列表
文章目录