Date: 2018/06/29 14:49:22 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
"Arcblade YAML Handler":
type: world
events:
on server start:
- yaml create id:arcblade
on shutdown:
- yaml unload id:arcblade
"Arcblade Task Runner":
type: world
events:
on mm denizen mechanic:
- if <context.skill> == "arcblade-task-runner"
{
- run "Arcblade Task" def:<context.target>|5|<context.caster>
- announce to_console "Arcblade event fired"
}
"Arcblade Task":
type: task
speed: 0
script:
- define origin-target %1%
- define caster %3%
- announce to_console "caster: <def[caster]>"
- announce to_console "Origin target: <def[origin-target]>"
- define targetlist-chain-1 <def[origin-target].location.find.entities.within[%2%].exclude[<def[origin-target]>].exclude[<def[caster]>]>
- announce to_console "targetlist-chain-1: <def[targetlist-chain-1]>"
- define targetlist-chain-2 li@
- foreach <def[targetlist-chain-1]>
{
- define target <def[value]>
- define targetlist-chain-1-<def[value].uuid> <def[targetlist-chain-2].include[<def[value].location.find.entities.within[%2%]>].exclude[<def[targetlist-chain-1]>].exclude[<def[origin-target]>].exclude[<def[caster]>]>
- define targetlist-chain-2 <def[targetlist-chain-2].include[<def[value].location.find.entities.within[%2%]>].exclude[<def[targetlist-chain-2]>].exclude[<def[targetlist-chain-1]>].exclude[<def[origin-target]>].exclude[<def[caster]>]>
- playeffect <def[value].location.add[0,1,0]> effect:redstone data:0 visibility:50 quantity:20 offset:0.05
}
- announce to_console "targetlist-chain-2: <def[targetlist-chain-2]>"
- define targetlist-chain-3 li@
- foreach <def[targetlist-chain-2]>
{
- define targetlist-chain-2-<def[value].uuid> <def[targetlist-chain-3].include[<def[value].location.find.entities.within[%2%]>].exclude[<def[targetlist-chain-2]>].exclude[<def[targetlist-chain-1]>].exclude[<def[origin-target]>].exclude[<def[caster]>]>
- define targetlist-chain-3 <def[targetlist-chain-3].include[<def[value].location.find.entities.within[%2%]>].exclude[<def[targetlist-chain-3]>].exclude[<def[targetlist-chain-2]>].exclude[<def[targetlist-chain-1]>].exclude[<def[origin-target]>].exclude[<def[caster]>]>
- if <def[targetlist-chain-3]> == li@<def[caster]>
{
- define targetlist-chain-3 li@
}
- playeffect <def[value].location.add[0,1,0]> effect:redstone data:0 visibility:50 quantity:20 offset:0.05
}
- announce to_console "targetlist-chain-3: <def[targetlist-chain-3]>"
- foreach <def[targetlist-chain-3]>
{
- playeffect <def[value].location.add[0,1,0]> effect:redstone data:0 visibility:50 quantity:20 offset:0.05
}
- foreach <def[targetlist-chain-1]>
{
- playeffect <def[origin-target].location.add[0,1,0].points_between[<def[value].location>].distance[0.1]> effect:happy_villager visibility:50 quantity:4 offset:0.1
}
- foreach <def[targetlist-chain-2]>
{
- foreach <def[targetlist-chain-1]>
{
- define source-uuid <def[value].uuid>
- define source <def[value]>
- define targetlist <def[targetlist-chain-1-%source-uuid%]>
- define target-uuid <def[value].uuid>
- define loop <def[loop_index]>
- announce to_console "targetlist: <def[targetlist]>"
- define target <def[targetlist].get[%loop%]>
- define location <def[target].location>
- playeffect <%source%.location.add[0,1,0].points_between[%location%].distance[0.1]> effect:happy_villager visibility:50 quantity:4 offset:0.1
}
}
- if <def[targetlist-chain-3]> == li@
{
- queue clear
}
- foreach <def[targetlist-chain-3]>
{
- foreach <def[targetlist-chain-2]>
{
- define source-uuid <def[value].uuid>
- define source <def[value]>
- define target-uuid <def[value].uuid>
- define loop <def[loop_index]>
- define targetlist <def[targetlist-chain-2-%source-uuid%]>
- announce to_console "targetlist: <def[targetlist]>"
- define target <def[targetlist].get[%loop%]>
- define location <def[target].location>
- playeffect <%source%.location.add[0,1,0].points_between[%location%].distance[0.1]> effect:happy_villager visibility:50 quantity:4 offset:0.1
}
}