diff --git a/extra/dfu7/src/main/java/org/spongepowered/configurate/extra/dfu/v7/ConfigurateOps.java b/extra/dfu7/src/main/java/org/spongepowered/configurate/extra/dfu/v7/ConfigurateOps.java index a4902c0a7..d1ac197a4 100644 --- a/extra/dfu7/src/main/java/org/spongepowered/configurate/extra/dfu/v7/ConfigurateOps.java +++ b/extra/dfu7/src/main/java/org/spongepowered/configurate/extra/dfu/v7/ConfigurateOps.java @@ -372,6 +372,19 @@ public DataResult getNumberValue(final ConfigurationNode input) { return DataResult.error(() -> "Not a number: " + input); } + /** + * Get the value of the provided node if it is a boolean or a number where non-zero is {@code true}. + * + * @param input data source + * @return extracted boolean + */ + @Override + public DataResult getBooleanValue(final ConfigurationNode input) { + return getNumberValue(input) + .map(number -> number.doubleValue() != 0.0) + .mapError(_ -> "Not a boolean: " + input); + } + /** * Get the value of the provided node if it is a scalar, converted to * a {@link String}.