Date: 2015/09/12 03:46:30 UTC-07:00
Type: Denizen Script
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 "<<>def[base]<>>"
- 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]>|<<>def[base].add[<<>l@<def[relative].x.mul[%increment%]>,<def[relative].y.mul[%increment%]>,<def[relative].z.mul[%increment%]>.rotate_around_y[<&pc>yaw<&pc>]<>>]<>>"
}
- flag server "model:%model%"
- determine fulfilled