KajetansMod.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package me.km;
  2. import me.km.networking.ModPacketHandler;
  3. import me.km.world.ModWorldGeneration;
  4. import net.minecraftforge.common.MinecraftForge;
  5. import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
  6. import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
  7. import net.minecraftforge.fml.event.lifecycle.FMLDedicatedServerSetupEvent;
  8. import net.minecraftforge.fml.event.server.FMLServerStoppingEvent;
  9. import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
  10. import net.minecraftforge.fml.common.Mod;
  11. import net.minecraftforge.eventbus.api.IEventBus;
  12. import net.minecraftforge.eventbus.api.SubscribeEvent;
  13. import net.minecraftforge.fml.DeferredWorkQueue;
  14. @Mod.EventBusSubscriber
  15. @Mod("km")
  16. public class KajetansMod
  17. {
  18. public static final String MODID = "km";
  19. public KajetansMod()
  20. {
  21. ClassLoaderUtils.loadDependencies();
  22. IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
  23. bus.addListener(this::init);
  24. bus.addListener(this::setupServer);
  25. bus.addListener(this::clientInit);
  26. bus.addListener(this::onServerStop);
  27. MinecraftForge.EVENT_BUS.register(this);
  28. }
  29. private void init(FMLCommonSetupEvent e)
  30. {
  31. DeferredWorkQueue.runLater(() -> ModPacketHandler.init());
  32. ModWorldGeneration.register();
  33. DamageUtils.init();
  34. MinecraftForge.EVENT_BUS.register(new CommonEvents());
  35. }
  36. private void clientInit(FMLClientSetupEvent e)
  37. {
  38. Client.init();
  39. }
  40. private void setupServer(FMLDedicatedServerSetupEvent e)
  41. {
  42. Server.onStart(e.getServerSupplier().get());
  43. }
  44. @SubscribeEvent
  45. public void onServerStop(FMLServerStoppingEvent e)
  46. {
  47. if(e.getServer().isDedicatedServer())
  48. {
  49. Server.onStop();
  50. }
  51. }
  52. }