
内容工作室
用于配方、战利品表、村民和流浪商人交易以及物品提示信息的可视化内容创作环境。它专为整合包作者和服务器管理员设计,让他们无需手动编辑每个数据文件即可管理内容。
该项目围绕游戏内管理功能设计。当某个功能会更改共享的游戏数据或服务器规则时,服务器保持权威地位;仅客户端展示类功能则保留在客户端本地。配置界面使用 KineticCore 的 UI 和配置基础设施。
主要功能
- 针对支持的 vanilla 处理类型进行可视化配方创建、编辑、预览和移除。
- 为实体、方块和战利品表容器进行战利品编辑,支持加权池和移除规则。
- 村民职业/等级交易编辑以及流浪商人交易控制。
- 支持 NBT 感知的物品提示规则,具有普通、Shift 和 Alt 展示模式。
- 通过 KineticCore 进行搜索、过滤、物品返回/检查和预览工作流。
- 可选的 JEI、EMI 和 REI 互操作性,用于物品/配方发现。
依赖项
| 类型 | 依赖项 |
|---|---|
| 必需 | Forge 47.4.0+ |
| 必需 | KineticCore 26.9.8+ |
| 可选 | JEI 15.20+ |
| 可选 | EMI |
| 可选 | Roughly Enough Items (REI) |
访问与配置
- 使用配置的 F6 入口打开 KineticCore 配置中心,并选择 Content Studio。
- 服务器拥有的设置由服务器保存,并在功能需要客户端感知时同步。
- 仅客户端的展示设置保留在本地。
- 各个功能区域在下方记录各自的数据/配置路径。
- 搜索、列表选择、物品/实体检查、提示以及返回/导航控件在可用时复用 KineticCore UI 组件。
详细功能参考
配方编辑器
概述
配方编辑器 提供用于创建、编辑、预览和移除配方的游戏内工作流。服务器管理员和模组包作者可以可视化地管理支持的配方类型,而无需手动在 JSON 中维护每个配方。
配方编辑器使用 数据包驱动、服务器应用 的工作流。自定义配方和移除规则存储在 KineticCore 的专用数据包目录中,并通过 Minecraft 的服务器数据包重载流程应用。
数据文件:
config/kineticcore/datapack/data/contentstudio/recipe_bundle.json
该文件同时包含:
recipes:由配方编辑器创建和管理的自定义配方。removals:配方移除规则。
功能
可视化配方编辑
支持的配方类型:
- 工作台
- 熔炉
- 高炉
- 烟熏炉
- 锻造台
- 切石机
编辑器使用可视化物品槽进行配方输入和输出,并提供物品搜索、标签成分、NBT 编辑和输出数量控制。
工作台配方可以在 有序 和 无序 模式之间切换。
物品与标签
配方输入可以使用普通物品或物品标签。
标签成分使用以 # 开头的完整 ID,例如:
#forge:ingots/iron
#minecraft:planks
纸仅在编辑器内作为标签成分的视觉占位符。实际配方仍使用对应的物品标签。
物品搜索支持本地化名称、物品 ID、@modid 和 #tagid 查询。
NBT 匹配
输入成分支持三种 NBT 匹配模式:
- 无:匹配物品类型,不验证 NBT。
- 弱:物品必须包含所需 NBT,但可以包含额外 NBT。
- 强:物品的 NBT 必须与配置的 NBT 完全匹配。
提供 NBT 编辑器,可直接编辑所需数据。
支持输出 NBT 的配方类型可以选择在结果物品上保留配置的 NBT。
托管的自定义配方
自定义配方管理屏幕可以:
- 浏览由配方编辑器管理的配方。
- 预览输入和输出。
- 编辑现有配方。
- 删除现有配方。
- 从服务器刷新配方记录。
- 显示无效配方数据以供修复。
可识别的无效槽位会以错误占位符显示,以便在编辑器中进行替换,而不是静默隐藏损坏的配方。
当保存其他配方时,仍需要保留的未解析配置条目会尽可能保留,从而减少可视化编辑期间的意外数据丢失。
配方移除管理器
移除管理器按输出物品浏览服务器配方目录,并支持移除单个配方或配方组。
支持的移除模式:
RECIPE_ID:移除一个精确的配方 ID。OUTPUT:按输出物品移除配方。MOD:按来源模组移除配方。TAG:按物品标签移除配方。TYPE:按配方类型移除配方。
基于物品的浏览
物品列表可以按物品名称、ID、模组或标签搜索。选择一个物品会在右侧显示其服务器配方。
配方轮廓显示当前状态:
- 黄色:已选择的配方。
- 蓝色:悬停的配方。
- 红色:已被移除规则禁用。
- 绿色:当前有效。
详细状态信息通过悬停提示显示,而不是永久占用列表空间。
点击配方 ID 只会 选择 该配方。内置详细预览通过 预览配方 按钮显式打开。
批量移除范围
移除范围菜单提供对以下内容的快速访问:
@Mod#Tag- 配方类型
这些选项用于创建或调整批量移除规则。
未保存的移除编辑可以还原。保存会将规则写入 recipe_bundle.json,并重载服务器数据包,以便更改立即生效。
配方预览
配方编辑器包含自己的配方预览屏幕,用于显示所选配方的输入、输出和基本配方信息。
它还提供与以下项的可选集成:
- JEI
- EMI
- REI
这些配方查看器在运行时都不是必需的。
当只有一个受支持的查看器可用时,配方查看器按钮会直接打开它。当安装了多个查看器时,配方编辑器会提供一个选择菜单。
当 JEI 可用时,配方编辑器可以在支持的情况下精确打开所选配方。EMI 和 REI 用于打开所选物品的配方结果。
未安装任何外部配方查看器时,配方编辑器的内置编辑、预览和移除功能仍然可用。
配方规则
工作台
- 支持有序和无序配方。
- 最多 9 个输入槽。
- 输出数量范围:1-64。
- 支持输出 NBT。
锻造
- 需要模板、基础物品和添加物品输入。
- 三种输入都是必需的。
- 当前不会保留输出 NBT。
熔炉
- 单一输入。
- 烹饪时间:200 tick。
- 经验:0。
高炉
- 单一输入。
- 烹饪时间:100 tick。
- 经验:0。
烟熏炉
- 单一输入。
- 烹饪时间:100 tick。
- 经验:0。
切石机
- 单一输入。
- 可配置输出数量。
保存工作流
创建、编辑或删除自定义配方时,首先将更改写入:
config/kineticcore/datapack/data/contentstudio/recipe_bundle.json
为避免在一系列编辑期间反复重载所有服务器数据包,自定义配方更改会先保存,然后在 完整配方编辑流程关闭后 通过一次数据包重载应用。
配方移除规则保存到同一数据文件,并在保存移除更改时立即触发服务器数据包重载。
在服务器启动或数据包重载期间,配方编辑器会读取 recipe_bundle.json,并将其自定义配方和移除规则应用到最终服务器配方集。
权限
配方编辑器是服务器管理功能。
打开编辑器以及修改、删除或应用配方数据需要 Minecraft 权限等级 2 或更高。
打开配方编辑器
配方编辑器向 KineticCore 注册一个由服务器管理的配置页面。
从 KineticCore 的配置界面打开 配方编辑器 页面以进入配方中心。
从源码构建
当前源码项目使用:
- ForgeGradle 6.0.24
- 官方映射
- Forge 47.4.0+ 工具链
默认本地依赖目录:
D:/IDEA_Caches/libs
对于源码编译,该目录必须包含被 localMod() 识别的 KineticCore 和 JEI JAR。JEI 在源码项目中是 compileOnly 依赖项,并且在运行时仍然是可选的。
默认构建输出目录:
D:/NEWMODS
生成的模组文件名:
contentstudio-<version>.jar
功能参考
配置详情
| 项目 | 描述 |
|---|---|
| 配方编辑器 | 配方创建、编辑、移除和待处理更改存储在专用配方编辑器数据包中。更改在编辑器关闭后通过服务器数据包重载应用。 |
| 打开配方编辑器 | 打开配方中心以创建、编辑或移除支持的配方类型。空输入、空输出和未经授权的保存会被拒绝。 |
GUI 与编辑器
| 项目 | 描述 |
|---|---|
| 无 | 制作时不检查 NBT 数据。 |
| 弱匹配 | 检查关键 NBT(例如附魔、药水)。 |
| 强匹配 | 严格 NBT 比较(必须完全相同)。 |
| 开启 | 输出物品将保留当前 NBT 数据。 |
| 关闭 | 输出物品将没有 NBT 数据。 |
| 选择 %s 以移除 | 点击下方条目将其添加到移除列表。 |
可编辑选项
- 模组 ID
- 配方 ID
- 输出物品
- 物品标签
- 配方类型
- 无序
- 有序
- 无
- 弱匹配
- 强匹配
- 所有物品
- 物品栏
- 已装备
- 全部
- 左键:清空槽位
- 弱
- 物品必须拥有所有必需 NBT,但可以有额外 NBT。
- 强
- 物品 NBT 必须完全匹配。
- 制作时不检查任何 NBT 数据。
- 启用
- 输出将具有指定 NBT。
- 禁用
- 输出将是纯 vanilla 物品。
数据路径
主要配置/数据路径:
config/kineticcore/datapack/data/contentstudio/recipe_bundle.json
战利品编辑器
概述
战利品编辑器 是此项目的可视化战利品表编辑模块。它编辑服务器加载的实体、方块和容器战利品表,并将自定义覆盖存储在专用配置文件中。
主要功能
- 实体战利品表编辑器。
- 方块战利品表编辑器。
- 箱子/容器战利品表编辑器。
- 可视化战利品池和条目管理。
- 掷骰、数量、权重和条件战利品数据。
- 运行时覆盖应用到服务器战利品表。
- 全局箱子追加规则。
- 全局箱子物品移除规则。
- 全局箱子规则的战利品表排除列表。
- 服务器权威的保存和重载流程。
配置
config/kineticcore/loot_overrides.json
功能参考
配置详情
| 项目 | 描述 |
|---|---|
| 战利品编辑器 | 战利品覆盖规则通过每种目标类型的专用编辑器管理;读取和保存时会检查服务器权限。 |
| 编辑实体战利品 | 编辑实体战利品表、池、条件、概率和覆盖规则。 |
| 编辑方块战利品 | 编辑方块战利品表和覆盖规则。保存的更改遵循编辑器资源重载流程。 |
| 编辑容器战利品 | 编辑箱子和结构容器使用的战利品表。服务器会验证目标和保存权限。 |
GUI 与编辑器
| 项目 | 描述 |
|---|---|
| 确认重置 | 这会恢复当前战利品表并丢弃未保存的更改。 |
| 删除整个池? | 此池中的所有奖励、条件和函数也会被删除。 |
| 全局战利品移除 | 此处的规则会阻止匹配物品出现在每个战利品箱子的最终输出中;右键点击规则以移除它。 |
| 全局排除 | 点击左侧的战利品表以排除它;右键点击已排除条目以移除它。 |
可编辑选项
- 覆盖模式
- 追加模式
- 匹配规则
- 物品 ID
- 仅 NBT
- 模糊 NBT
- 精确 NBT
- ID 匹配
- 仅匹配物品 ID 并忽略 NBT。
- 仅当生成的物品堆叠具有任何 NBT 时,匹配相同物品 ID。
- 当物品的 NBT 包含所有配置的 NBT 条件时,匹配相同物品 ID。
- 仅当物品的完整 NBT 与配置的 NBT 完全相等时,匹配相同物品 ID。
- 匹配:%s
- NBT 条件已保存
数据路径
主要配置/数据路径:
config/kineticcore/loot_overrides.json
交易编辑器
概述
交易编辑器 是此项目的村民行为优化和交易管理模块。它减少密集交易大厅中不必要的 AI 工作,同时提供可配置的跟随行为、交易等级保护,以及面向村民和流浪商人的可视化交易编辑器。
主要功能
- 可配置的村民 AI 检查间隔。
- 被困村民检测,以停止无意义的寻路。
- 在交易升级计时器期间保留最小商人更新。
- 基于物品的村民跟随。
- 可视化跟随物品编辑器。
- 基于职业和等级的村民交易编辑器。
- 流浪商人支持。
- 添加、替换等级、替换全部和禁用等级交易模式。
- 每个职业等级可配置的报价数量。
- vanilla 交易的启用/禁用和权重控制。
- 完整自定义报价参数,包括两个输入、输出、NBT、使用次数、XP、倍率、需求、特殊价格、补货和权重。
- 服务器权威持久化和运行时交易池发布。
配置
config/kineticcore/villager.toml
功能参考
配置详情
| 项目 | 描述 |
|---|---|
| 启用物品跟随 | 启用后,村民会跟随手持特定物品(如绿宝石)的玩家,类似动物的行为。 |
| 跟随物品列表 | 打开可视化诱饵物品编辑器。通过物品选择器直接添加物品,预览其图标,并右键点击物品以移除它。 |
| 村民 AI 检查间隔(秒) | 村民 AI 和寻路检查之间的时间。默认值为 5 秒;最小值为 0.05 秒。 |
| 交易升级保护 | 启用后,被脑叶切除的村民在交易升级期间仍会执行最小更新,防止交易大厅村民升级极慢。 |
| 村民 | 在此直接编辑村民 AI 检查频率、交易升级保护和手持物品跟随。使用专用交易编辑器来管理职业、NBT、使用次数、XP、补货和 vanilla 交易覆盖。 |
| 打开村民交易编辑器 | 编辑职业/等级规则、自定义买入/卖出物品和 NBT、使用次数、XP、价格倍率、补货、权重和 vanilla 交易覆盖。服务器在打开和保存时会重新检查权限等级 2。 |
| 行为 | 此部分仅包含服务器端村民行为和性能设置。交易规则、诱饵物品和交易覆盖分组在下方村民编辑器中。 |
| 村民编辑器 | 此部分分组使用专用 GUI 的村民设置。诱饵物品使用 KineticCore 的共享物品列表编辑器,而交易规则继续使用完整交易编辑器。 |
GUI 与编辑器
| 项目 | 描述 |
|---|---|
| 返回 | 返回上一屏幕。这不会自动保存。如果希望更改生效,请先点击保存。 |
| 清除 | 清除交易内容搜索 |
| 搜索交易 | 按物品名称、物品 ID、NBT、数量、等级、权重、最大使用次数或 XP 搜索当前职业的交易。 |
| 买入 a | A 输入 1 数量:玩家必须支付多少个第一输入物品。范围:1~64。 |
| 买入 b | B 输入 2 数量:玩家必须支付多少个第二输入物品。使用 0 禁用第二输入。 |
| 卖出 | 奖励数量:玩家交易后获得多少个物品。范围:1~64。 |
| 需求 | 此交易的当前需求值。它会与价格倍率一起影响最终价格。 |
| 清除当前 | 清除当前:编辑单个交易时,仅清除当前右侧编辑器内容。 它不会清除整个等级或职业。 |
| 删除 | 删除所选交易。Vanilla 交易会被禁用;自定义交易会被移除。 |
| 保存 | 保存右侧显示的交易。如果选择了 vanilla 交易并且其内容已更改,则会转换为自定义交易。 |
| 添加交易 | 添加交易:保存当前等级设置,然后跳转到新的单交易编辑器。 |
| 箭头 | 展开 / 折叠:仅点击此小箭头以展开或折叠当前等级交易列表。 |
| 清空等级 | 清空等级:移除此等级的自定义交易,并从主列表中移除所有 vanilla 默认交易。 已移除的 vanilla 交易可以通过在已移除预览中右键点击来恢复。 |
| 行 | 等级行:左键点击为此等级创建新交易;右键点击以清空此等级中的所有交易;点击左侧小箭头以展开或折叠此等级。 |
| 最大使用次数 | 此交易在需要补货之前可以完成的最大次数。 |
| nbt | 编辑此物品槽的 NBT。普通物品请留空。 |
| 选取数量 | 选取数量:此等级将从交易池中选择多少个交易。例如,2 表示只会出现 2 个加权交易。 |
| 价格倍率 | 控制需求对交易价格的影响强度。设置为 0 以忽略基于需求的价格变化。 |
| 职业 | 点击搜索框选择职业,或输入职业名称 |
| 搜索职业 | 点击以显示所有村民职业建议。选择职业后,左侧列表会显示该职业的所有 vanilla 和自定义交易。 |
| 重置职业 | 重置职业:恢复已移除的 vanilla 交易,并删除当前职业的所有自定义交易和等级设置。会出现确认弹窗。 |
| 全部恢复 | 全部恢复:恢复当前职业所有等级中所有被禁用的 vanilla 交易。自定义交易会保留。 |
| 已移除 | 已移除的 Vanilla 交易:打开所选职业所有等级中所有已移除的 vanilla 交易。右键点击交易以恢复它。 |
| 补货 | 启用后,此交易会使用 vanilla 机制补货。禁用后,补货不会恢复此交易。 |
| 奖励 | 启用后,玩家会从此报价获得 vanilla 交易 XP。 |
| 保存 | 将当前村民交易配置保存到 villager.toml。 新生成或刷新的村民交易将使用新规则。 |
| 清除 | 清除搜索:清除职业搜索框并取消选择当前村民职业。 |
| A 输入 1 | A 输入 1:vanilla 村民交易 UI 中的第一个输入物品。玩家必须提供此物品才能交易。 |
| B 输入 2 | B 输入 2:vanilla 村民交易 UI 中的第二个输入物品。如果不使用,请留空并将数量设置为 0。 |
| 奖励 | 奖励:玩家交易后获得的最终物品。点击图标以打开物品选择器。 |
| 特殊价格 | 应用于此交易的直接价格调整。负值可以降低价格。 |
| 使用次数 | 此交易已经使用的次数。一旦达到最大使用次数,就需要补货。 |
| 权重 | 更高权重会使此交易更有可能被选中。权重为 0 会阻止其被选中。 |
| XP | 完成此交易时给予村民的职业 XP。 |
| 清除 | 清除此交易物品,而不删除整个交易。 |
| 撤销 %s/%s | 撤销上一个未保存的更改(Ctrl+Z) |
可编辑选项
- 添加
- 禁用
- 替换
- A 输入 1
- B 输入 2
- 奖励
- 清除
配置默认值
| 键 | 默认值 |
|---|---|
villager.follow_enable |
true |
villager.tickInterval |
100 |
villager.trade_update_protection |
true |
数据路径
主要配置/数据路径:
config/kineticcore/villager.toml
提示编辑器
概述
提示编辑器 是此项目的可视化物品提示编辑器。它为 KubeJS 提示规则提供游戏内编辑器,因此整合包作者可以选择物品、编辑文本并配置显示条件,而无需手动维护整个脚本。
服务器会验证提交的规则数据库并生成 kubejs/client_scripts/tooltipadd.js。
主要功能
- 已配置物品的集中概览。
- 按物品 ID 或本地化名称搜索。
- 追加和覆写模式。
- 为覆写规则选择目标行。
- 无按键、Shift、Alt 和 Shift+Alt 条件。
- 每个物品支持多条规则。
- Ctrl + 左键拖动规则重新排序。
- Minecraft
§格式代码。 - 物品级配置移除。
- 服务器端验证 ID、模式、行号、按键条件、限制和文本。
- 服务器权威脚本持久化。
- 写入生成脚本时更安全的临时文件替换。
生成文件
kubejs/client_scripts/tooltipadd.js
生成的脚本也充当提示编辑器读回其编辑器的规则数据库。
功能参考
配置详情
| 项目 | 描述 |
|---|---|
| 物品提示管理 | 在专用编辑器中管理提示规则,它会生成 KubeJS client_scripts/tooltipadd.js,因此无需手动编辑脚本。服务器会验证管理员权限、物品 ID、模式、行号、按键条件和文本。 |
| 打开提示编辑器 | 为物品添加覆写或追加提示规则,支持目标行、Shift/Alt 条件和文本。仅在服务器实际写入脚本后显示成功。 |
可编辑选项
- 覆写
- 追加
- 删除此规则
从源码构建
- Minecraft:
1.20.1 - Java:
17 - ForgeGradle:
6.0.24 - Gradle:项目固定使用
8.1.1Wrapper;不要直接使用 Gradle 9 导入它。 - 本地开发 JAR 由
local_libs_dir控制,并可在gradle.properties中或通过项目属性覆盖。 - 典型构建命令:Windows 上为
gradlew.bat build,Linux/macOS 上为./gradlew build。 - 开发和发布产物使用
contentstudio作为当前项目标识符。
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。