跳到正文

S-Lib

作者:Stalemated

An easy to use config and utility library.

收藏

介绍

中文介绍正在准备中,下面暂时显示原文。

S-Lib

S-Lib is a lightweight utility and config library for Minecraft modding.


Example mod: Check out the S-Lib Test Mod repository for complete config usage examples and GUI generation using YACL.


Features

Annotation-Driven Configs

  • Register synced or local configs in a single line of code using SLibConfig.syncedBuilder() or SLibConfig.localBuilder().
  • Network @Sync Options:
  • OVERRIDE_CLIENT: server authoritative config, syncs to the client. Config broadcasts on login and updates in real time. Supports configurable permission checks (e.g., OP-only).
  • INFORM_SERVER: local config, informs server of changes
  • NONE: local config, no network sync
  • Newly added fields are automatically populated with defaults, obsolete keys are removed, and values are clamped to specified ranges when using the annotations @RangeInt, @RangeFloat, and @RangeDouble.
  • Insert comments using the @Comment annotation on top of fields, directly in your config class.
  • Backups are automatically created if file corruption or invalid syntax is detected, preserving the broken config if you accidentally make a mistake.
  • Use the @Nest annotation to allow usage of nested classes for more complex config structures.
  • Use the @Ignore annotation to ignore a field entirely.
  • Built-in type adapters compatible with serialization for AWT’s Color, Minecraft’s TextColor, Identifier, Pattern, and UUID classes.

Custom YACL Controllers

Custom controllers for YACL:

  • Advanced Color Controller: Supports hex codes (#RRGGBBAA), Minecraft color names, and legacy formatting codes (&a, &3).
  • Item or Tag Controller: Autocomplete dropdown for matching exact items, tags (#c:swords), namespaces (minecraft:*), and regex patterns.
  • Simple Dropdowns: Dropdown selectors for Enums and Strings.

General Utilities

  • Target Matcher Engine: Item matching via exact IDs, tags, namespaces, wildcards (*), and regex (regex:.*_sword).
  • Platform Helpers: Abstractions for loader-specific methods, both as a general utility (PlatformHelper) and for network-related features (NetworkHelper).
  • Math and Color Utils: Easing functions (lerp, ease-out, clamp), text gradient generators, color utilities, and more.

常见问题

S-Lib 支持哪些 Minecraft 版本?

S-Lib 支持 Minecraft Java 版 1.20.1–1.21.1,共 2 个版本,可用的加载器:Fabric / Forge / NeoForge。下载时注意选择和你游戏版本一致的文件。

S-Lib 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric / Forge / NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分

Stalemated 的其他作品

查看全部 →