package io.gitlab.jfronny.libjf.config.impl.entrypoint; import com.mojang.brigadier.Command; import io.gitlab.jfronny.libjf.LibJf; import io.gitlab.jfronny.libjf.config.api.ConfigHolder; import net.fabricmc.api.ModInitializer; import net.fabricmc.fabric.api.command.v1.CommandRegistrationCallback; import net.minecraft.text.LiteralText; import static net.minecraft.server.command.CommandManager.literal; public class JfConfigCommand implements ModInitializer { @Override public void onInitialize() { CommandRegistrationCallback.EVENT.register((dispatcher, dedicated) -> { dispatcher.register(literal(LibJf.MOD_ID).requires((serverCommandSource) -> serverCommandSource.hasPermissionLevel(4)) .then(literal("config").executes(context -> { context.getSource().sendFeedback(new LiteralText("[libjf-config-v0] Loaded configs for:"), false); ConfigHolder.getInstance().getRegistered().forEach((s, config) -> { context.getSource().sendFeedback(new LiteralText("- " + s), false); }); return Command.SINGLE_SUCCESS; }).then(literal("reload").executes(context -> { ConfigHolder.getInstance().getRegistered().forEach((mod, config) -> config.load()); context.getSource().sendFeedback(new LiteralText("[libjf-config-v0] Reloaded configs"), true); return Command.SINGLE_SUCCESS; })))); }); } }