Explicitly initialize LibJF from other preLaunch entrypoints
ci/woodpecker/push/docs Pipeline was successful Details
ci/woodpecker/tag/docs Pipeline was successful Details
ci/woodpecker/push/jfmod Pipeline was successful Details
ci/woodpecker/tag/jfmod Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2022-12-13 20:36:11 +01:00
parent 6227c1d228
commit 712f059ba5
Signed by: Johannes
GPG Key ID: E76429612C2929F4
3 changed files with 12 additions and 2 deletions

View File

@ -20,6 +20,14 @@ public class LibJf implements PreLaunchEntrypoint {
@Override
public void onPreLaunch() {
Logger.registerFactory(SLF4JLogger::new);
setup();
}
private static boolean setup = false;
public static void setup() {
if (!setup) {
setup = true;
Logger.registerFactory(SLF4JLogger::new);
}
}
}

View File

@ -1,5 +1,6 @@
package io.gitlab.jfronny.libjf.config.impl.entrypoint;
import io.gitlab.jfronny.libjf.LibJf;
import io.gitlab.jfronny.libjf.config.api.v1.JfCustomConfig;
import io.gitlab.jfronny.libjf.config.api.v1.dsl.DSL;
import io.gitlab.jfronny.libjf.config.impl.ConfigHolderImpl;
@ -17,6 +18,7 @@ public class JfConfigSafe implements PreLaunchEntrypoint {
public static final Set<String> REGISTERED_MODS = new HashSet<>();
@Override
public void onPreLaunch() {
LibJf.setup();
for (EntrypointContainer<Object> custom : FabricLoader.getInstance().getEntrypointContainers(ConfigHolderImpl.MODULE_ID, Object.class)) {
if (!REGISTERED_MODS.contains(custom.getProvider().getMetadata().getId()) && custom.getEntrypoint() instanceof JfCustomConfig cfg) {
REGISTERED_MODS.add(custom.getProvider().getMetadata().getId());

View File

@ -6,7 +6,6 @@ import io.gitlab.jfronny.libjf.config.api.v1.dsl.DSL;
import io.gitlab.jfronny.libjf.config.api.v1.reflect.ReflectiveConfigBuilder;
import io.gitlab.jfronny.libjf.config.impl.ConfigHolderImpl;
import io.gitlab.jfronny.libjf.config.impl.entrypoint.JfConfigSafe;
import io.gitlab.jfronny.libjf.config.impl.reflect.ReflectiveConfigBuilderImpl;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.entrypoint.EntrypointContainer;
import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint;
@ -14,6 +13,7 @@ import net.fabricmc.loader.api.entrypoint.PreLaunchEntrypoint;
public class JfConfigReflectSafe implements PreLaunchEntrypoint {
@Override
public void onPreLaunch() {
LibJf.setup();
for (EntrypointContainer<Object> config : FabricLoader.getInstance().getEntrypointContainers(ConfigHolderImpl.MODULE_ID, Object.class)) {
registerIfMissing(config.getProvider().getMetadata().getId(), config.getEntrypoint());
}