LibJF/libjf-base/src/main/java/io/gitlab/jfronny/libjf/LibJf.java

37 lines
1.6 KiB
Java

package io.gitlab.jfronny.libjf;
import io.gitlab.jfronny.commons.log.Level;
import io.gitlab.jfronny.commons.log.Logger;
import io.gitlab.jfronny.commons.log.slf4j.SLF4JLogger;
import io.gitlab.jfronny.commons.serialize.gson.api.v1.GsonHolders;
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;
import net.fabricmc.loader.api.entrypoint.EntrypointContainer;
import net.fabricmc.loader.api.metadata.ModMetadata;
public class LibJf implements ModInitializer {
public static final String MOD_ID = "libjf";
public static final Logger LOGGER = Logger.forName(MOD_ID);
static {
//TODO remove all uses of this from dependents, then remove this
GsonHolders.modifyBuilder(builder -> {
for (EntrypointContainer<GsonAdapter> container : FabricLoader.getInstance().getEntrypointContainers(MOD_ID + ":gson_adapter", GsonAdapter.class)) {
ModMetadata meta = container.getProvider().getMetadata();
LOGGER.warn("Mod " + meta.getName() + " (" + meta.getId() + ") uses the now deprecated libjf:gson_adapter. Please update!");
container.getEntrypoint().apply(builder);
}
});
HiddenAnnotationExclusionStrategy.register();
GsonHolders.registerSerializer();
}
@Override
public void onInitialize() {
Logger.registerFactory(SLF4JLogger::new);
Logger.setMinimumLevel(FabricLoader.getInstance().isDevelopmentEnvironment() ? Level.TRACE : Level.INFO);
}
}