按“它是怎么来的”分类。贴图直接来自游戏资源包 resourcePacks/Vanilla/block/,
与游戏内完全一致 —— 换资源包,这一页跟着变。
引擎的 BlockOutputter 只会造这 4 种方块;其余都是后加的。
地表最上层,挖掉掉泥土
草方块下面几层
深层主体,也是矿脉生长的母体
地表装饰,不掉落
只替换石头、只长在“埋着”的位置(正上方不是空气)。位置完全确定性:只由区块坐标决定,重进游戏不会变。
每区块 6 处脉 · 半径 2 · 掉煤炭
每区块 4 处脉 · 半径 2 · 掉铁
每区块 2 处脉 · 半径 1 · 掉金
每区块 1 处脉 · 半径 1 · 掉钻石
oresWithoutCollision=0),不会穿模掉进地里。resourcePacks/Vanilla/block/*_ore.png 即可。区块只有 16 高、地表大约在 localY 11 附近,所以种的是矮树:2 格树干 + 一层树冠(放不下就跳过)。
树干,砍了掉原木
树冠,不掉落
资源包里有的装饰方块(可由 mod 放置)
资源包里有的装饰方块
资源包里有的装饰方块
| 方块 | 掉落 | 说明 |
|---|---|---|
煤矿石 | 煤炭 | 矿石掉材料,不掉方块本身 |
铁矿石 | 铁 | 同上 |
金矿石 | 金 | 同上 |
钻石矿石 | 钻石 | 同上 |
草方块 | 泥土 | 和 Minecraft 一致 |
树叶 / 草 | — | 不掉东西 |
| 其余方块 | 掉自己 | 石头 / 泥土 / 原木 / 木板 / 火把 / 树干 / 树根 / 树枝 |
| 属性 | 值 | 备注 |
|---|---|---|
| 贴图尺寸 | 16×48(3 个变体竖排) | 火把是 16×144(9 个变体),木板只有 16×16 |
| 一个方块 | 16 像素 | config/constants.json → blockSize |
| 区块容量 | 16×16 | chunkBlockCapacity |
| 实体判定 | solid && !isBackground && collisionRect != null | 碰撞矩形用区块局部坐标,客户端自己加区块偏移 |
| 背景层 | 非实体、挖不掉 | 所以没有掉落 —— 判定“能不能挖”要看前景层 |
| 放置出来的方块 | 基础 Block(solid = true) | BlockManager.setBlock 不走方块注册表 |
BlockTypeRegistry)默认只注册 4 种;内核额外注册了
coal_ore / iron_ore / gold_ore / diamond_ore / log / leaves —— 未注册的类型会被
create() 静默退回草方块,所以生成前必须先注册。