BE教程

附加包教程第十六期——物品:事件函数

7***Lv.3 中级会员 发表于 2022-5-29 · 最后回复 2022-6-4 IP:江苏省 4,050 9
本帖最后由 782 于 2022-6-3 15:03 编辑


物品(九)
事件函数

一、前言
在本期和以后两期,我们将以手册的形式对物品组件进行学习或复习。
今天,我们就学习新的事件函数并复习之前学过的,
提示:由于这些组件均为1.16.100实验性组件,必须打开“假日创造者功能”实验性玩法!
那么还等什么,直接进入正文!

二、正文
所有事件在物品行为文件的“events”对象内。
swing
让玩家“打”自己(实际上没有打,只是动画)
示例:
  1. {
  2.     "example:swing_event": {
  3.         "swing": {}
  4.     }
  5. }
复制代码


shoot
发射一个实体(一般为弹射物)
属性:
  • “angle_offset”:没有用处。
  • “launch_power”:发射时的力量,填写整数,也可填Molang表达式。
  • “projectile”:实体的标识符,不一定是弹射物,填写字符串。

示例:
  1. {
  2.     "example:shoot_event": {
  3.         "shoot": {
  4.             "projectile": "minecraft:snowball",
  5.             "launch_power": 5,
  6.             "angle_offset": 20
  7.         }
  8.     }
  9. }
复制代码


damage
给予指定目标指定类型指定生命值(点数)的伤害(损害)
属性:
  • “type”:要对目标造成的伤害(损害)类型,填写字符串。一般情况下,适用标准实体伤害(损害)类型。
  • “target”:受到伤害(损害)的目标,填写字符串。
  • “amount”:伤害(损害)总生命值(点数),填写整数。

示例:
  1. {
  2.     "example:damage_event": {
  3.         "damage": {
  4.             "type": "magic",
  5.             "target": "other",
  6.             "amount": 4
  7.         }
  8.     }
  9. }
复制代码


decrement_stack
将物品数量减少1
属性:
  • “ignore_game_mode”:当设置为false(默认)时,在创造模式下该事件函数不起作用,填写布尔值。

示例:
  1. {
  2.     "example:remove_one": {
  3.         "decrement_stack": {
  4.             "ignore_game_mode": false
  5.         }
  6.     }
  7. }
复制代码


transform_item
将物品转换为指定的物品
示例:
  1. {
  2.     "example:transform_event": {
  3.         "transform_item": {
  4.             "transform": "minecraft:apple"  //要转换为的物品
  5.         }
  6.     }
  7. }
复制代码


teleport
将指定目标随机传送在某个区域内
属性:
  • “target”:要传送的目标,填写字符串。
  • “max_range”:随机传送的最大范围,数组内填写坐标。

示例:
  1. {
  2.     "example:teleport_event": {
  3.         "teleport": {
  4.             "target": "holder",
  5.             "max_range": [8, 8, 8]
  6.         }
  7.     }
  8. }
复制代码


add_mob_effect
为指定目标添加效果
参数:
  • “ignore_game_mode”:当设置为false(默认)时,在创造模式下该事件函数不起作用,填写布尔值。
  • “effect”:效果名称,填写字符串
  • “target”:指定目标,填写字符串。
  • “duration”:指定效果时长,填写整数,单位为秒。
  • “amplifier”指定效果的等级,填写整数。

示例:
  1. {
  2.     "example:effect_event": {
  3.         "add_mob_effect": {
  4.             "effect": "poison",
  5.             "target": "holder",
  6.             "duration": 8,
  7.             "amplifier": 3
  8.         }
  9.     }
  10. }
复制代码


remove_mob_effect
为指定目标移除效果
参数:
  • “effect”:移除的效果名称,填写字符串。
  • “target”:指定目标,填写字符串。

示例:
  1. {
  2.     "example:remove_effect_event": {
  3.         "remove_mob_effect": {
  4.             "effect": "poison",
  5.             "target": "holder"
  6.         }
  7.     }
  8. }
复制代码


run_command
在指定目标运行命令
参数:
  • “command”:定义要运行的命令,是一个数组。
  • “target”:指定目标,填写字符串。

示例:
  1. {
  2.     "example:execute_command_event": {
  3.         "run_command": {
  4.             "command": ["/say hi"],
  5.             "target": "other"
  6.         }
  7.     }
  8. }
复制代码


预告:下一期会教大家物品的行为组件
大家的打赏是对楼主最好的鼓励!
附加包教程系列导航
上一期  下一期
回复 9 最早 最新 只看楼主
您需要登录后才可以回帖 登录 | 立即注册
本版积分规则