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:
|
||||
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":
|
||||
patterns:
|
||||
@ -133,7 +114,7 @@ function resetWorld(input: text, sender: object):
|
||||
{_world} is a world:
|
||||
|
||||
#teleport out is needed to be able to unload the world
|
||||
|
||||
amount of players in {_world} is not 0
|
||||
teleportOut({_world})
|
||||
|
||||
#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}
|
||||
|
||||
if {fastworldresetclone::%{_input}%} is set:
|
||||
set {_template} to {fastworldresetclone::%{_input}%}
|
||||
else:
|
||||
set {_template} to {_input}
|
||||
#use original template if this world is a clone
|
||||
set {_template} to {fastworldresetclone::%{_input}%} ? {_input}
|
||||
|
||||
if {@ResetOnlyRegionFolder} is false:
|
||||
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%")
|
||||
@ -170,17 +149,31 @@ function resetWorld(input: text, sender: object):
|
||||
else:
|
||||
set {_source} to new File("%{_worlddir}%/FastWorldReset/%{_template}%/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}:
|
||||
if {_target} is not set:
|
||||
send "&a&lFastWorldReset&2&l> %{_input}% deleteDir somehow was null?" to {_sender}
|
||||
FileUtils.deleteDirectory({_target})
|
||||
FileUtils.copyDirectory({_source}, {_target})
|
||||
|
||||
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:
|
||||
{-fwrcache::bukkitgetserver}.createWorld(new WorldCreator({_input}).generator({worldgenerator::%{_template}%}))
|
||||
else:
|
||||
{-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
|
||||
|
||||
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":
|
||||
if arg 2 or arg 3 is not set:
|
||||
send "&cUsage: &e/fwr generator <world> <generator>"
|
||||
send "&cList of World Generators: &eDefault, %{-worldgenerators::*} ? """"%"
|
||||
stop
|
||||
set {_worlddir} to {-fwrcache::worlddir}
|
||||
if {-fastworldresetworld::%arg 2%} is not set:
|
||||
@ -638,10 +630,18 @@ command /fastworldreset [<text>] [<text>] [<text>]:
|
||||
stop
|
||||
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":
|
||||
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":
|
||||
if arg 2 is set:
|
||||
set {_world} to arg 2
|
||||
|
Loading…
Reference in New Issue
Block a user