Paste #20020: Untitled Paste

Date: 2015/09/12 03:46:30 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


model_generator:
  type: world
  debug: true
  events:
    on model_pos1 command:
    - if <player.is_op.not> queue clear
    - flag <player> model_pos1:<player.location.cursor_on>
    - narrate "pos1 set"
    - determine fulfilled
    on model_pos2 command:
    - if <player.is_op.not> queue clear
    - flag <player> model_pos2:<player.location.cursor_on>
    - narrate "pos2 set"
    - determine fulfilled
    on model_base command:
    - if <player.is_op.not> queue clear
    - flag <player> model_base:<player.location.cursor_on>
    - narrate "base set"
    - determine fulfilled
    on model_generate command:
    - if <player.is_op.not> queue clear
    - narrate "generating model"
    - if <context.args.get[1].as_int||none> == none {
      - define increment 1
      } else {
      - define increment <context.args.get[1]>
      }
    - define cuboid "cu@<player.flag[model_pos1]>|<player.flag[model_pos2]>"
    - define model "<&lt>def[base]<&gt>"
    - foreach <def[cuboid].get_blocks> {
      - if <def[value].material> == m@air foreach next
      - define relative "<def[value].sub[<player.flag[model_base]>]>"
      - define model "<def[model]>|<&lt>def[base].add[<&lt>l@<def[relative].x.mul[%increment%]>,<def[relative].y.mul[%increment%]>,<def[relative].z.mul[%increment%]>.rotate_around_y[<&pc>yaw<&pc>]<&gt>]<&gt>"
      }
    - flag server "model:%model%"
    - determine fulfilled