#pragma once #include #include #include #include "llapi/LLAPI.h" /////////////////////// CrashLogger /////////////////////// // When comes with these plugins, disable builtin CrashLogger since they will cause crash constexpr const char* NoCrashLogger[] = {"AntiCheats"}; #define CL_PRELOG_MODULE L"plugins/LiteLoader/CrashLogger.dll" /////////////////////// LL Configs /////////////////////// #define LITELOADER_CONFIG_FILE "plugins/LiteLoader/LiteLoader.json" namespace ll { struct CommandLineOption { bool noColorOption = false; }; enum class LLServerStatus { Starting, Running, Stopping }; struct LLConfig { bool debugMode = false; bool colorLog = true; int version = 1; int logLevel = 4; std::string language = "system"; bool enableScriptEngine = true; bool alwaysLaunchScriptEngine = false; bool enableAddonsHelper = true; std::string addonsInstallPath = "plugins/AddonsHelper"; bool enableCrashLogger = true; std::string crashLoggerPath = "plugins\\LiteLoader\\CrashLogger_Daemon.exe"; std::string antiGiveCommand = "kick {player}"; bool enableSimpleServerLogger = true; bool enableFixDisconnectBug = true; bool enableFixListenPort = false; bool enableAntiGive = true; bool enableUnlockCmd = true; bool enableErrorStackTraceback = true; bool cacheErrorStackTracebackSymbol = false; bool enableUnoccupyPort19132 = true; bool enableCheckRunningBDS = true; bool enableWelcomeText = true; bool enableFixMcBug = true; bool disableAutoCompactionLog = true; bool enableFixBroadcastBug = true; bool enableOutputFilter = false; bool onlyFilterConsoleOutput = true; bool enableEconomyCore = true; bool enableTpdimCommand = true; bool enableForceUtf8Input = false; bool enableFixBDSCrash = false; bool enableParticleAPI = false; bool enablePermissionAPI = true; std::vector outputFilterRegex = {}; // Runtime Config LLServerStatus serverStatus = LLServerStatus::Starting; std::thread::id tickThreadId; }; LIAPI extern LLConfig globalConfig; LIAPI extern CommandLineOption commandLineOption; void inline to_json(nlohmann::json& j, const LLConfig& conf); void inline from_json(const nlohmann::json& j, LLConfig& conf); bool LoadLLConfig(); bool SaveLLConfig(); } // namespace ll /////////////////////// Addon Helper /////////////////////// #define ZIP_PROGRAM_PATH "./plugins/LiteLoader/7z/7za.exe" #define ADDON_INSTALL_TEMP_DIR "./plugins/LiteLoader/Temp/" #define ADDON_INSTALL_MAX_WAIT 30000 #define VALID_ADDON_FILE_EXTENSION std::set({".mcpack", ".mcaddon", ".zip"})