Date: 2016/12/21 12:09:44 UTC-08: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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
HubScript:
type: world
debug: true
events:
on player join:
- adjust <player> 'location:l@-54.5,52.5,-94.5,0,0,MainLobby'
- inventory clear
- give i@Server_Selector to:<player.inventory> slot:1
- give i@Player_Hider_Disabled quantity:1 to:<player.inventory> slot:2
- if <player.is_op> {
- give i@StaffHammer to:<player.inventory> slot:9
}
on player quit:
- wait 1t
- adjust <player> 'location:l@-54.5,52.5,-94.5,0,0,MainLobby'
on server start:
- run Player_Count_Refresh
on system time[<05:00>]:
- run safe_shutdown
on system time[<11:00>]:
- run safe_shutdown
on system time[<17:00>]:
- run safe_shutdown
on system time[<23:00>]:
- run safe_shutdown
Player_Count_Refresh:
type: task
debug: true
script:
- while true:
- foreach <bungee.list_servers>:
- ~bungeetag <server.list_online_players.size.as_int> server:<def[value].name> save:player_count
- flag server playercount.<def[value].name>:<entry[player_count].result>
- wait 60s
HelpCommand:
type: command
name: help
script:
- narrate "<&b>Did you find a hacker or rule breaker? Report them here:"
- narrate "<&e>http://xpcraft.com/forums/ban-reports.9/"
- narrate "<&b>Found a bug? Report it here:"
- narrate "<&e>http://xpcraft.com/forums/bug-reports.3/"
- narrate "<&b>For help with games and all other server features, visit our forums:"
- narrate "<&e>http://xpcraft.com/forums/"
Reboot:
type: world
debug: false
events:
on restart command:
- if <context.server> && !<player.is_op> queue clear
- determine cancelled passively
- run safe_shutdown
on stop command:
- if <context.server> && !<player.is_op> queue clear
- determine cancelled passively
- run safe_shutdown
on shutdown command:
- if <context.server> && !<player.is_op> queue clear
- determine cancelled passively
- run safe_shutdown
safe_shutdown:
type: task
debug: false
speed: 0
script:
- if <server.has_flag[already_restarting]> queue clear
- flag server already_restarting duration:2m
- announce "<&a><&l>This server will be restarting in <&e><&l>one minute<&a><&l>."
- repeat 3:
- playsound sound:ENTITY_ARROW_HIT_PLAYER <server.list_online_players> colume:1.5 pitch:0.7
- wait 3t
- repeat 1:
- actionbar "<&a>Restarting in<&e> 60 <&a>seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 10s
- actionbar "<&a>Restarting in<&e> 50 <&a>seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 10s
- actionbar "<&a>Restarting in<&e> 40 <&a>seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 10s
- actionbar "<&a>Restarting in<&e> 30 <&a>seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 10s
- actionbar "<&a>Restarting in<&e> 20 <&a>seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 10s
- repeat 10:
- actionbar "<&a>Restarting in<&co> <&e><el@10.sub[<def[value]>].as_int><&a> seconds." targets:<server.list_online_players>
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 1s
- repeat 3:
- playsound sound:UI_BUTTON_CLICK <server.list_online_players> pitch:1.2
- wait 3t
- if <bungee.list_servers.contains[server@lobby]||false> && <bungee.server||null> != server@lobby {
- announce "<&8>[<&7>server<&8>]<&a> This server is restarting.<&nl><&c>Please try again in a minute."
- kick <server.list_online_players> "reason:<&8>[<&7>server<&8>]<&a> This server is restarting.<&nl><&c>Please try again in a minute.
} else {
- kick <server.list_online_players> "reason:<&8>[<&7>Server<&8>]<&a> This server is restarting.<&nl><&c>Please try again in a minute."
}
- flag server already_restarting:!
- execute as_server "restart"
Server_Selector:
type: item
material: i@compass
display name: <&3>Server Selector
bound: true
Player_Hider_Disabled:
type: item
material: i@347
display name: <&b>Player Hider <&e>- <&c>Disabled
bound: true
Player_Hider_Enabled:
type: item
material: i@347
display name: <&b>Player Hider <&e>- <&a>Enabled
bound: true
Server_Selector_Menu:
type: world
debug: true
events:
on player clicks Server_Selector:
- inventory open d:in@Server_GUI_Menu
on player clicks Player_Hider_Disabled:
- run Player_Hide_Task
- take slot:2 from:<player.inventory>
- give i@Player_Hider_Enabled quantity:1 to:<player.inventory> slot:2
on player clicks Player_Hider_Enabled:
- run Player_Show_Task
- take slot:2 from:<player.inventory>
- give i@Player_Hider_Disabled quantity:1 to:<player.inventory> slot:2
Player_Hide_Task:
type: task
debug: true
script:
- foreach <player.world.players.exclude[<player>].filter[is_op.not]> {
- adjust <player> hide_entity:<def[value]>
}
Player_Show_Task:
type: task
debug: true
script:
- foreach <player.world.players.exclude[<player>].filter[is_op.not]> {
- adjust <player> show_entity:<def[value]>
}
Server_GUI_Menu:
type: inventory
title: <&3>Server List
size: 9
slots:
- "[Filler] [Filler] [i@Survival[quantity=<server.flag[playercount.survival].as_int>;flags=li@hide_enchants]] [Filler] [i@Creative[quantity=<server.flag[playercount.creative].as_int>;flags=li@hide_enchants]] [Filler] [i@Shift[quantity=<server.flag[playercount.shift1].add[<server.flag[playercount.shift2]>].add[<server.flag[playercount.shift3]>].add[<server.flag[playercount.shift4]>].as_int>;flags=li@hide_enchants]] [Filler] [Filler]"
Shift_GUI_Menu:
type: inventory
title: <&3>Server List
size: 9
Slots:
- "[i@Shift_1[quantity=<server.flag[playercount.shift1]>;flags=li@hide_enchants]] [i@Shift_2[quantity=<server.flag[playercount.shift2]>;flags=li@hide_enchants]] [i@Shift_3[quantity=<server.flag[playercount.shift3]>;flags=li@hide_enchants]] [i@Shift_4[quantity=<server.flag[playercount.shift4]>;flags=li@hide_enchants]] [Filler] [Filler] [Filler] [Filler] [Filler]"
Server_GUI_Menu_handler:
type: world
events:
on player clicks Filler in Server_GUI_Menu:
- determine cancelled
on player clicks Shift in Server_GUI_Menu:
- inventory open d:in@Shift_GUI_Menu
on player clicks Filler in Shift_GUI_Menu:
- determine cancelled
on player clicks Creative in Server_GUI_Menu:
- adjust <player> send_to:server@creative
on player clicks Survival in Server_GUI_Menu:
- adjust <player> send_to:server@survival
on player clicks Shift_1 in Shift_GUI_Menu:
- adjust <player> send_to:server@shift1
on player clicks Shift_2 in Shift_GUI_Menu:
- adjust <player> send_to:server@shift2
on player clicks Shift_3 in Shift_GUI_Menu:
- adjust <player> send_to:server@shift3
on player clicks Shift_4 in Shift_GUI_Menu:
- adjust <player> send_to:server@shift4
Creative:
type: item
material: 271
display name: <&2>Creative
enchantments:
- ARROW_INFINITE:1
Survival:
type: item
material: 267
display name: <&6>Survival
enchantments:
- ARROW_INFINITE:1
Shift:
type: item
material: quartz_ore
display name: <&5>Shift
enchantments:
- ARROW_INFINITE:1
Shift_1:
type: item
material: quartz_ore
display name: <&5>Shift 1
enchantments:
- ARROW_INFINITE:1
Shift_2:
type: item
material: quartz_ore
display name: <&5>Shift 2
enchantments:
- ARROW_INFINITE:1
Shift_3:
type: item
material: quartz_ore
display name: <&5>Shift 3
enchantments:
- ARROW_INFINITE:1
Shift_4:
type: item
material: quartz_ore
display name: <&5>Shift 4
enchantments:
- ARROW_INFINITE:1
Filler:
type: item
material: black_stained_glass_pane
StaffHammer:
type: item
material: diamond_axe
display name: <&4>Staff Hammer