
限制核心
允许开发者通过自定义语法JSON限制特定物品和方块的操作
约束核心 (Restrictive Core)
约束核心 是一款轻量级、严格数据驱动的服务端实用框架,专为整合包开发者设计。它提供了绝对且无需代码的方式,来控制玩家交互、物品使用和方块机制。
完全基于 JSON 配置和 NBT 评估构建,约束核心 允许你构建复杂的阶段进程、动态门控系统和自定义 UI 限制,而无需外部脚本语言(如 KubeJS 或 CraftTweaker)。


从开发者视角看模组如何运作
该模组通过在你的 config/restrictive_core/ 目录下生成的 JSON 文件运作。对配置文件的更改可以在不重启服务器的情况下于运行时评估——只需执行 /reload (很快将添加 /rc reload) 即可重新解析数据并立即应用限制。

从玩家视角看模组如何运作
该模组通过取消事件 (canceling events) 来防止玩家获取、使用、放置和破坏物品与方块。玩家所能看到的只是他们动作栏 (action bar)、工具提示中的一条消息,或者其物品栏/快捷栏中的红色轮廓,所有这些都可以在游戏加载时提供的 JSON 文件中进行编辑。
语法与解析器引擎
标准 JSON 非常僵化,但 约束核心 利用一个自定义解析器来让整合包开发更快、更简单、更好:
- 注释支持: 使用
#安全地为你的文件添加注释,为你的开发团队留下笔记,而不会破坏解析器或导致行号错误错位。 - 通配符与排除项: 使用通配符定位整个模组命名空间(例如
"create:*")。需要例外?在项前添加减号(例如"-create:andesite_alloy")以从更广泛的标签或通配符限制中排除特定的注册表项。 - 数组分组: 将多个物品、标签或条件传递到单个数组块
[ ]中,以精简你的配置。
全面的限制模块
约束核心 监控方块和物品环境中的事件触发器。定位注册表名称、标签(例如 #minecraft:logs)或通配符,并应用以下限制标志的组合:
- 物品限制:
use(使用),consume(消耗),drop(丢弃),pickup(拾取),equip(装备),swing(挥动),craft(合成),smelt(熔炼),process(处理),smith(锻造)。 - 方块限制:
use(使用),break(破坏),place(放置)。 - 宏关键字: 使用
"all"(全面锁定),"nall"(限制功能但允许安全的环境丢弃/拾取),"obtain"(同时限制合成/熔炼/锻造),或"none"(白名单覆盖,很快将被 "-" 符号取代,因此建议你这样操作以从限制物品/方块列表中白名单化 "-minecraft:oak_log")。
条件式进程与状态逻辑
门控是通过 NBT/组件数据条件检查来处理的。通过向某个物品添加 "condition": "stage_iron" 参数,该物品将保持锁定状态,直到玩家的持久数据中包含一个设置为 true 的匹配布尔值。
- 条件反转: 在条件前添加感叹号 (
!) 以要求 不存在 某个状态(例如"!iron_banned")。对动态惩罚系统很有用。
智能 UI 与处理兼容性
原生支持原版处理网格(熔炉、工作台、锻造台)。对于模组机器,约束核心 具有一个高度可配置的 UI 桥接系统 (custom_interfaces.json):
- 直接映射到自定义机器的菜单类型 (Menu Type) 注册表命名空间。
- 为合成覆盖 (crafting overrides) 定义
output_slots(输出槽)索引。 - 评估模式: 在
"smelt"(预测性评估内部配方——如果输出受限则阻止输入)和"process"(直接验证原始输入组件)之间选择。
动态消息与占位符
使用强大的消息系统为你的用户提供清晰的反馈:
- 为单个注册表目标分配多个独立的
deny_message(拒绝消息)和info_tooltip(信息提示)数组(例如,被拒绝合成时一条消息,被拒绝使用时另一条消息)。 - 支持传统的
&颜色格式转换。 - 实时占位符: 内置宏,如
<player>,<item>,<block>和<action>。 - 自定义 NBT 映射: 通过
custom_placeholders.json将你自己的自定义占位符(例如<mana>)映射到玩家的实时 NBT 键,在运行时动态提取数据并渲染到你的消息中。
诊断与管理工具
约束核心 附带了大量 /restrictivecore (/rc) 命令,以加速整合包开发:
- 集成验证器: 运行
/rc debug [target]来调用内置的语义验证器。它会审计你的 JSON 文件是否存在缺少括号、无效的宏关键字和交叉污染(例如,在方块配置中使用物品限制标志),同时返回准确的行号错误。 - 游戏内检查器: 使用
/rc inspect [holding/looking] [modifier]来实时读取特定物品的原始 NBT 数据、方块状态、所需工具等级、关联的战利品表或活动的 JSON 限制。 - 管理员控制: 通过
/rc admin命令快速授予、撤销或检查玩家的进程条件,以测试门控限制。 - 游戏内文档:
/rc helpUI 直接嵌入聊天日志,拥有你需要的所有文档,以便在服务器或整合包中使用此模组。
为什么要制作约束核心?
约束核心 是我的一个个人项目。我与我朋友在他的服务器 The Bingus SMP 上合作,我在那里担任首席开发人员已经有一段时间了。我注意到有些玩家会加入一个新赛季,然后花几个小时用模组中最破坏平衡的部分把自己武装到牙齿。当新赛季的玩家几小时或一天后上线时,他们会远远落后。那些一直在“肝”的玩家随后会提供会破坏新玩家进程的物品/进入农场的机会。使用 约束核心,你可以通过提供的 json 文件避免所有这些问题。当我意识到这个模组的潜力后,我投入了越来越多的时间去开发它。但即使付出了这么多努力,这个模组仍处于 Alpha 阶段。如果你发现了错误,我将非常感谢你能够留下评论。另外,目前兼容性还不是很好,但我已经在我有限的时间里尽了最大努力。如果你注意到某个模组没有兼容性,或者你有任何建议,请留下评论,或通过 coakrinmods@gmail.com 给我发送电子邮件。
当前支持的模组列表:
(请记住,虽然你可以自己添加兼容性,但这并不总是可靠的,所以请发送电子邮件或评论)
- Crafting Station (合成站)
- Refined Storage (精致存储)
- AE2 (应用能源2)
- Iron Furnaces (铁熔炉)
整合包政策: 你可以自由地将约束核心 包含在 任何 CurseForge 整合包中。
其他信息
约束核心 需要同时安装在客户端和服务端才能工作。我目前正在制作一个关于如何使用我的模组的视频,很快就会发布。
你可以在哪里支持我
buymeacoffee.com/Coakrin - 这里提供了捐赠选项,但我更希望你能用我的辛勤工作做出一些很棒的东西!
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。