package io.gitlab.jfronny.breakme; import io.gitlab.jfronny.breakme.crash.KnownProviders; import io.gitlab.jfronny.libjf.config.api.v1.JfCustomConfig; import io.gitlab.jfronny.libjf.config.api.v1.dsl.DSL; public class BreakMeConfig implements JfCustomConfig { public static Cause event = Cause.Death; public static String method = "Exception"; public enum Cause { Damage, Death, All, None } @Override public void register(DSL.Defaulted dsl) { dsl.register(builder -> builder .value("event", event, Cause.class, () -> event, v -> event = v) .value("method", method, KnownProviders.PROVIDERS.keySet().toArray(String[]::new), () -> method, v -> method = v) .addVerifier(() -> { if (!KnownProviders.PROVIDERS.containsKey(BreakMeConfig.method)) { BreakMeConfig.method = "None"; BreakMe.LOGGER.error("Could not find specified crash provider, defaulting to None"); } }) ); } }