zombies-utils_1.8.9/src/main/java/xyz/stachel/zombiesutils/ZombiesUtils.java

90 lines
2.7 KiB
Java

package xyz.stachel.zombiesutils;
import xyz.stachel.zombiesutils.commands.CommandRegistry;
import xyz.stachel.zombiesutils.config.Hotkeys;
import xyz.stachel.zombiesutils.config.ZombiesUtilsConfig;
import xyz.stachel.zombiesutils.game.GameData;
import xyz.stachel.zombiesutils.game.waves.WaveTiming;
import xyz.stachel.zombiesutils.handlers.Handlers;
import xyz.stachel.zombiesutils.timer.GameManager;
import net.minecraft.client.Minecraft;
import net.minecraftforge.common.config.Configuration;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.NotNull;
@Mod(modid = "zombiesutils", useMetadata = true, clientSideOnly = true, guiFactory = "xyz.stachel.zombiesutils.config.GuiFactory")
public class ZombiesUtils {
private static ZombiesUtils instance;
private final Hotkeys hotkeys;
private final GameManager gameManager;
private ZombiesUtilsConfig config;
private Handlers handlers;
private Logger logger;
private GameData gameData;
private WaveTiming waveTiming; // yeah fuck it im putting this here
public ZombiesUtils() {
hotkeys = new Hotkeys();
gameManager = new GameManager();
instance = this;
}
public static ZombiesUtils getInstance() {
return instance;
}
public static boolean isHypixel() {
String ip = Minecraft.getMinecraft().getCurrentServerData().serverIP;
return (ip.equals("localhost") || ip.matches("(.+\\.)?(hypixel\\.net)(:25565)?"));
}
@Mod.EventHandler
public void preInit(@NotNull FMLPreInitializationEvent event) {
this.logger = event.getModLog();
this.config = new ZombiesUtilsConfig(new Configuration(
event.getSuggestedConfigurationFile())
);
}
@Mod.EventHandler
public void init(FMLInitializationEvent event) {
handlers = new Handlers();
handlers.registerAll();
CommandRegistry.registerAll();
hotkeys.registerAll();
gameData = new GameData();
waveTiming = new WaveTiming();
}
public Logger getLogger() {
return logger;
}
public Hotkeys getHotkeys() {
return hotkeys;
}
public Handlers getHandlers() {
return handlers;
}
public ZombiesUtilsConfig getConfig() {
return config;
}
public GameManager getGameManager() {
return gameManager;
}
public GameData getGameData() {
return gameData;
}
public WaveTiming getWaveTiming() {
return waveTiming;
}
}