Date: 2018/08/28 06:01:23 UTC-07:00
Type: Denizen Script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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
}
}