-
Notifications
You must be signed in to change notification settings - Fork 2
Function config
- id:函数配置唯一id
- name:为该配置命名,可重复
- color:暂时没有功能
- register:事件注册词条
{
"id": 0,
"name": "Default function",
"color": "#FFFFFF",
"register": {
事件注册词条
}
}- details:注册词条列表
"register": {
"details": [
{
"function": "battleroyale:test_function",
"event": "GAME_START_FINISH_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
},
{
注册词条
},
{
// ...
}
]
}标识符(function或tag):
- function:注册的单个函数,优先于
tag - tag:注册的函数标签
注册参数:
函数返回值 ≤ -1 即可取消事件(如 /return -1),对于不可取消的事件类型则无效
(可选)自定义事件类:
- event:任意(注册时会被覆盖为 CUSTOM_EVENT)
- eventClass:自定义事件类名称,优先于
event
当包含
eventClass时,若eventClass无效,则跳过该注册词条
{
"function": "battleroyale:test_function",
"event": "GAME_START_FINISH_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
}{
"function": "battleroyale:test_function",
"event": "PLAYER_LOGGED_OUT_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
}该类别用于支持扩展自定义事件类
{
"function": "battleroyale:test_function",
"event": "CUSTOM_EVENT",
"priority": "NORMAL",
"receiveCanceled": false,
"eventClass": "xiao.battleroyale.api.event.custom.deathmatch.AddKillEvent$AddTeamKillEvent"
}eventClass为 Java 类名(格式为:{文件路径名}.{文件名} 或 {文件路径名}.{文件名}${内部类名}):
- 文件路径名:第一行
package到末尾;间的内容 - 文件名:加上
.和文件名 - 如果是内部类,则再加上
$和内部类名
如 AddPlayerKillEvent 对应的
eventClass为 "xiao.battleroyale.api.event.custom.deathmatch.AddKillEvent$AddTeamKillEvent"
package xiao.battleroyale.api.event.custom.deathmatch; // 👈 1.文件路径名
// ...
// 类名(文件名) 👇2.文件名
public abstract class AddKillEvent extends CustomEvent {
// ...
// 内部类 👇3.内部类名
public static class AddPlayerKillEvent extends AddKillEvent {
// ...
}
}{
"id": 0,
"name": "Default function",
"color": "#FFFFFF",
"register": {
EVENT REGISTER ENTRY
}
}- id: unique function id
- name: name the config, can be repeated
- color: no function for now
- register: event register entry
{
"id": 0,
"name": "Default function",
"color": "#FFFFFF",
"register": {
EVENT REGISTER ENTRY
}
}- details: list of register entries
"register": {
"details": [
{
"function": "battleroyale:test_function",
"event": "GAME_START_FINISH_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
},
{
REGISTER ENTRY
},
{
// ...
}
]
}Identifiers (function or tag):
- function: single function to register, prioritized over
tag - tag: function tag to register
Registration parameters:
- event: event type name, prioritizes Custom event type, followed by Mod event type
- priority: Event priority for the listener
- receiveCanceled: whether to receive canceled events
Event is canceled if function return value is ≤ -1 (e.g.,
/return -1), ineffective for non-cancelable event types
(Optional) Custom event class:
- event: any (overwritten as CUSTOM_EVENT during registration)
- eventClass: custom event class name, prioritized over
event
When
eventClassis included, ifeventClassis invalid, the register entry is skipped
{
"function": "battleroyale:test_function",
"event": "GAME_START_FINISH_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
}{
"function": "battleroyale:test_function",
"event": "PLAYER_LOGGED_OUT_EVENT",
"priority": "NORMAL",
"receiveCanceled": false
}This category is used to support extended custom event classes.
{
"function": "battleroyale:test_function",
"event": "CUSTOM_EVENT",
"priority": "NORMAL",
"receiveCanceled": false,
"eventClass": "xiao.battleroyale.api.event.custom.deathmatch.AddKillEvent$AddTeamKillEvent"
}eventClass is a Java class name (Format: {file_path}.{file_name} or {file_path}.{file_name}${inner_class_name}):
- file_path: content from the first line
packageto the ending; - file_name: add
.and thefile name - If it is an inner class, add
$and theinner class name
e.g., the
eventClassforAddPlayerKillEventis "xiao.battleroyale.api.event.custom.deathmatch.AddKillEvent$AddTeamKillEvent"
package xiao.battleroyale.api.event.custom.deathmatch; // 👈 1.file_path
// ...
// class name(file_name) 👇2.file_name
public abstract class AddKillEvent extends CustomEvent {
// ...
// inner class 👇3.inner class name
public static class AddPlayerKillEvent extends AddKillEvent {
// ...
}
}🌐 Language / 语言
-
- Configuration Introduction
- Command Introcuction
- Game type introduction
- About
- Mod development tutorial