🪇 事件
简介
events
部分决定了哪些物品/家具/方块将在特定事件中执行预定义行为。在 events
部分下,您需要指定一个事件触发器,例如 "right_click"
表示右键点击动作。在事件触发器下方,您必须传递一个动作列表及其对应的类型。例如,command
用于执行特定命令。
# 格式1
events:
right_click:
- type: command
command: say 1
conditions:
- type: permission
permission: "craftengine.admin"
- type: command
command: say 2
conditions: []
# 格式2
events:
- on: right_click
functions:
- type: command
command: say 1
conditions:
- type: permission
permission: "craftengine.admin"
- type: command
command: say 2
conditions: []
🧨 事件触发器
物品
- break
- right_click
- left_click
- consume
方块
- break
- place
- right_click
- left_click
- step
家具
- break
- place
- right_click
警告
请注意:事件需配置在正确的区域。例如若需实现家具交互时执行指令,应将 events
置于 furniture
部分而非物品部分下。
items:
default:bench:
events: # ❌️
right_click:
- type: command
behavior:
type: furniture_item
furniture:
events: # ✅️
right_click:
- type: command
🔧 函数
取消事件
取消原始事件。
type: cancel_event
运行
按顺序运行一系列函数。这对于共享相同条件的函数非常有用。
type: run
delay: 0 # 可选; 数字; [默认值: 0]
functions: # 必填; 映射列表
- type: command
- type: message
命令
以玩家或控制台身份运行命令。
type: command
command: "say 你好 <arg:player.name>" # 必填; 字符串列表/字符串
target: "self" # 可选; 枚举[all,self]/玩家选择器; [默认值: self]
as-player: false # 可选; [默认值: false]
消息
发送消息或系统动作栏消息
type: message
message: "你好 <papi:player_name>" # 必填; 字符串列表/字符串
target: "self" # 可选; 枚举[all,self]/玩家选择器
overlay: false # 可选; [默认值: false]; false = 聊天框 / true = 动作栏
动作栏消息
发送一条动作栏消息
type: actionbar
actionbar: "这是一个动作栏消息" # 必填; 字符串
target: "self" # 可选; 枚举[all,self]/玩家选择器; [默认值: self]
屏幕标题消息
发送一条屏幕标题消息
type: title
title: "<red>标题</red>" # 必填; 字符串
subtitle: "<Yellow>副标题</yellow>" # 必填; 字符串
fade-in: 20 # 可选; 数字; [默认值: 10]
stay: 10 # 可选; 数字; [默认值: 20]
fade-out: 10 # 可选; 数字; [默认值: 5]
打开窗口
打开一个图形用户界面窗口
type: open_window #
gui-type: anvil # 必填; 枚举[anvil, enchantment, grindstone, loom, smithing, crafting, cartography];
title: "Super Anvil" # 可选; 字符串
target: "self" # 可选; 枚举[all,self]/玩家选择器; [默认值: self]
放置方块
放置一个方块
type: place_block
block-state: "default:chinese_lantern"
x: <arg:block.block_x>
y: <arg:block.block_y>
z: <arg:block.block_z>
掉落战利品
根据给定的战利品表掉落物品
type: drop_loot
x: <arg:block.block_x> + 0.5
y: <arg:block.block_y> + 0.5
z: <arg:block.block_z> + 0.5
loot:
pools: ...
更新交互游戏刻
更新最后一次交互结束时的游戏刻
type: update_interaction_tick
设置物品数量
设置此事件中当前物品的数量
type: set_count
add: true # 默认值: false
count: -1
target: "self" # 可选; 枚举[all,self]/玩家选择器
设置饥饿值
设置玩家的饥饿值(0~20)
type: set_food
add: true
food: 4
target: "self" # 可选; 枚举[all,self]/玩家选择器
设置饱和度
设置玩家的饱和度(0~10)
type: set_saturation
add: true
saturation: 2.5
target: "self" # 可选; 枚举[all,self]/玩家选择器
挥手
挥动此事件中涉及的手,或配置中指定的手
type: swing_hand
hand: main_hand # 可选参数
粒子效果
生成一个粒子效果
type: particle
particle: minecraft:end_rod
x: "<arg:position.x>"
y: "<arg:position.y>"
z: "<arg:position.z>"
count: 5
offset-x: 0.3
offset-y: 0.3
offset-z: 0.3
speed: 0
# 以下参数仅在粒子为特定类型时才有效。
# 带物品粒子选项的粒子类型:item
item: default:chinese_lantern
# 带方块粒子选项的粒子类型:block、block_marker、falling_dust、dust_pillar 和 block_crumble
block-state: default:plam_log[axis=y]
# 带幽匿块充能粒子选项的粒子类型:sculk_charge
charge: 1.5
# 带尖啸粒子选项的粒子类型:shriek
shriek: 1
# 带粉末粒子选项的粒子类型:dust
color: 255,255,255
scale: 1.0
# 带粉末颜色过渡选项的粒子类型:dust_color_transition
from: 255,255,255
to: 0,0,0
scale: 4.0
# 带振动粒子选项的粒子类型:vibration
target-x: 0
target-y: 1
target-z: 0
arrival-time: 10
# 带目标颜色粒子选项的粒子类型:trail
target-x: 0
target-y: 1
target-z: 0
duration: 10
状态效果
添加一个状态效果
type: potion_effect
potion-effect: minecraft:blindness
duration: 20 # 默认值: 20
amplifier: 0 # 默认值: 0
ambient: false # 是否来自信标
particles: true
移除状态效果
移除一个状态效果
type: remove_potion_effect
potion-effect: minecraft:blindness # 如果 'all' 为 true 则为可选
all: false # 默认值: false
等级经验
添加技能/职业经验
type: leveler_exp
plugin: AuraSkills # 经验值插件
leveler: fishing # 职业/技能 ID
count: 10 # 给予的经验值数量
设置冷却时间
为玩家设置冷却时间
type: set_cooldown
time: 1m30s
id: my_cooldown_id
add: false # 默认值: false (是否累加冷却时间)
移除冷却时间
为玩家移除冷却时间
type: remove_cooldown
id: my_cooldown_id # 如果 'all' 为 true 则为可选
all: false # 默认值: false
播放声音
播放一个声音
type: play_sound
sound: minecraft:xxxx.xxx
x: <arg:position.x> # 如果使用了 'target' 参数则为可选
y: <arg:position.y> # 如果使用了 'target' 参数则为可选
z: <arg:position.z> # 如果使用了 'target' 参数则为可选
target: "self" # 可选; 枚举[all,self]/玩家选择器
pitch: 1
volume: 1
source: master
信息
更多函数即将到来...