FreeMinecraftModels 内容包
FMM 的官方内容现在以 Nightbreak 托管包的形式提供。
当前官方包
当前插件定义了五个预制的官方包,包括道具和物品内容:
| 包 | 类型 | 配置文件名 | 文件夹名 | Nightbreak 标识 |
|---|---|---|---|---|
Basic Furniture Pack | 道具 | basic_furniture_pack | Basic Furniture Pack | basic-furniture-pack |
BetterStructures Prop Pack | 道具 | betterstructures_prop_pack | bs prop pack | betterstructures-prop-pack |
EliteMobs Prop Pack | 道具 | elitemobs_prop_pack | em_dungeon_prop_pack | elitemobs-prop-pack |
Craftenmine's Weapons Item Pack | 自定义物品 | craftenmines_weapons_item_pack | fmm_craftenmine_weapons_items_pack | craftenmines-weapons-item-pack |
Craftenmine Tools Item Pack | 自定义物品 | craftenmine_tools_item_pack | fmm_craftenmine_tools_items_pack | craftenmine-tools-item-pack |
配置文件名指定 plugins/FreeMinecraftModels/content_packages/ 下的 .yml 条目。文件夹名指定 models/ 或 models_disabled/ 中的包模型目录。前缀按下文说明单独配置。
每个包都有本地文件夹名、Nightbreak 标识、版本字段以及 content_packages 中的启用或禁用状态。两个 Craftenmine 物品包提供带 material: 定义和命名空间附魔的手持物品。包含装备物品 scripts: 的旧副本需要更新内容;这些定义会被跳过。
设置菜单管理什么
/fmm setup 根据本地配置、检测到的文件和缓存的 Nightbreak 信息显示包状态。菜单可以区分:
- 已安装的包
- 已下载但当前禁用的包
- 过期的包
- 需要 Nightbreak 访问权限的包
菜单会在后台刷新版本和访问权限,刷新冷却时间为五分钟。版本检查适用于检测为已安装的包。已安装标记表示包已启用且存在受管理的模型条目,并不证明所有模型已加载或客户端已收到资源包。还应检查 /fmm admin、控制台和客户端接收情况。
文件夹行为
插件通过移动文件夹来管理启用和禁用的包内容:
- 启用的模型文件夹位于
models/<folderName> - 禁用的模型文件夹位于
models_disabled/<folderName> - 启用的脚本文件位于
scripts/ - 禁用的脚本文件位于
scripts_disabled/
下载的内容可以存在于磁盘上而未启用。安装或卸载会移动匹配的模型、脚本和附魔条目,保存启用状态,然后请求重载。这些移动依次进行,并非原子事务:移动或状态保存失败可能留下部分修改。重试前请检查控制台及两处目录。这两项操作都要求源目录中存在受管理的模型条目;仅含脚本或附魔的文件可以算作已下载,却不一定能通过该操作安装包。
旧安装可能使用 Models 或 Models_disabled。活动模型路径优先使用小写 models,禁用路径则优先使用已存在的 Models_disabled。合并区分大小写的目录前,请阅读模型制作说明。
文件前缀
包配置包含 contentFilePrefixes 和 scriptFilePrefixes。五个内置定义将这两个列表初始化为空,不会自动以 folderName 作为前缀。请查看已安装配置中提供的值。
对于模型和附魔,FMM 选择准确的 folderName 条目,以及根目录下名称以 contentFilePrefixes 中某个值开头的条目。对于脚本,只选择根目录下匹配 scriptFilePrefixes 的条目,不额外按文件夹名匹配。前缀匹配忽略大小写,可选择文件或整个目录;不会在无关目录内递归搜索匹配文件。请使用不同的前缀,并将引用的文件保留在选中的条目内。
下载与安装生命周期
分为两个明确的步骤:
- 下载包内容。
下载保存到
plugins/FreeMinecraftModels/imports。受管理的下载成功后,会先保存启用状态,再请求重载和导入。 - 保持包启用或禁用。
设置菜单通过在
models与models_disabled之间移动文件夹来安装和卸载包。
批量操作遵循相同模式:
/fmm downloadall先下载插件 jar 更新,然后下载所有可访问但缺失或过期的包。内容可以通过 FMM 随后的重载生效;插件 jar 本身仍然需要重启服务器/fmm downloadallcontent执行同样的内容扫描,但不下载插件 jar 更新/fmm updatecontent(别名/fmm updateallcontent)刷新版本和访问权限信息,并更新标记为过期的包;版本检查目前覆盖已安装的包
批量操作依次处理各包,分别报告下载与准备成功的包和失败的包。只要至少一个包成功完成,即使其他包失败,也会安排在 20 tick 后重载。没有成功的包就不会重载;空的安装操作报告没有新内容,空的更新操作报告没有待更新内容。下载成功并不证明后续导入、模型加载或客户端接收成功。
批量内容操作共用一项保护,在第一次操作完成或开始后续重载前阻止第二次内容操作。它们要求关联的 Nightbreak 令牌,并在认证失败时停止。普通包错误会被报告,其余包继续处理。发起玩家退出后,操作仍继续并改为向控制台报告。插件关闭会使该生命周期中待完成的下载发布和回调失效。
修复一个包
普通下载选择依据检测到的文件及版本状态,不做文件完整性检查。部分损坏的包可能仍显示为最新并被跳过。/fmm forcereinstallcontent <package|all> 无视版本重新下载所选内容,在下载成功后请求重载。此流程不会强制启用已禁用的包。
- Tab 补全会提供
all以及每个包的 Nightbreak slug(basic-furniture-pack、betterstructures-prop-pack、elitemobs-prop-pack、craftenmines-weapons-item-pack、craftenmine-tools-item-pack)。 all选择检测为已下载、已安装或标记为过期的包。如果没有符合条件的包,会报告No downloaded content was detected. Specify a package slug directly if its files are completely missing.对完全缺失的包,请直接指定 slug。- 未知的选择器会报告
Unknown Nightbreak content package: <name>。 - 它与其他批量操作共用同一套防重叠保护,并且需要
freeminecraftmodels.*权限。
管理员内容浏览器
/fmm admin 打开游戏内浏览器,显示已加载模型和已注册自定义物品,包括:
- 含已加载内容的启用包(分别统计道具与物品数量)
- 未打包的模型文件夹(分别统计道具与物品数量)
- 单个道具模型
- 成功注册的自定义物品
道具使用黄色样式和纸张图标。自定义物品使用配置的材质和名称,后备名称为紫色。是否列出取决于物品是否成功注册,而非仅有 material: 字段;被拒绝的定义不会作为可用的自定义物品列出。
包和文件夹条目会打开各自的内容列表。点击单个道具或物品会向库存添加一份副本。自定义物品包含配置的材质、附魔、Lore 和 fmm_item_id 标签;道具给予纸质放置物品。请留出库存空间:这些管理员处理器不会将溢出物品丢到地上。创建物品的错误会在聊天中报告。注册成功和菜单条目可见,并不能证明客户端渲染正确。
附魔内容
包的启用和禁用同时处理受管理的附魔 YAML/Lua、模型及道具脚本。启用内容位于 enchantments/,禁用内容移到 enchantments_disabled/。选择遵循上述文件夹名及内容前缀规则,请将提供者定义和引用的脚本保留在选中的条目内。已废弃的物品脚本运行时不能替代缺失的附魔提供者。