diff --git a/Minecraft.Client/ServerLevel.cpp b/Minecraft.Client/ServerLevel.cpp index 34702cd4..ba77b860 100644 --- a/Minecraft.Client/ServerLevel.cpp +++ b/Minecraft.Client/ServerLevel.cpp @@ -112,6 +112,7 @@ ServerLevel::ServerLevel(MinecraftServer *server, shared_ptrlevelS // 4J - The listener used to be added in MinecraftServer::loadLevel but we need it to be set up before we do the next couple of things, or else chunks get loaded before we have the entity tracker set up to listen to them this->server = server; server->setLevel(dimension, this); // The listener needs the server to have the level set up... this will be set up anyway on return of this ctor but setting up early here + ModLoader::Get().OnLevelLoad(); addListener(new ServerLevelListener(server, this)); tracker = new EntityTracker(this); @@ -162,6 +163,8 @@ ServerLevel::ServerLevel(MinecraftServer *server, shared_ptrlevelS ServerLevel::~ServerLevel() { + ModLoader::Get().OnLevelUnload(); + delete portalForcer; delete mobSpawner; @@ -838,7 +841,6 @@ void ServerLevel::initializeLevel(LevelSettings *settings) setInitialSpawn(settings); Level::initializeLevel(settings); - ModLoader::Get().OnLevelLoad(); } /** @@ -1213,7 +1215,7 @@ bool ServerLevel::doTileEvent(TileEventData *te) void ServerLevel::closeLevelStorage() { levelStorage->closeAll(); - ModLoader::Get().OnLevelUnload(); + } void ServerLevel::tickWeather() diff --git a/x64/Debug/mods/modloader.log b/x64/Debug/mods/modloader.log index 29dc8bae..227b6a2d 100644 --- a/x64/Debug/mods/modloader.log +++ b/x64/Debug/mods/modloader.log @@ -1,3 +1,4 @@ -[15:29:56] === Faucet ModLoader starting === -[15:29:56] Found 0 mod(s) to load -[15:29:56] Initialization complete — 0 loaded, 0 failed, 118ms total +[15:33:32] === Faucet ModLoader starting === +[15:33:32] Found 0 mod(s) to load +[15:33:32] Initialization complete — 0 loaded, 0 failed, 117ms total +[15:33:55] Shutting down ModLoader