
FentLib
杰克的模组实用代码,以及原版/模组调整,比如动态服务器图标,或将神秘法典导出为HTML文件的工具。
FentLib
一个共享代码库及调整/修复模组。

功能
- 支持动态 GIF 服务器图标。只需将
server-icon.gif文件放入服务器根目录即可。大小限制可配置。HodgePodge 是一个可选依赖,如果你想使用更大的 GIF(因为数据包大小限制),则需要它。
使用 /reload_icon命令重新加载图标。也适用于server-icon.png。 - 移除模组列表界面中的 EnderCore / HodgePodge 信息按钮。
- API 用于修改
S00PacketServerInfo数据包。示例:
public class ClientProxy extends CommonProxy {
@Override
public void preInit(FMLPreInitializationEvent event) {
S00PacketServerInfoModifyService.registerDeserializeHandler((response, fentlibData, serverData) -> {
if (fentlibData.has("server_to_client_payload")) {
// 哟嚯,我们收到东西了!!!!
// serverData 包含服务器 IP 等信息
}
});
}
}
public class CommonProxy {
public void preInit(FMLPreInitializationEvent event) {
if (MiscUtil.isServer()) {
S00PacketServerInfoModifyService.registerHandler((response, fentLibPresent) -> {
// fentLibPresent 只是一个布尔值,表示是否加载了 fentlib
return "server_to_client_payload";
// 你可以返回一个 String、一个 S00PacketServerInfoModifyService.KeyValue 或一个 JsonElement。如果你返回
// 一个非空值,它将被传递回客户端
});
}
}
}
/dump_thaumonomicon <可选注释>命令。在客户端运行,所有神秘时代研究将被转储为一个静态网站。注释将显示在页面标题下方,你可以注明进行转储时所使用的整合包或模组。
/warpdim[维度 ID] 命令。轻松传送到某个维度(用于调试)。SessionAccessTokenOverrideMixin允许在开发环境启动时通过-Dfentlib.accessTokenOverride=<令牌>覆盖会话访问令牌。- 客户端声音工具,用于在不增加音量的情况下设置自定义最大衰减距离。方法:
SoundUtil.withMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(ISound sound, float maxDistance);
SoundUtil.playWithMaxDistance(SoundHandler soundHandler, ISound sound, float maxDistance);
SoundUtil.playAt(ResourceLocation soundResource, double x, double y, double z, float volume, float pitch, float maxDistance);
示例:
SoundUtil.playAt(waveSound, x, y, z, 0.25F, 1.0F, 64.0F);
- 为本地 Web 界面提供基于 Minecraft 端口的 HTTP 反向代理。在
config/fentlib/http-port-routes.json中配置路径到端口的映射,这样诸如 Dynmap 之类的服务就可以通过服务器端口访问,例如/dynmap/...,而无需使用单独的端口。 在config/fentlib/fentlib.cfg中设置publicBaseUrl为服务器的公共基础 URL;模组应在其基础上附加自己的相对路由路径。 - QOI 图像格式支持及工具,感谢 saharNooby/qoi-java。有关用法示例,请查看
server-icon.qoi支持的实现方式。 - WebP 图像格式支持及工具,感谢 haraldk/TwelveMonkeys。有关用法示例,请查看
server-icon.webp支持的实现方式。 - 可以使用
serverIconDirectory配置选项设置默认服务器图标路径。
钓鱼战利品配置
在 config/fentlib/fentlib.cfg 中设置 enableFishingLootTable=true 以启用 FentLib 的钓鱼覆盖。战利品表位于 config/fentlib/fishing-loot.json。启用后,原版仍会决定收获是 鱼、垃圾 还是 宝藏,但物品本身只来自此 JSON。
该 JSON 具有顶层的 fish、junk 和 treasure 列表。每个条目使用原版风格的 weight,支持 count 和 meta 范围,可以使用 biomes 限制为生物群系白名单,或使用 invertBiomes 反转为黑名单,并且生物群系选择器可以是数字 ID、生物群系名称或匹配任何生物群系的 *。条目还可以使用明确的数字附魔 ID 或使用 useVanillaEnchantingRules 来应用原版风格的随机附魔。
{
"fish": [
{
"item": "minecraft:fish",
"weight": 60,
"count": { "min": 1, "max": 1 },
"meta": { "min": 0, "max": 0 }
},
{
"item": "minecraft:fish",
"weight": 10,
"count": { "min": 1, "max": 2 },
"meta": { "min": 1, "max": 1 },
"biomes": ["ocean", "river"]
}
]
}
依赖
构建
./gradlew build.
致谢
许可
LGPLv3.
请我喝杯咖啡
- ko-fi.com
- 门罗币:
893tQ56jWt7czBsqAGPq8J5BDnYVCg2tvKpvwTcMY1LS79iDabopdxoUzNLEZtRTH4ewAcKLJ4DM4V41fvrJGHgeKArxwmJ

正在加载版本记录…






正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。