@Override
public @Nullable ItemModifyModule parse(MapModuleContext context, Logger logger, Document doc) throws InvalidXMLException {
List<ItemRule> rules = new ArrayList<>();
for(Element elRule : XMLUtils.flattenElements(doc.getRootElement(), "item-mods", "rule")) {
MaterialMatcher items = XMLUtils.parseMaterialMatcher(XMLUtils.getRequiredUniqueChild(elRule, "match"));
// Always use a PotionMeta so the rule can have potion effects, though it will only apply those to potion items
final Element elModify = XMLUtils.getRequiredUniqueChild(elRule, "modify");
final PotionMeta meta = (PotionMeta) Bukkit.getItemFactory().getItemMeta(Material.POTION);
context.needModule(ItemParser.class).parseItemMeta(elModify, meta);
final boolean defaultAttributes = XMLUtils.parseBoolean(elModify.getAttribute("default-attributes"), false);
ItemRule rule = new ItemRule(items, meta, defaultAttributes);
rules.add(rule);
}
return rules.isEmpty() ? null : new ItemModifyModule(rules);
}
ItemModifyModule.java 文件源码
java
阅读 20
收藏 0
点赞 0
评论 0
项目:ProjectAres
作者:
评论列表
文章目录