use of pl.themolka.arcade.util.Percentage in project Arcade2 by ShootGame.
the class DamageRuleParser method parsePrimitive.
@Override
protected ParserResult<DamageRule.Config> parsePrimitive(Node node, String name, String value) throws ParserException {
String id = this.parseOptionalId(node);
Ref<Filter.Config<?>> entityFilter = this.entityFilterParser.parse(node.property("entity-filter", "filter")).orDefault(Ref.empty());
Ref<Filter.Config<?>> playerFilter = this.playerFilterParser.parse(node.property("player-filter", "filter")).orDefault(Ref.empty());
boolean notDenied = this.denyParser.parse(node).orDefault(true);
double damage = notDenied ? this.damageParser.parse(node).orFail() : DamageRule.Config.DENY_DAMAGE;
Percentage multiplier = this.multiplierParser.parse(node.property("multiplier", "multiply")).orDefault(Percentage.DONE);
return ParserResult.fine(node, name, value, new DamageRule.Config() {
public String id() {
return id;
}
public double damage() {
return damage;
}
public Ref<Filter.Config<?>> entityFilter() {
return entityFilter;
}
public Percentage multiplier() {
return multiplier;
}
public Ref<Filter.Config<?>> playerFilter() {
return playerFilter;
}
});
}
Aggregations