Error messages & fix world generators
in some cases world generators detection prevents the script from loading, when you have a broken plugin for example, so I have moved it to be only in /fwr generators command, instead of getting list of world generators on server startup
This commit is contained in:
parent
933a1f806f
commit
0f09c8717f
@ -57,25 +57,6 @@ on script load:
|
|||||||
else:
|
else:
|
||||||
send "[FastWorldReset] GovindaSK not found, falling back to a slower, reflection way of unloading chunks in chunk-based reset. (2 errors related to chunk unloading will appear, but you can safely ignore them)" to console
|
send "[FastWorldReset] GovindaSK not found, falling back to a slower, reflection way of unloading chunks in chunk-based reset. (2 errors related to chunk unloading will appear, but you can safely ignore them)" to console
|
||||||
|
|
||||||
wait 5 seconds
|
|
||||||
#get list of world generators for /fwr generator command
|
|
||||||
|
|
||||||
delete {-worldgenerators::*}
|
|
||||||
|
|
||||||
set {_plugins::*} to ...{-fwrcache::bukkitgetserver}.getPluginManager().getPlugins()
|
|
||||||
|
|
||||||
loop {_plugins::*}:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
set {_value} to loop-value.getDefaultWorldGenerator("%{-fwrcache::mainworld}%", "")
|
|
||||||
|
|
||||||
if {_value} is set:
|
|
||||||
delete {_value}
|
|
||||||
|
|
||||||
add 1 to {_i}
|
|
||||||
set {_name} to loop-value.getDescription().getName()
|
|
||||||
set {-worldgenerators::%{_name}%} to {_name}
|
|
||||||
|
|
||||||
event "world_reset_start":
|
event "world_reset_start":
|
||||||
patterns:
|
patterns:
|
||||||
@ -133,7 +114,7 @@ function resetWorld(input: text, sender: object):
|
|||||||
{_world} is a world:
|
{_world} is a world:
|
||||||
|
|
||||||
#teleport out is needed to be able to unload the world
|
#teleport out is needed to be able to unload the world
|
||||||
|
amount of players in {_world} is not 0
|
||||||
teleportOut({_world})
|
teleportOut({_world})
|
||||||
|
|
||||||
#waiting until all players are teleported out, to support asynchronous teleportations
|
#waiting until all players are teleported out, to support asynchronous teleportations
|
||||||
@ -159,10 +140,8 @@ function resetWorld(input: text, sender: object):
|
|||||||
|
|
||||||
set {_worlddir} to {-fwrcache::worlddir}
|
set {_worlddir} to {-fwrcache::worlddir}
|
||||||
|
|
||||||
if {fastworldresetclone::%{_input}%} is set:
|
#use original template if this world is a clone
|
||||||
set {_template} to {fastworldresetclone::%{_input}%}
|
set {_template} to {fastworldresetclone::%{_input}%} ? {_input}
|
||||||
else:
|
|
||||||
set {_template} to {_input}
|
|
||||||
|
|
||||||
if {@ResetOnlyRegionFolder} is false:
|
if {@ResetOnlyRegionFolder} is false:
|
||||||
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%")
|
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%")
|
||||||
@ -170,17 +149,31 @@ function resetWorld(input: text, sender: object):
|
|||||||
else:
|
else:
|
||||||
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%/region")
|
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%/region")
|
||||||
set {_target} to new File("%{_worlddir}%/%{_input}%/region")
|
set {_target} to new File("%{_worlddir}%/%{_input}%/region")
|
||||||
|
|
||||||
|
send "&a&lFastWorldReset&2&l> &cStarting to reset &e%{_input}% &cworld..." to {_sender}
|
||||||
create new section stored in {_section}:
|
create new section stored in {_section}:
|
||||||
|
if {_target} is not set:
|
||||||
|
send "&a&lFastWorldReset&2&l> %{_input}% deleteDir somehow was null?" to {_sender}
|
||||||
FileUtils.deleteDirectory({_target})
|
FileUtils.deleteDirectory({_target})
|
||||||
FileUtils.copyDirectory({_source}, {_target})
|
FileUtils.copyDirectory({_source}, {_target})
|
||||||
|
|
||||||
run section {_section} async and wait
|
run section {_section} async and wait
|
||||||
|
|
||||||
|
if {_input} is not set:
|
||||||
|
send "&a&lFastWorldReset&2&l> &c&lCRITICAL ERROR: &cworld name became null during reset, so it was unable to complete." to console
|
||||||
|
|
||||||
if {worldgenerator::%{_template}%} is set:
|
if {worldgenerator::%{_template}%} is set:
|
||||||
{-fwrcache::bukkitgetserver}.createWorld(new WorldCreator({_input}).generator({worldgenerator::%{_template}%}))
|
{-fwrcache::bukkitgetserver}.createWorld(new WorldCreator({_input}).generator({worldgenerator::%{_template}%}))
|
||||||
else:
|
else:
|
||||||
{-fwrcache::bukkitgetserver}.createWorld(new WorldCreator({_input}))
|
{-fwrcache::bukkitgetserver}.createWorld(new WorldCreator({_input}))
|
||||||
|
|
||||||
|
delete {-resetting::%{_input}%}
|
||||||
|
|
||||||
|
if ("%{_input}%" parsed as a world) is not a world:
|
||||||
|
send "&c------------------" to console
|
||||||
|
send "&a&lFastWorldReset&2&l> &c&lCRITICAL ERROR: world &e%{_input}% &chas failed to load after a reset." to console
|
||||||
|
send "&c------------------" to console
|
||||||
|
stop
|
||||||
set {fastworldreset::lastreset::%{_input}%} to new Date().getTime() #unix time, not using vanilla skript syntax as we need milliseconds support
|
set {fastworldreset::lastreset::%{_input}%} to new Date().getTime() #unix time, not using vanilla skript syntax as we need milliseconds support
|
||||||
|
|
||||||
send "&a&lFastWorldReset&2&l> &cReset &e%{_input}% &cvia world-based method." to {_sender}
|
send "&a&lFastWorldReset&2&l> &cReset &e%{_input}% &cvia world-based method." to {_sender}
|
||||||
@ -619,7 +612,6 @@ command /fastworldreset [<text>] [<text>] [<text>]:
|
|||||||
else if arg 1 is "generator":
|
else if arg 1 is "generator":
|
||||||
if arg 2 or arg 3 is not set:
|
if arg 2 or arg 3 is not set:
|
||||||
send "&cUsage: &e/fwr generator <world> <generator>"
|
send "&cUsage: &e/fwr generator <world> <generator>"
|
||||||
send "&cList of World Generators: &eDefault, %{-worldgenerators::*} ? """"%"
|
|
||||||
stop
|
stop
|
||||||
set {_worlddir} to {-fwrcache::worlddir}
|
set {_worlddir} to {-fwrcache::worlddir}
|
||||||
if {-fastworldresetworld::%arg 2%} is not set:
|
if {-fastworldresetworld::%arg 2%} is not set:
|
||||||
@ -638,10 +630,18 @@ command /fastworldreset [<text>] [<text>] [<text>]:
|
|||||||
stop
|
stop
|
||||||
send "&a&lFastWorldReset&2&l> &aYou have set the world generator of &e%arg 2% &ato &e%arg 3%"
|
send "&a&lFastWorldReset&2&l> &aYou have set the world generator of &e%arg 2% &ato &e%arg 3%"
|
||||||
|
|
||||||
if {-worldgenerators::%arg 3%} is not set:
|
|
||||||
send colored "&cWARNING: The specified generator (%arg 3%) has not been found on the server, but this may be a mistake."
|
|
||||||
else if arg 1 is "generators":
|
else if arg 1 is "generators":
|
||||||
send colored "&a&lFastWorldReset&2&l> &cList of World Generators: &eDefault, %{-worldgenerators::*} ? """"%"
|
send colored "&a&lFastWorldReset&2&l> &cList of World Generators: &eDefault, %{-worldgenerators::*} ? """"%"
|
||||||
|
send "&eDefault"
|
||||||
|
|
||||||
|
|
||||||
|
set {_plugins::*} to ...{-fwrcache::bukkitgetserver}.getPluginManager().getPlugins()
|
||||||
|
loop {_plugins::*}:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
if loop-value.getDefaultWorldGenerator("%{-fwrcache::mainworld}%", "") is set:
|
||||||
|
send "&e%loop-value.getDescription().getName()%"
|
||||||
else if arg 1 is "resetstats":
|
else if arg 1 is "resetstats":
|
||||||
if arg 2 is set:
|
if arg 2 is set:
|
||||||
set {_world} to arg 2
|
set {_world} to arg 2
|
||||||
|
Loading…
Reference in New Issue
Block a user