782 发表于 2022-5-29 12:07:36

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

本帖最后由 782 于 2022-6-3 15:03 编辑


物品(九)
事件函数
一、前言
在本期和以后两期,我们将以手册的形式对物品组件进行学习或复习。
今天,我们就学习新的事件函数并复习之前学过的,
提示:由于这些组件均为1.16.100实验性组件,必须打开“假日创造者功能”实验性玩法!
那么还等什么,直接进入正文!
static/image/hrline/line4.png
二、正文
所有事件在物品行为文件的“events”对象内。
swing
让玩家“打”自己(实际上没有打,只是动画)
示例:
{
    "example:swing_event": {
      "swing": {}
    }
}

shoot
发射一个实体(一般为弹射物)
属性:

[*]“angle_offset”:没有用处。
[*]“launch_power”:发射时的力量,填写整数,也可填Molang表达式。
[*]“projectile”:实体的标识符,不一定是弹射物,填写字符串。

示例:
{
    "example:shoot_event": {
      "shoot": {
            "projectile": "minecraft:snowball",
            "launch_power": 5,
            "angle_offset": 20
      }
    }
}

damage
给予指定目标指定类型指定生命值(点数)的伤害(损害)
属性:

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

示例:
{
    "example:damage_event": {
      "damage": {
            "type": "magic",
            "target": "other",
            "amount": 4
      }
    }
}

decrement_stack
将物品数量减少1
属性:

[*]“ignore_game_mode”:当设置为false(默认)时,在创造模式下该事件函数不起作用,填写布尔值。

示例:
{
    "example:remove_one": {
      "decrement_stack": {
            "ignore_game_mode": false
      }
    }
}

transform_item
将物品转换为指定的物品
示例:
{
    "example:transform_event": {
      "transform_item": {
            "transform": "minecraft:apple"//要转换为的物品
      }
    }
}

teleport
将指定目标随机传送在某个区域内
属性:

[*]“target”:要传送的目标,填写字符串。
[*]“max_range”:随机传送的最大范围,数组内填写坐标。

示例:
{
    "example:teleport_event": {
      "teleport": {
            "target": "holder",
            "max_range":
      }
    }
}

add_mob_effect
为指定目标添加效果
参数:

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

示例:
{
    "example:effect_event": {
      "add_mob_effect": {
            "effect": "poison",
            "target": "holder",
            "duration": 8,
            "amplifier": 3
      }
    }
}

remove_mob_effect
为指定目标移除效果
参数:

[*]“effect”:移除的效果名称,填写字符串。
[*]“target”:指定目标,填写字符串。

示例:
{
    "example:remove_effect_event": {
      "remove_mob_effect": {
            "effect": "poison",
            "target": "holder"
      }
    }
}

run_command
在指定目标运行命令
参数:

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

示例:
{
    "example:execute_command_event": {
      "run_command": {
            "command": ["/say hi"],
            "target": "other"
      }
    }
}
static/image/hrline/line9.png
预告:下一期会教大家物品的行为组件
大家的打赏是对楼主最好的鼓励!
附加包教程系列导航
上一期下一期

MC_ZC 发表于 2022-5-29 23:16:34

有点看不懂,建议作者发文件出来

782 发表于 2022-5-30 06:13:39

MC_ZC 发表于 2022-5-29 23:16
有点看不懂,建议作者发文件出来

什么意思

故叶 发表于 2022-6-1 22:32:57

高产如奶牛

故叶 发表于 2022-6-1 22:34:36

我ིྀ才ིྀ学ིྀ到ིྀ第ིྀ九ིྀ期ིྀ,第ིྀ九ིྀ期ིྀ的ིྀ根ིྀ本ིྀ看ིྀ不ིྀ懂ིྀ。

故叶 发表于 2022-6-1 22:36:45

782 发表于 2022-5-30 06:13
什么意思

也就是说把文件发出来,然后再覆盖以前的,这样子就可以轻轻松松移动到对应位置了,注意是行为包和资源包的zip

YesNewBee 发表于 2022-6-3 10:58:51

大佬!少见的高质量教程!
我们需要您的加入,能否加QQ群 1014557374 呢[哔哩_脱单](若不愿的话还请自行忽略!)
还有,帖子铁粒献上!

lxhzzy 发表于 2022-6-3 22:32:24

事件函数.....听起来怪怪的

782 发表于 2022-6-4 06:52:51

送你的执念 发表于 2022-6-3 22:32
事件函数.....听起来怪怪的

就是功能

lxhzzy 发表于 2022-6-4 08:46:39

782 发表于 2022-6-4 06:52
就是功能

在OOP看起来始终有些怪怪的
页: [1]
查看完整版本: 附加包教程第十六期——物品:事件函数