MCreator 基岩版方块模型完全指南:Normal / Cross / 单纹理 / 自定义 `.geo.json` 模型的选择与渲染原理
低代码代码生成桌面应用游戏开发【免费下载链接】MCreatorMCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.项目地址https://gitcode.com/gh_mirrors/mc/MCreator点击查看免费下载本文基于 MCreator 仓库中 de_DE 语言包的 beblock 模型帮助文档英文原文见 default 语言包同路径文档展开。该文档面向 MCreator 的 Bedrock Edition Add-On 生成器generator-addon-26.5x讲解「Bedrock Block基岩版方块元素类型BEBLOCK」的模型Model选择模型决定方块的视觉外观而不决定方块的边框Bounding Box。读完本文你将掌握四种模型选项的含义与适用场景、模型与渲染方法Render Method的配合关系、纹理联动逻辑以及 MCreator 从 UI 配置到生成block.json的完整底层实现链路。1. 文档背景它挂在哪个界面、服务哪个功能在 MCreator 中新建BE Block基岩版方块元素后GUI 分为「视觉Visual」「属性Properties」「生成Generation」「脚本Scripts」四个页面其中「视觉」页顶部即「模型」下拉框。该下拉框的帮助按钮绑定的帮助入口正是beblock/model相关代码见 BEBlockGUI.javarenderSettings.add( HelpUtils.wrapWithHelpButton(this.withEntry(beblock/model), L10N.label(elementgui.beblock.model))); renderSettings.add(renderType);也就是说plugins/mcreator-localization插件在语言包help/语言/beblock/model.md中提供该下拉框的逐语言帮助文本MCreator 的 UI 会按当前界面语言自动加载对应的 Markdown 并渲染为帮助弹窗。这也是为什么同一份文档在仓库中存在de_DE、zh_CN、default英文基准等多份副本。核心前提原文第一句模型只定义视觉外观不定义方块的边框。这一点至关重要——在 Bedrock 引擎中方块的碰撞体积collision box与模型几何体是两套独立的数据即使选用了自定义几何模型方块仍然可以也通常需要单独设置贴合或不贴合模型形状的边框。2. 四种模型选项详解原文档给出了四个选项Normal、Cross、Single texture、Custom。MCreator 源码中这三个内置模型被定义为常量见 BEBlockGUI.javapublic static final Model normal new Model.BuiltInModel(Normal); public static final Model cross new Model.BuiltInModel(Cross model); public static final Model singleTexture new Model.BuiltInModel(Single texture); public static final Model[] builtinitemmodels new Model[] { normal, cross, singleTexture };2.1 Normal —— 每面独立纹理的普通方块视觉表现标准立方体方块六面均可使用独立纹理。适用场景绝大多数常规方块石块、矿石、地板等。纹理要求需要顶部、底部、前后左右共最多 6 张纹理未填写的面会回退到主纹理见下文。代码对应renderType 10。生成方块预览图标时使用顶/左/前三面纹理合成透视方块图BEBlock.javaif (renderType 10) { return (BufferedImage) MinecraftImageGenerator.Preview.generateBlockIcon( getTextureWithFallback(textureTop), getTextureWithFallback(textureLeft), getTextureWithFallback(textureFront)); }选中 Normal 时GUI 会启用六面独立纹理选择器其它模型则切换为单一纹理选择器见 BEBlockGUI.javaprivate void updateTextureOptions() { if (normal.equals(renderType.getSelectedItem())) { textures.setTextureFormat(BlockTexturesSelector.TextureFormat.ALL); } else { textures.setTextureFormat(BlockTexturesSelector.TextureFormat.SINGLE_TEXTURE); } }生成时六面纹理分别映射到up / down / north / south / east / west六种材质实例纹理图集由 terrain_texture.json.ftl 生成未单独指定顶/左/前面时源码通过textureTop()、textureLeft()、textureFront()等访问器自动回退到主纹理textureBEBlock.java。2.2 Cross —— 十字交叉模型花卉类方块视觉表现纹理以X 形交叉摆放典型如花朵、草丛、作物。适用场景所有非立方体、站立在地面的小型植物类方块。代码对应renderType 11。生成block.json时几何体被指定为内置的minecraft:geometry.cross见 block.json.ftlminecraft:geometry: #if data.hasCustomModel() geometry.${data.getModel().getReadableName()} #elseif data.renderType() 11 minecraft:geometry.cross #else minecraft:geometry.full_block /#if,渲染注意事项原文重点选用 Cross 模型时建议将渲染方法Render Method设为alpha_test_single_sided、blend或opaque以避免纹理闪烁texture flickering。原因在于 Cross 模型由两个交叉平面构成若使用双面渲染或不当的透明混合两个面会在重叠像素处互相穿插、导致 z-fighting 闪烁。另外模板对 Cross 还强制关闭了环境光遮蔽与面变暗见 block.json.ftl*: material_face data.renderType() 11 data.renderType() 11/即ambient_occlusion: false、face_dimming: false宏定义见 block.json.ftl确保交叉面不会因相邻方块遮挡产生明暗差异。2.3 Single texture —— 单纹理普通方块视觉表现外观与 Normal 相同的标准立方体但六面共用同一张纹理。适用场景需要快速建模的简单方块或纹理本身六面一致如单色块、泥土等。代码对应renderType 12。hasOneTexture()返回true见 BEBlock.java因此材质实例退化为单一*项纹理图集也只为该方块注册一条记录terrain_texture.json.ftl。预览图标生成时三面均使用主纹理} else if (renderType 12) { return (BufferedImage) MinecraftImageGenerator.Preview.generateBlockIcon( getMainTexture(), getMainTexture(), getMainTexture()); }与 Normal 相比Single texture 的主要差异就是减少了纹理槽位本质上仍是完整立方体几何minecraft:geometry.full_block碰撞/边框行为与 Normal 一致。2.4 Custom —— 自定义 Bedrock 模型.geo.json视觉表现使用你自行制作的Bedrock 几何模型文件.geo.json几何体完全由模型决定。尺寸硬限制方块模型被限制在30×30×30 像素以内原文档明确说明。代码对应renderType 2。MCreator 将.geo.json识别为Model.Type.BEDROCK见 Model.java} else if (file.getName().endsWith(.geo.json)) { this.file new File[1]; this.file[0] file; this.type Type.BEDROCK; }模型的显示名由文件名去掉.geo.json后缀得到Model.java并最终作为geometry.显示名写入生成的block.json见上文 2.2 的模板分支。加载时MCreator 会在工作区models/目录由 WorkspaceFolderManager.java 的getModelsDir()定义下查找名称.geo.jsonelse if (type Type.BEDROCK) return new Model(new File(workspace.getFolderManager().getModelsDir(), name .geo.json));在 UI 侧模型下拉框在三个内置模型之外还会动态并入工作区中所有 Bedrock 模型BEBlockGUI.javaComboBoxUtil.updateComboBoxContents(renderType, ListUtils.merge(Arrays.asList(normal, cross, singleTexture), Model.getModelsWithTextureMaps(mcreator.getWorkspace()).stream() .filter(el - el.getType() Model.Type.BEDROCK).collect(Collectors.toList())));使用流程把做好的.geo.json及配套纹理放入工作区models/目录 → 重新打开 BE Block 编辑器 → 在「模型」下拉框选择该模型。选中的模型名会被写入数据模型的customModelName字段。3. 渲染方法Render Method与纹理闪烁的配合原文档在 Cross 条目中给出了渲染方法建议因此必须结合同目录帮助文档 beblock/render_method.md 理解其含义。渲染方法决定方块的透明表现、背面剔除与远距离渲染行为相关概念Transparenz透明度完全不可见的像素被裁剪掉alpha test。Durchscheinend半透明像素半透明可透视blend。Rückseiten-Keulung背面剔除从背面看时面不可见。Distanzvernichtung远距离剔除面在渲染距离一半之后消失。MCreator 的BEBlock数据模型提供以下可选渲染方法BEBlock.java渲染方法透明度半透明背面剔除远距离剔除典型示例opaque默认否否是否泥土、石头、混凝土double_sided否否否否粉雪blend是是是否玻璃、灯塔、蜂蜜块alpha_test是否否是漏斗、刷怪笼、藤蔓alpha_test_single_sided是否是是漏斗、刷怪笼、藤蔓alpha_test_to_opaque近处 alpha_test / 远处 opaque———树叶alpha_test_single_sided_to_opaque近处 alpha_test_single_sided / 远处 opaque———海带、甘蔗blend_to_opaque近处 blend / 远处 opaque————为什么 Cross 推荐这三种原文档给出的组合alpha_test_single_sided、blend、opaque的共同点是都启用背面剔除从而避免交叉的两个平面在重叠处相互穿透产生纹理闪烁其中blend适合需要半透明裁切的植物配合 alpha 通道opaque适合完全不透明的纹理。模板在写入render_method时仅在非默认值opaque时才输出该字段block.json.ftl#if data.renderMethod ! opaque,render_method: ${data.renderMethod}/#if4. 从 UI 选项到数据模型与生成的完整链路把「模型下拉框的每一次选择」到「最终 JSON」串起来可以得到完整的调用链UI 选择BEBlockGUI.java 的getElementFromGUI()将选中模型映射为整数renderType与名称customModelNameModel model Objects.requireNonNull(renderType.getSelectedItem()); block.renderType 10; if (model.getType() Model.Type.BEDROCK) block.renderType 2; else if (model.equals(cross)) block.renderType 11; else if (model.equals(singleTexture)) block.renderType 12; block.customModelName model.getReadableName();数据模型BEBlock.java 根据renderType反查模型对象并提供hasCustomModel()renderType 2与hasOneTexture()自定义 / Cross / 单纹理两个供模板调用的判断方法。代码生成beblock.definition.yaml插件定义文件声明block/block.json.ftl输出到SRCROOT/blocks/registryname.json全局模板resourcepack/terrain_texture.json.ftl输出到RESROOT/textures/terrain_texture.jsonblock.json.ftl依据hasCustomModel() / renderType() / hasOneTexture()决定minecraft:geometry与minecraft:material_instances的最终形态。旧版迁移将 Java 版方块转换为基岩版方块的转换器 BlockToBedrockConverter.java 也会完整迁移纹理、硬度、掉落等属性并将摩擦系数上限收敛到 0.9、掉落数量上限收敛到 64 以符合 Bedrock 限制说明模型选择体系是 BE Block 元素配置的一部分与其它属性一体保存。5. 实战操作速查在 MCreator 中配置方块模型的完整步骤新建元素 → 类型选择Bedrock BlockBE Block对应元素类型BEBLOCK由ModElementTypeLoader注册。进入「视觉Visual」页 → 「模型Model」下拉框选择Normal / Cross model / Single texture或从下拉列表中选择已导入的自定义 Bedrock 模型。根据模型类型设置纹理Normal分别指定顶部、底部、前后左右纹理缺省面自动回退主纹理Cross / Single texture / 自定义指定一张主纹理。若选择Cross在「渲染方法Render Method」中从alpha_test_single_sided、blend、opaque中择一避免纹理闪烁。若选择自定义模型先将.geo.json放入工作区models/目录模型尺寸不得超过30×30×30 像素再刷新编辑器并重新选择。在「属性」页单独配置方块的边框/碰撞相关属性——模型选择不会影响边框。6. 常见误区与要点小结模型 ≠ 碰撞箱模型只改外观碰撞箱是独立的需要非标准碰撞体时务必在其它属性中单独配置切勿以为选了自定义模型就会自动拥有匹配的碰撞形状。Cross 闪烁交叉平面模型必须搭配启用背面剔除的渲染方法文档推荐的三种均可否则会出现纹理闪烁。尺寸上限自定义.geo.json模型不得超过 30×30×30 像素超限模型可能无法正确生成或渲染。纹理槽位Normal 模型用满六面纹理槽位其它三种模型统一使用单纹理槽位hasOneTexture()为 true 时材质实例退化为*。默认值新创建的 BE Block 默认renderType 10、customModelName NormalBEBlock.java渲染方法默认opaque。若需进一步阅读可参考英文基准文档 default/beblock/model.md以及配套的 render_method.md 帮助页底层实现可深入 BEBlockGUI.java、BEBlock.java 与 block.json.ftl。赞分享低代码代码生成桌面应用游戏开发【免费下载链接】MCreatorMCreator is an open-source software used to make Minecraft Java Edition mods, Minecraft Bedrock Edition Add-Ons, resource packs, and data packs using an intuitive easy-to-learn interface or with an integrated code editor. It is used worldwide by Minecraft players, aspiring mod developers, for education, online classes, and STEM workshops.项目地址https://gitcode.com/gh_mirrors/mc/MCreator点击查看免费下载相关推荐MCreator 方块模型选择指南从内置模型到自定义 JSON/JAVA/OBJ 模型MCreator 方块模型选择指南从内置模型到自定义 JSON/JAVA/OBJ 模型 本篇技术指南围绕 MCreator 方块编辑器中「模型Model」低代码代码生成桌面应用游戏开发MCreator 方块状态模型Block State Model详解为每个 Block State 选择 Normal 或自定义 JSON/OBJ 模型MCreator 方块状态模型Block State Model详解为每个 Block State 选择 Normal 或自定义 JSON/OBJ 模型低代码代码生成桌面应用游戏开发MCreator 方块发光渲染Emissive Rendering详解让自定义方块如岩浆般自发光MCreator 方块发光渲染Emissive Rendering详解让自定义方块如岩浆般自发光 本篇技术指南围绕 MCreator 的「发光渲染Emi低代码代码生成桌面应用游戏开发上一篇Win11Debloat完整指南免费开源工具让你的Windows 11焕然一新下一篇Infection Monkey WMI Exploiter 参考指南Windows 远程执行与超时配置解析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

instagram-private-api 内联子评论响应结构详解:MediaInlineChildCommentsFeedResponseChildCommentsItem 接口深度剖析

instagram-private-api 内联子评论响应结构详解:MediaInlineChildCommentsFeedResponseChildCommentsItem 接口深度剖析

后端 【免费下载链接】instagram-private-api NodeJS Instagram private API SDK. Written in TypeScript. 项目地址: https://gitcode.com/gh_mirrors/in/instagram-private-api 点击查看 免费下载 本文围绕 instagram-private-api(TypeScript 编写的 …

2026/10/16 6:46:57 阅读更多 →
Calibre 电子书格式转换:3 次点击,让书进库就能发到任何阅读器

Calibre 电子书格式转换:3 次点击,让书进库就能发到任何阅读器

Calibre 电子书格式转换:3 次点击,让书进库就能发到任何阅读器 【免费下载链接】calibre The official source code repository for the calibre ebook manager 项目地址: https://gitcode.com/GitHub_Trending/ca/calibre Calibre 是一款免费开源…

2026/10/16 6:46:57 阅读更多 →
QuaZip预编译库接入指南:Qt版本、MSVC/MinGW选型与DLL部署避坑

QuaZip预编译库接入指南:Qt版本、MSVC/MinGW选型与DLL部署避坑

简介:QuaZip是开源的C压缩处理库,支持ZIP档案的读取、创建、更新,并对RAR格式提供基础操作能力。这份已编译好的lib与dll资源包,面向Windows环境下使用Qt5或Visual Studio的C开发者,帮助其快速获得可用的压缩模块&…

2026/10/16 6:45:57 阅读更多 →

最新新闻

机器学习入门:从学习范式到反向传播的核心概念全解析

机器学习入门:从学习范式到反向传播的核心概念全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:54:48 阅读更多 →
Vue小白入门:一个HTML文件跑通响应式交互

Vue小白入门:一个HTML文件跑通响应式交互

简介:本资源是一份专为零基础初学者设计的 Vue 框架入门教程,面向前端开发新人、转行学习者及高校计算机相关专业学生,系统解决“Vue 是什么、怎么搭环境、如何写第一个应用、何时用生命周期钩子”四大核心问题。内容覆盖 Vue 渐进式特性、CD…

2026/10/17 9:54:48 阅读更多 →
ArcGIS Engine开发核心:ICommand与ITool接口实战解析

ArcGIS Engine开发核心:ICommand与ITool接口实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:54:48 阅读更多 →
树莓派扩展PWM控制舵机:PCA9685接线与驱动实战指南

树莓派扩展PWM控制舵机:PCA9685接线与驱动实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:54:48 阅读更多 →
Swagger注解不生效?版本冲突到配置缺失的完整排查指南

Swagger注解不生效?版本冲突到配置缺失的完整排查指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 9:54:48 阅读更多 →
AI拉低攻击成本后,中小企业如何重新评估安全防线与防御策略

AI拉低攻击成本后,中小企业如何重新评估安全防线与防御策略

1. 当攻击成本被AI拉低,安全防线该怎么重新算账最近圈子里讨论比较多的一份报告,来自Anthropic的安全研究团队。标题翻译过来大概意思是:AI可能让更多公司变得“值得被攻击”。这句话乍看有点绕,但做过企业安全的人一眼就能品出味…

2026/10/17 9:53:48 阅读更多 →

日新闻

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

DeepSeek选型与部署:V3/R1、Ollama、API全攻略

简介:《DeepSeek使用方法.pdf》是一份面向DeepSeek入门及进阶用户的完整使用指南,重点围绕V3与R1两款模型的能力差异与适用场景展开,帮助读者根据任务类型与成本选择合适的模型。资源共1个PDF文件,压缩包大小约311KB,篇…

2026/10/17 0:00:25 阅读更多 →
200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

200+Deepseek润色指令拆解:从底层原理到场景落地的完整指南

简介:这是一份聚焦DeepSeek提示词优化的《200Deepseek润色指令》PDF文档,共收录两百余条可直接套用的润色指令,涵盖语法修正、风格统一、逻辑梳理、表达精炼等维度,并针对商务写作、学术论文、广告文案等场景给出差异化建议。文档…

2026/10/17 0:00:25 阅读更多 →
OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

OpenCV轮廓法物体计数系统:轻量、可控、可落地的工业级实现

简介:本资源是一份基于OpenCV的本科课程设计完整报告,面向计算机视觉初学者、图像处理学习者及高校通信/信息类专业学生,解决物体智能计数与检测结果结构化记录的实际问题。项目覆盖图像预处理、轮廓检测、边界框绘制、轨迹栏交互式参数调节、…

2026/10/17 0:00:25 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/16 21:35:51 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/17 1:44:59 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/16 15:04:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 21:54:38 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 14:23:36 阅读更多 →