config save bug fix

This commit is contained in:
2025-06-17 11:54:50 -05:00
parent d178f1504b
commit e38f4480a3
@@ -137,25 +137,17 @@ public class ConfigManager {
Map<String, Property<?>> nestedProperties = p.getNamespaceValue(); Map<String, Property<?>> nestedProperties = p.getNamespaceValue();
loadProperties(nestedConfig, nestedProperties); loadProperties(nestedConfig, nestedProperties);
} else { } else {
// Handle regular properties if (p.value instanceof Integer) {
switch (p.getType()) { ((Property<Integer>) p).value = c.getAsInt();
case BOOLEAN: } else if (p.value instanceof String) {
((Property<Boolean>) p).value = c.getAsBoolean(); ((Property<String>) p).value = c.getAsString();
break; } else if (p.value instanceof Float) {
case INTEGER: ((Property<Float>) p).value = c.getAsFloat();
((Property<Integer>) p).value = c.getAsInt(); } else if (p.value instanceof Boolean) {
break; ((Property<Boolean>) p).value = c.getAsBoolean();
case FLOAT: } else {
((Property<Float>) p).value = c.getAsFloat(); SaturnClient.LOGGER.warn(
break; "Unknown property type for: " + propertyName);
case STRING:
((Property<String>) p).value = c.getAsString();
break;
case HEX:
((Property<Integer>) p).value = c.getAsInt();
break;
default:
break;
} }
} }
} else { } else {
@@ -201,36 +193,29 @@ public class ConfigManager {
for (String propertyName : propertyMap.keySet()) { for (String propertyName : propertyMap.keySet()) {
Property<?> property = propertyMap.get(propertyName); Property<?> property = propertyMap.get(propertyName);
JsonElement propertyValue = null; JsonElement propertyValue = null;
// Convert the property value based on its type
if (property.getType() == Property.PropertyType.NAMESPACE) { switch (property.getType()) {
// Handle nested namespace case NAMESPACE:
JsonObject nestedConfig = new JsonObject(); // Handle nested namespace
Map<String, Property<?>> nestedProperties = (Map<String, Property<?>>) property.value; JsonObject nestedConfig = new JsonObject();
saveProperties(nestedConfig, nestedProperties); Map<String, Property<?>> nestedProperties = (Map<String, Property<?>>) property.value;
propertyValue = nestedConfig; saveProperties(nestedConfig, nestedProperties);
} else { propertyValue = nestedConfig;
// Convert the property value based on its type break;
switch (property.getType()) { default:
case BOOLEAN: if (property.value instanceof Integer) {
propertyValue = new JsonPrimitive((Boolean) property.value);
break;
case INTEGER:
propertyValue = new JsonPrimitive((Integer) property.value); propertyValue = new JsonPrimitive((Integer) property.value);
break; } else if (property.value instanceof String) {
case FLOAT:
propertyValue = new JsonPrimitive((Float) property.value);
break;
case STRING:
propertyValue = new JsonPrimitive((String) property.value); propertyValue = new JsonPrimitive((String) property.value);
break; } else if (property.value instanceof Float) {
case HEX: propertyValue = new JsonPrimitive((Float) property.value);
propertyValue = new JsonPrimitive((Integer) property.value); } else if (property.value instanceof Boolean) {
break; propertyValue = new JsonPrimitive((Boolean) property.value);
default: } else {
SaturnClient.LOGGER.warn( SaturnClient.LOGGER.warn(
"Unknown property type for: " + propertyName); "Unknown property type for: " + propertyName);
break; }
} break;
} }
if (propertyValue != null) { if (propertyValue != null) {