多方块结构
核心、八基座、CraftEngine 方块、支持方块、旋转与结构专用特效。
所有结构定义都位于 plugins/BlockCraft/structures.yml。一个结构由核心、材料基座以及可选的纯结构支持方块组成。
坐标规则
核心坐标视为 0,0,0:
- X 正方向:东;
- Y 正方向:上;
- Z 正方向:南。
偏移格式为字符串 X,Y,Z。默认八基座结构:
structures:
natural_altar:
display-name: '<gradient:#55ff55:#00d4ff>自然凝聚祭坛</gradient>'
effect-type: MAGIC_CIRCLE
particle: ENCHANT
core:
source: VANILLA
material: LODESTONE
pedestal:
source: VANILLA
material: POLISHED_DEEPSLATE
allow-rotation: true
pedestal-offsets:
- '0,0,-3'
- '2,0,-2'
- '3,0,0'
- '2,0,2'
- '0,0,3'
- '-2,0,2'
- '-3,0,0'
- '-2,0,-2'

effect-type 与 particle 是此结构自己的合成特效,优先于 config.yml 全局设置。effect-type 可填 MAGIC_CIRCLE、LINEAR、PARABOLA、DISAPPEAR;particle 使用 Bukkit 粒子枚举名,例如 ENCHANT、END_ROD、PORTAL。
使用 CraftEngine 方块
核心和基座可以分别使用 CraftEngine 方块:
structures:
arcane_altar:
display-name: '<gradient:#b06cff:#55e7ff>奥术祭坛</gradient>'
core:
source: CRAFTENGINE
id: mypack:arcane_core
pedestal:
source: CRAFTENGINE
id: mypack:arcane_pedestal
allow-rotation: true
pedestal-offsets:
- '0,0,-3'
- '2,0,-2'
- '3,0,0'
- '2,0,2'
- '0,0,3'
- '-2,0,2'
- '-3,0,0'
- '-2,0,-2'
CRAFTENGINE 的 id 必须使用 namespace:block。BlockCraft 比较的是 CraftEngine 真实方块 ID,不会把自定义方块伪装出的原版 BlockData 当作结构依据。
纯结构支持方块
支持方块只负责让多方块仪式结构完整,与核心和材料基座是三种不同角色:
- 不能在支持方块上放置或取回配方材料;
- 不会显示物品,也不占用基座槽位;
- 每次识别结构、放置材料和开始合成前都会校验;
- 任意一个支持方块缺失、材质错误或 CraftEngine ID 不符,整座祭坛均无效;
- 合成期间受到与核心、基座相同的破坏、爆炸和活塞保护;
allow-rotation: true时,其相对坐标会与整个结构一起旋转。
完整示例:
structures:
natural_altar:
display-name: '<gradient:#55ff55:#00d4ff>自然凝聚祭坛</gradient>'
core:
source: CRAFTENGINE
id: cloud:runic_altar
pedestal:
source: VANILLA
material: POLISHED_DEEPSLATE
supported_1:
source: VANILLA
material: OBSIDIAN
allow-rotation: true
pedestal-offsets:
- '0,0,-3'
- '2,0,-2'
- '3,0,0'
- '2,0,2'
- '0,0,3'
- '-2,0,2'
- '-3,0,0'
- '-2,0,-2'
supported_1-offsets:
- '0,-1,-3'
- '2,-1,-2'
- '3,-1,0'
- '2,-1,2'
- '0,-1,3'
- '-2,-1,2'
- '-3,-1,0'
- '-2,-1,-2'
这表示每个材料基座正下方一格都必须存在黑曜石。supported_1 的名字必须和 supported_1-offsets 前缀完全一致。
可以继续增加不同方块类型:
supported_2:
source: CRAFTENGINE
id: cloud:ritual_pillar
supported_2-offsets:
- '1,0,1'
- '-1,0,1'
- '1,0,-1'
- '-1,0,-1'
支持组名称必须以 supported_ 开头。数字只是推荐命名,也可以使用 supported_pillars;对应坐标节点必须为 <组名>-offsets。
创建不同结构
同一个文件可以定义多个结构,并让不同配方通过 structure 选择:
structures:
small_altar:
display-name: '<green>四方祭坛</green>'
effect-type: DISAPPEAR
particle: END_ROD
core:
source: VANILLA
material: LODESTONE
pedestal:
source: VANILLA
material: CHISELED_STONE_BRICKS
allow-rotation: true
pedestal-offsets:
- '0,0,-2'
- '2,0,0'
- '0,0,2'
- '-2,0,0'
要求:
- 至少配置一个基座坐标;
- 基座不能与核心使用同一个相对位置;
- 基座和所有支持组之间的坐标不能重复;
- 每个
supported_*至少配置一个对应的supported_*-offsets; VANILLA必须填写有效方块材质;CRAFTENGINE必须安装且 ID 存在。
旋转
allow-rotation: true 时,插件会尝试北、东、南、西四种 Y 轴旋转。对默认对称结构没有视觉差异;对不对称结构则允许玩家按四个朝向搭建。
allow-rotation: false 时只按配置中的原始坐标识别。
检查结构
把准星对准核心、任意基座或任意支持方块:
/blockcraft debug
成功信息会显示结构 ID、核心世界与坐标、识别到的旋转方向和支持方块总数。搜索距离由 config.yml 的 interaction.search-radius 控制。