From 06c3e255b35945316265a0fe6bdff4293899fd73 Mon Sep 17 00:00:00 2001 From: ichttt Date: Thu, 29 Aug 2019 06:28:21 +0200 Subject: [PATCH] Add a config comment that lists the available constants of enums (#6079) --- src/main/java/net/minecraftforge/common/ForgeConfigSpec.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java b/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java index 37204aa81..135ae0ec4 100644 --- a/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java +++ b/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java @@ -38,6 +38,7 @@ import java.util.Objects; import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; +import java.util.stream.Collectors; import javax.annotation.Nonnull; @@ -388,6 +389,8 @@ public class ForgeConfigSpec extends UnmodifiableConfigWrapper } public > EnumValue defineEnum(List path, Supplier defaultSupplier, EnumGetMethod converter, Predicate validator, Class clazz) { context.setClazz(clazz); + V[] allowedValues = clazz.getEnumConstants(); + context.setComment(ObjectArrays.concat(context.getComment(), "Allowed Values: " + Arrays.stream(allowedValues).map(Enum::name).collect(Collectors.joining(", ")))); return new EnumValue(this, define(path, new ValueSpec(defaultSupplier, validator, context), defaultSupplier).getPath(), defaultSupplier, converter, clazz); }