mirror of
https://github.com/JonasunderscoreJones/Microcraft.git
synced 2025-10-25 20:49:19 +02:00
134 lines
8.6 KiB
Java
134 lines
8.6 KiB
Java
package me.jonasjones.microcraft.config;
|
|
|
|
import com.mojang.datafixers.util.Pair;
|
|
import me.jonasjones.microcraft.Microcraft;
|
|
import me.jonasjones.microcraft.util.VerboseLogger;
|
|
|
|
public class ModConfigs {
|
|
public static SimpleConfig CONFIGMAIN;
|
|
public static SimpleConfig CONFIGLISTS;
|
|
//configMain
|
|
public static Boolean ISENABLED;
|
|
public static String DEFAULTBOARDFALLBACK;
|
|
public static int LOOPINTERVAL;
|
|
public static Boolean BOARDMELTING;
|
|
public static Boolean VERBOSE = false; //needs to be set to false since the verbose logger is called before
|
|
// config file is fully loaded
|
|
public static String EDITOR;
|
|
public static String CUSTOMEDITOR;
|
|
//configList
|
|
public static Boolean DISPLAYENTRYALL;
|
|
public static Boolean DISPLAYENTRYPLAYERJUMP;
|
|
public static Boolean DISPLAYENTRYPLAYERSPRINT;
|
|
public static Boolean DISPLAYENTRYPLAYERWALKFORWARDS;
|
|
public static Boolean DISPLAYENTRYPLAYERWALKBACKWARDS;
|
|
public static Boolean DISPLAYENTRYPLAYERWALKRIGHT;
|
|
public static Boolean DISPLAYENTRYPLAYERWALKLEFT;
|
|
public static Boolean DISPLAYENTRYPLAYERSNEAK;
|
|
public static Boolean DISPLAYENTRYISALL;
|
|
public static Boolean DISPLAYENTRYISPLAYERJUMP;
|
|
public static Boolean DISPLAYENTRYISPLAYERSPRINT;
|
|
public static Boolean DISPLAYENTRYISPLAYERWALKFORWARDS;
|
|
public static Boolean DISPLAYENTRYISPLAYERWALKBACKWARDS;
|
|
public static Boolean DISPLAYENTRYISPLAYERWALKRIGHT;
|
|
public static Boolean DISPLAYENTRYISPLAYERWALKLEFT;
|
|
public static Boolean DISPLAYENTRYISPLAYERSNEAK;
|
|
private static ModConfigProvider configMain;
|
|
private static ModConfigProvider configLists;
|
|
|
|
public static void registerConfigs() {
|
|
configMain = new ModConfigProvider();
|
|
configLists = new ModConfigProvider();
|
|
|
|
createConfigs();
|
|
|
|
CONFIGMAIN = SimpleConfig.of(Microcraft.MOD_ID + "-main").provider(configMain).request();
|
|
CONFIGLISTS = SimpleConfig.of(Microcraft.MOD_ID + "-lists").provider(configLists).request();
|
|
|
|
assignConfigs();
|
|
|
|
//make verbose logger show that it is active and print configs to logger
|
|
VerboseLogger.info("Verbose Logger is now logging.");
|
|
VerboseLogger.info("Loaded config file CONFIGMAIN successfully: " + configMain.getConfigsList().size() + " " +
|
|
"configurations have been set properly");
|
|
VerboseLogger.info("Loaded config file CONFIGMAIN successfully: " + configLists.getConfigsList().size() + " " +
|
|
"configurations have been set properly");
|
|
}
|
|
|
|
private static void createConfigs() {
|
|
//configMain
|
|
configMain.addKeyValuePair(new Pair<>("basic.isEnabled", true), "whether or not the mod is enabled");
|
|
configMain.addKeyValuePair(new Pair<>("basic.defaultBoardFallback", "A-nano"), "The board to automatically be" +
|
|
" selected if failed to detect automatically. All valid ID's can be found at: https://github" +
|
|
".com/J-onasJones/MicrocontrollerMC/wiki/Microcontroller-Boards#supported-boards");
|
|
configMain.addKeyValuePair(new Pair<>("advanced.loopInterval", 50), "The Delay in ms between each check.");
|
|
configMain.addKeyValuePair(new Pair<>("fun.boardMelting", false), "Whether or not the board should have a " +
|
|
"flame overlay instead of being greyed out when not connected.");
|
|
configMain.addKeyValuePair(new Pair<>("debug.verbose", false), "Toggle verbose console output.");
|
|
configMain.addKeyValuePair(new Pair<>("editor.default", "ingame"), "The default editor for the board program." +
|
|
" All valid default Editors can be found at: https://github" +
|
|
".com/J-onasJones/MicrocontrollerMC/wiki/Board-Program-Editors#available-editors");
|
|
configMain.addKeyValuePair(new Pair<>("editor.custom", "None"), "The editor to choose if 'editor.default' is " +
|
|
"set to 'custom'.");
|
|
|
|
//configLists
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.all", false), "Whether or not to display all entries. " +
|
|
"This overrides all other states except for debug and experimental entries. More infos can be found " +
|
|
"at: https://github.com/J-onasJones/MicrocontrollerMC/wiki/Pin-Map-Entries#list-of-all-entries");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerJump", true), "Display Player Jump Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerSprint", true), "Display Player Sprint Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerWalkForwards", true), "Display Player Walk " +
|
|
"Forwards Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerWalkBackwards", true), "Display Player Walk " +
|
|
"Backwards Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerWalkRight", true), "Display Player Walk Right " +
|
|
"Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerWalkLeft", true), "Display Player Walk Left Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntry.playerSneak", true), "Display Player Sneak Entry");
|
|
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.all", false), "Whether or not to display all 'Is' " +
|
|
"entries. This overrides all other states except for debug and experimental entries. More infos can " +
|
|
"be found at: https://github.com/J-onasJones/MicrocontrollerMC/wiki/Pin-Map-Entries#list-of-all" +
|
|
"-entries");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerJump", true), "Display Is Player Jumping Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerSprint", true), "Display Is Player Sprinting " +
|
|
"Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerWalkForwards", true), "Display Is Player Walking" +
|
|
" Forwards Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerWalkBackwards", true), "Display Is Player " +
|
|
"Walking Backwards Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerWalkRight", true), "Display Is Player Walking " +
|
|
"Right Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerWalkLeft", true), "Display Is Player Walking " +
|
|
"Left Entry");
|
|
configLists.addKeyValuePair(new Pair<>("displayEntryIs.playerSneak", true), "Display Is Player Sneaking Entry");
|
|
}
|
|
|
|
private static void assignConfigs() {
|
|
ISENABLED = CONFIGMAIN.getOrDefault("basic.isEnabled", true);
|
|
DEFAULTBOARDFALLBACK = CONFIGMAIN.getOrDefault("basic.defaultBoardFallback", "A-nano");
|
|
LOOPINTERVAL = CONFIGMAIN.getOrDefault("advanced.loopInterval", 50);
|
|
BOARDMELTING = CONFIGMAIN.getOrDefault("fun.boardMelting", false);
|
|
VERBOSE = CONFIGMAIN.getOrDefault("debug.verbose", false);
|
|
EDITOR = CONFIGMAIN.getOrDefault("editor.default", "ingame");
|
|
CUSTOMEDITOR = CONFIGMAIN.getOrDefault("editor.custom", "None");
|
|
|
|
DISPLAYENTRYALL = CONFIGLISTS.getOrDefault("displayEntry.all", false);
|
|
DISPLAYENTRYPLAYERJUMP = CONFIGLISTS.getOrDefault("displayEntry.playerJump", true);
|
|
DISPLAYENTRYPLAYERSPRINT = CONFIGLISTS.getOrDefault("displayEntry.playerSprint", true);
|
|
DISPLAYENTRYPLAYERWALKFORWARDS = CONFIGLISTS.getOrDefault("displayEntry.playerWalkForwards", true);
|
|
DISPLAYENTRYPLAYERWALKBACKWARDS = CONFIGLISTS.getOrDefault("displayEntry.playerWalkBackwards", true);
|
|
DISPLAYENTRYPLAYERWALKRIGHT = CONFIGLISTS.getOrDefault("displayEntry.playerWalkRight", true);
|
|
DISPLAYENTRYPLAYERWALKLEFT = CONFIGLISTS.getOrDefault("displayEntry.playerWalkRight", true);
|
|
DISPLAYENTRYPLAYERSNEAK = CONFIGLISTS.getOrDefault("displayEntry.playerSneak", true);
|
|
|
|
DISPLAYENTRYISALL = CONFIGLISTS.getOrDefault("displayEntryIs.all", false);
|
|
DISPLAYENTRYISPLAYERJUMP = CONFIGLISTS.getOrDefault("displayEntryIs.playerJump", true);
|
|
DISPLAYENTRYISPLAYERSPRINT = CONFIGLISTS.getOrDefault("displayEntryIs.playerSprint", true);
|
|
DISPLAYENTRYISPLAYERWALKFORWARDS = CONFIGLISTS.getOrDefault("displayEntryIs.playerWalkForwards", true);
|
|
DISPLAYENTRYISPLAYERWALKBACKWARDS = CONFIGLISTS.getOrDefault("displayEntryIs.playerWalkBackwards", true);
|
|
DISPLAYENTRYISPLAYERWALKRIGHT = CONFIGLISTS.getOrDefault("displayEntryIs.playerWalkRight", true);
|
|
DISPLAYENTRYISPLAYERWALKLEFT = CONFIGLISTS.getOrDefault("displayEntryIs.playerWalkLeft", true);
|
|
DISPLAYENTRYISPLAYERSNEAK = CONFIGLISTS.getOrDefault("displayEntryIs.playerSneak", true);
|
|
}
|
|
}
|