85 lines
3.5 KiB
Java
85 lines
3.5 KiB
Java
package net.machinemuse.powersuits.common.proxy;
|
|
|
|
import cpw.mods.fml.common.event.FMLInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
|
|
import cpw.mods.fml.common.event.FMLPreInitializationEvent;
|
|
import cpw.mods.fml.common.network.NetworkRegistry;
|
|
import cpw.mods.fml.common.registry.EntityRegistry;
|
|
import net.machinemuse.powersuits.common.Config;
|
|
import net.machinemuse.powersuits.common.MPSGuiHandler;
|
|
import net.machinemuse.powersuits.common.ModCompatibility;
|
|
import net.machinemuse.powersuits.common.ModularPowersuits;
|
|
import net.machinemuse.powersuits.entity.EntityLuxCapacitor;
|
|
import net.machinemuse.powersuits.entity.EntityPlasmaBolt;
|
|
import net.machinemuse.powersuits.entity.EntitySpinningBlade;
|
|
import net.machinemuse.powersuits.event.HarvestEventHandler;
|
|
import net.machinemuse.powersuits.event.MovementManager;
|
|
import net.machinemuse.powersuits.network.packets.MPSPacketList;
|
|
import net.machinemuse.powersuits.powermodule.tool.TerminalHandler;
|
|
import net.minecraftforge.common.MinecraftForge;
|
|
import net.minecraftforge.common.config.Configuration;
|
|
|
|
import java.io.File;
|
|
|
|
/**
|
|
* Common side of the proxy. Provides functions which
|
|
* the ClientProxy and ServerProxy will override if the behaviour is different for client and
|
|
* server, and keeps some common behaviour.
|
|
*
|
|
* @author MachineMuse
|
|
*
|
|
* Ported to Java by lehjr on 11/14/16.
|
|
*/
|
|
public abstract class CommonProxy {
|
|
public void preInit(FMLPreInitializationEvent event) {
|
|
File newConfig = new File(event.getModConfigurationDirectory() + "/machinemuse/powersuits.cfg");
|
|
Config.init(new Configuration(newConfig));
|
|
Config.setConfigFolderBase(event.getModConfigurationDirectory());
|
|
registerEvents();
|
|
}
|
|
|
|
public void init(FMLInitializationEvent event) {
|
|
Config.loadPowerModules();
|
|
Config.getMaximumArmorPerPiece();
|
|
Config.getMaximumFlyingSpeedmps();
|
|
Config.useMouseWheel();
|
|
Config.useGraphicalMeters();
|
|
Config.getSalvageChance();
|
|
Config.baseMaxHeat();
|
|
Config.allowConflictingKeybinds();
|
|
Config.fontAntiAliasing();
|
|
Config.useCustomFonts();
|
|
Config.glowMultiplier();
|
|
Config.useShaders();
|
|
Config.getWeightCapacity();
|
|
Config.keybindHUDon();
|
|
Config.keybindHUDx();
|
|
Config.toggleModuleSpam();
|
|
EntityRegistry.registerModEntity(EntityPlasmaBolt.class, "entityPlasmaBolt", 2477, ModularPowersuits.getInstance(), 64, 20, true);
|
|
EntityRegistry.registerModEntity(EntitySpinningBlade.class, "entitySpinningBlade", 2478, ModularPowersuits.getInstance(), 64, 20, true);
|
|
EntityRegistry.registerModEntity(EntityLuxCapacitor.class, "entityLuxCapacitor", 2479, ModularPowersuits.getInstance(), 64, 20, true);
|
|
registerHandlers();
|
|
registerRenderers();
|
|
MPSPacketList.registerPackets();
|
|
NetworkRegistry.INSTANCE.registerGuiHandler(ModularPowersuits.getInstance(), MPSGuiHandler.getInstance());
|
|
TerminalHandler.registerHandler();
|
|
}
|
|
|
|
public void postInit(FMLPostInitializationEvent event) {
|
|
ModCompatibility.registerModSpecificModules();
|
|
Config.extractRecipes();
|
|
Config.addCustomInstallCosts();
|
|
Config.getConfig().save();
|
|
}
|
|
|
|
public void registerEvents() {
|
|
MinecraftForge.EVENT_BUS.register(new HarvestEventHandler());
|
|
MinecraftForge.EVENT_BUS.register(new MovementManager());
|
|
}
|
|
|
|
public abstract void registerHandlers();
|
|
|
|
public abstract void registerRenderers();
|
|
|
|
public abstract void sendModeChange(int dMode, String newMode);
|
|
} |