Skip to content

Commit

Permalink
make %field required
Browse files Browse the repository at this point in the history
  • Loading branch information
Lyfts committed Sep 3, 2024
1 parent 982cf8d commit 0947225
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
4 changes: 2 additions & 2 deletions src/main/java/com/gtnewhorizon/gtnhlib/config/Config.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@
* <p>
* Placeholders: <br>
* {@code %mod} - mod id <br>
* {@code %cat} - category name <br>
* {@code %file} - file name <br>
* {@code %field} - field name
* {@code %cat} - category name <br>
* {@code %field} - field name <b>(required)</b> <br>
* </p>
* Default pattern: {@code %mod.%cat.%field}. Categories use the pattern without {@code %field}. Can be overridden
* for fields with {@link Config.LangKey}.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,18 +349,23 @@ private static IConfigElementProxy<?> getProxyElement(IConfigElement<?> element,
}

private static String getLangKey(Class<?> configClass, @Nullable Config.LangKey langKey, @Nullable String fieldName,
String categoryName, boolean isCategory) {
String categoryName, boolean isCategory) throws ConfigException {
if (langKey != null) return langKey.value();

Config.LangKeyPattern pattern = getClassOrBaseAnnotation(configClass, Config.LangKeyPattern.class);
String name = Optional.ofNullable(fieldName).orElse(categoryName);
if (pattern == null) return name;
String patternStr = pattern.pattern();

if (!patternStr.contains("%field") || !patternStr.contains(".")) {
throw new ConfigException("Invalid pattern for class " + configClass.getName() + ": " + patternStr);
}

Config cfg = getClassOrBaseAnnotation(configClass, Config.class);
// Config annotation can't be null at this point
assert cfg != null;

return buildKeyFromPattern(cfg, pattern.pattern(), name, isCategory);
return buildKeyFromPattern(cfg, patternStr, name, isCategory);
}

private static String buildKeyFromPattern(Config cfg, String pattern, String fieldName, boolean isCategory) {
Expand Down

0 comments on commit 0947225

Please sign in to comment.