Похоже, вы действительно жаждете программировать на xml, что будет очень неприятно, если у вас есть сто или тысяча таких.Тем не менее, здесь определенно есть некоторая конфигурация, которую вы можете записать в xml, чтобы ваш xml был обработан в граф объектов Buff, и у вас есть метод атаки, который принимает набор баффов vararg.
Тогда вы можете оставить алгоритм в java, но сделать всю нерфинг в xml.
обновить, чтобы попытаться ответить на вопрос с кодом -
Если бы я собиралсярекомендую для этого методику, я бы сказал, что вы, вероятно, можете оставить свой xml в покое и использовать парсер JAXB, который, как мне кажется, упакован с более поздней версией jvm.
// java like pseudocode.
JAXBContext.newInstance(Buff.class);
Unmarshaller u = ctx.createUnmarshaller()
List<Buff> buffs = u.unmarshal(loadedXmlFile)
теперь вы можете использовать настройки баффов и читатьих введите безопасно в качестве конфигурации.