101 lines
3.4 KiB
Java
101 lines
3.4 KiB
Java
package dev.zontreck.essentials;
|
|
|
|
import java.io.IOException;
|
|
import java.nio.file.Files;
|
|
import java.nio.file.Path;
|
|
import java.util.HashMap;
|
|
import java.util.Map;
|
|
import java.util.UUID;
|
|
|
|
import dev.zontreck.ariaslib.util.DelayedExecutorService;
|
|
import dev.zontreck.essentials.configs.AEClientConfig;
|
|
import dev.zontreck.essentials.configs.AEServerConfig;
|
|
import dev.zontreck.essentials.gui.HeartsRenderer;
|
|
import dev.zontreck.essentials.networking.ModMessages;
|
|
import dev.zontreck.essentials.networking.S2CUpdateHearts;
|
|
import dev.zontreck.libzontreck.events.RegisterPacketsEvent;
|
|
import net.minecraftforge.fml.config.ModConfig;
|
|
import net.minecraftforge.fml.event.lifecycle.FMLClientSetupEvent;
|
|
import org.slf4j.Logger;
|
|
|
|
import com.mojang.logging.LogUtils;
|
|
|
|
import dev.zontreck.essentials.commands.CommandRegister;
|
|
import dev.zontreck.essentials.homes.Homes;
|
|
import dev.zontreck.essentials.homes.HomesProvider;
|
|
import dev.zontreck.essentials.util.EssentialsDatastore;
|
|
import dev.zontreck.essentials.util.ForgeEventsHandler;
|
|
import dev.zontreck.libzontreck.events.ProfileLoadedEvent;
|
|
import dev.zontreck.libzontreck.events.ProfileUnloadedEvent;
|
|
import dev.zontreck.libzontreck.profiles.Profile;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.event.server.ServerStartedEvent;
|
|
import net.minecraftforge.event.server.ServerStoppingEvent;
|
|
import net.minecraftforge.eventbus.api.IEventBus;
|
|
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
|
import net.minecraftforge.fml.ModLoadingContext;
|
|
import net.minecraftforge.fml.common.Mod;
|
|
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent;
|
|
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
|
|
|
|
@Mod(AriasEssentials.MODID)
|
|
public class AriasEssentials {
|
|
public static final String MODID = "ariasessentials";
|
|
public static final Logger LOGGER = LogUtils.getLogger();
|
|
public static boolean ALIVE;
|
|
public static Map<UUID, Homes> player_homes = new HashMap<>();
|
|
|
|
public AriasEssentials()
|
|
{
|
|
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
|
|
bus.addListener(this::setup);
|
|
DelayedExecutorService.setup();
|
|
|
|
|
|
ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, AEServerConfig.SPEC, "arias-essentials-server.toml");
|
|
|
|
|
|
ModLoadingContext.get().registerConfig(ModConfig.Type.CLIENT, AEClientConfig.SPEC, "arias-essentials-client.toml");
|
|
|
|
|
|
|
|
|
|
EssentialsDatastore.initialize();
|
|
MinecraftForge.EVENT_BUS.register(this);
|
|
MinecraftForge.EVENT_BUS.register(new CommandRegister());
|
|
MinecraftForge.EVENT_BUS.register(new ForgeEventsHandler());
|
|
}
|
|
|
|
public void setup(FMLCommonSetupEvent ev)
|
|
{
|
|
ModMessages.register();
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
public void onServerStart(final ServerStartedEvent ev)
|
|
{
|
|
ALIVE=true;
|
|
}
|
|
|
|
|
|
@SubscribeEvent
|
|
public void onServerStop(final ServerStoppingEvent ev)
|
|
{
|
|
ALIVE=false;
|
|
}
|
|
|
|
|
|
// You can use EventBusSubscriber to automatically register all static methods in the class annotated with @SubscribeEvent
|
|
@Mod.EventBusSubscriber(modid = AriasEssentials.MODID, bus = Mod.EventBusSubscriber.Bus.MOD)
|
|
public static class ClientModEvents {
|
|
@SubscribeEvent
|
|
public static void onClientSetup(FMLClientSetupEvent event) {
|
|
|
|
LOGGER.info("Client setup");
|
|
|
|
MinecraftForge.EVENT_BUS.register(new HeartsRenderer());
|
|
}
|
|
}
|
|
|
|
}
|