Date: 2018/08/21 09:08:35 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
SeismicSense:
type: world
debug: false
events:
on system time minutely:
- repeat 60 {
- run seismic_task
- wait 1s
- run seismic_check
}
seismic_task:
type: task
script:
- foreach <server.list_online_players.filter[has_flag[seismic_sense_unlocked]]> {
- if !<def[value].as_player.has_flag[element_toggled]> && !<def[value].as_player.has_flag[ss_toggled]> {
- foreach <def[value].as_player.location.find.living_entities.within[20].exclude[<player>]> {
- 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[<def[value].location.center.add[0,-1,0].material>]> {
- queue clear
} else {
- adjust <def[value]> glowing:true
}
}
}
}
seismic_check:
type: task
script:
- foreach <server.list_online_players.filter[has_flag[seismic_sense_unlocked]]> {
- define player <def[value]>
- foreach <def[value].as_player.location.find.living_entities.within[50].filter[glowing]> {
- if <def[player].location.find.living_entities.within[20]> !contains <def[value]> {
- adjust <def[value]> glowing:false
}
}
}