From 359be1a8805b3ffadbdcaf1a6ecb6226b669f28f Mon Sep 17 00:00:00 2001 From: tterrag Date: Sun, 23 Jun 2019 02:57:00 -0400 Subject: [PATCH] Clean up config comments, make comment array nonnull --- .../minecraftforge/common/ForgeConfigSpec.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java b/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java index 5f1d6c4e7..07563b2a4 100644 --- a/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java +++ b/src/main/java/net/minecraftforge/common/ForgeConfigSpec.java @@ -39,6 +39,8 @@ import java.util.function.Function; import java.util.function.Predicate; import java.util.function.Supplier; +import javax.annotation.Nonnull; + import org.apache.commons.lang3.tuple.Pair; import org.apache.logging.log4j.LogManager; @@ -455,10 +457,10 @@ public class ForgeConfigSpec extends UnmodifiableConfigWrapper public Builder push(List path) { currentPath.addAll(path); - if (context.getComment() != null) { + if (context.hasComment()) { - levelComments.put(new ArrayList(currentPath), LINE_JOINER.join(context.getComment())); - context.setComment((String[])null); + levelComments.put(new ArrayList(currentPath), context.buildComment()); + context.setComment(); // Set to empty } context.ensureEmpty(); return this; @@ -496,14 +498,16 @@ public class ForgeConfigSpec extends UnmodifiableConfigWrapper private static class BuilderContext { - private String[] comment; + private @Nonnull String[] comment = new String[0]; private String langKey; private Range range; private boolean worldRestart = false; private Class clazz; public void setComment(String... value) { this.comment = value; } + public boolean hasComment() { return this.comment.length > 0; } public String[] getComment() { return this.comment; } + public String buildComment() { return LINE_JOINER.join(comment); } public void setTranslationKey(String value) { this.langKey = value; } public String getTranslationKey() { return this.langKey; } public > void setRange(Range value) @@ -520,7 +524,7 @@ public class ForgeConfigSpec extends UnmodifiableConfigWrapper public void ensureEmpty() { - validate(comment, "Non-null comment when null expected"); + validate(hasComment(), "Non-empty comment when empty expected"); validate(langKey, "Non-null translation key when null expected"); validate(range, "Non-null range when null expected"); validate(worldRestart, "Dangeling world restart value set to true"); @@ -594,7 +598,7 @@ public class ForgeConfigSpec extends UnmodifiableConfigWrapper Objects.requireNonNull(supplier, "Default supplier can not be null"); Objects.requireNonNull(validator, "Validator can not be null"); - this.comment = context.getComment() == null ? null : LINE_JOINER.join(context.getComment()); + this.comment = context.hasComment() ? context.buildComment() : null; this.langKey = context.getTranslationKey(); this.range = context.getRange(); this.worldRestart = context.needsWorldRestart();