Cleaned up TotemOfReviving by moving most setup code to the new SideProxy.
This commit is contained in:
100
src/main/java/dev/micle/totemofreviving/SideProxy.java
Normal file
100
src/main/java/dev/micle/totemofreviving/SideProxy.java
Normal file
@ -0,0 +1,100 @@
|
||||
package dev.micle.totemofreviving;
|
||||
|
||||
import dev.micle.totemofreviving.config.Config;
|
||||
import dev.micle.totemofreviving.data.DataGenerators;
|
||||
import dev.micle.totemofreviving.network.Network;
|
||||
import dev.micle.totemofreviving.setup.Registration;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.world.ClientWorld;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.MinecraftServer;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.AddReloadListenerEvent;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.fml.event.lifecycle.*;
|
||||
import net.minecraftforge.fml.event.server.FMLServerStartedEvent;
|
||||
import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
|
||||
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
||||
|
||||
class SideProxy implements ISideProxy {
|
||||
private static MinecraftServer server = null;
|
||||
|
||||
// Common setup
|
||||
SideProxy() {
|
||||
Registration.register();
|
||||
Config.init();
|
||||
Network.init();
|
||||
|
||||
IEventBus modEventBus = FMLJavaModLoadingContext.get().getModEventBus();
|
||||
modEventBus.addListener(DataGenerators::gatherData);
|
||||
modEventBus.addListener(SideProxy::setup);
|
||||
modEventBus.addListener(SideProxy::imcEnqueue);
|
||||
modEventBus.addListener(SideProxy::imcProcess);
|
||||
|
||||
MinecraftForge.EVENT_BUS.addListener(SideProxy::onAddReloadListeners);
|
||||
MinecraftForge.EVENT_BUS.addListener(SideProxy::serverStarted);
|
||||
MinecraftForge.EVENT_BUS.addListener(SideProxy::serverStopping);
|
||||
}
|
||||
|
||||
private static void setup(FMLCommonSetupEvent event) {}
|
||||
|
||||
private static void imcEnqueue(InterModEnqueueEvent event) {}
|
||||
|
||||
private static void imcProcess(InterModProcessEvent event) {}
|
||||
|
||||
private static void onAddReloadListeners(AddReloadListenerEvent event) {}
|
||||
|
||||
private static void serverStarted(FMLServerStartedEvent event) {
|
||||
server = event.getServer();
|
||||
}
|
||||
|
||||
private static void serverStopping(FMLServerStoppingEvent event) {
|
||||
server = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public MinecraftServer getServer() {
|
||||
return server;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PlayerEntity getClientPlayer() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientWorld getClientWorld() {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Client setup
|
||||
static class Client extends SideProxy {
|
||||
Client() {
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(Client::setup);
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(Client::postSetup);
|
||||
}
|
||||
|
||||
private static void setup(FMLClientSetupEvent event) {}
|
||||
|
||||
private static void postSetup(FMLLoadCompleteEvent event) {}
|
||||
|
||||
@Override
|
||||
public PlayerEntity getClientPlayer() {
|
||||
return Minecraft.getInstance().player;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClientWorld getClientWorld() {
|
||||
return Minecraft.getInstance().level;
|
||||
}
|
||||
}
|
||||
|
||||
// Server setup
|
||||
static class Server extends SideProxy {
|
||||
Server() {
|
||||
FMLJavaModLoadingContext.get().getModEventBus().addListener(Server::setup);
|
||||
}
|
||||
|
||||
private static void setup(FMLDedicatedServerSetupEvent event) {}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user