123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198 |
- package me.km;
- import me.kcm.command.ModServerCommandManager;
- import me.km.blockprotections.BlockProtection;
- import me.km.module.Module;
- import me.km.module.SimpleConfig;
- import me.km.databank.DataBank;
- import me.km.datatools.DataToolsEvents;
- import me.km.world.ModWorldGeneration;
- import me.km.networking.ModPacketHandler;
- import me.km.permissions.PermissionManager;
- import me.km.playerbank.PlayerManager;
- import me.km.plots.ProtectionBank;
- import me.km.scheduler.SnuviScheduler;
- import me.km.snuviscript.ScriptModule;
- import me.km.world.ChangeWorldEvent;
- import net.minecraft.server.MinecraftServer;
- import net.minecraft.util.text.TextFormatting;
- import net.minecraftforge.fluids.FluidRegistry;
- import net.minecraftforge.fml.common.Mod;
- import net.minecraftforge.fml.common.SidedProxy;
- import net.minecraftforge.fml.common.event.FMLInitializationEvent;
- import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
- import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
- import net.minecraftforge.fml.common.event.FMLServerAboutToStartEvent;
- import net.minecraftforge.fml.common.event.FMLServerStoppingEvent;
- import net.minecraftforge.fml.common.registry.GameRegistry;
- import net.minecraftforge.fml.relauncher.Side;
- import net.minecraftforge.fml.relauncher.SideOnly;
- @Mod(modid = KajetansMod.MODID, version = KajetansMod.VERSION, name = KajetansMod.NAME)
- public class KajetansMod
- {
- @SideOnly(Side.SERVER)
- public static SimpleConfig conf;
-
- public static Module error;
- public static DataBank databank;
- @SideOnly(Side.SERVER)
- public static SnuviScheduler scheduler;
- public static PlayerManager playerbank;
- public static ProtectionBank plots;
- public static BlockProtection blocks;
- public static Module datatools;
- public static Module world;
- public static ScriptModule scripts;
-
- @SideOnly(Side.SERVER)
- public static PermissionManager perms;
-
- @SidedProxy(serverSide = "me.km.CommonProxy", clientSide = "me.km.ClientProxy")
- public static CommonProxy proxy;
- public static final String MODID = "km";
- public static final String NAME = "Kajetans Mod";
- public static final String VERSION = "0.0.34";
- @Mod.Instance(MODID)
- public static KajetansMod instance;
-
- public static MinecraftServer server;
-
- public static boolean debugMode;
- public static boolean singlePlayer;
- static
- {
- FluidRegistry.enableUniversalBucket();
- }
-
- @Mod.EventHandler
- public void preInit(FMLPreInitializationEvent e)
- {
- System.out.println(NAME + " is loading!");
- ModPacketHandler.init();
- GameRegistry.registerWorldGenerator(new ModWorldGeneration(), 3);
-
- DamageUtils.init();
-
- /*net.minecraftforge.common.MinecraftForge.EVENT_BUS.register(new Object()
- {
- @net.minecraftforge.fml.common.eventhandler.SubscribeEvent
- public void wusi2(net.minecraftforge.event.ServerChatEvent e)
- {
- BlockPos pos = Utils.getTargetBlock(e.getPlayer());
- e.getPlayer().sendMessage(new TextComponentString(pos.toString()));
- }
- });*/
- }
-
- @Mod.EventHandler
- public void init(FMLInitializationEvent e)
- {
- proxy.init();
- }
-
- @Mod.EventHandler
- public void beforeStart(FMLServerAboutToStartEvent e)
- {
- // takes place after setting of playerlist but before world load
- server = e.getServer();
- }
-
- @Mod.EventHandler
- public void serverStarting(FMLServerStartingEvent e)
- {
- singlePlayer = e.getServer().isSinglePlayer();
- if(singlePlayer)
- {
- return;
- }
- // configuration and error-dummy
- error = new Module("ERROR", TextFormatting.RED);
- conf = new SimpleConfig(error, "", "config", true);
-
- debugMode = conf.getBoolean("debug", false);
- if(debugMode)
- {
- System.out.println("------------------------------------------------");
- System.out.println("Starting server in debug mode");
- System.out.println("------------------------------------------------");
- }
- else
- {
- System.out.println("------------------------------------------------");
- System.out.println("Starting server without debug mode");
- System.out.println("------------------------------------------------");
- }
-
- // Datenbankverbindung
- databank = new DataBank("DataBank", TextFormatting.RED, conf.getString("user", "root"), conf.getString("password", ""));
- if(!databank.openDataBankConnection())
- {
- System.out.println("------------------------------------------------");
- System.out.println("Starting server with dummy databank");
- System.out.println("------------------------------------------------");
- }
- // Scheduler
- scheduler = new SnuviScheduler("Scheduler", TextFormatting.GREEN);
- scheduler.registerEvents("me.km.scheduler");
- databank.startReconnecting(scheduler);
- // Spielerdatenbank
- playerbank = new PlayerManager("PlayerBank", TextFormatting.RED, databank);
- // Plot-System
- plots = new ProtectionBank();
- // block protections
- blocks = new BlockProtection();
-
- // DataTools
- datatools = new Module("DataTools", TextFormatting.GRAY);
- datatools.registerCommands(e, "me.km.datatools");
- datatools.registerEvent(new DataToolsEvents(datatools));
- // Worldmanager
- world = new Module("Worlds", TextFormatting.RED);
- world.registerEvent(new ChangeWorldEvent());
- // Scriptsystem
- scripts = new ScriptModule("Scripts", TextFormatting.LIGHT_PURPLE);
- scripts.registerCommands(e, "me.km.snuviscript");
- // Permissions
- perms = new PermissionManager("Perms", TextFormatting.DARK_PURPLE);
- perms.registerEvents("me.km.permissions");
- setPermissionManager();
- scripts.startScript("startscript");
- }
-
- @SideOnly(Side.SERVER)
- private void setPermissionManager() // dependency workaround
- {
- if(server.commandManager instanceof ModServerCommandManager)
- {
- ((ModServerCommandManager) server.commandManager).setPermissionManager(perms);
- ((ModServerCommandManager) server.commandManager).registerRegistryEvent("com.sk89q");
- }
- }
- @Mod.EventHandler
- public void onServerStop(FMLServerStoppingEvent e)
- {
- if(singlePlayer)
- {
- return;
- }
- scripts.startScript("endscript");
- databank.closeDataBankConnection();
- scheduler.getWorker().stop();
- }
- }
-
|