Skip to content

JSON 文件格式详解

若你喜欢在 JSON 格式的文件中配置而不是直接通过菜单界面修改,那么你就可以按下列结构创建 JSON 文件。

描述 值类型
name 定时任务的名称,应当只包含英文或数字及下划线 string
commands 所要执行的命令 Commands[]
interval 每个命令之间执行的间隔 Interval
times 执行定时任务的固定时间点 Time[]
random 决定是否执行该组命令的几率。1 表示 100%0.5 表示 50%0 则表示 0%,依此类推 number
days 定时任务所能执行的日期 MONDAYTUESDAYWEDNESDAYTHURSDAYFRIDAYSATURDAYSUNDAY
executionLimit 执行命令组的次数上限。设置为 -1 可将该设置禁用 number
timesExecuted 命令组已执行的次数。请勿手动更新该项的值 number
lastExecutedCommandIndex 最后执行过的命令的序号。这会用于 INTERVAL 模式下的相关内容。请勿手动更新该项的值 number
lastExecuted 定时任务执行的最后日期。请勿手动更新该项的值 Date
commandExecutionMode 命令的执行模式 Execution Mode
active 决定定时任务是否启用 boolean
resetExecutionAfterRestart 决定 executionLimit 的值是否要在重启时重置 boolean
condition 条件判断模块的配置部分 Condition
event 事件引擎的配置部分 Event[]

命令部分配置

描述 值类型
command 执行的命令,无需在命令中包含 / string
gender 执行命令时代表的身份 身份
interval 决定在遍历所有玩家执行命令时的执行间隔 间隔

间隔

描述 值类型
days 天数 number
hours 小时数 number
minutes 分钟数 number
seconds 秒数 number

时间点

这些设置的更多信息可以在这里找到。

如你所见,条件对象有一个名为 conditions 的递归列表。这是因为条件可以多次组合来做到复杂的判断效果。

描述 值类型
conditionType 条件类型 SIMPLENOTANDOR
simpleCondition 最简单的条件形式。仅在模式为 conditionTypeSIMPLENOT 时有效 SimpleCondition
conditions 条件列表,仅在 conditionTypeANDOR 时有效

简单条件

描述 值类型
conditionGroup 该条件归属的拓展 string
rule 在选定的 conditionGroup 中指定的条件规则 string
conditionParamFields 选定的 rule 所要求的额外值 ConditionParamterField[]

条件字段内容

描述 值类型
name 字段的名称 string
value 配置字段的指定值 any

事件

事件引擎的相关文档可在这里找到

描述 值类型
active 指定事件是否激活 boolean
conditionGroup 该事件所属的拓展 string
event 选定的 conditionGroup 中的事件名称 string
condition 该事件配置的执行条件。与普通的执行条件略有区别 EventCondition

事件条件

描述 值类型
conditionType 条件类型 SIMPLENOTANDOR
simpleCondition 最简单的条件形式。仅在模式为 conditionTypeSIMPLENOT 时有效 SimpleCondition
conditions 条件列表,仅在 conditionTypeANDOR 时有效

事件简单条件

描述 值类型
fieldName 字段名称 string
value 指定字段中的给定值 any
compare 与事件的值和传递的 value 进行比较的符号 EQUALGREATER_THANLESS_THANGREATER_OR_EQUAL_THANLESS_OR_EQUAL_THEN

示例

JSON
{
  "name": "alert_job_levelup",
  "commands": [
    {
      "command": "say test",
      "gender": "CONSOLE"
    }
  ],
  "interval": {
    "days": 1,
    "hours": 0,
    "minutes": 0,
    "seconds": 5
  },
  "times": [
    {
      "time1": "14:00:00",
      "time2": "14:00:00",
      "isMinecraftTime": false
    }
  ],
  "random": 1.0,
  "days": [
    "MONDAY",
    "TUESDAY",
    "WEDNESDAY",
    "THURSDAY",
    "FRIDAY",
    "SATURDAY",
    "SUNDAY"
  ],
  "executionLimit": -1,
  "timesExecuted": 7,
  "lastExecutedCommandIndex": 0,
  "lastExecuted": "Feb 8, 2023, 9:19:51 PM",
  "commandExecutionMode": "INTERVAL",
  "commandExecutionInterval": {
    "days": 0,
    "hours": 0,
    "minutes": 0,
    "seconds": 1
  },
  "active": true,
  "resetExecutionsAfterRestart": false,
  "condition": {
    "conditionType": "SIMPLE",
    "conditions": [],
    "simpleCondition": {
      "conditionGroup": "JOBSREBORN",
      "rule": "HAS_SPECIFIC_JOB",
      "conditionParamFields": [
        {
          "name": "required_job",
          "value": ""
        },
        {
          "name": "LEVEL",
          "value": 0
        }
      ]
    }
  },
  "events": [
    {
      "active": true,
      "conditionGroup": "JOBSREBORN",
      "event": "LEVEL_UP",
      "condition": {
        "conditionType": "SIMPLE",
        "conditions": [],
        "simpleCondition": {
          "fieldName": "LEVEL",
          "value": 12.0,
          "compare": "EQUAL"
        }
      }
    }
  ]
}

贡献者

页面历史