跳到主要内容

🔧 方块设置

概览

settings 配置部分定义了方块的基础属性,例如硬度、音效、熔岩可燃性、亮度、合适挖掘工具等,其次这与🕹️ 方块行为不在同一个配置部分。此外所有设置项均为可选(省略时使用默认值),并能通过变体按状态覆盖。以下是包含所有可用设置类型的示例:

blocks:
custom:all_settings_block:
settings:
hardness: 0.5
resistance: 0.5
push_reaction: NORMAL
map_color: 36
burnable: false
fire_spread_chance: 0
burn_chance: 0
item: custom:all_settings_item
replaceable: false
is_redstone_conductor: true
is_suffocating: true
is_view_blocking: true
sounds:
break: minecraft:block.deepslate.break
step: minecraft:block.deepslate.step
place: minecraft:block.deepslate.place
hit: minecraft:block.deepslate.hit
fall: minecraft:block.deepslate.fall
require_correct_tools: true
respect_tool_component: false
correct_tools:
- minecraft:wooden_pickaxe
incorrect_tool_dig_speed: 0.3
tags:
- minecraft:mineable/pickaxe
instrument: basedrum
fluid_state: water
support_shape: minecraft:stone
luminance: 15
can_occlude: false
block_light: 0
propagate_skylight: false
jump_factor: 1.0
speed_factor: 1.0
friction: 0.7
bounce_restitution: 0.0

本页分两部分:稳定设置(完全支持)与不稳定设置(尽可能支持,可能出现服务端与客户端不同步的问题)。

稳定设置

硬度

决定了挖掘这个方块需要的挖掘时间。(默认值:2.0)

hardness: 0.5

爆炸抗性

决定了方块在爆炸中吸收和阻止爆炸破坏方块传播的强度。(默认值:2.0)

resistance: 0.5

活塞推动行为

决定方块在受到活塞推动时的反应。请注意,由于客户端视觉同步问题,某些反应可能与某些方块类型不兼容。这个问题将在未来版本中得到修复。(默认值:NORMAL)

  • NORMAL 可推动,可拉动
  • DESTROY 被推动破坏,不可拉动
  • BLOCK 不可推动,不可拉动
  • IGNORE 似乎像 PUSH_ONLY 一样工作,但可以粘附在粘性方块上
  • PUSH_ONLY 可推动,不可拉动
push_reaction: NORMAL

地图颜色

决定了地图在表示此方块时会使用的颜色的基色。可用颜色可以在 https://zh.minecraft.wiki/w/地图存储格式#地图基色 查找。(默认值:0)

map_color: 36

熔岩可燃性

决定了熔岩是否可以在该方块上生成火。(默认值:false)

burnable: true

烧毁几率

影响火与其相邻时破坏该方块的几率和速率。方块烧毁几率为正数时,其所有表面均可燃烧,否则只有其完整的上表面可以燃烧。(默认值:0)

fire_spread_chance: 100 # 0-100

引燃几率

影响火在其附近时传播到该方块表面上的几率和速率。引燃几率为正数的方块被称为可燃方块。(默认值:0)

burn_chance: 30 # 0-100

物品

决定方块对应的物品是什么。通常在创造模式使用鼠标中键点击来获取方块。(默认值:null)

item: default:xxx_block_item

可替代

决定了方块是否可以被其他方块通过放置被直接替代掉,影响方块物品放置出方块的方式。(默认值:false)

replaceable: false

红石导体

决定了方块在红石信号传播中的影响。具有红石导体属性的方块被称为红石导体。(默认值:未定义)

is_redstone_conductor: true

窒息生物

决定了生物视平线处于其中时会发生窒息的方块。(默认值:未定义)

is_suffocating: true

视野阻挡

会使视平线处于其中的非旁观模式玩家渲染阻挡视线的效果。绝大多数窒息方块都是视野阻挡方块。但是,此选项对玩家毫无用处,但是它将影响服务器上的某些实体机制。(默认值:未定义)

is_view_blocking: true

音效

决定方块在各种情况下的音效。(默认值:null)

  • fall 当玩家带有坠落伤害时坠落在方块上时
  • hit 当玩家挖掘方块时
  • break 当玩家破坏方块时
  • step 当玩家在方块上行走时
  • place 当玩家放置方块时
sounds:
break: minecraft:block.deepslate.break
step: minecraft:block.deepslate.step
place: minecraft:block.deepslate.place
hit: minecraft:block.deepslate.hit
fall: minecraft:block.deepslate.fall
信息

您可以像这样配置以精确控制音量和音高

sounds:
break:
id: minecraft:block.deepslate.break
pitch: 0.5
volume: 0.25~0.3 # 范围值也支持
step: minecraft:block.deepslate.step

需要合适挖掘工具

决定了是否需要合适挖掘工具才能有效的挖掘这个方块(默认值:false)

require_correct_tools: false

尊重 tool 组件

决定 minecraft:tool 组件的 correct_for_drops 选项是否应像下面的 correct_tools 一样工作。(默认值:false)

respect_tool_component: false

合适挖掘工具

决定了什么物品可以有效地挖掘这个方块。(默认值:null)

correct_tools:
- minecraft:wooden_pickaxe
- minecraft:stone_pickaxe
- minecraft:iron_pickaxe
- minecraft:golden_pickaxe
- minecraft:diamond_pickaxe
- minecraft:netherite_pickaxe
提示

如果设置了 correct_tools,那么 require_correct_tools 默认为 true

挖掘惩罚

决定了如果不使用合适挖掘工具的挖掘速度是正常的多少倍(默认值:0.3)

incorrect_tool_dig_speed: 0.3 # 0~1

标签

标签决定了许多方块的属性。例如,使用 minecraft:mineable/axe 会让你的方块用斧挖掘时更快。(默认值:null)🏷️ 方块标签

tags:
- minecraft:mineable/axe
- minecraft:logs_that_burn
- minecraft:logs
- minecraft:completes_find_tree_tutorial

客户端侧标签

这只适用于原版方块

client_bound_tags:
- minecraft:beacon_base_blocks

乐器

决定了方块被放在音符盒下时,音符盒使用的乐器类型。(默认值:harp)

译者注:全部的乐器名称可以在这里查到

instrument: basedrum

流体状态

决定了方块状态的包含的流体状态。(默认值:empty)

fluid_state: water # empty/water

支撑形状

决定了方块提供的支撑形状。默认情况下,自定义方块会使用其对应视觉状态的支撑形状。但是,你可以在这里手动指定一个原版方块的支撑形状来代替。

support_shape: minecraft:stone

裂纹

决定了方块被挖掘时显示的裂纹。你可以指定若干自定义物品来替换原版的裂纹,并且可以自定义其偏移、旋转和缩放等变换。

destroy_stages:
items:
- minecraft:destroy_stage_0
- minecraft:destroy_stage_1
- minecraft:destroy_stage_2
# ... 任意数量的物品
destroy_stages:
translation: 0,0.5,0 # 偏移量 (x,y,z),推荐使用此方式调整位置
position: 0.5,0.5,0.5 # 相对位置 (x,y,z),默认方块中心
scale: 1,1,1 # 缩放 (x,y,z),也支持单个数字如 scale: 1.5
yaw: 0 # 绕 Y 轴旋转
pitch: 0 # 绕 X 轴旋转
rotation: 45 # 基于 Y 轴旋转
rotation: 45,45,0 # 欧拉角,见下方旋转工具
rotation: 0,0,0.707,0.707 # 四元数,见下方旋转工具
display_transform: none # 物品展示实体的模式,用于再次变换物品模型:
# none / third_person_left_hand / third_person_right_hand
# 不变换 / 第三人称视角左手变换 / 第三人称视角右手变换
# first_person_left_hand / first_person_right_hand
# 第一人称视角左手变换 / 第一人称视角右手变换
# head / gui / ground
# 放置在头部物品栏的变换 / 在图形界面中的变换 / 平铺在地面的变换
# fixed / on_shelf
# 默认变换 / 在展示架中的变换
billboard: fixed # fixed / vertical / horizontal / center
# 固定垂直和水平轴 / 固定垂直轴 / 固定水平轴 / 按照中心旋转跟随玩家视角
view_range: 1.0 # 可视距离系数
brightness: # 渲染亮度值,译者注:若需配置该选项则其子选项 `block_light` 和 `sky_light` 必填否则无效
block_light: 15
sky_light: 15

不稳定设置

警告

接下来的方块设置只对非玩家实体生效

弹性碰撞系数(26.2+)

决定了生物下落到方块上后可以反弹多高。绝大多数方块的弹性碰撞系数为0,黏液块的弹性碰撞系数为1,床的弹性碰撞系数为0.75。如果是非生物实体下落导致的碰撞,则计算使用的弹性碰撞系数会额外乘上0.8。

bounce_restitution: 0.0
提示

可通过⏏️ 弹跳方块强制为玩家实体同步

阻力系数

决定了方块与站在其上方的生物的“摩擦力”,影响生物的加速度并决定稳定移动速度。绝大多数方块的阻力系数为0.6,黏液块的阻力系数为0.8,冰、浮冰、霜冰的阻力系数为0.98,蓝冰的阻力系数为0.989。

friction: 0.6

跳跃乘数

jump_factor: 1.0

速度乘数

speed_factor: 1.0
警告

剩余的方块设置都与光照系统有关。CraftEngine 已尽可能在不影响服务器性能的情况下实现了部分光照效果。客户端光照系统的视觉问题属于正常现象,在大多数情况下我也无法修复。

方块对天空光照的遮挡完全由客户端决定无法通过服务器发送数据包来修复。因此,block_lightcan_occlude 设置仅影响方块自身发出的光,不影响天空光照。

亮度

决定方块的光照等级。(默认值:0)

luminance: 15

阻挡光线

决定方块是否能阻挡光线。这也会决定该方块是否能将下方的方块转换为另一种类型(例如,草方块变为泥土)。(默认值:未定义)

can_occlude: false

can_occlude: true

can_occlude: false

can_occlude: false

can_occlude: true

散射光照

决定光线穿过此方块后降低的光照等级。(默认值:未定义)

block_light: 0

block_light: 15

block_light: 7

block_light: 0

传播天空光照

决定天空光照能否穿过该方块。

propagate_skylight: true