[config] Handle special numbers

This commit is contained in:
Johannes Frohnmeyer 2022-08-28 13:55:15 +02:00
parent 6dcb2defa5
commit 51ef02c767
Signed by: Johannes
GPG Key ID: E76429612C2929F4
4 changed files with 5 additions and 8 deletions

View File

@ -1,4 +1,4 @@
apply from: "https://jfmods.gitlab.io/scripts/jfmod.gradle"
apply from: "https://jfmods.gitlab.io/scripts/gradle/v2.gradle"
allprojects {
if (project.name in rootProject.nonModSubprojects) return

View File

@ -3,8 +3,7 @@ package io.gitlab.jfronny.libjf;
import io.gitlab.jfronny.commons.log.Logger;
import io.gitlab.jfronny.commons.serialize.gson.api.GsonHolder;
import io.gitlab.jfronny.gson.GsonBuilder;
import io.gitlab.jfronny.libjf.coprocess.CoProcessManager;
import io.gitlab.jfronny.libjf.gson.GsonAdapter;;
import io.gitlab.jfronny.libjf.gson.GsonAdapter;
import io.gitlab.jfronny.libjf.gson.HiddenAnnotationExclusionStrategy;
import net.fabricmc.api.ModInitializer;
import net.fabricmc.loader.api.FabricLoader;
@ -15,6 +14,7 @@ public class LibJf implements ModInitializer {
static {
GsonHolder.modifyBuilder((final GsonBuilder builder) -> {
builder.serializeSpecialFloatingPointValues();
builder.setOmitQuotes();
for (GsonAdapter adapter : FabricLoader.getInstance().getEntrypoints(MOD_ID + ":gson_adapter", GsonAdapter.class)) {
adapter.apply(builder);

View File

@ -48,7 +48,7 @@ public class ConfigBuilderImpl extends CategoryBuilderImpl<ConfigBuilderImpl> im
JsonWriter jw = GsonHolder.getGson().newJsonWriter(bw)) {
writeTo(jw, c);
} catch (Exception e) {
LibJf.LOGGER.error("Could not write config", e);
LibJf.LOGGER.error("Could not write config for " + id, e);
}
}));
};

View File

@ -1,9 +1,7 @@
package io.gitlab.jfronny.libjf.unsafe;
import io.gitlab.jfronny.commons.log.Logger;
import io.gitlab.jfronny.commons.serialize.gson.api.GsonHolder;
import io.gitlab.jfronny.libjf.LibJf;
import io.gitlab.jfronny.libjf.gson.HiddenAnnotationExclusionStrategy;
import net.fabricmc.loader.api.LanguageAdapter;
public class JfLanguageAdapter implements LanguageAdapter {
@ -12,8 +10,7 @@ public class JfLanguageAdapter implements LanguageAdapter {
static {
Logger.registerFactory(FLLogger::new); // Reset in LibJf entrypoint
HiddenAnnotationExclusionStrategy.register();
GsonHolder.register();
LibJf.LOGGER.info("Starting unsafe init"); // Also ensures LibJF.<clinit> is called and Gson is initialized
DynamicEntry.execute("libjf:preEarly", UltraEarlyInit.class, s -> s.instance().init());
DynamicEntry.execute("libjf:early", UltraEarlyInit.class, s -> s.instance().init());
LibJf.LOGGER.info("LibJF unsafe init completed");