diff --git a/src/main/java/iguanaman/hungeroverhaul/config/ConfigOption.java b/src/main/java/iguanaman/hungeroverhaul/config/ConfigOption.java index 7a8e0ef..38b1723 100644 --- a/src/main/java/iguanaman/hungeroverhaul/config/ConfigOption.java +++ b/src/main/java/iguanaman/hungeroverhaul/config/ConfigOption.java @@ -25,12 +25,18 @@ public ConfigOption(String category, String name, T defaultValue, T minValue, T this.defaultValue = defaultValue; this.blankSlate = blankSlate; this.comment = comment; - this.minValue = minValue != null ? minValue : getDefaultMinValue(defaultValue); - this.maxValue = maxValue != null ? maxValue : getDefaultMaxValue(defaultValue); + this.minValue = minValue != null ? minValue : getDefaultMinValue(); + this.maxValue = maxValue != null ? maxValue : getDefaultMaxValue(); + } + + public String getComment() + { + String commentSuffix = "vanilla: " + blankSlate; + return comment + " [" + commentSuffix + "]"; } @SuppressWarnings("unchecked") - private T getDefaultMinValue(T defaultValue) + private T getDefaultMinValue() { if (defaultValue instanceof Integer) return (T) Integer.valueOf(Integer.MIN_VALUE); @@ -43,7 +49,7 @@ else if (defaultValue instanceof Double) } @SuppressWarnings("unchecked") - private T getDefaultMaxValue(T defaultValue) + private T getDefaultMaxValue() { if (defaultValue instanceof Integer) return (T) Integer.valueOf(Integer.MAX_VALUE); @@ -59,15 +65,15 @@ else if (defaultValue instanceof Double) public T get(Configuration config) { if (defaultValue instanceof Boolean) - return (T) Boolean.valueOf(config.getBoolean(name, category, (Boolean) defaultValue, comment)); + return (T) Boolean.valueOf(config.getBoolean(name, category, (Boolean) defaultValue, getComment())); else if (defaultValue instanceof Integer) - return (T) Integer.valueOf(config.getInt(name, category, (Integer) defaultValue, (Integer) minValue, (Integer) maxValue, comment)); + return (T) Integer.valueOf(config.getInt(name, category, (Integer) defaultValue, (Integer) minValue, (Integer) maxValue, getComment())); else if (defaultValue instanceof Float) - return (T) Float.valueOf((float) config.getFloat(name, category, (Float) defaultValue, (Float) minValue, (Float) maxValue, comment)); + return (T) Float.valueOf((float) config.getFloat(name, category, (Float) defaultValue, (Float) minValue, (Float) maxValue, getComment())); else if (defaultValue instanceof Double) return (T) Double.valueOf(Math.min((Double) maxValue, Math.max((Double) minValue, getProperty(config).getDouble()))); else if (defaultValue instanceof String) - return (T) config.getString(name, category, (String) defaultValue, comment); + return (T) config.getString(name, category, (String) defaultValue, getComment()); else throw new RuntimeException("Unknown ConfigOption type for '" + category + ":" + name + "': " + defaultValue.getClass().getName()); } diff --git a/src/main/java/iguanaman/hungeroverhaul/config/IguanaConfig.java b/src/main/java/iguanaman/hungeroverhaul/config/IguanaConfig.java index 13759e2..adafa88 100644 --- a/src/main/java/iguanaman/hungeroverhaul/config/IguanaConfig.java +++ b/src/main/java/iguanaman/hungeroverhaul/config/IguanaConfig.java @@ -217,9 +217,9 @@ public static ConfigOption putOptionInList(ConfigCategory category, Strin // hunger public static final ConfigOption constantHungerLossOption = addOption(CATEGORY_HUNGER, "constantHungerLoss", true, false, "You lose hunger (very slowly) at all times"); public static boolean constantHungerLoss; - public static final ConfigOption damageOnStarveOption = addOption(CATEGORY_HUNGER, "damageOnStarve", 200, 2, "Amount of damage you take when hunger hits zero (vanilla default 2)"); + public static final ConfigOption damageOnStarveOption = addOption(CATEGORY_HUNGER, "damageOnStarve", 200, 2, "Amount of damage you take when hunger hits zero"); public static int damageOnStarve; - public static final ConfigOption respawnHungerValueOption = addOption(CATEGORY_HUNGER, "respawnHungerValue", 20, 0, null, 20, "hunger value set after respawning for peaceful/easy difficulty (vanilla default is 20)"); + public static final ConfigOption respawnHungerValueOption = addOption(CATEGORY_HUNGER, "respawnHungerValue", 20, 0, null, 20, "hunger value set after respawning for peaceful/easy difficulty"); public static int respawnHungerValue; public static final ConfigOption respawnHungerDifficultyModifierOption = addOption(CATEGORY_HUNGER, "respawnHungerDifficultyModifier", 4, 0, null, 4, "The amount difficulty modifies the hunger value set after respawning ('difficultyScaling' and 'difficultyScalingRespawnHunger' must be true)"); public static int respawnHungerDifficultyModifier; @@ -243,7 +243,7 @@ public static ConfigOption putOptionInList(ConfigCategory category, Strin public static boolean addLowStatMiningSlowdown; // health - public static final ConfigOption minHungerToHealOption = addOption(CATEGORY_HEALTH, "minHungerToHeal", 7, 0, null, 18, "Minimum hunger level before healing starts (vanilla default is 18)"); + public static final ConfigOption minHungerToHealOption = addOption(CATEGORY_HEALTH, "minHungerToHeal", 7, 0, null, 18, "Minimum hunger level before healing starts"); public static int minHungerToHeal; public static final ConfigOption foodRegensHealthOption = addOption(CATEGORY_HEALTH, "foodRegensHealth", false, false, "Eating food regenerates health"); public static boolean foodRegensHealth;