Date: 2018/08/13 20:06:58 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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
EarthBoulderJazz:
type: world
debug: true
events:
on player starts sneaking:
- if <player.has_flag[element_toggled]> {
- queue clear
}
- if <player.flag[element]> != earth {
- queue clear
}
- if <li@m@sand|m@clay|m@dirt|m@grass|m@gravel|m@diorite|m@cobblestone|m@stone|m@polished_diorite|m@andesite|m@polished_andesite|m@granite|m@polished_granite.contains[<player.location.cursor_on[3].material]> {
}
on player stops sneaking:
- if <player.has_flag[earth_stage]> {
- flag <player> boulder_up
- flag <player> earth_stage:!
}
EarthArmor:
type: world
debug: true
events:
on player right clicks with item:
- if <player.has_flag[element_toggled]> {
- queue clear
}
- if <player.flag[element]> == earth {
- if <player.location.cursor_on[3].material> == m@air {
- if <player.has_flag[armorcooldown]> {
- playsound <player.location> sound:BLOCK_ANVIL_PLACE volume:0.15
- queue clear
}
- if <player.has_flag[armorhealth]> {
- queue clear
}
- define hardscale <li@m@sand|m@clay|m@dirt|m@grass|m@gravel|m@diorite|m@cobblestone|m@stone|m@polished_diorite|m@andesite|m@polished_andesite|m@granite|m@polished_granite>
- if !<def[hardscale].contains[<player.location.center.add[0,-1,0].material>]> {
- queue clear
}
- flag <player> source:<player.location.add[0,-1,0].material>
- flag <player> sourceloc:<player.location.add[0,-1,0]>
- playeffect <player.location> effect:blockdust_<player.location.add[0,-1,0].material.id> quantity:250
- repeat 15 {
- playsound <player.location> sound:BLOCK_STONE_BREAK volume:100000000000
}
- modifyblock <player.flag[sourceloc]> m@air
- flag <player> armorhealth:<def[hardscale].find[<player.flag[source]>].mul[3]>
}
}
on player damaged:
- if <context.cause> == FALL {
- queue clear
}
- if <player.has_flag[armorhealth]> {
- flag <player> armorhealth:<player.flag[armorhealth].sub[<context.damage>]>
- determine passively cancelled
- if <player.flag[armorhealth]> <= 0 {
- modifyblock <player.flag[sourceloc]> <player.flag[source]>
- playeffect <player.location.points_between[<player.flag[sourceloc]>]> effect:blockdust_<player.flag[source].as_material.id> quantity:250 offset:0,0,0
- repeat 15 {
- playsound <player.location> sound:BLOCK_STONE_BREAK volume:100000000000
}
- flag <player> armorhealth:!
- flag <player> source:!
- flag <player> sourceloc:!
- flag <player> armorcooldown duration:30s
}
}
EarthFall:
type: world
debug: true
events:
on player damaged:
- if <player.has_flag[element_toggled]> {
- queue clear
}
- if <player.flag[element]> == earth {
- if <context.cause> == FALL {
- if <li@m@sand|m@clay|m@dirt|m@grass|m@gravel|m@diorite|m@cobblestone|m@stone|m@polished_diorite|m@andesite|m@polished_andesite|m@granite|m@polished_granite.contains[<player.location.add[0,-1,0].material>]> {
- determine passively cancelled
}
}
}
EarthLaunch:
type: world
debug: true
events:
on player starts sneaking:
- if <player.has_flag[launch_cooldown]> {
- playsound <player.location> sound:BLOCK_ANVIL_PLACE volume:0.15
- queue clear
}
- if <player.has_flag[element_toggled]> {
- queue clear
}
- if <player.location.cursor_on[5].material> != m@air {
- queue clear
}
- if <player.flag[element]> == earth {
- if <li@m@sand|m@clay|m@dirt|m@grass|m@gravel|m@diorite|m@cobblestone|m@stone|m@polished_diorite|m@andesite|m@polished_andesite|m@granite|m@polished_granite.contains[<player.location.add[0,-1,0].material>]> {
- playeffect <player.location> effect:blockdust_<player.location.add[0,-1,0].material.id> quantity:250
- adjust <player> "velocity:<player.location.direction.vector.x.mul[1.5]>,1,<player.location.direction.vector.z.mul[1.5]>"
- showfake <player.location.add[0,-1,0].material> <player.location> players:<server.list_online_players> duration:5s
- playsound <player.location> sound:ENTITY_GHAST_SHOOT volume:10000000000000
- flag <player> launch_cooldown duration:5s
}
}
#EarthBoulder > EarthArmor > EarthLaunch > EarthSlide > EarthRide > Small Shockwave > Large Shockwave > Fissure > EarthWall
#sand, clay, dirt, gravel, diorite, cobblestone, stone, polished diorite, andesite, polished andesite, granite, polished granite