
实用核心
一个提供配方冲突解决方案和共享工具函数库的NeoForge模组。
⚙️ Utility Core
一个面向 NeoForge 整合包的多功能库模组。包含合成冲突解决、伤害安全防护、末影龙重生、自动区块预生成以及模组兼容性修复。
✨ 概述
Utility Core 是模组 Minecraft 服务器的瑞士军刀。它最初只是一个简单的合成冲突解决器,后来发展成一个每个整合包都需要的必备工具集合。所有功能均可在配置文件中开关。
🎯 功能
🔗 合成冲突解决
当多个合成配方匹配相同输入时,合成台和物品栏 2x2 网格中会出现一个选择控件。点击任意替代配方即可即时更改输出。
- 通过附加组件在服务端检测匹配的配方
- 在客户端渲染一个带实时更新的选择器网格
- 可配置最大显示配方数量
🕊️ 伤害安全防护
将模组交互(例如 Apothic Attributes + Tombstone)产生的负伤害值钳制为零,防止因 IllegalArgumentException: Damage cannot be negative 导致服务器崩溃。
👻 末影龙自动重生
在服务器启动时自动重生已被击杀的末影龙。与 YUNG's Better End Island 完全兼容——在正确位置放置水晶,并使用 YUNG 的原生重生系统。
🌐 自动区块预生成(ChunkGen)
在服务器空置时以螺旋模式预生成区块,消除玩家探索时因世界生成造成的卡顿。支持多个维度(主世界、下界、末地)。
- 自动暂停:玩家加入时停止,玩家离开时恢复
- 多维度:同时生成主世界、下界和末地
- 可配置速度:每 tick 1 至 300 个区块
- 进度持久化:服务器重启和崩溃后依然保留
- 保持活跃:在生成期间阻止原版服务器空闲暂停
- 命令:
/utilitycore chunkgen status、start、pause、stop、reset
☢️ Corail Tombstone 兼容性
- 压制来自 Tombstone 9.x 的不兼容 mixin 错误
- 在打开 Tombstone 界面后恢复 GUI 缩放比例
- 修复通过
/give获得的 Tombstone 物品的 NBT 初始化
🧣 其他修复
- OutpostZero 伤害上限:将感染伤害限制在 10000 以内,防止即死
- 末影龙兼容性:适用于 YUNG's Better End Island 4.x
⚙️ 完全可配置
每项功能均可通过 config/utility_core-common.toml 单独启用/禁用:
| 配置项 | 默认值 | 关联模组 | 原因 |
|---|---|---|---|
enableCraftingRecipeSelector |
true | 任何有合成冲突的模组 | 当多个合成配方匹配相同材料时显示选择器 UI。与 Fast Workbench (fastbench) 不兼容。 |
enableNegativeDamageFix |
true | Apothic Attributes + Tombstone | Apothic 暴击 + Tombstone Decrepitude 可能产生负伤害值,导致服务器因 IllegalArgumentException: Damage cannot be negative 崩溃。此项将伤害钳制为 0。 |
enableEndDragonRespawn |
false | YUNG's Better End Island / 原版 | 在服务器启动时自动重生末影龙。可有或无 YUNG's BEI: 有 YUNG:检测 Y=63 处的传送门,在 dist=7 (BEI 半径) 放置水晶 无 YUNG:假设传送门在 (0,60,0),在 dist=2 (原版半径) 放置水晶 最后手段:在 YUNG 检查的确切位置强制放置基岩 + 水晶。 |
enableTombstoneGuiScaleFix |
true | Corail Tombstone | Tombstone 在打开其界面时强制将 GUI 缩放设为 4。此项在关闭时恢复原始缩放。 |
enableTombstoneItemInitFix |
true | Corail Tombstone | 通过 /give 获得的 Tombstone 物品(lollipop、magic_scroll)缺少正确的 NBT 数据。此项可正确初始化它们。 |
enableTombstoneErrorHandler |
true | Corail Tombstone | Tombstone 9.x 有一个 mixin(ItemInputMixin)在某些 NeoForge 版本中无法应用。此项可优雅地压制该错误,而不是导致崩溃。 |
enableOutpostZeroDamageCap |
true | OutpostZero | OutpostZero 感染伤害可能绕过死亡事件,在玩家死亡前摧毁护甲。将伤害上限设为 10000 以允许死亡事件先触发。 |
chunkGen.enabled |
false | 原版 / 全部 | 自动区块预生成器。无依赖。 |
chunkGen.chunksPerTick |
1 | 原版 / 全部 | 每个服务器 tick 生成的区块数(1-300)。越高越快,但 CPU 占用也越高。 |
chunkGen.dimensionOverworld |
true | 原版 / 全部 | 在主世界生成区块。 |
chunkGen.dimensionNether |
false | 原版 / 全部 | 在下界生成区块。 |
chunkGen.dimensionEnd |
false | 原版 / 全部 | 在末地生成区块。 |
chunkGen.runWithPlayers |
false | 原版 / 全部 | 如果为 true,即使有玩家在线也会继续生成。如果为 false,玩家加入时暂停。 |
chunkGen.keepAlive |
true | 原版 / 全部 | 防止专用服务器在区块生成期间进入空闲状态(60 秒超时)。 |
📦 要求
| Minecraft | 26.1.2 |
|---|---|
| NeoForge | 26.1.2.78+ |
🎮 使用方法
- 在客户端和服务端均安装此模组。
- 通过
config/utility_core-common.toml或模组菜单进行配置。 - 对于 ChunkGen:设置
chunkGen.enabled=true,生成器将在服务器空置时自动启动。 - 对于末影龙:设置
enableEndDragonRespawn=true,龙将在下一次服务器启动时重生。 - 使用
/utilitycore chunkgen status监控生成进度。
已知不兼容
Fast Workbench (fastbench):与合成选择系统冲突。移除它才能使用此功能。
🔧 面向开发者
// 访问配方选择 API
PolymorphApi api = PolymorphApi.getInstance();
List<RecipeHolder<CraftingRecipe>> recipes = api.getRecipesFor(
recipeManager, RecipeType.CRAFTING, craftingInput, level
);
PlayerRecipeData data = api.getPlayerRecipeData(player);
api.clearPlayerRecipeData(player);
🙏 鸣谢
由 Stalking Dragons 开发。
https://codex.skdragons.com/
Codex Stalking Dragons — Minecraft Modding
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。