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"
        }
      }
    }
  ]
}