🧱 方块
概览
自定义方块定义在配置文件的 block 或 blocks 段中。每个条目都使用 命名空间:路径 作为唯一 ID(如 default:palm_log);命名空间和路径不能包含中文。其余配置按需组合即可。
只有 state 或 states 为必填项,其他部分均可按需添加。
结构速览
每个方块都遵循同样的结构。每个选项回答关于方块的一个问题:
blocks: # 配置段 —— 可以写在 configuration 下的任意配置文件中
default:my_block: # 方块 ID —— 其他配置可通过 default:my_block 引用
state: # 方块状态 —— 必填 → 外观、模型和碰撞箱
...
settings: # 方块设置 —— 可选 → 基本属性是什么(硬度、音效、亮度、标签)
...
behavior: # 方块行为 —— 可选 → 有什么行为(生长、下落、存储、蔓延……)
...
loot: # 战利品表 —— 可选 → 被破坏时掉落什么
...
events: # 事件 —— 可选 → 对玩家交互的反应(放置、破坏……)
...
可配置的部分
快速上手
1. 最简方块
一个状态和纹理,就是一个完整可用的方块:
blocks:
default:my_block:
state:
auto_state: note_block # 让插件自动选一个视觉状态
model:
texture: "minecraft:block/custom/my_block" # 单张纹理 → cube_all 模型
2. 设置基本属性
添加 settings,为方块设置与石头相似的音效、硬度和挖掘工具:
blocks:
default:my_block:
state:
auto_state: note_block
model:
texture: "minecraft:block/custom/my_block"
settings:
hardness: 1.5
resistance: 6.0
is_suffocating: true
is_redstone_conductor: true
instrument: basedrum
map_color: 11
sounds:
break: minecraft:block.stone.break
step: minecraft:block.stone.step
place: minecraft:block.stone.place
hit: minecraft:block.stone.hit
fall: minecraft:block.stone.fall
correct_tools:
- minecraft:wooden_pickaxe
- minecraft:stone_pickaxe
- minecraft:iron_pickaxe
- minecraft:golden_pickaxe
- minecraft:diamond_pickaxe
- minecraft:netherite_pickaxe
tags:
- minecraft:mineable/pickaxe
3. 指定行为
添加 behavior 可以赋予方块特定行为。以下示例让它成为可以用斧剥皮的原木:
blocks:
default:my_block:
state:
auto_state: note_block
model:
texture: "minecraft:block/custom/my_block"
settings:
hardness: 1.5
tags:
- minecraft:mineable/axe
- minecraft:logs
behavior:
type: strippable_block
stripped: default:stripped_my_block
可以继续按需组合其他配置:loot 控制掉落物,events 处理交互,entity_renderer 则可以在 state 中配置自定义渲染。各部分彼此独立。
将方块和物品绑定到一起
方块与物品是两个独立的配置对象,需要显式建立关联:
方块侧配置
在方块配置中指定对应物品,主要用于按鼠标中键选取方块,以及查询方块对应的物品。此项可选,默认使用自定义方块自身的 ID。
blocks:
default:my_block:
state: ...
settings:
item: default:my_block # 该方块映射到的物品 id
物品侧配置
要让玩家能够右键放置方块,需要为物品添加🧱 方块物品行为,并让 block 指向方块 ID:
items:
default:my_block:
behavior:
type: block_item
block: default:my_block # 该物品放置的方块
blocks:
default:my_block:
state: ...
settings: ...
block 也可以直接内联完整的方块配置,适合将物品与方块写在同一处:
items:
default:my_block:
behavior:
type: block_item
block:
state: ...
settings: ...
loot: ...
提示
方块物品的变体
普通🧱 方块物品会在玩家点击的位置放置方块。
当需要特殊放置规则时,CraftEngine 提供了以下变体,它们都接受同样的 block 选项:⬇️ 天花板方块物品、🧱 墙面方块物品、⬆️ 地面方块物品、2️⃣ 双层方块物品、🔢 多层方块物品、🌊 液体碰撞方块物品。
遇到不知道怎么配置时该看哪里
根据你想做的事找到对应页面:
| 目标 | 参考页面 |
|---|---|
| 给它模型、纹理或朝向等 | 🔣 方块状态 |
| 改硬度、音效、亮度、熔岩可燃性、合适挖掘工具等 | 🔧 方块设置 |
| 让它能够生长、下落、被剥皮、蔓延,或具有门等机制 | 🕹️ 方块行为 |
| 查某个行为需要哪些属性类型 | ℹ️ 属性 |
| 控制掉落物 | 🎲 战利品表 |
| 让它掉落经验 | 💎 掉落经验方块 |
| 对放置或破坏等做出反应 | 🪇 事件 · ⚖️ 条件 |
| 渲染物品、文字、自定义模型 | 🫑 方块实体渲染器 |
| 为方块绑定可放置物品 | ↑ 绑定物品 · 🧱 方块物品 |
| 通过原版标签驱动机制(加速挖掘、原木、信标基座等) | 🔧 方块设置 |