触发器 (我的世界):修订间差异

来自Hyacinth
跳转到导航 跳转到搜索
删除的内容 添加的内容
Kevin2007留言 | 贡献
我的世界基岩版数据驱动附加包开发行为包方块注册中有关方块组件的触发器一览表
 
Kevin2007留言 | 贡献
 
(未显示1个用户的3个中间版本)
第4行: 第4行:
'''事件触发器'''是游戏中有特定的事件发生在该方块上时,触发对应的触发器。
'''事件触发器'''是游戏中有特定的事件发生在该方块上时,触发对应的触发器。


事件触发器拥有下述共同键值对。
事件触发器共同拥有下述的数据:
{| class="wikitable"
{| class="wikitable"
|+
|+
第29行: 第29行:


=== minecraft:on_fall_on ===
=== minecraft:on_fall_on ===
----'''minecraft:on_fall_on''' 在实体跌落到该方块上时被触发,拥有一个独占键值对
----'''minecraft:on_fall_on''' 在实体跌落到该方块上时被触发。
{| class="wikitable"
{| class="wikitable"
|+
|+
第44行: 第44行:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
"minecraft:on_fall_on": {
"minecraft:on_fall_on": {
"condition": "query.block_state(hyacinth:blockname) == true",
"condition": "true",
"event": "hyacinthevent",
"event": "hyacinthevent",
"target": "self",
"target": "self",
第54行: 第54行:
----'''minecraft:on_interact''' 在实体与方块交互时触发。<syntaxhighlight lang="json">
----'''minecraft:on_interact''' 在实体与方块交互时触发。<syntaxhighlight lang="json">
"minecraft:on_interact": {
"minecraft:on_interact": {
"condition": "query.block_state(hyacinth:blockname) == true",
"condition": "true",
"event": "hyacinthevent",
"event": "hyacinthevent",
"target": "self"
"target": "self"
第101行: 第101行:
|'self'
|'self'
|String
|String
|-
|range
|格式为:[min, max]。间隔随机刻触发触发器。
| -
|Array
|}
|}


第107行: 第112行:


=== minecraft:random_ticking ===
=== minecraft:random_ticking ===
----'''minecraft:random_ticking''' 基于随机游戏刻触发触发器。
----'''minecraft:random_ticking''' 基于随机游戏刻触发触发器,受随机刻速度规则影响

2023年12月1日 (五) 00:03的最新版本

触发器是基岩版我的世界数据驱动中应用于方块的部分特殊组件,在格式和作用上拥有一些相同的性质。触发器主要用于接受游戏中对方块的事件并被触发,进而触发其需要触发的目标事件。为便于撰写和查询以及记忆,按照触发器的性质和格式乃至名称将其分为事件触发器与计时触发器。

事件触发器

事件触发器是游戏中有特定的事件发生在该方块上时,触发对应的触发器。

事件触发器共同拥有下述的数据:

值描述 默认值 值类型
condition 触发器的触发条件,使用Molang编写 - String
event 触发器需要触发的事件 - String
target 执行事件的目标 'self' String

minecraft:on_fall_on


minecraft:on_fall_on 在实体跌落到该方块上时被触发。

值描述 默认值 值类型
min_fall_distance 实体触发该触发器所需最低下落高度 0.0 float
"minecraft:on_fall_on": {
    "condition": "true",
    "event": "hyacinthevent",
    "target": "self",
    "min_fall_distance": 114.514
}

minecraft:on_interact


minecraft:on_interact 在实体与方块交互时触发。

"minecraft:on_interact": {
    "condition": "true",
    "event": "hyacinthevent",
    "target": "self"
}

minecraft:on_placed


minecraft:on_placed 在方块被放置时触发。

minecraft:on_player_destroyed


minecraft:on_player_destoryed 在方块被玩家破坏时触发。

minecraft:on_player_placing


minecraft:on_player_placing 在方块被玩家放置时触发。

minecraft:on_step_off


minecraft:on_step_off 在实体走出方块时触发。

minecraft:on_step_on


minecraft:on_step_on 在实体走入方块时触发。

计时触发器

计时触发器是游戏中跟随游戏刻而产生的事件而触发的触发器。

计时触发器拥有可选的共有键值对有

值描述 默认值 值类型
condition 触发器的触发条件,使用Molang编写。

在计时触发器触发时,会首先检查该值是否为true, 若为true则触发事件,否则相反。

1 String
event 触发器需要触发的事件 'set_block_state' String
target 执行事件的目标 'self' String
range 格式为:[min, max]。间隔随机刻触发触发器。 - Array

minecraft:queued_ticking


minecraft:queued_ticking 以一定或随机的间隔延迟执行一次或循环触发触发器。

minecraft:random_ticking


minecraft:random_ticking 基于随机游戏刻触发触发器,受随机刻速度规则影响。