Paste #30127: Untitled Paste

Date: 2016/02/11 02:50:28 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


############################
# File for Engine-Commands #
############################

###########################################################
# Command for enabling and disabling the entire framework #
###########################################################
Engine_Configure:
  type: command
  name: engine
  usage: /engine <&lt>core/modules<&gt> <&lt>enable/disable/reload<&gt>
  description: Use this command to configure the framework
  permission: denizen.engine.configure
  permission message:<&4>You do not have permission to use this command.<&r>
  allowed help:
  - determine <player.has_permission[denizen.engine.configure]||<context.server>>
  script:
  - if <context.args.size> != 2 {
    - narrate format:Debug_Format "Invalid number of arguments specified: <context.args.size>."
    - queue clear
    }
  - choose "<context.args.get[1]>":
    - case "core":
      - choose: "<context.args.get[2]>":
        - case "enable":
          - yaml id:config set engine.options.enable:'true'

        - case "disable":
          - yaml id:config set engine.options.enable:'false'

    - case "modules":
      - choose: "<context.args.get[2]>":
        - case "enable":
          - ^run Engine_Modules_Configure def:true

        - case "disable":
          - ^run Engine_Modules_Configure def:false

        - case "reload":
          - ^run Engine_Load_Modules

#############################################
# Task script for setting the module values #
#############################################
Engine_Modules_Configure:
  type: task
  definitions: <def[boolean]>
  script:
  - foreach <yaml[config].list_keys[engine.modules]> {
    - if "<yaml[config].read[engine.modules.<def[value]>.enable].contains[null].not>" {
      - yaml id:config set engine.modules.<def[value]>.enable:'<def[boolean]>'
      }
    }