Paste #27672: Untitled Paste

Date: 2016/01/01 14:34:00 UTC-08:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


defineportals:
  type: task
  debug: true
  script:
    - foreach <server.flag[portal_handlers].size> {
      - note cu@<server.flag[<server.flag[portal_handlers].get[<def[value]>]>]> as:<server.flag[portal_handlers].get[<def[value]>]>
    }
    - foreach <server.flag[portal_locations].size> {
      - note l@<server.flag[<server.flag[portal_locations].get[<def[value]>]>]> as:<server.flag[portal_locations].get[<def[value]>]>_destination
    }

portal_handler:
  type: world
  debug: true
  events:
    on player enters a notable cuboid:
      - if <server.flag[portal_handlers].contains[<context.cuboids>]> teleport <player> <context.cuboids.>_destination

blazeroad_capture:
  type: world
  debug: false
  events:
    on player right clicks block with blaze_rod:
      - if <player.is_op> == "false" queue clear
      - narrate targets:<player> "<gold>Position A set to <context.location>"
      - flag <player> "position-a:<context.location>"
      - determine CANCELLED
    on player left clicks block with blaze_rod:
      - if <player.is_op> == "false" queue clear
      - narrate targets:<player> "<gold>Position B set to <context.location>"
      - flag <player> "position-b:<context.location>"
      - determine CANCELLED

portal_commands:
  type: world
  debug: true
  events:
    on portal command:
      - if <player.is_op> == "false" queue clear
      - if <context.args.size> == "0" {
        - narrate targets:<player> "<red>Portal command help"
        - narrate targets:<player> "<red>/portal define [handler name]"
        - narrate targets:<player> "<red>/portal destination [handler name]"
        - determine CANCELLED
      }
      - if <context.args.get[1]> == "help" {
        - narrate targets:<player> "<red>Portal command help"
        - narrate targets:<player> "<red>/portal define [handler name]"
        - narrate targets:<player> "<red>/portal destination [handler name]"
        - determine CANCELLED
      }
      - if <context.args.get[1]> == "define" {
        - if <player.flag[position-a].is_expired> {
          - narrate targets:<player> "<red>You don't have a position A selected!"
          - determine CANCELLED
        }
        - if <player.flag[position-a].is_expired> {
          - narrate targets:<player> "<red>You don't have a position B selected!"
          - determine CANCELLED
        }
        - flag server "portal_handlers:->:<context.args.get[2]>"
        - flag server "<context.args.get[2]>:<player.flag[position-a]>|<player.flag[position-b]>"
        - narrate targets:<player> "<gold>Portal '<context.args.get[2]>' defined."
        - run defineportals
        - determine CANCELLED
      }
      - if <context.args.get[1]> == "destination" {
        - flag server "portal_locations:->:<context.args.get[2]>"
        - flag server "<context.args.get[2]>:<player.location.standing_on>"
        - narrate targets:<player> "<gold>Destination '<context.args.get[2]>' defined."
        - run defineportals
        - determine CANCELLED
      }