diff --git a/src/main/java/appeng/core/AppEngServerStartup.java b/src/main/java/appeng/core/AppEngServerStartup.java new file mode 100644 index 000000000..581cfc13c --- /dev/null +++ b/src/main/java/appeng/core/AppEngServerStartup.java @@ -0,0 +1,12 @@ +package appeng.core; + +import appeng.server.AppEngServer; +import net.fabricmc.api.DedicatedServerModInitializer; + +@SuppressWarnings("unused") +public class AppEngServerStartup implements DedicatedServerModInitializer { + @Override + public void onInitializeServer() { + AppEngHolder.INSTANCE = new AppEngServer(); + } +} diff --git a/src/main/java/appeng/server/AppEngServer.java b/src/main/java/appeng/server/AppEngServer.java index 01d4a1359..73e9ceff0 100644 --- a/src/main/java/appeng/server/AppEngServer.java +++ b/src/main/java/appeng/server/AppEngServer.java @@ -23,23 +23,28 @@ import appeng.hooks.TickHandler; public final class AppEngServer extends AppEngBase { - private final MinecraftServer server; + private MinecraftServer server; private final ServerNetworkHandler networkHandler; private final TickHandler tickHandler; - public AppEngServer(MinecraftServer server) { - this.server = server; + public AppEngServer() { this.networkHandler = new ServerNetworkHandler(); this.tickHandler = new TickHandler(); - // For a dedicated server, the lifecycle of WorldData is much simpler - WorldData.onServerStarting(server); + ServerLifecycleEvents.SERVER_STARTING.register(this::onServerStarting); ServerLifecycleEvents.SERVER_STOPPING.register(s -> onServerStopping()); ServerLifecycleEvents.SERVER_STOPPED.register(s -> onServerStopped()); } + private void onServerStarting(MinecraftServer server) { + // For a dedicated server, the lifecycle of WorldData is much simpler + WorldData.onServerStarting(server); + + this.server = server; + } + private void onServerStopping() { WorldData.instance().onServerStopping(); } diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index 5a2647c42..d4b03753f 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -16,8 +16,8 @@ "environment": "*", "entrypoints": { - "main": [], "client": ["appeng.core.AppEngClientStartup"], + "server": ["appeng.core.AppEngServerStartup"], "rei_plugins": ["appeng.integration.modules.jei.ReiPlugin"] }, "mixins": ["appliedenergistics2.mixins.json"],