![[ESL] 特别限定库](https://cdn8.newbeebox.com/nbbnext/2026/08/18/500ec2b791e3a817c511c1deb7937dbe.png)
[ESL] 特别限定库
Extra Special Studio 模组的后端辅助工具——共享配置、模组列表检查及注册表,本身不包含 GUI 或游戏玩法。
ExtraSpecialLib
Extra Special Studio 模组的共享后端辅助库——模组列表检查、小型注册表,以及可选的 Forge 配置构建器工具,避免每个 ES 模组重复实现相同的胶水代码。
ExtraSpecialLib (ESL) 是一个库模组。它本身不添加游戏玩法、物品、界面或“主要功能”。它也不拥有任何面向玩家的配置文件。其他 Extra Special Studio 模组依赖它来提供轻量级的共享后端工具,以确保软依赖和注册表在整个技术栈中保持一致。
它做什么:
ESL 提供一个小型Esl* API:EslMods 用于“此模组是否加载?”检查和存在时运行钩子,EslRegistry 用于线程安全的键控注册表,EslStrings 用于小型字符串辅助函数,以及 EslConfig 用于可选的 ForgeConfigSpec 构建器辅助函数(仅 begin/push/pop)。这些配置辅助函数仅提供结构——它们不定义任何键,也不写入 TOML。实际设置始终位于使用它的模组中(例如 ExtraSpecialCore 主题配置、ES Hub 客户端设置)。ESL 完全没有 GUI、渲染或屏幕循环代码。
它如何工作:
依赖的 ES 模组从它们自己的代码中调用 ESL。软集成使用 EslMods 而不是硬类引用。当 ESS 技术栈中的模组需要共享配置部分脚手架时,它可以同时使用 EslConfig,并仍然声明和拥有自己的 Forge 配置文件。ESL 不打开菜单、绘制 UI、决定游戏规则或集中管理整合包设置。
如何使用:
玩家:如果某个模组的页面显示需要 ExtraSpecialLib / ESL(通常是因为 ExtraSpecialCore 需要它),请添加作者测试时使用的相同 Minecraft + 加载器(Forge / NeoForge)版本。你单独使用 ESL 不会获得新菜单或新配置——它存在是因为其他模组需要它。
作者(Extra Special Studio / 未来的 ES 模组):将 ESL 声明为依赖;根据需要,使用 EslMods / EslRegistry / EslStrings。仅将 EslConfig 作为可选的构建器辅助函数——将每个真实的配置键和 TOML 都保留在你自己的模组中。ESS 技术栈之外的内容模组应完全在内部管理其配置。
重要提示:
ESL 是一个依赖项,不是一个独立的内容包,也不是共享设置存储。配置保留在各自的模组中;只有 ESS 技术栈(ExtraSpecialCore、ES Hub、Extra Special GUI 以及未来的 ES 模组)应依赖 ESL 辅助函数。将加载器和游戏版本与需要它的模组匹配(如果按这种方式发布,Forge 和 NeoForge 变体是分开的)。如果加载失败,请先检查依赖 ESL 的模组,然后确认 ESL 版本和加载器与整合包匹配。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。