Date: 2017/10/07 20:42:48 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
SCROLLING_CHAT:
type: task
speed: 0
definitions: location
script:
- define text <queue.definitions.filter[is[matches].to[number]]>
- define stands li@
- foreach <def[text]> {
- adjust <def[stands]> move:0,0.3,0
- if <def[stands].size.is[OR_MORE].than[3]> {
- remove <def[stands].first>
- flag server chat_entities:<-:<def[stands].first>
- define stands <def[stands].remove[first]>
}
- spawn armor_stand[visible=false;gravity=false;custom_name_visible=true;custom_name=<def[<def[value]>]>] <def[location]> persistent save:<def[loop_index]>
- define stands <def[stands].include[<entry[<def[loop_index]>].spawned_entities.get[1]>]>
- flag server chat_entities:->:<def[stands].last>
- wait <def[<def[value]>].split[<&sp>].size.div[3.33].max[1.5]>
}
- repeat 3 {
- adjust <def[stands]> move:0,0.3,0
- remove <def[stands].first>
- flag server chat_entities:<-:<def[stands].first>
- define stands <def[stands].remove[first]>
- wait 1.5s
}
CLEAN_SCROLLING_CHAT:
type: world
events:
on server start:
- wait 5s
- foreach <server.flag[chat_entities].as_list> {
- if <def[value].location.chunk.is_loaded.not> {
- chunkload <def[value].location.chunk> duration:1m
- wait 1t
}
- remove <def[value]>
}
- flag server chat_entities:!