mc.js材质包需正确放置并启用:文件须含合法导出语句、utf-8无bom编码、英文命名;放入resourcepacks/子文件夹并配pack.mcmeta;在游戏内启用;仅支持定制客户端;可手动配置路径或require复用。

如果您下载了 mc.js 格式的材质包,但游戏无法识别或加载失败,则可能是由于材质包未被正确放置或未在配置中启用。以下是 mc.js 自定义材质包的加载步骤:
一、确认 mc.js 材质包文件结构
mc.js 材质包本质是一个 JavaScript 文件,需包含导出的材质定义对象,通常以 module.exports 或 export default 形式声明。该文件必须位于合法的资源路径下,并被游戏运行时动态引入。
1、检查 mc.js 文件是否包含有效的材质导出语句,例如 module.exports = { textures: { ... } } 或 export default { textures: { ... } }。
2、确认文件编码为 UTF-8,无 BOM 头;BOM 会导致解析失败并报 SyntaxError。
3、确保文件名不含空格、中文或特殊符号,推荐使用英文加下划线命名,如 custom_block_materials.mc.js。
二、将 mc.js 文件放入正确目录
mc.js 材质包需置于 Minecraft 启动器指定的资源加载路径中,不同启动器路径略有差异,但核心目录结构一致。游戏启动时会扫描该路径下的 .mc.js 文件并尝试执行。
1、打开 Minecraft 安装目录,进入 resourcepacks 子文件夹。
2、新建一个独立文件夹(如 my_mcjs_pack),将 mc.js 文件直接放入该文件夹根目录。
3、在同一文件夹内创建名为 pack.mcmeta 的 JSON 文件,内容至少包含:
{"pack": {"pack_format": 15, "description": "My MC.js Pack"}}
三、启用材质包并验证加载
材质包需在游戏内资源包列表中手动启用,且 mc.js 文件仅在支持 JS 资源扩展的定制客户端(如 HMCL + Fabric + Mod 加载器)中生效,原版 Java 版不支持。
1、启动 Minecraft,进入“选项”→“资源包”,找到对应文件夹名称(如 my_mcjs_pack)。
2、将其从“可用资源包”拖拽至“已启用资源包”区域。
3、点击“完成”,重启游戏世界;若控制台输出 Loaded mc.js material definitions from my_mcjs_pack,表示加载成功。
四、通过 config.json 手动注册 mc.js 路径
部分 Mod 或启动器允许在全局配置中显式声明 mc.js 文件路径,绕过 resourcepacks 目录限制,适用于调试或单文件快速测试场景。
1、定位到启动器配置目录(如 HMCL 的 .hmcl/config.json)。
2、在顶层对象中添加字段:
"materialScripts": ["./mods/my_custom.mc.js"]
3、确保该路径为相对于启动器主程序的相对路径,且文件可读;路径错误将导致静默忽略。
五、使用 require() 在已有 mc.js 中导入其他材质定义
一个 mc.js 文件可通过 CommonJS 的 require 语法复用其他 mc.js 材质模块,实现分文件管理与逻辑解耦,适合大型材质项目。
1、在主 mc.js 文件顶部添加:
const baseTextures = require('./base_textures.mc.js');
2、确保被 require 的文件同样符合 mc.js 导出规范,且位于同一目录或子目录中。
3、在 module.exports 对象中合并导入内容,例如:
textures: { ...baseTextures.textures, stone: { ... } }。










