> For the complete documentation index, see [llms.txt](https://konglai55.gitbook.io/shadowcore-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://konglai55.gitbook.io/shadowcore-wiki/shi-jian.md).

# 事件

说明系列插件所有事件类型书写格式

## 内置事件

ShadowCore一共内置了18种事件，分别如下

**ActionBar \[内容]**

* 别名: 无
* 用处：向玩家发送一条ActionBar消息

**ActionBarBC \[内容]**

* 别名: 无
* 用处：向所有玩家发送一条ActionBar消息

**Broadcast \[内容]**

* 别名: **BC**
* 用处：向所有玩家发送一条消息

**Burn \[整数]**

* 别名: 无
* 用处：使玩家着火\[整数]ticks

**Chat \[内容]**

* 别名: 无
* 用处：使玩家说话

**ChatAll \[内容]**

* 别名: 无
* 用处：使所有玩家说话

**CloseInventory**

* 别名: 无
* 用处：使玩家关闭正在打开的菜单

**Command \[内容]**

* 别名: **CMD**
* 用处：使玩家执行一条指令

**ConsoleCommand \[内容]**

* 别名: **ConsoleCMD**
* 用处：让控制台执行指令

**Damage \[整数]**

* 别名: **Hurt**, **Dmg**
* 用处：使玩家受伤

**JsonMessage \[内容]**

* 别名: **JsonMsg,** Json
* 用处：给玩家发送一条Json消息

**JsonMessageBroadcast \[内容]**

* 别名: **JsonBC, JsonMsgBC**
* 用处：给所有玩家发送一条Json消息

**Message  \[内容]**

* 别名: **Msg**
* 用处：给玩家发送一条消息

**OpCommand  \[内容]**

* 别名: **OpCMD**
* 用处：让玩家执行Op指令

**Sound \[sound, pitch, yaw]**

* 别名: 无
* 用处：给玩家发送声音
* 参数说明：sound为声音，pitch为音高，pitch和yaw必须为整数

**SoundBroadcast \[sound, pitch, yaw]**

* 别名: **SoundBC**
* 用处：给所有玩家发送声音
* 参数说明：sound为声音，pitch为音高，pitch和yaw必须为整数

**Title \[title, subtitle, fadeIn, stay, fadeOut]**

* 别名: 无
* 用处：给玩家发送Title
* 参数说明：title为主标题，subtitle为副标题，fadeIn为淡入时间（单位：ticks），stay为停留时间（单位：ticks），fadeOut为淡出时间（单位：ticks）

**TitleBroadcast \[title, subtitle, fadeIn, stay, fadeOut]**

* 别名: **TitleBC**
* 用处：给所有玩家发送Title
* 参数说明：title为主标题，subtitle为副标题，fadeIn为淡入时间（单位：ticks），stay为停留时间（单位：ticks），fadeOut为淡出时间（单位：ticks）

## 事件书写的格式

### 无参数事件

```
[标识符]
```

### 单参数事件

```
[标识符] <参数>
```

### 多个参数事件

```
[标识符] 参数1=值 参数2=值 参数3=值...
```

不同参数之间，用一个空格隔开。

例如：

```yaml
Events:
#让玩家关闭背包
- '[closeInventory]'
#发送一条消息
- '[message] 你好！ 这是一条消息。'
#发送一个Title
- '[title] title=这是主标题 并且文本是可以有空格的 subtitle=副标题 fadeIn=10 stay=10 fadeOut=10'
```

## **给指定行事件添加触发延迟, 特定权限, 生效的世界**

### 添加延迟

```
[ActionBar] 这是一条ActionBar消息 delay=20
```

无论事件是否有参数，只需在这一行事件的末尾加上'delay=\[整数]'即可添加延迟，单位为ticks。

### 添加生效所需的权限

```
[ActionBar] 这是一条ActionBar消息 permissions=权限1,权限2,权限3
```

表示如果当前玩家有权限1, 权限2, 权限3, 就执行这条事件, 否则跳过。

在事件的末尾添加'permissions=权限1,权限2,...'即可添加生效所需的权限, 多个权限之间用逗号隔开, **逗号之间不用写空格**。

### 指定生效的世界

```
[ActionBarBC] 这是一条ActionBar消息 worlds=世界1,世界2,世界3
```

表示这条ActionBarBC只会作用于当前玩家和在这些世界里的玩家 (实际效果：只有当前玩家和这些世界里的玩家才会收到ActionBar消息)。

在事件的末尾添加'worlds=世界1,世界2,...'即可添加生效的世界, 多个世界之间用逗号隔开, **逗号之间不用写空格。**
