Помоги мне писать скрипты на Denizen. Запомни пример данного скрипта:

chat_settings:
  type: data
  debug: false
  data:
    settings:
      global_chat:
        setting: ✉ Глобальный чат
        description: Нажмите, чтобы перестать видеть любые сообщения из внешнего мира
        command: allowglobalchat
        name: global
        on: ✔
        off: ✘
      local_chat:
        setting: ✉ Локальный чат
        description: Нажмите, чтобы перестать видеть любые сообщения вблизи
        command: allowlocalchat
        name: local
        on: ✔
        off: ✘
      user_pings:
        setting: 🔔 Пинги по нику
        description: Нажмите, чтобы больше вас никто не пинговал лично
        command: allowpings
        name: pings
        on: ✔
        off: ✘
      everyone:
        setting: 🔔 Пинги @everyone
        description: Нажмите, чтобы больше вас никто не пинговал
        command: alloweveryone
        name: everyone
        on: ✔
        off: ✘
      stream:
        setting: ⏺ Уведомления о стримах
        description: Нажмите, чтобы больше не видеть уведомления о стримах
        command: allowstreams
        name: stream
        on: ✔
        off: ✘
      join:
        setting: 🔔 Сообщение при заходе и выходе
        description: Нажмите, чтобы больше не видеть заходы и выходы игроков
        command: allowjoinmessage
        name: join
        on: ✔
        off: ✘

chatsettings_cmd:
  type: command
  description: bebra
  name: settings
  usage: /settings
  aliases:
  - settings
  script:
    - define settings <script[chat_settings].data_key[data]>
    - define category <[settings].deep_get[settings]>

    - narrate '<n><&7> ✎ <&color[#00b8ff]> Настройки Uno<n>'
    - foreach <[category]>:
      - define option <player.flag[chatsetting.<[value].get[name]>]||on>
      - if <[option].equals[on]>:
        - define color <&color[#00d91b]>
        - define replacer <[value].get[setting].replace_text[🔔].with[<&color[#00b8ff]>🔔<&r>].replace_text[⏺].with[<&c>⏺<&r>].replace_text[✉].with[✉<&r>]>
      - else:
        - define color <&color[#ff6a54]> 
        - define replacer <[value].get[setting].replace_text[🔔].with[<&color[#00b8ff]><&m>🔔<&r>].replace_text[✉].with[<&m>✉<&r>].replace_text[⏺].with[<&c><&m>⏺<&r>]>
      - define command <[value].get[command]>
      - narrate ' <[replacer]> — <[color]><[value].get[<[option]>].on_click[/<[command]>].on_hover[<&7><[value].get[description]>]>'
    - define ignorelist <list>
    - foreach <player.flag[ignorelist]>:
      - if <player.flag[ignorelist].size.equals[0]||true>:
        - define ignorelist:->:никого
      - else:
        - define ignorelist:->:<[value].on_hover[<&7>Нажмите, чтобы больше не игнорировать].on_click[/ignore <[value]>]>
    - if <player.flag[ignorelist].size.equals[0]>:
      - define ignorelist никого
    - narrate '<n> <&color[#00b8ff]> Сейчас вы игнорируете:<&7> <[ignorelist].separated_by[, ]||никого>'

ignore_cmd:
  type: command
  description: bebra
  name: ignore
  usage: /ignore
  script:
    - define arg <context.args.get[1]||null>
    - define player <server.match_offline_player[<[arg]>]||null>
    - if <[player]> == null:
      - define ignorelist <list>
      - foreach <player.flag[ignorelist]>:
        - if <player.flag[ignorelist].size.equals[0]||true>:
          - define ignorelist:->:никого
        - else:
          - define ignorelist:->:<[value].on_hover[<&7>Нажмите, чтобы больше не игнорировать].on_click[/ignore <[value]>]>
      - if <player.flag[ignorelist].size.equals[0]>:
        - define ignorelist:->:никого
      - narrate '<n><&color[#00b8ff]>Сейчас вы игнорируете:<&7> <[ignorelist].separated_by[, ]>'
      - stop
    - if <[player].name> == <player.name>:
      - narrate '<&c>Вы не можете манипулировать с собой!'
      - stop
    - define ignorelist <player.flag[ignorelist].as[list]||<list>>
    - if <[player].name.advanced_matches[<[ignorelist]>]>:
      - define ignorelist:<-:<[arg]>
      - flag <player> ignorelist:<[ignorelist]>
      - narrate '<&color[#00d91b]>Вы больше не игнорируете игрока <[player].name>!'
      - stop
    - define ignorelist:->:<[arg]>
    - flag <player> ignorelist:<[ignorelist]>
    - narrate '<&color[#00d91b]>Вы успешно кинули в игнор игрока <[player].name>!'

allowpings:
  type: command
  description: bebra
  name: allowpings
  usage: /allowpings
  script:
    - if <player.flag[chatsetting.pings].equals[off]||false>:
      - narrate '<&color[#00b8ff]>🔔 <&color[#00d91b]>Пинги включены!'
      - flag <player> chatsetting.pings:on
    - else:
      - narrate '<&color[#00b8ff]>🔔<&r> <&color[#ff6a54]> Пинги отключены!'
      - flag <player> chatsetting.pings:off
    - run chatsettings_cmd

alloweveryone:
  type: command
  description: bebra
  name: alloweveryone
  usage: /alloweveryone
  script:
    - if <player.flag[chatsetting.everyone].equals[off]||false>:
      - narrate '<&color[#00b8ff]>🔔 <&color[#00d91b]>Пинги @everyone включены!'
      - flag <player> chatsetting.everyone:on
    - else:
      - narrate '<&color[#00b8ff]><&m>🔔<&r> <&color[#ff6a54]>Пинги @everyone отключены!'
      - flag <player> chatsetting.everyone:off
    - run chatsettings_cmd

allowglobalchat:
  type: command
  description: bebra
  name: allowglobalchat
  usage: /allowglobalchat
  script:
    - if <player.flag[chatsetting.global].equals[off]||false>:
      - narrate '<&f>✉ <&color[#00d91b]>лобальный чат включен!'
      - flag <player> chatsetting.global:on
    - else:
      - narrate '<&f><&m>✉<&r> <&color[#ff6a54]> Глобальный чат выключен!'
      - flag <player> chatsetting.global:off
    - run chatsettings_cmd

allowlocalchat:
  type: command
  description: bebra
  name: allowlocalchat
  usage: /allowlocalchat
  script:
    - if <player.flag[chatsetting.local].equals[off]||false>:
      - narrate '<&f>✉ <&color[#00d91b]>Локальный чат включен!'
      - flag <player> chatsetting.local:on
    - else:
      - narrate '<&f><&m>✉<&r> <&color[#ff6a54]> Локальный чат выключен!'
      - flag <player> chatsetting.local:off
    - run chatsettings_cmd

allowjoinmessage:
  type: command
  description: bebra
  name: allowjoinmessage
  usage: /allowjoinmessage
  script:
    - if <player.flag[chatsetting.join].equals[off]||false>:
      - narrate '<&f>✉ <&color[#00d91b]>Сообщение при заходе и выходе включено!'
      - flag <player> chatsetting.join:on
    - else:
      - narrate '<&f><&m>✉<&r> <&color[#ff6a54]>Сообщение при заходе и выходе выключено!'
      - flag <player> chatsetting.join:off
    - run chatsettings_cmd

allowstreams:
  type: command
  description: bebra
  name: allowstreams
  usage: /allowstreams
  script:
    - if <player.flag[chatsetting.stream].equals[off]||false>:
      - narrate '<&c>⏺<&r> <&color[#9cec1a]>Уведомления о стримах включены!'
      - flag <player> chatsetting.stream:on
    - else:
      - narrate '<&c><&m>⏺<&r> <&color[#ee532c]>Уведомления о стримах выключены!'
      - flag <player> chatsetting.stream:off
    - run chatsettings_cmd