Fixed the load order of configs with plugins - many configs are now loaded after plugins so that npc/item/object handlers in the old plugin system are set properly
This commit is contained in:
@@ -4,12 +4,14 @@ import kotlinx.coroutines.GlobalScope
|
||||
import kotlinx.coroutines.launch
|
||||
|
||||
class ConfigParser {
|
||||
fun parseConfigs() {
|
||||
fun prePlugin() {
|
||||
NPCConfigParser().load()
|
||||
ItemConfigParser().load()
|
||||
ObjectConfigParser().load()
|
||||
XteaParser().load()
|
||||
InterfaceConfigParser().load()
|
||||
}
|
||||
fun postPlugin() {
|
||||
ShopParser().load()
|
||||
DropTableParser().load()
|
||||
NPCSpawner().load()
|
||||
|
||||
@@ -160,11 +160,12 @@ object GameWorld {
|
||||
Cache.init(ServerConstants.CACHE_PATH)
|
||||
databaseManager = DatabaseManager(ServerConstants.DATABASE)
|
||||
databaseManager!!.connect()
|
||||
ConfigParser().parseConfigs()
|
||||
configParser.prePlugin()
|
||||
ClassScanner.scanClasspath()
|
||||
ClassScanner.loadPureInterfaces()
|
||||
worldPersists.forEach { it.parse() }
|
||||
ClassScanner.loadSideEffectfulPlugins()
|
||||
configParser.postPlugin()
|
||||
startupListeners.forEach { it.startup() }
|
||||
if (run) {
|
||||
SystemManager.flag(if (settings?.isDevMode == true) SystemState.PRIVATE else SystemState.ACTIVE)
|
||||
|
||||
@@ -47,7 +47,8 @@ object TestUtils {
|
||||
if(ServerConstants.DATA_PATH == null) {
|
||||
ServerConfigParser.parse(this::class.java.getResource("test.conf"))
|
||||
Cache.init(this::class.java.getResource("cache").path.toString())
|
||||
ConfigParser().parseConfigs()
|
||||
ConfigParser().prePlugin()
|
||||
ConfigParser().postPlugin()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user