跳到主要内容

FreeMinecraftModels 内容包

FMM 的官方内容现在以 Nightbreak 托管包的形式提供。

当前官方包

当前插件定义了五个预制的官方包,包括道具和物品内容:

类型配置文件名文件夹名Nightbreak 标识
Basic Furniture Pack道具basic_furniture_packBasic Furniture Packbasic-furniture-pack
BetterStructures Prop Pack道具betterstructures_prop_packbs prop packbetterstructures-prop-pack
EliteMobs Prop Pack道具elitemobs_prop_packem_dungeon_prop_packelitemobs-prop-pack
Craftenmine's Weapons Item Pack自定义物品craftenmines_weapons_item_packfmm_craftenmine_weapons_items_packcraftenmines-weapons-item-pack
Craftenmine Tools Item Pack自定义物品craftenmine_tools_item_packfmm_craftenmine_tools_items_packcraftenmine-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/

下载的内容可以存在于磁盘上而未启用。安装或卸载会移动匹配的模型、脚本和附魔条目,保存启用状态,然后请求重载。这些移动依次进行,并非原子事务:移动或状态保存失败可能留下部分修改。重试前请检查控制台及两处目录。这两项操作都要求源目录中存在受管理的模型条目;仅含脚本或附魔的文件可以算作已下载,却不一定能通过该操作安装包。

旧安装可能使用 ModelsModels_disabled。活动模型路径优先使用小写 models,禁用路径则优先使用已存在的 Models_disabled。合并区分大小写的目录前,请阅读模型制作说明

文件前缀

包配置包含 contentFilePrefixesscriptFilePrefixes。五个内置定义将这两个列表初始化为空,不会自动以 folderName 作为前缀。请查看已安装配置中提供的值。

对于模型和附魔,FMM 选择准确的 folderName 条目,以及根目录下名称以 contentFilePrefixes 中某个值开头的条目。对于脚本,只选择根目录下匹配 scriptFilePrefixes 的条目,不额外按文件夹名匹配。前缀匹配忽略大小写,可选择文件或整个目录;不会在无关目录内递归搜索匹配文件。请使用不同的前缀,并将引用的文件保留在选中的条目内。

下载与安装生命周期

分为两个明确的步骤:

  1. 下载包内容。 下载保存到 plugins/FreeMinecraftModels/imports。受管理的下载成功后,会先保存启用状态,再请求重载和导入。
  2. 保持包启用或禁用。 设置菜单通过在 modelsmodels_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-packbetterstructures-prop-packelitemobs-prop-packcraftenmines-weapons-item-packcraftenmine-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/。选择遵循上述文件夹名及内容前缀规则,请将提供者定义和引用的脚本保留在选中的条目内。已废弃的物品脚本运行时不能替代缺失的附魔提供者。