方块图鉴

按“它是怎么来的”分类。贴图直接来自游戏资源包 resourcePacks/Vanilla/block/, 与游戏内完全一致 —— 换资源包,这一页跟着变。

地形生成 4 种矿脉 4 种 矮树 2 种合成 2 种 mapper 共 15 个 block key

地形生成 引擎自己的生成器

引擎的 BlockOutputter 只会造这 4 种方块;其余都是后加的。

草方块grass_block

地表最上层,挖掉掉泥土

泥土dirt

草方块下面几层

石头stone

深层主体,也是矿脉生长的母体

grass_plant

地表装饰,不掉落

矿脉 内核在区块生成末尾种入

只替换石头、只长在“埋着”的位置(正上方不是空气)。位置完全确定性:只由区块坐标决定,重进游戏不会变。

煤矿石coal_ore

每区块 6 处脉 · 半径 2 · 掉煤炭

铁矿石iron_ore

每区块 4 处脉 · 半径 2 · 掉铁

金矿石gold_ore

每区块 2 处脉 · 半径 1 · 掉金

钻石矿石diamond_ore

每区块 1 处脉 · 半径 1 · 掉钻石

实测(281 个区块):煤 804、铁 303、金 75、钻石 14 —— 越贵越少; 所有矿石快照都带碰撞矩形(oresWithoutCollision=0),不会穿模掉进地里。
矿石贴图是程序化生成的占位图(拿 stone.png 染色、加矿点,16×48 三变体), 想换成美术图直接替换 resourcePacks/Vanilla/block/*_ore.png 即可。

矮树 地形生成器不产木头,内核补的

区块只有 16 高、地表大约在 localY 11 附近,所以种的是矮树:2 格树干 + 一层树冠(放不下就跳过)。

原木log

树干,砍了掉原木

树叶leaves

树冠,不掉落

树干trunk

资源包里有的装饰方块(可由 mod 放置)

树根root

资源包里有的装饰方块

树枝branch

资源包里有的装饰方块

合成得到

产物配方产出
木板原木 ×1(放进 3×3 任意格)×4
火把木板 ×1 + 煤炭 ×1(无序)×4

完整流程与可交互的九宫格在 合成与产出 页。

掉落总表

方块掉落说明
煤矿石煤炭矿石掉材料,不掉方块本身
铁矿石同上
金矿石同上
钻石矿石钻石同上
草方块泥土和 Minecraft 一致
树叶 / 草不掉东西
其余方块掉自己石头 / 泥土 / 原木 / 木板 / 火把 / 树干 / 树根 / 树枝

方块属性

属性备注
贴图尺寸16×48(3 个变体竖排)火把是 16×144(9 个变体),木板只有 16×16
一个方块16 像素config/constants.json → blockSize
区块容量16×16chunkBlockCapacity
实体判定solid && !isBackground && collisionRect != null碰撞矩形用区块局部坐标,客户端自己加区块偏移
背景层非实体、挖不掉所以没有掉落 —— 判定“能不能挖”要看前景层
放置出来的方块基础 Block(solid = true)BlockManager.setBlock 不走方块注册表
方块注册表(BlockTypeRegistry)默认只注册 4 种;内核额外注册了 coal_ore / iron_ore / gold_ore / diamond_ore / log / leaves —— 未注册的类型会被 create() 静默退回草方块,所以生成前必须先注册。