资源包预览管理用来维护资源包在主站展示的物品纹理预览。主站资源详情页会显示一组物品图标,用户可以按注册名查看对应的游戏内纹理,这份映射就存在这里。
入口在侧边栏「资源包预览管理」,路径 /3_rpvm。
精英工匠及以上能进入,不受管辖区限制。
整体布局
页面分左右两栏。
左栏是资源包列表,顶部有一个搜索框,按资源包名或 ID 过滤。每项显示资源包名、物品数量、资源包 ID。正在编辑的资源包左侧带一条高亮竖线。
右栏是物品网格,显示当前资源包下的所有物品。每个物品以卡片呈现,卡片上半部分是纹理预览图,下半部分是物品名和注册名,右上角有删除按钮。
页面顶部右侧有一个任务徽标,显示正在运行的上传任务数量。点它打开任务管理器。

物品网格
物品按注册名排序。每张卡片显示以下内容。
纹理预览是后台存储的图片,尺寸较小,用于在主站资源页快速展示。
物品名是中文显示名,用户可以自定义。
注册名是游戏内的物品标识,通常是 minecraft:xxx 这种格式,作为映射的唯一键。
图片缺失或加载失败时,卡片显示灰色占位图标。
物品数量较多时,网格底部出现分页控件,每页 20 个,可以翻页和直接跳页。
搜索物品
右栏工具栏有搜索框,按物品名或注册名模糊匹配。输入后回车或短暂延迟后自动查询。
搜索状态下分页基于过滤后的结果。
删除单个物品
点击物品卡片右上角的删除按钮,二次确认后删除。
删除会同时做两件事:从后台存储删除对应的纹理图片;从资源包的纹理映射中移除该物品。两者任一失败会返回错误,但已执行的部分不会回滚。
删除不可恢复。若误删需要重新上传纹理并填写信息。
删除全部物品
右栏工具栏有「删除全部」按钮,用于清空当前资源包的所有物品。
点击后弹出的确认框要求手动输入「确认删除」四个字。输入不一致则取消操作。这一设计是为了避免误触。
确认后,后台会遍历所有物品,逐个删除对应纹理图片,最后清空资源包的纹理映射。删除过程中显示进度。删除完成后,物品数量归零。
此操作不可恢复,删除前应确认不再需要这批预览图。
批量上传

资源包预览支持通过 JSON 文件批量导入纹理。
点右栏工具栏的「上传」按钮展开上传面板。面板可拖拽上边缘调整高度,高度会被记住。
上传面板包含以下内容。
JSON 文件是必填项,格式为一个数组,每个元素是一个对象,包含物品的纹理数据和描述信息。数组元素的字段名不固定,由提交方决定。
字段映射是将 JSON 字段与后台字段对应的配置。选中 JSON 文件后,后台会读取第一个元素的字段名,填充到三个下拉框中。
图片字段选择 JSON 中存放纹理数据的字段。纹理数据可以是 data URI,也可以是 base64 编码的图片数据。
中文名选择 JSON 中存放物品显示名的字段。
注册名选择 JSON 中存放游戏内标识的字段。
冲突处理有两个选项。覆盖表示注册名已存在时用新数据替换;跳过表示注册名已存在时保留原数据。默认覆盖。
字段映射和冲突处理在上传前可随时调整,调整后不影响已解析的 JSON 数据。
批量上传流程
点「开始上传」后,后台按以下步骤处理。
解析 JSON 中的每个元素,按字段映射提取纹理、物品名、注册名。缺少任一字段的元素会被跳过。
对每个有效元素,先检查注册名是否已存在于该资源包下。存在且冲突处理为跳过时,该元素跳过。存在且冲突处理为覆盖时,进入上传流程。不存在则进入上传流程。
纹理数据被处理成图片文件上传到图片服务,存储路径为 resource/rppw/{资源包ID}/,文件名为注册名的哈希值。
上传成功后,更新资源包的纹理映射。
整个过程作为一个任务运行,可以在任务管理器里查看进度、成功数、失败数和日志。任务运行中可以随时停止,已处理的物品保留,未处理的跳过。
任务管理器
点页面右上角的任务徽标打开。
每个任务记录资源包、物品总数、已处理数、成功数、失败数、最近一条日志。任务状态分运行中、已停止、已完成四种。
运行中的任务可以停止。已停止或已完成的任务可以移除。
任务徽标只显示运行中的任务数量。
与主站资源页的联动
资源包纹理映射变更后,主站资源页的预览区域会立即反映变化。
新增的物品出现在预览区域中。
删除的物品从预览区域消失。
覆盖的物品纹理更新为最新版本。
主站资源页有缓存,若发现变化未生效,可让用户刷新页面。