Paste #49497: Edit of P#49494 - Ice Wall

Date: 2018/08/28 06:01:23 UTC-07:00
Type: Denizen Script

View Raw Paste Download This Paste
Copy Link


IceWall:
  type: world
  events:
    on player clicks block:
    - if <li@ice|packed_ice.contains[<context.location.material.name>].not> queue clear
    - if <player.has_flag[element_toggled]> queue clear
    - if <player.flag[element].is[==].to[water].not> queue clear
    - if <player.flag[waterindex].matches[[1-3]]> {
      - define index 1
      }
      else if <player.flag[waterindex].matches[[4-6]]> {
      - define index 2
      }
      else if <player.flag[waterindex].matches[[7-9]]> {
      - define index 3
      }
    - define material <c.location.material>
    - define source <context.location.center.with_pose[0,<player.eye_location.yaw.raw.add[90]>]>
    - define blocks li@
    - repeat 3 {
      - define blocks <def[blocks].include[<def[source].add[<def[source].direction.vector.mul[<def[value]>]>]>]>
      - define blocks <def[blocks].include[<def[source].add[<def[source].direction.vector.mul[-<def[value]>]>]>]>
      }
    - foreach <def[blocks]> {
      - modifyblock <def[value].add[0,1,0]> <def[material]>
      - modifyblock <def[value].add[0,2,0]> <def[material]>
      - if <def[index]> == 1 {
        - modifyblock <def[value].add[0,3,0]> <def[material]> 50%
        - foreach next
        }
      - if <def[index]> == 2 {
        - modifyblock <def[value].add[0,3,0]> <def[material]>
        - modifyblock <def[value].add[0,4,0]> <def[material]> 50%
        - foreach next
        }
      - if <def[index]> == 3 {
        - modifyblock <def[value].add[0,3,0]> <def[material]>
        - modifyblock <def[value].add[0,4,0]> <def[material]>
        - modifyblock <def[value].add[0,5,0]> <def[material]> 50%
        - foreach next
        }
      }